test: Differentiate ability for gnu utils to handle symlinks from git
[git/mingw/4msysgit.git] / compat / win32 / dirent.h
blob6b3ddee51ba926aab5a23bb6fb97e99bba147128
1 #ifndef DIRENT_H
2 #define DIRENT_H
4 #define DT_UNKNOWN 0
5 #define DT_DIR 1
6 #define DT_REG 2
7 #define DT_LNK 3
9 struct dirent {
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.
18 typedef struct DIR {
19 struct dirent *(*preaddir)(struct DIR *dir);
20 int (*pclosedir)(struct DIR *dir);
21 } 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))
32 #endif /* DIRENT_H */