ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dirent.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 3140 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*
2 * DIRENT.H (formerly DIRLIB.H)
3 * This file has no copyright assigned and is placed in the Public Domain.
4 * This file is part of the mingw-runtime package.
5 * No warranty is given; refer to the file DISCLAIMER within the package.
6 *
7 */
8
9 #ifndef _DIRENT_H_
10 #define _DIRENT_H_
11
12 /* All the headers include this file. */
13 #include <crtdefs.h>
14
15 #include <io.h>
16
17 #ifndef RC_INVOKED
18
19 #pragma pack(push,_CRT_PACKING)
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 struct dirent
26 {
27 long d_ino; /* Always zero. */
28 unsigned short d_reclen; /* Always zero. */
29 unsigned short d_namlen; /* Length of name in d_name. */
30 char d_name[260]; /* [FILENAME_MAX] */ /* File name. */
31 };
32
33 /*
34 * This is an internal data structure. Good programmers will not use it
35 * except as an argument to one of the functions below.
36 * dd_stat field is now int (was short in older versions).
37 */
38 typedef struct
39 {
40 /* disk transfer area for this dir */
41 struct _finddata_t dd_dta;
42
43 /* dirent struct to return from dir (NOTE: this makes this thread
44 * safe as long as only one thread uses a particular DIR struct at
45 * a time) */
46 struct dirent dd_dir;
47
48 /* _findnext handle */
49 intptr_t dd_handle;
50
51 /*
52 * Status of search:
53 * 0 = not started yet (next entry to read is first entry)
54 * -1 = off the end
55 * positive = 0 based index of next entry
56 */
57 int dd_stat;
58
59 /* given path for dir with search pattern (struct is extended) */
60 char dd_name[1];
61 } DIR;
62
63 DIR* __cdecl __MINGW_NOTHROW opendir (const char*);
64 struct dirent* __cdecl __MINGW_NOTHROW readdir (DIR*);
65 int __cdecl __MINGW_NOTHROW closedir (DIR*);
66 void __cdecl __MINGW_NOTHROW rewinddir (DIR*);
67 long __cdecl __MINGW_NOTHROW telldir (DIR*);
68 void __cdecl __MINGW_NOTHROW seekdir (DIR*, long);
69
70
71 /* wide char versions */
72
73 struct _wdirent
74 {
75 long d_ino; /* Always zero. */
76 unsigned short d_reclen; /* Always zero. */
77 unsigned short d_namlen; /* Length of name in d_name. */
78 wchar_t d_name[260]; /* [FILENAME_MAX] */ /* File name. */
79 };
80
81 /*
82 * This is an internal data structure. Good programmers will not use it
83 * except as an argument to one of the functions below.
84 */
85 typedef struct
86 {
87 /* disk transfer area for this dir */
88 struct _wfinddata_t dd_dta;
89
90 /* dirent struct to return from dir (NOTE: this makes this thread
91 * safe as long as only one thread uses a particular DIR struct at
92 * a time) */
93 struct _wdirent dd_dir;
94
95 /* _findnext handle */
96 intptr_t dd_handle;
97
98 /*
99 * Status of search:
100 * 0 = not started yet (next entry to read is first entry)
101 * -1 = off the end
102 * positive = 0 based index of next entry
103 */
104 int dd_stat;
105
106 /* given path for dir with search pattern (struct is extended) */
107 wchar_t dd_name[1];
108 } _WDIR;
109
110 _WDIR* __cdecl __MINGW_NOTHROW _wopendir (const wchar_t*);
111 struct _wdirent* __cdecl __MINGW_NOTHROW _wreaddir (_WDIR*);
112 int __cdecl __MINGW_NOTHROW _wclosedir (_WDIR*);
113 void __cdecl __MINGW_NOTHROW _wrewinddir (_WDIR*);
114 long __cdecl __MINGW_NOTHROW _wtelldir (_WDIR*);
115 void __cdecl __MINGW_NOTHROW _wseekdir (_WDIR*, long);
116
117
118 #ifdef __cplusplus
119 }
120 #endif
121
122 #pragma pack(pop)
123
124 #endif /* Not RC_INVOKED */
125
126 #endif /* Not _DIRENT_H_ */
127