futimes - Man Page
change file timestamps
Library
Standard C library (libc, -lc)
Synopsis
#include <sys/time.h> int futimes(int fd, const struct timeval tv[2]); int lutimes(const char *filename, const struct timeval tv[2]);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
futimes(), lutimes():
Since glibc 2.19: _DEFAULT_SOURCE glibc 2.19 and earlier: _BSD_SOURCE
Description
futimes() changes the access and modification times of a file in the same way as utimes(2), with the difference that the file whose timestamps are to be changed is specified via a file descriptor, fd, rather than via a pathname.
lutimes() changes the access and modification times of a file in the same way as utimes(2), with the difference that if filename refers to a symbolic link, then the link is not dereferenced: instead, the timestamps of the symbolic link are changed.
Return Value
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.
Errors
Errors are as for utimes(2), with the following additions for futimes():
- EBADF
fd is not a valid file descriptor.
- ENOSYS
The /proc filesystem could not be accessed.
The following additional error may occur for lutimes():
- ENOSYS
The kernel does not support this call; Linux 2.6.22 or later is required.
Attributes
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
---|---|---|
futimes(), lutimes() | Thread safety | MT-Safe |
Standards
Linux, BSD.
History
- futimes()
glibc 2.3.
- lutimes()
glibc 2.6.
Notes
lutimes() is implemented using the utimensat(2) system call.
See Also
Referenced By
futimesat(2), symlink(7), utime(2), utimensat(2).
The man page lutimes(3) is an alias of futimes(3).