xref: /reactos/sdk/include/crt/direct.h (revision 1734f297)
1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the w64 mingw-runtime package.
4  * No warranty is given; refer to the file DISCLAIMER within this package.
5  */
6 #ifndef _INC_DIRECT
7 #define _INC_DIRECT
8 
9 #include <crtdefs.h>
10 #include <io.h>
11 
12 #pragma pack(push,_CRT_PACKING)
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #ifndef _DISKFREE_T_DEFINED
19 #define _DISKFREE_T_DEFINED
20   struct _diskfree_t {
21     unsigned total_clusters;
22     unsigned avail_clusters;
23     unsigned sectors_per_cluster;
24     unsigned bytes_per_sector;
25   };
26 #endif
27 
28   _Check_return_
29   _Ret_opt_z_
30   _CRTIMP
31   char*
32   __cdecl
33   _getcwd(
34     _Out_writes_opt_(_SizeInBytes) char *_DstBuf,
35     _In_ int _SizeInBytes);
36 
37   _Check_return_
38   _Ret_opt_z_
39   _CRTIMP
40   char*
41   __cdecl
42   _getdcwd(
43     _In_ int _Drive,
44     _Out_writes_opt_(_SizeInBytes) char *_DstBuf,
45     _In_ int _SizeInBytes);
46 
47   _Check_return_
48   _Ret_opt_z_
49   char*
50   __cdecl
51   _getdcwd_nolock(
52     _In_ int _Drive,
53     _Out_writes_opt_(_SizeInBytes) char *_DstBuf,
54     _In_ int _SizeInBytes);
55 
56   _Check_return_
57   _CRTIMP
58   int
59   __cdecl
60   _chdir(
61     _In_z_ const char *_Path);
62 
63   _Check_return_
64   _CRTIMP
65   int
66   __cdecl
67   _mkdir(
68     _In_z_ const char *_Path);
69 
70   _Check_return_
71   _CRTIMP
72   int
73   __cdecl
74   _rmdir(
75     _In_z_ const char *_Path);
76 
77   _Check_return_
78   _CRTIMP
79   int
80   __cdecl
81   _chdrive(
82     _In_ int _Drive);
83 
84   _Check_return_
85   _CRTIMP
86   int
87   __cdecl
88   _getdrive(void);
89 
90   _Check_return_
91   _CRTIMP
92   unsigned long
93   __cdecl
94   _getdrives(void);
95 
96 #ifndef _GETDISKFREE_DEFINED
97 #define _GETDISKFREE_DEFINED
98   _Check_return_
99   _CRTIMP
100   unsigned
101   __cdecl
102   _getdiskfree(
103     _In_ unsigned _Drive,
104     _Out_ struct _diskfree_t *_DiskFree);
105 #endif
106 
107 #ifndef _WDIRECT_DEFINED
108 #define _WDIRECT_DEFINED
109 
110   _Check_return_
111   _Ret_opt_z_
112   _CRTIMP
113   wchar_t*
114   __cdecl
115   _wgetcwd(
116     _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf,
117     _In_ int _SizeInWords);
118 
119   _Check_return_
120   _Ret_opt_z_
121   _CRTIMP
122   wchar_t*
123   __cdecl
124   _wgetdcwd(
125     _In_ int _Drive,
126     _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf,
127     _In_ int _SizeInWords);
128 
129   _Check_return_
130   _Ret_opt_z_
131   wchar_t*
132   __cdecl
133   _wgetdcwd_nolock(
134     _In_ int _Drive,
135     _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf,
136     _In_ int _SizeInWords);
137 
138   _Check_return_
139   _CRTIMP
140   int
141   __cdecl
142   _wchdir(
143     _In_z_ const wchar_t *_Path);
144 
145   _Check_return_
146   _CRTIMP
147   int
148   __cdecl
149   _wmkdir(
150     _In_z_ const wchar_t *_Path);
151 
152   _Check_return_
153   _CRTIMP
154   int
155   __cdecl
156   _wrmdir(
157     _In_z_ const wchar_t *_Path);
158 
159 #endif /* _WDIRECT_DEFINED */
160 
161 #ifndef NO_OLDNAMES
162 
163 #define diskfree_t _diskfree_t
164 
165   _Check_return_
166   _Ret_opt_z_
167   _CRTIMP
168   char*
169   __cdecl
170   getcwd(
171     _Out_writes_opt_(_SizeInBytes) char *_DstBuf,
172     _In_ int _SizeInBytes);
173 
174   _Check_return_
175   _CRTIMP
176   int
177   __cdecl
178   chdir(
179     _In_z_ const char *_Path);
180 
181   _Check_return_
182   _CRTIMP
183   int
184   __cdecl
185   mkdir(
186     _In_z_ const char *_Path);
187 
188   _Check_return_
189   _CRTIMP
190   int
191   __cdecl
192   rmdir(
193     _In_z_ const char *_Path);
194 
195 #endif /* NO_OLDNAMES */
196 
197 #ifdef __cplusplus
198 }
199 #endif
200 
201 #pragma pack(pop)
202 #endif
203