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ÓN

       Esta  no es la función que buscaba.  Mire readdir(3) para ver la interfaz de la biblioteca
       C conforme con POSIX.  Esta página documenta la interfaz desnuda con la llamada al sistema
       del núcleo, 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 área
       de memoria apuntada por dirp.  El parámetro count es  ignorado;  como  mucho  se  lee  una
       estructura dirent.

       La estructura dirent se declara como sigue:

              struct dirent
              {
                  long d_ino;                 /* número de nodo-í */
                  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  número  de nodo-í.  d_off es la distancia desde el principio del directorio
       hasta este dirent.  d_reclen es el tamaño de d_name,  sin  contar  el  carácter  nulo  del
       final.  d_name es un nombre de fichero, una cadena de caracteres terminada en nulo.

VALOR DEVUELTO

       En  caso de éxito se devuelve 1.  Si se alcanzó 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 inválido.

       EFAULT El argumento señala fuera del espacio de direcciones del  proceso  que  realiza  la
              llamada.

       EINVAL El buffer para el resultado es demasiado pequeño.

       ENOENT No existe el directorio.

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

CONFORME A

       Esta llamada al sistema es específica de Linux.

VÉASE TAMBIÉN

       getdents(2), readdir(3)