Provided by: manpages-pl-dev_20051117-1_all bug

NAZWA

       readdir - odczytanie wpisu w katalogu

SKŁADNIA

       #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);

OPIS

       Nie   jest   to  funkcja,  która  cię  interesuje.  Opis  implementacji
       interfejsu zgodnego z POSIX w bibliotece C znajduje się  w  readdir(3).
       Niniejsza  strona  opisuje  goły interfejs wywołania systemowego, który
       może ulec zmianie i który został zastąpiony przez getdents(2).

       readdir odczytuje do wskazywanego  przez  dirp  obszaru  pamięci  jedną
       strukturę dirent z katalogu, na który wskazuje fd.  Parametr count jest
       ignorowany; odczytywana jest co najwyżej jedna struktura.

       Struktura dirent jest zadeklarowana następująco:

              struct dirent
              {
                  long d_ino;                 /* numer i-węzła */
                  off_t d_off;                /* offset do tego dirent */
                  unsigned short d_reclen;    /* długość tego d_name */
                  char d_name [NAME_MAX+1];   /* nazwa pliku (zakończona znakiem NUL) */
              }

       d_ino  jest  numerem  i-węzła.   d_off  jest  odległością  od  początku
       katalogu  do  tego  wpisu  dirent.  d_reclen jest rozmiarem d_name, nie
       licząc kończącego znaku NUL.  d_name jest zakończoną znakiem NUL  nazwą
       pliku.

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu  zwracane  jest 1.  Po natrafieniu na koniec
       katalogu zwracane jest 0.  Po błędzie zwracane jest  -1  i  odpowiednio
       ustawiane errno.

BŁĘDY

       EBADF  Nieprawidłowy deskryptor fd.

       EFAULT Argument wskazuje poza przestrzeń adresową wywołującego procesu.

       EINVAL Bufor na wynik jest za mały.

       ENOENT Nie ma takiego katalogu.

       ENOTDIR
              Deksryptor pliku nie odnosi się do katalogu.

ZGODNE Z

       Tp wywołanie systemowe jest specyficzne dla Linuksa.

ZOBACZ TAKŻE

       getdents(2), readdir(3)