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
|