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.   Oth-
     erwise,  a value of -1 is returned and errno is set to indi-
     cate 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  writ-
                    ing the affected inode.


SEE ALSO

     stat(2).