- Cleanup the /lib directory, by putting more 3rd-party libs in /3rdparty, and by...
[reactos.git] / reactos / lib / 3rdparty / mingw / include / dos.h
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 _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_ */