utimes

UTIMES(3P)                 POSIX Programmer's Manual                UTIMES(3P)



PROLOG
       This manual page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the corresponding
       Linux manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       utimes - set file access and modification times (LEGACY)

SYNOPSIS
       #include <sys/time.h>

       int utimes(const char *path, const struct timeval times[2]);


DESCRIPTION
       The utimes() function shall set the access and modification times of
       the file pointed to by the path argument to the value of the times
       argument. The utimes() function allows time specifications accurate to
       the microsecond.

       For utimes(), the times argument is an array of timeval structures. The
       first array member represents the date and time of last access, and the
       second member represents the date and time of last modification. The
       times in the timeval structure are measured in seconds and microseconds
       since the Epoch, although rounding toward the nearest second may occur.

       If the times argument is a null pointer, the access and modification
       times of the file shall be set to the current time.  The effective user
       ID of the process shall match the owner of the file, or has write
       access to the file or appropriate privileges to use this call in this
       manner. Upon completion, utimes() shall mark the time of the last file
       status change, st_ctime, for update.

RETURN VALUE
       Upon successful completion, 0 shall be returned. Otherwise, -1 shall be
       returned and errno shall be set to indicate the error, and the file
       times shall not be affected.

ERRORS
       The utimes() function shall fail if:

       EACCES Search permission is denied by a component of the path prefix;
              or the times argument is a null pointer and the effective user
              ID of the process does not match the owner of the file and write
              access is denied.

       ELOOP  A loop exists in symbolic links encountered during resolution of
              the path argument.

       ENAMETOOLONG
              The length of the path argument exceeds {PATH_MAX} or a pathname
              component is longer than {NAME_MAX}.

       ENOENT A component of path does not name an existing file or path is an
              empty string.

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

       EPERM  The times argument is not a null pointer and the calling
              process' effective user ID has write access to the file but does
              not match the owner of the file and the calling process does not
              have the appropriate privileges.

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


       The utimes() function may fail if:

       ELOOP  More than {SYMLOOP_MAX} symbolic links were encountered during
              resolution of the path argument.

       ENAMETOOLONG
              Pathname resolution of a symbolic link produced an intermediate
              result whose length exceeds {PATH_MAX}.


       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       For applications portability, the utime() function should be used to
       set file access and modification times instead of utimes().

RATIONALE
       None.

FUTURE DIRECTIONS
       This function may be withdrawn in a future version.

SEE ALSO
       utime(), the Base Definitions volume of IEEE Std 1003.1-2001,
       <sys/time.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .



IEEE/The Open Group                  2003                           UTIMES(3P)