Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

utimes, utimes64 - Dateizugriffs- und -änderungszeitpunkt setzen

&pagelevel(4)&pagelevel

Definition

#include <sys/time.h>

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

CRTE111A30
int utimes64(const char *path, const struct timeval64 times[2]); (Ende)

Beschreibung

utimes() setzt die Zugriffs- und Änderungszeiten der Datei, auf die path zeigt, auf die in times angegebenen Werte. Die Funktion erlaubt mikrosekundengenaue Zeitangaben.

Das Argument times ist ein Array, das aus zwei Strukturen des Typs timeval besteht. Die Zugriffszeit wird auf den Wert des ersten Elements und die Änderungszeit auf den Wert des zweiten Elements gesetzt. Die Zeiten in der timeval-Struktur werden in Sekunden und Mikrosekunden ab 00:00:00 GMT 1. Januar 1970 gemessen (siehe utime.h).

Wenn times der Nullzeiger ist, werden Zugriffs- und Änderungszeit auf die aktuelle Zeit gesetzt. Wenn utimes() auf diese Weise verwendet werden soll, muss der Prozess der Eigentümer der Datei sein, über Schreibberechtigung für die Datei verfügen oder ein Prozess mit besonderen Rechten sein.

Bei erfolgreicher Beendigung versieht utimes() das Feld st_ctime mit einer Änderungsmarke (siehe sys/stat.h).

Die Funktion utimes64() verhält sich wie die Funktion utimes() , außer dass sie die Struktur timeval64 anstelle der Struktur timeval verwendet und daher auch Zeitstempel, die über den 19.1.2038 03:14:07 Uhr UTC hinausgehen, verarbeitet.

Returnwert

0

bei Erfolg.


-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

utimes() und utime64s() schlagen fehl, wenn gilt: 

 

EACCES

Eine Komponente des Pfades darf nicht durchsucht werden, oder times ist ein Nullzeiger und die effektive Benutzernummer ist nicht diejenige des Systemverwalters und nicht diejenige des Eigentümers der Datei, und der Schreibzugriff wird verweigert.

 

Erweiterung

 

EFAULT

times ist ungleich null und weist über den zugewiesenen Adressraum des Prozesses hinaus, oder path weist über den zugewiesenen Adressraum des Prozesses hinaus.

 

EINTR

Ein Signal wurde während des Systemaufrufs utimes() bzw. utimes64() abgefangen.

 

EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen.

 

ELOOP

Während der Übersetzung von path traten zu viele symbolische Verweise auf. (Ende)


ENAMETOOLONG



Die Länge von path überschreitet {PATH_MAX} oder die Länge einer Komponente von path überschreitet{NAME_MAX}.


ENOENT

Die angegebene Datei ist nicht vorhanden.


ENOTDIR

Eine Komponente des Pfades ist kein Dateiverzeichnis.


EPERM

Die effektive Benutzernummer ist nicht diejenige des Systemverwalters und nicht diejenige des Eigentümers der Datei, und times ist nicht gleich null.


EROFS

Das Dateisystem, das die Datei enthält, ist schreibgeschützt eingehängt.


utimes64() schlägt fehl, wenn gilt:

 

ENOSYS

POSIX-BC Korrekturstand < A47.

Siehe auch

sys/time.h.