ÜBERSICHT
int readdir(unsigned int fd, struct old_linux_dirent *dirp,
unsigned int count);
Hinweis: Es gibt keinen Glibc-Wrapper für diesen Systemaufruf; siehe ANMERKUNGEN.
BESCHREIBUNG
Dies ist nicht die Funktion, an der Sie interessiert sind. Unter readdir(3) finden Sie eine POSIX-konforme Schnittstelle zur C-Bibliothek. Diese Seite beschreibt den reinen/puren Kernel-Systemaufruf, der durch getdents(2) ersetzt wurde.readdir() liest eine old_linux_dirent-Struktur für das Verzeichnis, auf das der Dateideskriptor fd zeigt, in den Puffer, auf den dirp zeigt. Der Parameter count wird ignoriert; es wird höchstens eine old_linux_dirent-Struktur gelesen.
Die Struktur old_linux_dirent ist wie folgt definiert:
struct old_linux_dirent { long d_ino; /* Inode-Nummer */ off_t d_off; /* Offset zu diesem old_linux_dirent */ unsigned short d_reclen; /* Länge von d_name */ char d_name[NAME_MAX+1]; /* Dateiname (abgeschlossen mit */ /* Null-Byte) */ }
d_ino ist eine Inode-Nummer. d_off ist der Abstand zwischen dem Anfang des Verzeichnisses und diesem old_linux_dirent. d_reclen ist die Größe von d_name, das abschließende Null-Byte nicht mitgezählt ('\0'). d_name ist ein nullterminierter Dateiname.
RÜCKGABEWERT
Bei Erfolg wird 1 zurückgegeben. Beim Ende des Verzeichnisses wird 0 zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno entsprechend gesetzt.FEHLER
- EBADF
- Unzulässiger Dateideskriptor fd.
- EFAULT
- Das Argument zeigt aus dem Adressraum des aufrufenden Prozesses heraus.
- EINVAL
- Ergebnispuffer ist zu klein.
- ENOENT
- Kein solches Verzeichnis.
- ENOTDIR
- Dateideskriptor zeigt nicht auf ein Verzeichnis.
KONFORM ZU
Dieser Systemaufruf ist Linux-spezifisch.ANMERKUNGEN
Glibc stellt keinen Wrapper für diesen Systemaufruf bereit; rufen Sie ihn mittels syscall(2) auf. Sie müssen die Struktur old_linux_dirent selbst definieren. Allerdings sollten Sie wahrscheinlich stattdessen readdir(3) verwenden.Dieser Systemaufruf existiert auf x86-64-Systemen nicht.
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Kaufmann <[email protected]>, Helge Kreutzmann <[email protected]>, Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> erstellt.Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.