utimes(3C)
utimes --
set file access and modification times
Synopsis
#include <sys/time.h>
int utimes(const char *path, const struct timeval times[2]);
Description
The utimes function sets the access and modification times of the file pointed
to by the path argument to the value of the times argument.
The utimes function allows time specifications accurate to the
microsecond.
The times argument is an array of two timeval structures.
The first array member represents the date and time of
last access, and the second member represents the date and time of
last modification.
The times in the timeval structure are measured in seconds
and microseconds since the epoch, although rounding toward the nearest
second may occur.
If times is NULL,
the access and modification times of the file are set to the current time.
The effective user ID of the calling process must be
the owner ID of the file or must have write permission on the file,
or the calling process must have the P_OWNER privilege, to
set the file times this way.
If times is not NULL, times is
interpreted as a pointer to a timeval structure (defined
in time.h) and the access and modification times are set
to the values contained in the designated structure.
The effective user ID of the calling process must be the owner
ID of the file or the calling process must have the
P_OWNER privilege to set the file times this way.
Upon completion, utimes will mark the time of the last file
status change, st_ctime
, for update.
Return values
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned,
errno is set to indicate the error,
and file times will not be affected.
Errors
utimes
will fail if one or more of the following are true:
ENOTDIR-
A component of the path prefix of
file
is not a directory.
ENAMETOOLONG-
Pathname resolution of a symbolic link produced an intermediate
result whose length exceeds PATH_MAX; the length of the
path argument exceeds PATH_MAX; or, a pathname component
is longer than NAME_MAX (see
limits(4)).
ENOENT-
A component of path does not name an existing file or
path is an empty string.
EACCES-
Search permission is denied by a component of the path prefix; or
the times argument is a NULL pointer and the effective
user ID of the process does not match the owner of the file and write
access is denied.
ELOOP-
Too many symbolic links were encountered in translating path.
EPERM-
The times argument is not a NULL pointer and the
calling process' effective user ID has write access to the file, but
does not match the owner of the file and the calling process does not
have appropriate privilege.
EACCES-
The effective user ID
of the process is not privileged user and not the owner of the file, write
permission is denied for the file, and times is NULL.
EROFS-
The file system containing the file is mounted read-only.
EFAULT-
The supplied path argument
points outside the process's allocated address space.
Note that an invalid times argument produces a segmentation
fault, and not an error.
References
stat(2),
utime(2)
Notices
utimes is a library routine that calls the
utime(2)
system call.
Standards conformance
This routine conforms to X/Open System Interfaces and Headers,
Issue 4, Version 2.
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004