|
1 /* |
|
2 * dos.h |
|
3 * This file has no copyright assigned and is placed in the Public Domain. |
|
4 * This file is a part of the mingw-runtime package. |
|
5 * No warranty is given; refer to the file DISCLAIMER within the package. |
|
6 * |
|
7 * DOS-specific functions and structures. |
|
8 * |
|
9 */ |
|
10 |
|
11 #ifndef _DOS_H_ |
|
12 #define _DOS_H_ |
|
13 |
|
14 /* All the headers include this file. */ |
|
15 #include <_mingw.h> |
|
16 |
|
17 #define __need_wchar_t |
|
18 #ifndef RC_INVOKED |
|
19 #include <stddef.h> |
|
20 #endif /* Not RC_INVOKED */ |
|
21 |
|
22 /* For DOS file attributes */ |
|
23 #include <io.h> |
|
24 |
|
25 #ifndef RC_INVOKED |
|
26 |
|
27 #ifdef __cplusplus |
|
28 extern "C" { |
|
29 #endif |
|
30 |
|
31 #ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */ |
|
32 #ifndef __DECLSPEC_SUPPORTED |
|
33 extern unsigned int *_imp___basemajor_dll; |
|
34 extern unsigned int *_imp___baseminor_dll; |
|
35 extern unsigned int *_imp___baseversion_dll; |
|
36 extern unsigned int *_imp___osmajor_dll; |
|
37 extern unsigned int *_imp___osminor_dll; |
|
38 extern unsigned int *_imp___osmode_dll; |
|
39 |
|
40 #define _basemajor (*_imp___basemajor_dll) |
|
41 #define _baseminor (*_imp___baseminor_dll) |
|
42 #define _baseversion (*_imp___baseversion_dll) |
|
43 #define _osmajor (*_imp___osmajor_dll) |
|
44 #define _osminor (*_imp___osminor_dll) |
|
45 #define _osmode (*_imp___osmode_dll) |
|
46 |
|
47 #else /* __DECLSPEC_SUPPORTED */ |
|
48 |
|
49 __MINGW_IMPORT unsigned int _basemajor_dll; |
|
50 __MINGW_IMPORT unsigned int _baseminor_dll; |
|
51 __MINGW_IMPORT unsigned int _baseversion_dll; |
|
52 __MINGW_IMPORT unsigned int _osmajor_dll; |
|
53 __MINGW_IMPORT unsigned int _osminor_dll; |
|
54 __MINGW_IMPORT unsigned int _osmode_dll; |
|
55 |
|
56 #define _basemajor _basemajor_dll |
|
57 #define _baseminor _baseminor_dll |
|
58 #define _baseversion _baseversion_dll |
|
59 #define _osmajor _osmajor_dll |
|
60 #define _osminor _osminor_dll |
|
61 #define _osmode _osmode_dll |
|
62 |
|
63 #endif /* __DECLSPEC_SUPPORTED */ |
|
64 #endif /* ! __MSVCRT__ */ |
|
65 |
|
66 #ifndef _DISKFREE_T_DEFINED |
|
67 /* needed by _getdiskfree (also in direct.h) */ |
|
68 struct _diskfree_t { |
|
69 unsigned total_clusters; |
|
70 unsigned avail_clusters; |
|
71 unsigned sectors_per_cluster; |
|
72 unsigned bytes_per_sector; |
|
73 }; |
|
74 #define _DISKFREE_T_DEFINED |
|
75 #endif |
|
76 |
|
77 _CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *); |
|
78 |
|
79 #ifndef _NO_OLDNAMES |
|
80 # define diskfree_t _diskfree_t |
|
81 #endif |
|
82 |
|
83 #ifdef __cplusplus |
|
84 } |
|
85 #endif |
|
86 |
|
87 #endif /* Not RC_INVOKED */ |
|
88 |
|
89 #endif /* Not _DOS_H_ */ |