utime(2) utime(2)
NAME
utime - Dateizugriffs- und Änderungszeiten setzen
SYNTAX
#include <sys/types.h>
#include <utime.h>
int utime(const char *path, const struct utimbuf *times);
BESCHREIBUNG
path weist auf einen Pfadnamen, der eine Datei benennt. utime() setzt
die Zugriffs- und Änderungszeiten dieser Datei.
Wenn times gleich NULL ist, werden die Zugriffs- und Änderungszeiten
der Datei auf die aktuelle Uhrzeit gesetzt. Ein Prozeß muß der Eigen-
tümer der Datei sein oder Schreiberlaubnis haben, um utime() auf diese
Weise verwenden zu können.
Wenn times nicht gleich NULL ist, wird times als Zeiger auf eine
utimbuf-Struktur (definiert in utime.h) interpretiert und die
Zugriffs- und Änderungszeiten werden auf die Werte gesetzt, die in der
angegebenen Struktur enthalten sind. Nur der Eigentümer der Datei oder
der Systemverwalter dürfen utime() auf diese Weise verwenden.
Die in der nachstehenden Struktur angegebenen Zeiten werden in Sekun-
den ab 00:00:00 GMT 1. Jan. 1970 gemessen.
struct utimbuf {
timet actime; /* Zugriffszeit */
timet modtime; /* Modifikationszeit */
};
Nach erfolgreicher Ausführung markiert utime() die Zeit der letzten
Änderung des Dateistatus, stctime, zur Aktualisierung [siehe
<sys/stat.h> in stat(5)].
FEHLER
Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
errno(5).
utime() ist erfolglos, wenn einer oder mehrere der nachstehenden
Punkte wahr sind:
EACCES Eine Komponente des Pfades darf nicht durchsucht werden,
oder das Argument times ist ein Nullzeiger.
EACCES Die effektive Benutzer-ID ist nicht diejenige des
Systemverwalters und nicht diejenige des Eigentümers der
Datei, times ist gleich NULL, und der Schreibzugriff
wird verweigert.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
utime(2) utime(2)
EFAULT times ist ungleich NULL und weist über den zugewiesenen
Adreßraum des Prozesses hinaus.
EFAULT path weist über den zugewiesenen Adreßraum des Prozesses
hinaus.
EINTR Ein Signal wurde während des Systemaufrufs utime() abge-
fangen.
ELOOP Während der Übersetzung von path wurden zu viele symbo-
lische Links gefunden.
EMULTIHOP Die Komponenten von path erfordern den Sprung auf meh-
rere ferne Rechner, und der Dateisystemtyp erlaubt dies
nicht.
ENAMETOOLONG Die Länge von path überschreitet PATHMAX oder NAMEMAX
während POSIXNOTRUNC aktiv ist.
ENOENT Die angegebene Datei ist nicht vorhanden.
ENOLINK path weist auf einen fernen Rechner, und die Verbindung
zu diesem Rechner ist nicht mehr aktiv.
ENOTDIR Eine Komponente des Pfads ist kein Verzeichnis.
EPERM Das Argument times ist kein Nullzeiger, und die effek-
tive Benutzer-ID des aufrufenden Prozesses verfügt zwar
über Schreibzugriff für die Datei, entspricht aber nicht
der des Eigentümers der Datei, und der aufrufende Prozeß
verfügt nicht über die entsprechenden Berechtigungen.
EROFS Das Dateisystem, das die Datei enthält, ist schreibge-
schützt eingehängt.
Die Funktion utime() kann bei folgender Bedingung fehlschlagen:
ENAMETOOLONG Die Auflösung des Pfadnamens eines symbolischen Links
hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
überschreitet.
ERGEBNIS
Nach erfolgreicher Beendigung wird 0 zurückgegeben. Andernfalls wird
-1 zurückgegeben, und errno wird zur Anzeige des Fehlers gesetzt.
SIEHE AUCH
stat(5), types(5), utime(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98