Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirent(4) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getdents(2)

directory(3C)

lfs(5)

types(5)

dirent(4)                                                         dirent(4)

NAME
     dirent - Dateisystem-unabhängiger Verzeichniseintrag

SYNTAX
     #include <dirent.h>

BESCHREIBUNG
     Die Verzeichniseinträge in den verschiedenen Dateisystem-Typen haben
     teilweise ein unterschiedliches Format. Mit der dirent-Struktur wird
     ein vom Dateisystem unabhängiger Verzeichniseintrag mit Informationen
     definiert, die zu Verzeichniseinträgen in Dateisystemen unterschiedli-
     chen Typs passen. Über den Systemaufruf getdents(2) können diese
     Strukturen abgerufen werden.

     Das folgende Beispiel zeigt die Definition einer dirent-Struktur:

     struct dirent
     {
         inot           dino;          /* "inode number" of entry */
         offt           doff;          /* offset of disk directory entry */
         unsigned short  dreclen;       /* length of this record */
         char            dname[1];      /* name of file */
     };

     dino ist eine Nummer, die einer Datei zugeordnet ist und innerhalb
     des Dateisystems nur einmal vorkommt. Das Feld doff ist der Offset
     dieses Verzeichniseintrags innerhalb des tatsächlichen Dateisystemver-
     zeichnisses. Das Feld dname ist der Anfang eines Zeichen-Arrays, das
     den Namen des Verzeichniseintrags angibt. Dieser Name wird mit dem
     Null-Zeichen abgeschlossen und darf maximal MAXNAMLEN Zeichen enthal-
     ten. Damit erhält man dateisystem-unabhängige Verzeichniseinträge, bei
     denen es sich um Einheiten variabler Länge handelt. Der Wert von
     dreclen ist die Datensatzlänge dieses Eintrags. Diese Länge ist als
     die Anzahl der Bytes definiert, die zwischen dem aktuellen Eintrag und
     dem nächsten Eintrag stehen; dadurch wird die nächste Struktur geeig-
     net ausgerichtet.

     Die folgenden Typen sind als Funktionen deklariert und können ebenso
     als Makros definiert sein.

     int             closedir(DIR *dirp);
     DIR             *opendir(const char *dirname);
     struct dirent   *readdir(DIR *dirp);
     void            rewinddir(DIR *dirp);
     void            seekdir(DIR *dirp, long int loc);
     long int        telldir(DIR *dirp);

     Die Struktur dirent64 ist in derselben Weise wie die Struktur dirent
     definiert, mit Ausnahme der folgenden Komponenten:

         ino64t         dino;          /* "inode number" of entry */
         off64t         doff;          /* offset of disk directory entry */



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

dirent(4)                                                         dirent(4)

     Folgender Funktionsprototyp kann auch als Makro definiert sein:

          struct dirent64 *readdir64(DIR *dirp);

SIEHE AUCH
     getdents(2), directory(3C), lfs(5), types(5).
















































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026