msvcmaker: Fix msvc project file generation under MinGW32.
[wine] / include / msvcrt / direct.h
1 /*
2  * Path and directory definitions
3  *
4  * Derived from the mingw header written by Colin Peters.
5  * Modified for Wine use by Jon Griffiths and Francois Gouget.
6  * This file is in the public domain.
7  */
8 #ifndef __WINE_DIRECT_H
9 #define __WINE_DIRECT_H
10 #ifndef __WINE_USE_MSVCRT
11 #define __WINE_USE_MSVCRT
12 #endif
13
14 #include <pshpack8.h>
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 #ifndef _WCHAR_T_DEFINED
21 #define _WCHAR_T_DEFINED
22 #ifndef __cplusplus
23 typedef unsigned short wchar_t;
24 #endif
25 #endif
26
27 #if defined(__x86_64__) && !defined(_WIN64)
28 #define _WIN64
29 #endif
30
31 #if !defined(_MSC_VER) && !defined(__int64)
32 # ifdef _WIN64
33 #   define __int64 long
34 # else
35 #   define __int64 long long
36 # endif
37 #endif
38
39 #ifndef _SIZE_T_DEFINED
40 #ifdef _WIN64
41 typedef unsigned __int64 size_t;
42 #else
43 typedef unsigned int size_t;
44 #endif
45 #define _SIZE_T_DEFINED
46 #endif
47
48 #ifndef _DISKFREE_T_DEFINED
49 #define _DISKFREE_T_DEFINED
50 struct _diskfree_t {
51   unsigned int total_clusters;
52   unsigned int avail_clusters;
53   unsigned int sectors_per_cluster;
54   unsigned int bytes_per_sector;
55 };
56 #endif /* _DISKFREE_T_DEFINED */
57
58 int         _chdir(const char*);
59 int         _chdrive(int);
60 char*       _getcwd(char*,int);
61 char*       _getdcwd(int,char*,int);
62 int         _getdrive(void);
63 unsigned long _getdrives(void);
64 int         _mkdir(const char*);
65 int         _rmdir(const char*);
66
67 #ifndef _WDIRECT_DEFINED
68 #define _WDIRECT_DEFINED
69 int              _wchdir(const wchar_t*);
70 wchar_t* _wgetcwd(wchar_t*,int);
71 wchar_t* _wgetdcwd(int,wchar_t*,int);
72 int              _wmkdir(const wchar_t*);
73 int              _wrmdir(const wchar_t*);
74 #endif /* _WDIRECT_DEFINED */
75
76 #ifdef __cplusplus
77 }
78 #endif
79
80
81 static inline int chdir(const char* newdir) { return _chdir(newdir); }
82 static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); }
83 static inline int mkdir(const char* newdir) { return _mkdir(newdir); }
84 static inline int rmdir(const char* dir) { return _rmdir(dir); }
85
86 #include <poppack.h>
87
88 #endif /* __WINE_DIRECT_H */