Sync with trunk head (part 1 of x)
[reactos.git] / include / crt / direct.h
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 _CRTIMP char *__cdecl _getcwd(char *_DstBuf,int _SizeInBytes);
29 _CRTIMP char *__cdecl _getdcwd(int _Drive,char *_DstBuf,int _SizeInBytes);
30 char *__cdecl _getdcwd_nolock(int _Drive,char *_DstBuf,int _SizeInBytes);
31 _CRTIMP int __cdecl _chdir(const char *_Path);
32 _CRTIMP int __cdecl _mkdir(const char *_Path);
33 _CRTIMP int __cdecl _rmdir(const char *_Path);
34 _CRTIMP int __cdecl _chdrive(int _Drive);
35 _CRTIMP int __cdecl _getdrive(void);
36 _CRTIMP unsigned long __cdecl _getdrives(void);
37
38 #ifndef _GETDISKFREE_DEFINED
39 #define _GETDISKFREE_DEFINED
40 _CRTIMP unsigned __cdecl _getdiskfree(unsigned _Drive,struct _diskfree_t *_DiskFree);
41 #endif
42
43 #ifndef _WDIRECT_DEFINED
44 #define _WDIRECT_DEFINED
45 _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords);
46 _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
47 wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
48 _CRTIMP int __cdecl _wchdir(const wchar_t *_Path);
49 _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path);
50 _CRTIMP int __cdecl _wrmdir(const wchar_t *_Path);
51 #endif
52
53 #ifndef NO_OLDNAMES
54
55 #define diskfree_t _diskfree_t
56
57 _CRTIMP char *__cdecl getcwd(char *_DstBuf,int _SizeInBytes);
58 _CRTIMP int __cdecl chdir(const char *_Path);
59 _CRTIMP int __cdecl mkdir(const char *_Path);
60 _CRTIMP int __cdecl rmdir(const char *_Path);
61 #endif
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 #pragma pack(pop)
68 #endif