Provided by: manpages-es_1.55-10_all bug

NOMBRE

       readdir - lee una entrada de un directorio

SINOPSIS

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

DESCRIPCI'ON

       Esta  no  es  la  funcion  que  buscaba.   Mire  readdir(3) para ver la
       interfaz de la biblioteca C conforme con POSIX.  Esta pagina  documenta
       la  interfaz  desnuda  con  la llamada al sistema del nucleo, que puede
       cambiar, y que es reemplazada por getdents(2).

       readdir lee una estructura dirent del directorio al que apunta fd y  la
       almacena  en  el area de memoria apuntada por dirp.  El parametro count
       es ignorado; como mucho se lee una estructura dirent.

       La estructura dirent se declara como sigue:

              struct dirent
              {
                  long d_ino;                 /* numero de nodo-i */
                  off_t d_off;                /* desplazamiento hasta el dirent */
                  unsigned short d_reclen;    /* longitud del d_name */
                  char d_name [NAME_MAX+1];   /* nombre de fichero
                                                 (acabado en nulo) */
              }

       d_ino es un numero de nodo-i.  d_off es la distancia desde el principio
       del directorio hasta este dirent.  d_reclen es el tamano de d_name, sin
       contar el caracter nulo del final.  d_name es un nombre de fichero, una
       cadena de caracteres terminada en nulo.

VALOR DEVUELTO

       En  caso de exito se devuelve 1.  Si se alcanzo el final del directorio
       se devuelve 0.  Si hubo un error se devuelve -1 y la variable errno  se
       modifica apropiadamente.

ERRORES

       EBADF  Descriptor de fichero fd invalido.

       EFAULT El argumento senala fuera del espacio de direcciones del proceso
              que realiza la llamada.

       EINVAL El buffer para el resultado es demasiado pequeno.

       ENOENT No existe el directorio.

       ENOTDIR
              El descriptor de fichero no se refiere a un directorio.

CONFORME A

       Esta llamada al sistema es especifica de Linux.

V'EASE TAMBI'EN

       getdents(2), readdir(3)