Provided by: manpages-pt-dev_20040726-1_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)