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 pathname naming a file.

If times is NULL, the access and modification times of the file are set to the current time. A process must be the owner of the file or have write permission to use utime in this manner.

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. Only the owner of the file may use utime this way.

The times in the following structure are measured in seconds since 00:00:00 UTC, Jan. 1, 1970, and includes the following members:

   	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
The calling process does not have the P_OWNER privilege, the effective user ID is not the owner of the file, and times is not NULL.

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

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

References

stat(2)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.