readdir(2) System Calls Manual readdir(2) BEZEICHNUNG readdir - Verzeichniseintrag lesen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include /* Definition der SYS_*-Konstanten */ #include int syscall(SYS_readdir, unsigned int dd, struct old_linux_dirent *Verzz, unsigned int Anzahl); Hinweis: Es gibt in Glibc keine Definition von struct old_linux_dirent; 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 fur das Verzeichnis, auf das der Dateideskriptor dd zeigt, in den Puffer, auf den Verzz zeigt. Der Parameter Anzahl wird ignoriert; es wird hochstens eine old_linux_dirent-Struktur gelesen. Die Struktur old_linux_dirent ist wie folgt (privat in der Linux-Kernel-Datei fs/readdir.c) definiert: struct old_linux_dirent { unsigned long d_ino; /* Inode-Number */ unsigned long d_offset; /* Offset zu diesem old_linux_dirent */ unsigned short d_namlen; /* Lange von d_name */ char d_name[1]; /* Dateiname (abgeschlossen mit */ /* Nullbyte) */ } d_ino ist eine Inode-Nummer. d_offset ist der Abstand zwischen dem Anfang des Verzeichnisses und diesem old_linux_dirent. d_reclen ist die Grosse von d_name, das abschliessende Nulbyte nicht mitgezahlt (>>\0<<). d_name ist ein mit Nullbytes abgeschlossener Dateiname. RUCKGABEWERT Bei Erfolg wird 1 zuruckgegeben. Beim Ende des Verzeichnisses wird 0 zuruckgegeben. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EBADF Unzulassiger Dateideskriptor dd. 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. VERSIONEN Sie mussen die Struktur old_linux_dirent selbst definieren. Allerdings sollten Sie wahrscheinlich stattdessen readdir(3) verwenden. Dieser Systemaufruf existiert auf X86-64 nicht. STANDARDS Linux. SIEHE AUCH getdents(2), readdir(3) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Markus Kaufmann , Helge Kreutzmann , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 readdir(2)