|
|
1.1 root 1: /***
2: *dos.h - definitions for MS-DOS interface routines
3: *
1.1.1.4 ! root 4: * Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved.
1.1 root 5: *
6: *Purpose:
7: * Defines the structs and unions used for the direct DOS interface
8: * routines; includes macros to access the segment and offset
9: * values of far pointers, so that they may be used by the routines; and
10: * provides function prototypes for direct DOS interface functions.
11: *
12: ****/
13:
14: #ifndef _INC_DOS
15:
16: #ifdef __cplusplus
17: extern "C" {
18: #endif
19:
20:
1.1.1.3 root 21: /*
22: * Conditional macro definition for function calling type and variable type
23: * qualifiers.
24: */
25: #if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
26:
27: /*
28: * Definitions for MS C8-32 (386/486) compiler
29: */
30: #define _CRTAPI1 __cdecl
31: #define _CRTAPI2 __cdecl
32:
33: #else
34:
35: /*
36: * Other compilers (e.g., MIPS)
37: */
38: #define _CRTAPI1
39: #define _CRTAPI2
40:
1.1.1.2 root 41: #endif
1.1 root 42:
43:
44:
1.1.1.3 root 45:
1.1 root 46: /* _getdiskfree structure (duplicated in DIRECT.H) */
47:
48: #ifndef _DISKFREE_T_DEFINED
49:
50: struct _diskfree_t {
51: unsigned total_clusters;
52: unsigned avail_clusters;
53: unsigned sectors_per_cluster;
54: unsigned bytes_per_sector;
55: };
56:
57: #define _DISKFREE_T_DEFINED
58:
59: #endif
60:
61:
62:
63: /* File attribute constants */
64:
65: #define _A_NORMAL 0x00 /* Normal file - No read/write restrictions */
66: #define _A_RDONLY 0x01 /* Read only file */
67: #define _A_HIDDEN 0x02 /* Hidden file */
68: #define _A_SYSTEM 0x04 /* System file */
69: #define _A_SUBDIR 0x10 /* Subdirectory */
70: #define _A_ARCH 0x20 /* Archive file */
71:
72: /* external variable declarations */
73:
1.1.1.2 root 74: #if defined(_WIN32_) || defined(_POSIX_)
75:
76: #ifdef _DLL
77:
78: #define _osversion (*_osversion_dll)
79: #define _osmajor (*_osmajor_dll)
80: #define _osminor (*_osminor_dll)
81: #define _baseversion (*_baseversion_dll)
82: #define _basemajor (*_basemajor_dll)
83: #define _baseminor (*_baseminor_dll)
84: #define _pgmptr (*_pgmptr_dll)
85:
86: extern unsigned int * _osversion_dll;
87: extern unsigned int * _osmajor_dll;
88: extern unsigned int * _osminor_dll;
89: extern unsigned int * _baseversion_dll;
90: extern unsigned int * _basemajor_dll;
91: extern unsigned int * _baseminor_dll;
92: extern char ** _pgmptr_dll;
1.1 root 93:
1.1.1.2 root 94: #else
95:
96:
97: extern unsigned int _osversion;
1.1 root 98: extern unsigned int _osmajor;
99: extern unsigned int _osminor;
100: extern unsigned int _baseversion;
101: extern unsigned int _basemajor;
102: extern unsigned int _baseminor;
1.1.1.2 root 103: extern char * _pgmptr;
104:
105: #endif
106:
107: #else /* ndef (_WIN32_ || _POSIX_) */
108:
109: extern unsigned int _osversion;
110:
111: #endif /* _WIN32_ */
112:
1.1 root 113:
114: /* function prototypes */
115:
1.1.1.3 root 116: unsigned _CRTAPI1 _getdiskfree(unsigned, struct _diskfree_t *);
1.1 root 117:
118: #if !__STDC__
119: /* Non-ANSI name for compatibility */
120: #define diskfree_t _diskfree_t
121: #endif /* __STDC__ */
122:
123: /* restore default alignment */
124:
125:
126: #ifdef __cplusplus
127: }
128: #endif
129:
130: #define _INC_DOS
131: #endif /* _INC_DOS */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.