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/11/10 18:04:23 $
24 #ifndef __STRICT_ANSI__
41 long d_ino; /* Always zero. */
42 unsigned short d_reclen; /* Always zero. */
43 unsigned short d_namlen; /* Length of name in d_name. */
44 char* d_name; /* File name. */
45 /* NOTE: The name in the dirent structure points to the name in the
46 * finddata_t structure in the DIR. */
50 * This is an internal data structure. Good programmers will not use it
51 * except as an argument to one of the functions below.
55 /* disk transfer area for this dir */
56 WIN32_FIND_DATA dd_dta;
58 /* dirent struct to return from dir (NOTE: this makes this thread
59 * safe as long as only one thread uses a particular DIR struct at
63 /* _findnext handle */
68 * 0 = not started yet (next entry to read is first entry)
70 * positive = 0 based index of next entry
74 /* given path for dir with search pattern (struct is extended) */
80 DIR* opendir (const char*);
81 struct dirent* readdir (DIR*);
83 void rewinddir (DIR*);
85 void seekdir (DIR*, long);
88 /* wide char versions */
92 long d_ino; /* Always zero. */
93 unsigned short d_reclen; /* Always zero. */
94 unsigned short d_namlen; /* Length of name in d_name. */
95 wchar_t* d_name; /* File name. */
96 /* NOTE: The name in the dirent structure points to the name in the
97 * wfinddata_t structure in the _WDIR. */
101 * This is an internal data structure. Good programmers will not use it
102 * except as an argument to one of the functions below.
106 /* disk transfer area for this dir */
107 WIN32_FIND_DATA dd_dta;
109 /* dirent struct to return from dir (NOTE: this makes this thread
110 * safe as long as only one thread uses a particular DIR struct at
112 struct _wdirent dd_dir;
114 /* _findnext handle */
119 * 0 = not started yet (next entry to read is first entry)
121 * positive = 0 based index of next entry
125 /* given path for dir with search pattern (struct is extended) */
131 _WDIR* _wopendir (const wchar_t*);
132 struct _wdirent* _wreaddir (_WDIR*);
133 int _wclosedir (_WDIR*);
134 void _wrewinddir (_WDIR*);
135 long _wtelldir (_WDIR*);
136 void _wseekdir (_WDIR*, long);
143 #endif /* Not RC_INVOKED */
145 #endif /* Not _DIRENT_H_ */
147 #endif /* Not __STRICT_ANSI__ */