futime()

Установить время модификации файла

Прототип:

#include <utime.h>
int futime( int fildes,
const struct utimbuf *times );

Аргументы:

fildes
Дескриптор файла, для которого необходимо установить время модификации.
times
NULL или указатель на структуру struct utimbuf, в которую будет записано время модификации.

Библиотека:

libc

Описание:

Функция futime() устанавливает время модификации файла или каталога с дескриптором fildes.

Если параметр times равен NULL, времена доступа и модификации файла или каталога устанавливаются равными текущему времени. Для вызова подобным образом функции futime() эффективный идентификатор процесса (user ID) должен соответствовать идентификатору владельца файла или каталога, или процесс должен иметь разрешение на запись в файл или каталог.

Если параметр times не равен NULL, то он интерпретируется как указатель на структуру struct utimbuf и времена доступа и модификации файла или каталога устанавливаются в значения, содержащиеся в элементах actime и modtime указанной структуры. Только владельцу файла или каталога и процессам с соответствующими привилегиями разрешается использовать функцию utime() подобным образом.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EACCES
Отсутствует разрешение на поиск в пути к файлу path, или параметр times равен NULL, но эффективный user ID процесса не соответствует владельцу файла, а доступ по записи запрещен.
ENAMETOOLONG
Путь path имеет длину более PATH_MAX, или длина путевого имени превышает NAME_MAX.
ENOENT
Указанный путь path не существует, или этот путь path является пустой строкой.
ENOTDIR
Путь path не является каталогом.
EPERM
Параметр times не равен NULL и хотя процесс имеет доступ по записи к файлу, но его эффективный user ID не соответствует владельцу файла и отсутствуют необходимые привилегии.
EROFS
Файл находится в файловой системе, доступной только по чтению (read-only).

Классификация:

Unix

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

struct utimbuf, errno, utime()




Предыдущий раздел: Описание API системной библиотеки