tcc_preprocess: add gcc-style include-depth flags
[tinycc/k1w1.git] / win32 / include / dos.h
blob2cb380fba52aebac32ff1d72e86468f3779046fb
1 /*
2 * dos.h
4 * DOS-specific functions and structures.
6 * This file is part of the Mingw32 package.
8 * Contributors:
9 * Created by J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
11 * THIS SOFTWARE IS NOT COPYRIGHTED
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 * $Revision: 1.2 $
22 * $Author: bellard $
23 * $Date: 2005/04/17 13:14:29 $
27 #ifndef __STRICT_ANSI__
29 #ifndef _DOS_H_
30 #define _DOS_H_
32 /* All the headers include this file. */
33 #include <_mingw.h>
35 #define __need_wchar_t
36 #ifndef RC_INVOKED
37 #include <stddef.h>
38 #endif /* Not RC_INVOKED */
40 /* For DOS file attributes */
41 #include <io.h>
43 #ifndef RC_INVOKED
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
49 #ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */
50 #ifndef __DECLSPEC_SUPPORTED
51 extern unsigned int *__imp__basemajor_dll;
52 extern unsigned int *__imp__baseminor_dll;
53 extern unsigned int *__imp__baseversion_dll;
54 extern unsigned int *__imp__osmajor_dll;
55 extern unsigned int *__imp__osminor_dll;
56 extern unsigned int *__imp__osmode_dll;
58 #define _basemajor (*__imp__basemajor_dll)
59 #define _baseminor (*__imp__baseminor_dll)
60 #define _baseversion (*__imp__baseversion_dll)
61 #define _osmajor (*__imp__osmajor_dll)
62 #define _osminor (*__imp__osminor_dll)
63 #define _osmode (*__imp__osmode_dll)
65 #else /* __DECLSPEC_SUPPORTED */
67 __MINGW_IMPORT unsigned int _basemajor_dll;
68 __MINGW_IMPORT unsigned int _baseminor_dll;
69 __MINGW_IMPORT unsigned int _baseversion_dll;
70 __MINGW_IMPORT unsigned int _osmajor_dll;
71 __MINGW_IMPORT unsigned int _osminor_dll;
72 __MINGW_IMPORT unsigned int _osmode_dll;
74 #define _basemajor _basemajor_dll
75 #define _baseminor _baseminor_dll
76 #define _baseversion _baseversion_dll
77 #define _osmajor _osmajor_dll
78 #define _osminor _osminor_dll
79 #define _osmode _osmode_dll
81 #endif /* __DECLSPEC_SUPPORTED */
82 #endif /* ! __MSVCRT__ */
84 #ifndef _DISKFREE_T_DEFINED
85 /* needed by _getdiskfree (also in direct.h) */
86 struct _diskfree_t {
87 unsigned total_clusters;
88 unsigned avail_clusters;
89 unsigned sectors_per_cluster;
90 unsigned bytes_per_sector;
92 #define _DISKFREE_T_DEFINED
93 #endif
95 unsigned _getdiskfree (unsigned, struct _diskfree_t *);
97 #ifndef _NO_OLDNAMES
98 # define diskfree_t _diskfree_t
99 #endif
101 #ifdef __cplusplus
103 #endif
105 #endif /* Not RC_INVOKED */
107 #endif /* Not _DOS_H_ */
109 #endif /* Not __STRICT_ANSI__ */