59         char            d_name[1];      /* name of file */
  60 } dirent32_t;
  61 
  62 #endif  /* _SYSCALL32 */
  63 
  64 #ifdef  _LARGEFILE64_SOURCE
  65 
  66 /*
  67  * transitional large file interface version AND kernel internal version
  68  */
  69 typedef struct dirent64 {
  70         ino64_t         d_ino;          /* "inode number" of entry */
  71         off64_t         d_off;          /* offset of disk directory entry */
  72         unsigned short  d_reclen;       /* length of this record */
  73         char            d_name[1];      /* name of file */
  74 } dirent64_t;
  75 
  76 #endif  /* _LARGEFILE64_SOURCE */
  77 
  78 #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
  79 #if defined(_KERNEL)
  80 #define DIRENT64_RECLEN(namelen)        \
  81         ((offsetof(dirent64_t, d_name[0]) + 1 + (namelen) + 7) & ~ 7)
  82 #define DIRENT64_NAMELEN(reclen)        \
  83         ((reclen) - (offsetof(dirent64_t, d_name[0])))
  84 #define DIRENT32_RECLEN(namelen)        \
  85         ((offsetof(dirent32_t, d_name[0]) + 1 + (namelen) + 3) & ~ 3)
  86 #define DIRENT32_NAMELEN(reclen)        \
  87         ((reclen) - (offsetof(dirent32_t, d_name[0])))
  88 #endif
  89 
  90 /*
  91  * This is the maximum number of bytes that getdents(2) will store in
  92  * user-supplied dirent buffers.
  93  */
  94 #define MAXGETDENTS_SIZE        (64 * 1024)
  95 
  96 #if !defined(_KERNEL)
  97 
  98 /*
  99  * large file compilation environment setup
 
 | 
 
 
  59         char            d_name[1];      /* name of file */
  60 } dirent32_t;
  61 
  62 #endif  /* _SYSCALL32 */
  63 
  64 #ifdef  _LARGEFILE64_SOURCE
  65 
  66 /*
  67  * transitional large file interface version AND kernel internal version
  68  */
  69 typedef struct dirent64 {
  70         ino64_t         d_ino;          /* "inode number" of entry */
  71         off64_t         d_off;          /* offset of disk directory entry */
  72         unsigned short  d_reclen;       /* length of this record */
  73         char            d_name[1];      /* name of file */
  74 } dirent64_t;
  75 
  76 #endif  /* _LARGEFILE64_SOURCE */
  77 
  78 #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
  79 #if defined(_KERNEL) || defined(_FAKE_KERNEL)
  80 #define DIRENT64_RECLEN(namelen)        \
  81         ((offsetof(dirent64_t, d_name[0]) + 1 + (namelen) + 7) & ~ 7)
  82 #define DIRENT64_NAMELEN(reclen)        \
  83         ((reclen) - (offsetof(dirent64_t, d_name[0])))
  84 #define DIRENT32_RECLEN(namelen)        \
  85         ((offsetof(dirent32_t, d_name[0]) + 1 + (namelen) + 3) & ~ 3)
  86 #define DIRENT32_NAMELEN(reclen)        \
  87         ((reclen) - (offsetof(dirent32_t, d_name[0])))
  88 #endif
  89 
  90 /*
  91  * This is the maximum number of bytes that getdents(2) will store in
  92  * user-supplied dirent buffers.
  93  */
  94 #define MAXGETDENTS_SIZE        (64 * 1024)
  95 
  96 #if !defined(_KERNEL)
  97 
  98 /*
  99  * large file compilation environment setup
 
 |