futime()

Updated: April 19, 2023

Record the modification time for a file

Synopsis:

#include <utime.h>

int futime( int filedes, 
            const struct utimbuf *times );

struct utimbuf {
    time_t   actime;    /* access time */
    time_t   modtime;   /* modification time */
};

Arguments:

filedes
The descriptor for the file whose modification time you want to set.
times
NULL, or a pointer to a utimbuf structure that specifies the modification time.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The futime() function records the modification time for the file or directory with the descriptor, filedes.

If the times argument is NULL, the access and modification times of the file or directory are set to the current time. The effective user ID of the process must match the owner of the file or directory, or the process must have write permission to the file or directory, or appropriate privileges in order to use the futime() function in this way.

If the times argument isn't NULL, it's interpreted as a pointer to a utimbuf structure, and the access and modification times of the file or directory are set to the values contained in the actime and modtime fields in this structure. Only the owner of the file or directory, and processes with appropriate privileges are permitted to use the futime() function in this way.

Returns:

0
Success.
-1
An error occurred (errno) is set.

Errors:

EACCES
Search permission is denied for a component of path, or the times argument is NULL, and the effective user ID of the process doesn't match the owner of the file, and write access is denied.
ENAMETOOLONG
The argument path exceeds PATH_MAX in length, or a pathname component is longer than NAME_MAX.
ENOENT
The specified path doesn't exist, or path is an empty string.
ENOTDIR
A component of path isn't a directory.
EPERM
The times argument isn't NULL, and the calling process's effective user ID has write access to the file but doesn't match the owner of the file, and the calling process doesn't have the appropriate privileges.
EROFS
The named file resides on a read-only filesystem.

Classification:

Unix

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes