READDIR(2)

BEZEICHNUNG
readdir - Verzeichniseintrag lesen

Ü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.

SIEHE AUCH
getdents(2), readdir(3)

KOLOPHON
This page is part of release 3.70 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Kaufmann <markus.kaufmann@gmx.de>, Helge Kreutzmann <debian@helgefjell.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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 <debian-l10n-german@lists.debian.org>.