Provided by: manpages-pt-dev_20040726-4_all bug

NOME

       getdents - obtém as entradas de diretórios

SINOPSE

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

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

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

DESCRIÇÃO

       getdents  lê  várias  estruturas  dirent  a partir do diretório apontado por fd dentro da área de memória
       apontada por dirp.  O parãmetro count é o tamanho da área de memória.

       A estrutura dirent é declarada como segue:

              struct dirent
              {
                  long d_ino;                 /* inode number */
                  off_t d_off;                /* offset to next dirent */
                  unsigned short d_reclen;    /* length of this dirent */
                  char d_name [NAME_MAX+1];   /* file name (null-terminated) */
              }

       d_ino é um número de inode.  d_off é a distãncia a partir do início do diretório para o iníco do  próximo
       dirent.  d_reclen é o tamanho da completa dirent.  d_name é um nome de arquivo vazio.

       Esta chamada substitui readdir(2).

VALORES RETORNADOS

       Em  caso  de  sucesso,  o número de bytes lidos é retornado.  No final do diretório, 0 é retornado.  Caso
       contrário, -1 is retornado, e errno é selecionado apropriadamente.

ERROS

       EBADF  Descritor de arquivos inválido fd.

       EFAULT O argumento aponta para o espaço de enderenço dp processo solicitante.

       EINVAL O buffer de resultado é muito pequeno.

       ENOENT Sem aquele diretório.

       ENOTDIR
              O descritor de arquivos não se refere para um diretório.

DE ACORDO COM

       SVr4, SVID. Na documentação SVr4 condições de erro adicionais ENOLINK, EIO.

VEJA TAMBÉM

       readdir(2), readdir(3)

TRADUZIDO POR LDP-BR em 21/08/2000.

       André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx  <xxx@xxxxxx.xxx.xx>
       (revisão)