UTIME(2)

NAME
utime, utimes - change access and/or modification times of an inode

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

int utime(const char *filename, struct utimbuf *buf);

#include <sys/time.h>

int utimes(char *filename, struct timeval *tvp);

DESCRIPTION
utime changes the access and modification times of the inode specified by filename to the actime and modtime fields of buf respectively. If buf is NULL, then the access and modification times of the file are set to the current time. The utimbuf structure is:
    struct utimbuf {
            time_t actime;  /* access time */
            time_t modtime; /* modification time */
    };
In the Linux DLL 4.4.1 libraries, utimes is just a wrapper for utime: tvp[0].tv_sec is actime, and tvp[1].tv_sec is modtime. The timeval structure is:
    struct timeval {
            long    tv_sec;         /* seconds */
            long    tv_usec;        /* microseconds */
    };

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS
Other errors may occur.

EACCES
    Permission to write the file is denied.

ENOENT
    filename does not exist.

CONFORMING TO
utime: SVr4, SVID, POSIX. SVr4 documents additional error conditions EFAULT, EINTR, ELOOP, EMULTIHOP, ENAMETOOLONG, ENOLINK, ENOTDIR, ENOLINK, ENOTDIR, EPERM, EROFS.
utimes: BSD 4.3

SEE ALSO
stat(2)