Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UTIMES(2)		  FreeBSD System Calls Manual		     UTIMES(2)

NAME
     utimes, lutimes, futimes -- set file access and modification times

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/time.h>

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

     int
     lutimes(const char	*path, const struct timeval *times);

     int
     futimes(int fd, const struct timeval *times);

DESCRIPTION
     The access	and modification times of the file named by path or referenced
     by	fd are changed as specified by the argument times.

     If	times is NULL, the access and modification times are set to the	cur-
     rent time.	 The caller must be the	owner of the file, have	permission to
     write the file, or	be the super-user.

     If	times is non-NULL, it is assumed to point to an	array of two timeval
     structures.  The access time is set to the	value of the first element,
     and the modification time is set to the value of the second element.  The
     caller must be the	owner of the file or be	the super-user.

     In	either case, the inode-change-time of the file is set to the current
     time.

     lutimes() is like utimes()	except in the case where the named file	is a
     symbolic link, in which case lutimes() changes the	access and modifica-
     tion times	of the link, while utimes() changes the	times of the file the
     link references.

RETURN VALUES
     Upon successful completion, the value 0 is	returned; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     utimes() and lutimes() will fail if:

     [EACCES]		Search permission is denied for	a component of the
			path prefix; or	the times argument is NULL and the
			effective user ID of the process does not match	the
			owner of the file, and is not the super-user, and
			write access is	denied.

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

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

     [ELOOP]		Too many symbolic links	were encountered in translat-
			ing the	pathname.

     [ENAMETOOLONG]	A component of a pathname exceeded NAME_MAX charac-
			ters, or an entire path	name exceeded PATH_MAX charac-
			ters.

     [ENOENT]		The named file does not	exist.

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

     [EPERM]		The times argument is not NULL and the calling
			process's effective user ID does not match the owner
			of the file and	is not the super-user.

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

     futimes() will fail if:

     [EBADF]		fd does	not refer to a valid descriptor.

     All of the	functions will fail if:

     [EACCES]		The times argument is NULL and the effective user ID
			of the process does not	match the owner	of the file,
			and is not the super-user, and write access is denied.

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

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

     [EPERM]		The times argument is not NULL and the calling
			process's effective user ID does not match the owner
			of the file and	is not the super-user.

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

SEE ALSO
     stat(2), utime(3)

HISTORY
     The utimes() function call	appeared in 4.2BSD.  The futimes() and
     lutimes() function	calls first appeared in	FreeBSD	3.0.

FreeBSD	4.9			 June 4, 1993			   FreeBSD 4.9

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=utimes&sektion=2&manpath=FreeBSD+4.9-RELEASE>

home | help