wine/include/msvcrt/direct.h
Alexandre Julliard 3f5ff2fba2 Avoid including other headers from the msvcrt headers, duplicate some
definitions instead like Windows does.
Always define wchar_t (suggested by Dimitrie O. Paun), and use wchar_t
everywhere instead of WCHAR to avoid depending on Windows headers.
2002-12-18 20:17:20 +00:00

77 lines
1.7 KiB
C

/*
* 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
#define __WINE_USE_MSVCRT
#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 _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
#define chdir _chdir
#define getcwd _getcwd
#define mkdir _mkdir
#define rmdir _rmdir
#endif /* USE_MSVCRT_PREFIX */
#endif /* __WINE_DIRECT_H */