10 unsigned char d_type
; /* file type to prevent lstat after readdir */
11 char *d_name
; /* file name */
15 * Base DIR structure, contains pointers to readdir/closedir implementations so
16 * that opendir may choose a concrete implementation on a call-by-call basis.
19 struct dirent
*(*preaddir
)(struct DIR *dir
);
20 int (*pclosedir
)(struct DIR *dir
);
23 /* default dirent implementation */
24 extern DIR *dirent_opendir(const char *dirname
);
26 /* current dirent implementation */
27 extern DIR *(*opendir
)(const char *dirname
);
29 #define readdir(dir) (dir->preaddir(dir))
30 #define closedir(dir) (dir->pclosedir(dir))