tail head cat sleep
QR code linking to this page

Manpage  — READDIR

BEZEICHNUNG

readdir - liest einen Verzeichniseintrag

INHALT

ÜBERSICHT

#include <unistd.h> 
#include <linux/dirent.h> 
#include <linux/unistd.h> 

_syscall3(int, readdir, uint, fd, struct dirent *, dirp, uint, count);

int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);

BESCHREIBUNG

Dies ist nicht die Funktion, an der sie interessiert sind. Unter readdir(3) finden sie eine POSIX-konforme C-Funktion. Diese Seite beschreibt den rohen Kernelsystemaufruf, der sich jederzeit ändern kann und durch getdents(2) ersetzt wurde.

readdir liest eine dirent-Struktur von dem Verzeichnis auf das die Variable fd zeigt in den Speicher an die Stelle auf die dirp zeigt. Der Parameter count wird ignoriert; es wird höchstens eine dirent-Struktur gelesen.

Die dirent-Struktur ist wie folgt deklariert:

struct dirent
{
    long d_ino;                 /* inode Nummer */
    off_t d_off;                /* Offset zu diesem dirent */
    unsigned short d_reclen;    /* Länge von d_name */
    char d_name [NAME_MAX+1];   /* Dateiname (Null-terminiert) */
}

d_ino ist eine Inode-Nummer. d_off is der Abstand zwischen dem Beginn des Verzeichnisses und diesem dirent. d_reclen ist die Länge von d_name, den abschließenden Null-terminator nicht mitgezählt. d_name ist ein Null-terminierter Dateiname.

RÜCKGABEWERT

Bei Erfolg wird eine 1 zurückgeliefert. Beim Ende eines Verzeichnisses wird eine 0 zurückgeliefert. Beim Auftreten eines Fehlers wird -1 zurückgeliefert und errno entsprechend gesetzt.

FEHLER

EBADF Ungültiger Dateideskriptor fd.
ENOTDIR
  Dateideskriptor zeigt nicht auf ein Verzeichnis.

KONFORM ZU

Dieser Systemaufruf ist Linuxspezifisch.

SIEHE AUCH

getdents(2), readdir(3).

2. Juni 1996 READDIR (2) Linux 1.3.6

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”