Futher changes to casts
[tinycc/daniel.git] / win32 / include / dirent.h
blob41c3dd71533c85dd31817ab83d94f5b2a588a21e
1 /*
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.
18 * $Revision: 1.2 $
19 * $Author: bellard $
20 * $Date: 2005/04/17 13:14:29 $
24 #ifndef __STRICT_ANSI__
26 #ifndef _DIRENT_H_
27 #define _DIRENT_H_
29 /* All the headers include this file. */
30 #include <_mingw.h>
32 #include <io.h>
34 #ifndef RC_INVOKED
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
40 struct dirent
42 long d_ino; /* Always zero. */
43 unsigned short d_reclen; /* Always zero. */
44 unsigned short d_namlen; /* Length of name in d_name. */
45 char* d_name; /* File name. */
46 /* NOTE: The name in the dirent structure points to the name in the
47 * finddata_t structure in the DIR. */
51 * This is an internal data structure. Good programmers will not use it
52 * except as an argument to one of the functions below.
54 typedef struct
56 /* disk transfer area for this dir */
57 struct _finddata_t dd_dta;
59 /* dirent struct to return from dir (NOTE: this makes this thread
60 * safe as long as only one thread uses a particular DIR struct at
61 * a time) */
62 struct dirent dd_dir;
64 /* _findnext handle */
65 long dd_handle;
68 * Status of search:
69 * 0 = not started yet (next entry to read is first entry)
70 * -1 = off the end
71 * positive = 0 based index of next entry
73 short dd_stat;
75 /* given path for dir with search pattern (struct is extended) */
76 char dd_name[1];
77 } DIR;
80 DIR* opendir (const char*);
81 struct dirent* readdir (DIR*);
82 int closedir (DIR*);
83 void rewinddir (DIR*);
84 long telldir (DIR*);
85 void seekdir (DIR*, long);
87 #ifdef __cplusplus
89 #endif
91 #endif /* Not RC_INVOKED */
93 #endif /* Not _DIRENT_H_ */
95 #endif /* Not __STRICT_ANSI__ */