UTIME(2)

NAME
utime - set file times

SYNOPSIS
#include <sys/types.h>
#include <utime.h>
int utime(const char *file, struct utimbuf *times)

DESCRIPTION
The utime call uses the “accessed” and “updated” times from the utimbuf structure pointed to by times to set the corresponding recorded times for file.

Struct utimbuf is defined in <utime.h> as follows:

    struct utimbuf {
    	time_t	actime;	/* access time */
    	time_t	modtime;	/* modification time */
    };

The caller must be the owner of the file or the super-user. The “inode-changed” time of the file is set to the current 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 will fail if one or more of the following are true:

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

[EINVAL]
    The pathname contains a character with the high-order bit set.

[ENAMETOOLONG]
    The path name exceeds PATH_MAX characters.

[ENOENT]
    The named file does not exist.

[ELOOP]
    Too many symbolic links were encountered in translating the pathname. (Minix-vmd)

[EPERM]
    The process is not super-user and not the owner of the file.

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

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

[EFAULT]
    File or times points outside the process's allocated address space.

[EIO]
    An I/O error occurred while reading or writing the affected inode.

SEE ALSO
stat(2).