NAME
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.
For
utimes(),
the
times
argument is an array of
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 the
times
argument is a null pointer, the access and modification times
of the file are set to the current time. The effective user ID of
the process must be the same as the owner of the file, or must
have write access to the file or appropriate privileges to use
this call in this manner. Upon completion,
utimes()
will mark the time of the last file status change,
st_ctime,
for update.
RETURN VALUE
Upon successful completion, 0 is returned. Otherwise, -1
is returned and
errno
is set to indicate the error, and the file times will not be affected.
ERRORS
The utimes() function will fail if:
- 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 resolving path.
- ENAMETOOLONG
The length of the
path
argument exceeds
{PATH_MAX}
or a pathname component is longer than
{NAME_MAX}.
- ENOENT
A component of
path
does not name an existing file or
path
is an empty string.
- ENOTDIR
A component of the
path
prefix is not a directory.
- 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
the appropriate privileges.
- EROFS
The file system containing the file is read-only.
The
utimes()
function may fail if:
- ENAMETOOLONG
Pathname resolution of a symbolic link produced an intermediate result
whose length exceeds
{PATH_MAX}.
CHANGE HISTORY
First released in Issue 4, Version 2.