stat(5) stat(5)
NAME
stat - Von der Funktion stat() zurückgegebene Daten
SYNTAX
#include <sys/stat.h>
BESCHREIBUNG
Die Include-Datei <sys/stat.h> definiert die Struktur der von den
Funktionen fstat(), lstat() und stat() zurückgegebenen Daten.
Die Struktur stat enthält zumindest die folgenden Komponenten:
devt stdev ID des Gerätes mit der Datei
inot stino I-Node-Nummer
modet stmode Dateimodus (siehe unten)
nlinkt stnlink Anzahl der Links auf die Datei
uidt stuid Benutzer-ID des Dateieigentümers
gidt stgid Gruppen-ID des Dateieigentümers
devt strdev Geräte-ID (bei zeichen- oder blockorientierter
Gerätedatei)
offt stsize Dateigröße in Bytes (bei einer normalen Datei)
timet statime Zeitpunkt des letzten Zugriffs
timet stmtime Zeitpunkt der letzten Datenänderung
timet stctime Zeitpunkt der letzten Statusänderung
long stblksize Eine dateisystemspezifische bevorzugte E/A-
Blockgröße für dieses Objekt. Bei einigen
Dateisystemtypen kann dieser Wert von Datei zu
Datei variieren.
blkcntt stblocks Anzahl der Blöcke einer dateisystemspezifischen
Größe, die für dieses Objekt zugeordnet ist.
Durch die I-Node-Nummer zusammen mit der Geräte-ID wird eine Datei im
Dateisystem eindeutig gekennzeichnet. Die Typen devt, inot, modet,
nlinkt, uidt, gidt, offt und timet sind wie in <sys/types.h>
beschrieben definiert. Zeitangaben erfolgen in Sekunden ab 00:00:00
GMT 1. Januar 1970.
Ferner sind folgende symbolische Namen für die Werte von stmode defi-
niert:
Dateityp:
SIFMT Dateityp
SIFBLK Blockorientierte Gerätedatei
SIFCHR Zeichenorientierte Gerätedatei
SIFIFO FIFO-Gerätedatei
SIFREG Normale Datei
SIFDIR Dateiverzeichnis
SIFLNK Symbolischer Link
SIFSOCK Socket
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
stat(5) stat(5)
Dateimodusbits:
SIRWXU Lesen, Schreiben, Ausführen/Durchsuchen durch Eigentümer
SIRUSR Leseberechtigung, Eigentümer
SIWUSR Schreibberechtigung, Eigentümer
SIXUSR Berechtigung für Ausführen/Durchsuchen, Eigentümer
SIRWXG Lesen, Schreiben, Ausführen/Durchsuchen durch Gruppe
SIRGRP Leseberechtigung, Gruppe
SIWGRP Schreibberechtigung, Gruppe
SIXGRP Berechtigung für Ausführen/Durchsuchen, Gruppe
SIRWXO Lesen, Schreiben, Ausführen/Durchsuchen durch andere
SIROTH Leseberechtigung, andere
SIWOTH Schreibberechtigung, andere
SIXOTH Berechtigung für Ausführen/Durchsuchen, andere
SISUID Benutzer-ID (UID) bei Ausführung setzen
SISGID Gruppen-ID (GID) bei Ausführung setzen
SISVTX bei Verzeichnissen, Flag für eingeschränktes Löschen
SIAMB Zugriffsmodusbits
SENFMT Flag für obligatorisches Sperren von Datensätzen
Die durch SIRUSR, SIWUSR, SIXUSR, SIRGRP, SIWGRP, SIXGRP,
SIROTH, SIWOTH, SIXOTH, SISUID, SISGID und SISVTX definierten
Bits sind eindeutig.
SIRWXU ist die bitweise OR-Verknüpfung von SIRUSR, SIWUSR und
SIXUSR.
SIRWXG ist die bitweise OR-Verknüpfung von SIRGRP, SIWGRP und
SIXGRP.
SIRWXO ist die bitweise OR-Verknüpfung von SIROTH, SIWOTH und
SIXOTH.
Implementierungen können auch andere implementierungsspezifische Bits
mit logischem OR zu SIRWXU, SIRWXG und SIRWXO verknüpfen, diese
überlappen jedoch keine anderen in vorliegender Beschreibung definier-
ten Bits. Bei den Dateizugriffsbits handelt es sich per Definition um
die Bits, die der bitweisen OR-Verknüpfung von SIRWXU, SIRWXG and
SIRWXO entsprechen.
Die folgenden Makros gelten für die POSIX-Übereinstimmung. Sie über-
prüfen, ob eine Datei vom angegebenen Typ ist. Der an die Makros aus-
gegebene Wert m ist der Wert von stmode aus einer Struktur stat. Das
Makro gibt einen Wert ungleich Null aus, wenn der Dateityp dem angege-
benen Typ entspricht. Andernfalls wird 0 ausgegeben.
SISBLK(m) Prüft auf eine blockorientierte Gerätedatei.
SISCHR(m) Prüft auf eine zeichenorientierte Gerätedatei.
SISDIR(m) Prüft auf ein Verzeichnis.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
stat(5) stat(5)
SISFIFO(m) Prüft auf eine Pipe oder eine FIFO-Gerätedatei.
SISREG(m) Prüft auf eine normale Datei.
SISLNK(m) Prüft auf einen symbolischen Link.
SISSOCK(m) Prüft auf einen Socket.
Folgende Funktionsprototypen können auch als Makros definiert sein:
int chmod(const char *path, modet mode);
int fchmod(int fildes, modet mode);
int fstat(int fildes, struct stat *buf);
int lstat(const char *path, struct stat *buf);
int mkdir(const char *path, modet mode);
int mkfifo(const char *path, modet mode);
int mknod(const char *path, modet mode, devt dev);
int stat(const char *path, struct stat *buf);
modet umask(modet cmask);
Die Struktur stat64 ist in derselben Weise wie die Struktur stat defi-
niert, mit Ausnahme der folgenden Komponenten:
ino64t stino I-Node.
off64t stsize Dateigröße in Bytes.
blkcnt64t stblocks Anzahl der für dieses Objekt zugeordneten
Blöcke.
Folgende Funktionsprototypen können auch als Makros definiert sein:
int fstat64(int fildes, struct stat64 *buf);
int lstat64(const char *, struct stat64 *buf);
int stat64(const char *, struct stat64 *buf);
SIEHE AUCH
chmod(2), fchmod(2), fstat(2), lstat(2), mkdir(2), mknod(2), stat(2),
umask(2), mkfifo(3C), lfs(5), types(5).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98