utime(2)


utime -- set file access and modification times

Synopsis

   #include <sys/types.h>
   #include <utime.h>
   

int utime(const char *path, const struct utimbuf *times);

Description

utime sets the access and modification times of the file named by path. path points to a path name naming a file.

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 utimbuf structure (defined in utime.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.

The times in the following structure are measured in seconds since ``00:00:00 UTC, Jan. 1, 1970'':

   	time_t	actime;	/* access time */
   	time_t	modtime;	/* modification time */

utime also causes the time of the last file status change (st_ctime) to be updated.

Return values

On success, utime returns 0. On failure, utime returns -1 and sets errno to identify the error.

In the following conditions, utime fails and sets errno to:


EACCES
Search permission is denied by a component of the path prefix.

EACCES
Write permission on the file named by path is denied.

EACCES
The effective user ID is not the owner of the file, times is NULL, and write access is denied.

EFAULT
times is not NULL and points outside the process's allocated address space.

EFAULT
path points outside the process's allocated address space.

EINTR
A signal was caught during the utime system call.

ELOOP
Too many symbolic links were encountered in translating path.

EMULTIHOP
Components of path require hopping to multiple remote machines and the file system does not allow it.

ENAMETOOLONG
The length of the path argument exceeds {PATH_MAX}, or the length of a path component exceeds {NAME_MAX} while _POSIX_NO_TRUNC is in effect.

ENOENT
The named file does not exist or is a null pathname.

ENOLINK
path points to a remote machine and the link to that machine is no longer active.

ENOTDIR
A component of the path prefix is not a directory.

EPERM
times is not NULL, the effective user ID of the calling process is not the owner of the file, and the calling process does not have the P_OWNER privilege.

EPERM
times is NULL, the effective user ID of the calling process is not the owner of the file, write permission on the file named by path is denied, and the calling process does not have the P_OWNER privilege.

EROFS
The file system containing the file is mounted read-only.

References

stat(2), utimes(3bsd), utimes(3C)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004