Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

touch(1)

stat(2)

utime(2)

NAME

utime − set file access and modification times

SYNOPSIS

#include <utime.h>

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

DESCRIPTION

utime() sets the access and modification times of the file to which the path argument refers. 

If times is a null pointer, 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 on the file to use utime() in this manner. 

If times is not a null pointer, times is interpreted as a pointer to a utimbuf structure and the access and modification times are set to the values contained in the designated structure.  Only the owner of the file or users having appropriate privileges can use utime() this way. 

The following times in the utimbuf structure defined in <utime.h> are measured in seconds since 00:00:00 UTC (Universal Coordinated Time), Jan. 1, 1970. 

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

RETURN VALUE

Upon successful completion, a value of 0 is returned.  Otherwise, a value of −1 is returned and errno is set to indicate the error. 

ERRORS

utime() fails if one or more of the following is true:

[ENOENT] The named file does not exist. 

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

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

[EPERM] The effective user ID is not a user with appropriate privileges.  and not the owner of the file, and times is not a null pointer. 

[EACCES] The effective user ID is not a user with appropriate privileges, and not the owner of the file, times is a null pointer, and write access is denied. 

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

[EFAULT] times is not a null pointer, and points outside the process’s allocated address space.  The reliable detection of this error is implementation dependent. 

[EFAULT] path points outside the process’s allocated address space.  The reliable detection of this error is implementation dependent. 

[ENAMETOOLONG]
The length of the specified path name exceeds PATH_MAX bytes, or the length of a component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in effect. 

DEPENDENCIES

NFS: utime() may return EPERM when invoked on a remote file owned by the super-user, even if the invoking user has write permission on the file. 

SEE ALSO

touch(1), stat(2). 

STANDARDS CONFORMANCE

utime(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026