2 * DIRENT.H (formerly DIRLIB.H)
4 * by M. J. Weinstein Released to public domain 1-Jan-89
6 * Because I have heard that this feature (opendir, readdir, closedir)
7 * it so useful for programmers coming from UNIX or attempting to port
8 * UNIX code, and because it is reasonably light weight, I have included
9 * it in the Mingw32 package. I have also added an implementation of
10 * rewinddir, seekdir and telldir.
11 * - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
13 * This code is distributed in the hope that is will be useful but
14 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 * DISCLAIMED. This includeds but is not limited to warranties of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 * $Date: 2002/05/18 14:03:13 $
24 #ifndef __STRICT_ANSI__
39 long d_ino; /* Always zero. */
40 unsigned short d_reclen; /* Always zero. */
41 unsigned short d_namlen; /* Length of name in d_name. */
42 char* d_name; /* File name. */
43 /* NOTE: The name in the dirent structure points to the name in the
44 * finddata_t structure in the DIR. */
48 * This is an internal data structure. Good programmers will not use it
49 * except as an argument to one of the functions below.
53 /* disk transfer area for this dir */
54 struct _finddata_t dd_dta;
56 /* dirent struct to return from dir (NOTE: this makes this thread
57 * safe as long as only one thread uses a particular DIR struct at
61 /* _findnext handle */
66 * 0 = not started yet (next entry to read is first entry)
68 * positive = 0 based index of next entry
72 /* given path for dir with search pattern (struct is extended) */
78 DIR* opendir (const char*);
79 struct dirent* readdir (DIR*);
81 void rewinddir (DIR*);
83 void seekdir (DIR*, long);
86 /* wide char versions */
90 long d_ino; /* Always zero. */
91 unsigned short d_reclen; /* Always zero. */
92 unsigned short d_namlen; /* Length of name in d_name. */
93 wchar_t* d_name; /* File name. */
94 /* NOTE: The name in the dirent structure points to the name in the
95 * wfinddata_t structure in the _WDIR. */
99 * This is an internal data structure. Good programmers will not use it
100 * except as an argument to one of the functions below.
104 /* disk transfer area for this dir */
105 struct _wfinddata_t dd_dta;
107 /* dirent struct to return from dir (NOTE: this makes this thread
108 * safe as long as only one thread uses a particular DIR struct at
110 struct _wdirent dd_dir;
112 /* _findnext handle */
117 * 0 = not started yet (next entry to read is first entry)
119 * positive = 0 based index of next entry
123 /* given path for dir with search pattern (struct is extended) */
129 _WDIR* _wopendir (const wchar_t*);
130 struct _wdirent* _wreaddir (_WDIR*);
131 int _wclosedir (_WDIR*);
132 void _wrewinddir (_WDIR*);
133 long _wtelldir (_WDIR*);
134 void _wseekdir (_WDIR*, long);
141 #endif /* Not RC_INVOKED */
143 #endif /* Not _DIRENT_H_ */
145 #endif /* Not __STRICT_ANSI__ */