source: trunk/include/win/minivcrt.h@ 21454

Last change on this file since 21454 was 21439, checked in by dmik, 15 years ago

minivcrt: Provide a _fullpath() reimplementation that returns char * (as required by MSVCRT specs) instead of int returned by the EMX version, when building under EMX.

File size: 2.8 KB
Line 
1/*
2 * Header file for the stripped down version of MSVCRT that only
3 * contains functions specific to the MS VC Runtime.
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 */
8
9#ifndef _minivcrt_h_
10#define _minivcrt_h_
11
12#include <winnt.h>
13
14#include <time.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#define MSVCRT(x) x
21
22#define FILENAME_MAX 260
23
24typedef unsigned long _fsize_t;
25
26struct _wfinddata_t {
27 unsigned attrib;
28 MSVCRT(time_t) time_create;
29 MSVCRT(time_t) time_access;
30 MSVCRT(time_t) time_write;
31 _fsize_t size;
32 WCHAR name[MSVCRT(FILENAME_MAX)];
33};
34
35int _wchdir(const WCHAR*);
36WCHAR* _wgetcwd(WCHAR*,int);
37WCHAR* _wgetdcwd(int,WCHAR*,int);
38int _wmkdir(const WCHAR*);
39int _wrmdir(const WCHAR*);
40
41WCHAR* _itow(int,WCHAR*,int); /* NTDLL */
42WCHAR* _i64tow(__int64,WCHAR*,int); /* NTDLL */
43WCHAR* _ltow(long,WCHAR*,int); /* NTDLL */
44WCHAR* _ui64tow(unsigned __int64,WCHAR*,int); /* NTDLL */
45WCHAR* _ultow(unsigned long,WCHAR*,int); /* NTDLL */
46
47WCHAR* _wfullpath(WCHAR*,const WCHAR*,MSVCRT(size_t));
48WCHAR* _wgetenv(const WCHAR*);
49void _wmakepath(WCHAR*,const WCHAR*,const WCHAR*,const WCHAR*,const WCHAR*);
50void _wperror(const WCHAR*); /* NTDLL */
51int _wputenv(const WCHAR*);
52void _wsearchenv(const WCHAR*,const WCHAR*,WCHAR*); /* NTDLL */
53void _wsplitpath(const WCHAR*,WCHAR*,WCHAR*,WCHAR*,WCHAR*);
54
55int _wsystem(const WCHAR*);
56int _wtoi(const WCHAR*); /* NTDLL */
57__int64 _wtoi64(const WCHAR*); /* NTDLL */
58long _wtol(const WCHAR*); /* NTDLL */
59
60#define _wcsicmp NTDLL__wcsicmp
61#define _wcslwr NTDLL__wcslwr
62#define _wcsnicmp NTDLL__wcsnicmp
63#define _wcsupr NTDLL__wcsupr
64
65WCHAR* _wcsdup(const WCHAR*);
66int _wcsicmp(const WCHAR*,const WCHAR*);
67int _wcsicoll(const WCHAR*,const WCHAR*);
68WCHAR* _wcslwr(WCHAR*);
69int _wcsnicmp(const WCHAR*,const WCHAR*,MSVCRT(size_t));
70WCHAR* _wcsnset(WCHAR*,WCHAR,MSVCRT(size_t));
71WCHAR* _wcsrev(WCHAR*);
72WCHAR* _wcsset(WCHAR*,WCHAR);
73WCHAR* _wcsupr(WCHAR*);
74
75int _waccess(const WCHAR*,int);
76int _wchmod(const WCHAR*,int);
77int _wcreat(const WCHAR*,int);
78long _wfindfirst(const WCHAR*,struct _wfinddata_t*);
79int _wfindnext(long,struct _wfinddata_t*);
80WCHAR* _wmktemp(WCHAR*);
81int _wrename(const WCHAR*,const WCHAR*);
82int _wunlink(const WCHAR*);
83
84#define _stat stat
85struct _stat;
86int _wstat(const WCHAR*,struct _stat*);
87
88int _wremove(const WCHAR*);
89WCHAR* _wtempnam(const WCHAR*,const WCHAR*);
90
91char *MSVCRT__fullpath(char * absPath, const char* relPath, unsigned int size);
92#undef _fullpath
93#define _fullpath MSVCRT__fullpath
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif /* _minivcrt_h_ */
Note: See TracBrowser for help on using the repository browser.