Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       readdir - odczytanie wpisu w katalogu

SK/LADNIA

       #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, ktora ci interesuje. Opis implementacji interfejsu
       zgodnego z POSIX w bibliotece C znajduje si  w  readdir(3).   Niniejsza
       strona  opisuje  goly  interfejs  wywolania systemowego, ktory moe ulec
       zmianie i ktory zostal zastpiony przez getdents(2).

       readdir odczytuje  do  wskazywanego  przez  dirp  obszaru  pamici  jedn
       struktur  dirent z katalogu, na ktory wskazuje fd.  Parametr count jest
       ignorowany; odczytywana jest co najwyej jedna struktura.

       Struktura dirent jest zadeklarowana nastpujco:

              struct dirent
              {
                  long d_ino;                 /* numer i-wzla */
                  off_t d_off;                /* offset do tego dirent */
                  unsigned short d_reclen;    /* dlugo tego d_name */
                  char d_name [NAME_MAX+1];   /* nazwa pliku (zakoczona znakiem NUL) */
              }

       d_ino jest numerem i-wzla.  d_off jest odlegloci od pocztku katalogu do
       tego  wpisu dirent.  d_reclen jest rozmiarem d_name, nie liczc koczcego
       znaku NUL.  d_name jest zakoczon znakiem NUL nazw pliku.

WARTO ZWRACANA

       Po pomylnym zakoczeniu zwracane  jest  1.   Po  natrafieniu  na  koniec
       katalogu  zwracane  jest  0.   Po bldzie zwracane jest -1 i odpowiednio
       ustawiane errno.

B/LDY

       EBADF  Nieprawidlowy deskryptor fd.

       EFAULT Argument wskazuje poza przestrze adresow wywolujcego procesu.

       EINVAL Bufor na wynik jest za maly.

       ENOENT Nie ma takiego katalogu.

       ENOTDIR
              Deksryptor pliku nie odnosi si do katalogu.

ZGODNE Z

       Tp wywolanie systemowe jest specyficzne dla Linuksa.

ZOBACZ TAKE

       getdents(2), readdir(3)

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.