Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

utime(2) [suse man page]

UTIME(2)						     Linux Programmer's Manual							  UTIME(2)

NAME
utime, utimes - change file last access and modification times SYNOPSIS
#include <sys/types.h> #include <utime.h> int utime(const char *filename, const struct utimbuf *times); #include <sys/time.h> int utimes(const char *filename, const struct timeval times[2]); DESCRIPTION
The utime() system call changes the access and modification times of the inode specified by filename to the actime and modtime fields of times respectively. If times is NULL, then the access and modification times of the file are set to the current time. Changing timestamps is permitted when: either the process has appropriate privileges, or the effective user ID equals the user ID of the file, or times is NULL and the process has write permission for the file. The utimbuf structure is: struct utimbuf { time_t actime; /* access time */ time_t modtime; /* modification time */ }; The utime() system call allows specification of timestamps with a resolution of 1 second. The utimes() system call is similar, but the times argument refers to an array rather than a structure. The elements of this array are timeval structures, which allow a precision of 1 microsecond for specifying timestamps. The timeval structure is: struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microseconds */ }; times[0] specifies the new access time, and times[1] specifies the new modification time. If times is NULL, then analogously to utime(), the access and modification times of the file are set to the current time. RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately. ERRORS
EACCES Search permission is denied for one of the directories in the path prefix of path (see also path_resolution(7)). EACCES times is NULL, the caller's effective user ID does not match the owner of the file, the caller does not have write access to the file, and the caller is not privileged (Linux: does not have either the CAP_DAC_OVERRIDE or the CAP_FOWNER capability). ENOENT filename does not exist. EPERM times is not NULL, the caller's effective UID does not match the owner of the file, and the caller is not privileged (Linux: does not have the CAP_FOWNER capability). EROFS path resides on a read-only file system. CONFORMING TO
utime(): SVr4, POSIX.1-2001. POSIX.1-2008 marks utime() as obsolete. utimes(): 4.3BSD, POSIX.1-2001. NOTES
Linux does not allow changing the timestamps on an immutable file, or setting the timestamps to something other than the current time on an append-only file. In libc4 and libc5, utimes() is just a wrapper for utime() and hence does not allow a subsecond resolution. SEE ALSO
chattr(1), futimesat(2), stat(2), utimensat(2), futimes(3), futimens(3) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-08-06 UTIME(2)

Check Out this Related Man Page

utime(2)							   System Calls 							  utime(2)

NAME
utime - set file access and modification times SYNOPSIS
#include <sys/types.h> #include <utime.h> int utime(const char *path, const struct utimbuf *times); DESCRIPTION
The utime() function sets the access and modification times of the file pointed to by path, and causes the time of the last file status change (st_ctime) to be updated. If times is NULL, the access and modification times of the file are set to the current time. A process must be the owner of the file or have write permission to use utime() in this manner. If times is not NULL, times is interpreted as a pointer to a utimbuf structure (defined in <utime.h>) and the access and modification times are set to the values contained in the designated structure. Only the owner of the file or a process that has the {PRIV_FILE_OWNER} privi- lege asserted in its effective set can use utime() in this manner. The utimbuf structure contains the following members: time_t actime; /* access time */ time_t modtime; /* modification time */ The times contained in the members of the utimbuf structure are measured in seconds since 00:00:00 UTC, January 1, 1970. RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error. ERRORS
The utime() function will fail if: EACCES Search permission is denied by a component of the path prefix. EACCES The process does not have appropriate privileges and is not the owner of the file, write permission is denied for the file, and times is NULL. EFAULT The path argument points to an illegal address. EINTR A signal was caught during the execution of the utime() function. EIO An I/O error occurred while reading from or writing to the file system. ELOOP Too many symbolic links were encountered in translating path. ENAMETOOLONG The length of the path argument exceeds PATH_MAX, or the length of a path component exceeds NAME_MAX while _POSIX_NO_TRUNC is in effect. ENOENT The named file does not exist or is a null pathname. ENOLINK The path argument points to a remote machine and the link to that machine is no longer active. ENOTDIR A component of the path prefix is not a directory. EPERM The effective user of the calling process is not the owner of the file, {PRIV_FILE_OWNER} is not asserted in the effective set of the calling process, and times is not NULL. EROFS The file system containing the file is mounted read-only. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+ SEE ALSO
stat(2), utimes(2), attributes(5), privileges(5), standards(5) SunOS 5.11 19 Apr 2004 utime(2)
Man Page