/* * Path and directory definitions * * Derived from the mingw header written by Colin Peters. * Modified for Wine use by Jon Griffiths and Francois Gouget. * This file is in the public domain. */ #ifndef __WINE_DIRECT_H #define __WINE_DIRECT_H #ifndef __WINE_USE_MSVCRT #define __WINE_USE_MSVCRT #endif #ifndef MSVCRT # ifdef USE_MSVCRT_PREFIX # define MSVCRT(x) MSVCRT_##x # else # define MSVCRT(x) x # endif #endif #ifdef __cplusplus extern "C" { #endif #ifndef MSVCRT_WCHAR_T_DEFINED #define MSVCRT_WCHAR_T_DEFINED #ifndef __cplusplus typedef unsigned short MSVCRT(wchar_t); #endif #endif #ifndef MSVCRT_SIZE_T_DEFINED typedef unsigned int MSVCRT(size_t); #define MSVCRT_SIZE_T_DEFINED #endif #ifndef MSVCRT_DISKFREE_T_DEFINED #define MSVCRT_DISKFREE_T_DEFINED struct MSVCRT(_diskfree_t) { unsigned int total_clusters; unsigned int avail_clusters; unsigned int sectors_per_cluster; unsigned int bytes_per_sector; }; #endif /* MSVCRT_DISKFREE_T_DEFINED */ int _chdir(const char*); int _chdrive(int); char* _getcwd(char*,int); char* _getdcwd(int,char*,int); int _getdrive(void); unsigned long _getdrives(void); int _mkdir(const char*); int _rmdir(const char*); #ifndef MSVCRT_WDIRECT_DEFINED #define MSVCRT_WDIRECT_DEFINED int _wchdir(const MSVCRT(wchar_t)*); MSVCRT(wchar_t)* _wgetcwd(MSVCRT(wchar_t)*,int); MSVCRT(wchar_t)* _wgetdcwd(int,MSVCRT(wchar_t)*,int); int _wmkdir(const MSVCRT(wchar_t)*); int _wrmdir(const MSVCRT(wchar_t)*); #endif /* MSVCRT_WDIRECT_DEFINED */ #ifdef __cplusplus } #endif #ifndef USE_MSVCRT_PREFIX static inline int chdir(const char* newdir) { return _chdir(newdir); } static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); } static inline int mkdir(const char* newdir) { return _mkdir(newdir); } static inline int rmdir(const char* dir) { return _rmdir(dir); } #endif /* USE_MSVCRT_PREFIX */ #endif /* __WINE_DIRECT_H */