msvcrt: Added declarations for functions and structures related to stat64.
[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 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #ifndef _WCHAR_T_DEFINED
19 #define _WCHAR_T_DEFINED
20 #ifndef __cplusplus
21 typedef unsigned short wchar_t;
22 #endif
23 #endif
24
25 #if !defined(_MSC_VER) && !defined(__int64)
26 #define __int64 long long
27 #endif
28
29 #if defined(__x86_64__) && !defined(_WIN64)
30 #define _WIN64
31 #endif
32
33 #ifndef _SIZE_T_DEFINED
34 #ifdef _WIN64
35 typedef unsigned __int64 size_t;
36 #else
37 typedef unsigned int size_t;
38 #endif
39 #define _SIZE_T_DEFINED
40 #endif
41
42 #ifndef _DISKFREE_T_DEFINED
43 #define _DISKFREE_T_DEFINED
44 struct _diskfree_t {
45   unsigned int total_clusters;
46   unsigned int avail_clusters;
47   unsigned int sectors_per_cluster;
48   unsigned int bytes_per_sector;
49 };
50 #endif /* _DISKFREE_T_DEFINED */
51
52 int         _chdir(const char*);
53 int         _chdrive(int);
54 char*       _getcwd(char*,int);
55 char*       _getdcwd(int,char*,int);
56 int         _getdrive(void);
57 unsigned long _getdrives(void);
58 int         _mkdir(const char*);
59 int         _rmdir(const char*);
60
61 #ifndef _WDIRECT_DEFINED
62 #define _WDIRECT_DEFINED
63 int              _wchdir(const wchar_t*);
64 wchar_t* _wgetcwd(wchar_t*,int);
65 wchar_t* _wgetdcwd(int,wchar_t*,int);
66 int              _wmkdir(const wchar_t*);
67 int              _wrmdir(const wchar_t*);
68 #endif /* _WDIRECT_DEFINED */
69
70 #ifdef __cplusplus
71 }
72 #endif
73
74
75 static inline int chdir(const char* newdir) { return _chdir(newdir); }
76 static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); }
77 static inline int mkdir(const char* newdir) { return _mkdir(newdir); }
78 static inline int rmdir(const char* dir) { return _rmdir(dir); }
79
80 #endif /* __WINE_DIRECT_H */