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.
8 #ifndef __WINE_DIRECT_H
9 #define __WINE_DIRECT_H
10 #ifndef __WINE_USE_MSVCRT
11 #define __WINE_USE_MSVCRT
15 # ifdef USE_MSVCRT_PREFIX
16 # define MSVCRT(x) MSVCRT_##x
26 #ifndef MSVCRT_WCHAR_T_DEFINED
27 #define MSVCRT_WCHAR_T_DEFINED
29 typedef unsigned short MSVCRT(wchar_t);
33 #ifndef MSVCRT_SIZE_T_DEFINED
34 typedef unsigned int MSVCRT(size_t);
35 #define MSVCRT_SIZE_T_DEFINED
38 #ifndef MSVCRT_DISKFREE_T_DEFINED
39 #define MSVCRT_DISKFREE_T_DEFINED
41 unsigned int total_clusters;
42 unsigned int avail_clusters;
43 unsigned int sectors_per_cluster;
44 unsigned int bytes_per_sector;
46 #endif /* MSVCRT_DISKFREE_T_DEFINED */
48 int _chdir(const char*);
50 char* _getcwd(char*,int);
51 char* _getdcwd(int,char*,int);
53 unsigned long _getdrives(void);
54 int _mkdir(const char*);
55 int _rmdir(const char*);
57 #ifndef MSVCRT_WDIRECT_DEFINED
58 #define MSVCRT_WDIRECT_DEFINED
59 int _wchdir(const MSVCRT(wchar_t)*);
60 MSVCRT(wchar_t)* _wgetcwd(MSVCRT(wchar_t)*,int);
61 MSVCRT(wchar_t)* _wgetdcwd(int,MSVCRT(wchar_t)*,int);
62 int _wmkdir(const MSVCRT(wchar_t)*);
63 int _wrmdir(const MSVCRT(wchar_t)*);
64 #endif /* MSVCRT_WDIRECT_DEFINED */
71 #ifndef USE_MSVCRT_PREFIX
72 static inline int chdir(const char* newdir) { return _chdir(newdir); }
73 static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); }
74 static inline int mkdir(const char* newdir) { return _mkdir(newdir); }
75 static inline int rmdir(const char* dir) { return _rmdir(dir); }
76 #endif /* USE_MSVCRT_PREFIX */
78 #endif /* __WINE_DIRECT_H */