dm_settime(3C) dm_settime(3C)
NAME
dmsettime, dmfsettime - Alle Zeiten für eine Datei setzen
SYNTAX
#include <sys/types.h>
int dmsettime(file, atp, mtp, ctp)
char *file;
struct timeval *atp, *mtp, *ctp;
int dmfsettime(fd, atp, mtp, ctp)
int fd;
struct timeval *atp, *mtp, *ctp;
BESCHREIBUNG
Mit dmsettime() und dmfsettime() können die die Zugriffs-,
Änderungs- und Erstellungszeiten einer Datei [wie von stat(2) zurück-
gegeben] unabhängig voneinander gesetzt werden. Diese Aufrufe wurden
für Datenverwaltungsanwendungen zur Durchführung von Diensten wie
Dateisicherung, -wiederherstellung und -migration konzipiert. Die Ver-
wendung dieser Aufrufe ist auf den Superuser beschränkt.
Wenn es sich bei der angegebenen Datei um einen symbolischen Link han-
delt, bearbeitet dmsettime() diesen symbolischen Link. dmfsettime()
ist dmsettime() ähnlich, arbeitet jedoch mit einer offenen Datei, auf
die von einem Argumentdeskriptor verwiesen wird, wie er von einem Auf-
ruf open(2) erhalten werden kann.
Wenn atp,mtp oder ctp gleich NULL ist, wird die Zugriffs-, Änderungs-
bzw. die Erstellungszeit der Datei nicht geändert. Wenn atp ungleich
NULL ist, wird die Zugriffszeit der Datei auf den angegebenen Wert
gesetzt. Wenn mtp ungleich NULL ist, wird die Änderungszeit der Datei
auf den angegebenen Wert gesetzt. Wenn ctp ungleich NULL ist, wird die
Erstellungszeit der Datei auf den angegebenen Wert gesetzt. Im Unter-
schied zu utime(2) kann hierbei die Zugriffs- oder Änderungszeit der
Datei gesetzt werden, ohne daß die Erstellungszeit der Datei geändert
wird.
RÜCKGABEWERT
dmsettime() und dmfsettime() geben zurück:
0 Erfolgreich.
-1 Fehler. errno wird gesetzt, um den Fehler anzuzeigen.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
dm_settime(3C) dm_settime(3C)
DIAGNOSE
EPERM Die effektive Benutzer-ID des Prozesses entspricht
nicht der ID des Superusers.
EINVAL Das Dateisystem, das die Datei enthält, unterstützt das
unabhängige Setzen von Dateizeiten nicht.
EROFS Das Dateisystem, das die Datei enthält, ist nur zum
Lesen eingehängt.
EIO Beim Lesen aus dem oder Schreiben in das Dateisystem
ist ein E/A-Fehler aufgetreten.
dmsettime() schlägt darüber hinaus fehl, wenn mindestens eine der
folgenden Bedingungen vorliegt:
ELOOP Bei der Übersetzung von file wurden zu viele symboli-
sche Links gefunden.
ENOENT Die Datei, auf die file verweist, existiert nicht.
ENOTDIR Eine Komponente in der Pfadangabe für file ist kein
Verzeichnis.
EACCES Für eine Komponente in der Pfadangabe für file wurde
keine Suchberechtigung erteilt.
EFAULT file, atp, mtp oder ctp zeigt auf einen Bereich außer-
halb des dem Prozeß zugewiesenen Adreßbereichs.
dmfsettime() schlägt darüber hinaus fehl, wenn mindestens eine der
folgenden Bedingungen vorliegt:
EBADF fd ist kein gültiger Deskriptor für eine offene Datei.
EFAULT atp, mtp oder ctp zeigt auf einen Bereich außerhalb des
dem Prozeß zugewiesenen Adreßbereichs.
SIEHE AUCH
stat(2), utime(2), types(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98