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).