msvcrt: Pack the structures on a 8-byte boundary like in PSDK.
[wine/wine-kai.git] / include / msvcrt / direct.h
blobf0fce974a176a6b4bbf515a818359e7b12404094
1 /*
2 * Path and directory definitions
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
14 #include <pshpack8.h>
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
20 #ifndef _WCHAR_T_DEFINED
21 #define _WCHAR_T_DEFINED
22 #ifndef __cplusplus
23 typedef unsigned short wchar_t;
24 #endif
25 #endif
27 #if !defined(_MSC_VER) && !defined(__int64)
28 #define __int64 long long
29 #endif
31 #if defined(__x86_64__) && !defined(_WIN64)
32 #define _WIN64
33 #endif
35 #ifndef _SIZE_T_DEFINED
36 #ifdef _WIN64
37 typedef unsigned __int64 size_t;
38 #else
39 typedef unsigned int size_t;
40 #endif
41 #define _SIZE_T_DEFINED
42 #endif
44 #ifndef _DISKFREE_T_DEFINED
45 #define _DISKFREE_T_DEFINED
46 struct _diskfree_t {
47 unsigned int total_clusters;
48 unsigned int avail_clusters;
49 unsigned int sectors_per_cluster;
50 unsigned int bytes_per_sector;
52 #endif /* _DISKFREE_T_DEFINED */
54 int _chdir(const char*);
55 int _chdrive(int);
56 char* _getcwd(char*,int);
57 char* _getdcwd(int,char*,int);
58 int _getdrive(void);
59 unsigned long _getdrives(void);
60 int _mkdir(const char*);
61 int _rmdir(const char*);
63 #ifndef _WDIRECT_DEFINED
64 #define _WDIRECT_DEFINED
65 int _wchdir(const wchar_t*);
66 wchar_t* _wgetcwd(wchar_t*,int);
67 wchar_t* _wgetdcwd(int,wchar_t*,int);
68 int _wmkdir(const wchar_t*);
69 int _wrmdir(const wchar_t*);
70 #endif /* _WDIRECT_DEFINED */
72 #ifdef __cplusplus
74 #endif
77 static inline int chdir(const char* newdir) { return _chdir(newdir); }
78 static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); }
79 static inline int mkdir(const char* newdir) { return _mkdir(newdir); }
80 static inline int rmdir(const char* dir) { return _rmdir(dir); }
82 #include <poppack.h>
84 #endif /* __WINE_DIRECT_H */