/* This is the data type of directory stream objects.

   The actual structure is opaque to users.  */

typedef struct __dirstream DIR;

struct __dirstream

  {

    void *__fd;            /* `struct hurd_fd’ pointer for descriptor.  */

    char *__data;        /* Directory block.  */

    int __entry_data;        /* Entry number `__data’ corresponds to.  */

    char *__ptr;        /* Current pointer into the block.  */

    int __entry_ptr;        /* Entry number `__ptr’ corresponds to.  */

    size_t __allocation;    /* Space allocated for the block.  */

    size_t __size;        /* Total valid data in the block.  */

    __libc_lock_define (, __lock) /* Mutex lock for this structure.  */

  };

dirent结构

struct   dirent   { 
long d_ino; 
__kernel_off_t d_off; 
unsigned   short d_reclen; 
char d_name[256];   /*   We   must   not   include   limits.h!   */ 
};