Definition | #include <sys/stat.h> Optional int fstat(int fildes, struct stat *buf); CRTE111A30 | |||||||||||||||||||||
Beschreibung |
buf ist ein Zeiger auf eine Es besteht kein funktionaler Unterschied zwischen Die Funktionen mit dem Suffix x verhalten sich, wie die gleichnamigen Funktionen ohne Suffix, außer dass sie den File Status in einer entsprechenden Zum Inhalt der Struktur, auf die buf zeigt, gehören folgende Elemente: mode_t st_mode; /* Dateimodus (siehe mknod()) */ ino_t st_ino; /* Dateikennziffer (i-Node) */ dev_t st_dev; /* Gerätekennung, die einen Verzeichniseintrag für diese Datei enthält */ dev_t st_rdev; /* Gerätekennung, nur für zeichen- oder blockorientierte Gerätedateien definiert */ nlink_t st_nlink; /* Anzahl der Verweise */ uid_t st_uid; /* Benutzerkennung des Dateibesitzers */ gid_t st_gid; /* Gruppenkennung des Dateibesitzers */ off_t st_size; /* Dateigröße in Bytes */ time_t st_atime; /* Zeit des letzten Zugriffs */ time_t st_mtime; /* Zeit der letzten Datenänderung */ time_t st_ctime; /* Zeit der letzten Änderung des Dateistatus Die Zeit wird in Sekunden gemessen ab dem 1. Januar 1970, 00:00:00 Uhr */ long st_blksize; /* Bevorzugte E/A-Blockgröße */ blkcnt_t st_blocks; /* Anzahl zugewiesener st_blksize-Blöcke */ Die Elemente der Struktur ino64_t st_ino off64_t st_size blkcnt64_t st_blocks Die Elemente der Strukturen time64_t st_atime; time64_t st_mtime; time64_t st_ctime; Die einzelnen Elemente haben die folgende Bedeutung:
BS2000 Bei BS2000-Dateien werden folgende Elemente der mode_t st_mode Dateimodus, der Zugriffsrechte und Dateityp beinhaltet. Zugriffsrechte: Hier wird das Basic ACL auf die Dateischutzbits abgebildet. Die Schutzbits sind alle 0, wenn die Datei keinen Basic ACL Schutz hat. Dateityp: Einführung eines neuen Dateityps S_IFDVSBS2=X'10000000'. Dieser Typ ist allerdings nicht disjunkt zu S_IFPOSIXBS2. Abgefragt kann mit dem Makro S_ISDVSBS2(mode) werden. Einführung eines neuen Dateityps S_IFDVSNODE=X'20000000'. Dieser Typ ist ebenfalls nicht disjunkt zu S_IFPOSIXBS2. Abgefragt kann mit dem Makro S_ISDVSNODE(mode) werden. Eine Node-Datei ist auch eine BS2000 DVS-Datei. D. h. für Node- Dateien ist auch immer das Bit S_IFDVSBS2 gesetzt. time_t st_atime Zeitpunkt des letzten Zugriffs wie im BS2000 üblich (last access time), aber in Sekunden seit dem 1.1.1970 UTC. time_t st_mtime Zeitpunkt der letzen Änderung (last modification time). time_t st_ctime Zeitpunkt der Erzeugung (creation time). long st_blksize Blockgröße, 2k (d.h. 1 PAM Page). long st_blocks Anzahl der von der Datei belegten Blöcke auf der Platte. dev_t st_dev enthält die 4 Byte lange Die beiden hintereinander liegenden Felder
Alle anderen Felder werden auf 0 gesetzt. Die Funktionen Im Parameter flag kann der Wert Die Funktionen mit dem Suffix x verhalten sich, wie die gleichnamigen Funktionen ohne Suffix, außer dass sie auch über den 19.1.2038 03:14:07 Uhr UTC hinaus korrekt funktionieren. | |||||||||||||||||||||
Returnwert | 0 | bei Erfolg. | ||||||||||||||||||||
-1 | bei Fehler. Für POSIX-Dateien wird | |||||||||||||||||||||
Fehler |
| |||||||||||||||||||||
| fildes ist kein gültiger Dateideskriptor. | |||||||||||||||||||||
| buf weist auf eine ungültige Adresse. | |||||||||||||||||||||
| Beim Lesen des Dateisystems trat ein E/A-Fehler auf. | |||||||||||||||||||||
| fildes weist auf einen fernen Rechner zu dem die Verbindung nicht mehr | |||||||||||||||||||||
| Eine Komponente ist zu groß und kann nicht in die Struktur, auf die buf zeigt, gespeichert werden. | |||||||||||||||||||||
| Ein Signal wurde während des Systemaufrufs | |||||||||||||||||||||
Erweiterung | ||||||||||||||||||||||
|
| Ein Zeitstempel ist zu groß für eine | ||||||||||||||||||||
| ||||||||||||||||||||||
| Der Parameter fd wurde nicht mit | |||||||||||||||||||||
| Der Parameter path spezifiziert keinen absoluten Pfadnamen und der Parameter fd hat weder den Wert | |||||||||||||||||||||
| Der Parameter path spezifiziert keinen absoluten Pfadnamen und der Dateideskriptor fd ist nicht mit einem Dateiverzeichnis verbunden. | |||||||||||||||||||||
| Der Wert des Parameters flag ist ungültig. | |||||||||||||||||||||
| ||||||||||||||||||||||
|
| POSIX-BC Korrekturstand < A47. | ||||||||||||||||||||
| ||||||||||||||||||||||
|
| POSIX-BC Korrekturstand < A47. | ||||||||||||||||||||
Siehe auch |
|