diff options
Diffstat (limited to 'private/crtlib/include/dos.h')
-rw-r--r-- | private/crtlib/include/dos.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/private/crtlib/include/dos.h b/private/crtlib/include/dos.h new file mode 100644 index 000000000..2f70f3e33 --- /dev/null +++ b/private/crtlib/include/dos.h @@ -0,0 +1,131 @@ +/*** +*dos.h - definitions for MS-DOS interface routines +* +* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Defines the structs and unions used for the direct DOS interface +* routines; includes macros to access the segment and offset +* values of far pointers, so that they may be used by the routines; and +* provides function prototypes for direct DOS interface functions. +* +****/ + +#ifndef _INC_DOS + +#ifdef __cplusplus +extern "C" { +#endif + + +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + +#endif + + + + +/* _getdiskfree structure (duplicated in DIRECT.H) */ + +#ifndef _DISKFREE_T_DEFINED + +struct _diskfree_t { + unsigned total_clusters; + unsigned avail_clusters; + unsigned sectors_per_cluster; + unsigned bytes_per_sector; + }; + +#define _DISKFREE_T_DEFINED + +#endif + + + +/* File attribute constants */ + +#define _A_NORMAL 0x00 /* Normal file - No read/write restrictions */ +#define _A_RDONLY 0x01 /* Read only file */ +#define _A_HIDDEN 0x02 /* Hidden file */ +#define _A_SYSTEM 0x04 /* System file */ +#define _A_SUBDIR 0x10 /* Subdirectory */ +#define _A_ARCH 0x20 /* Archive file */ + +/* external variable declarations */ + +#if defined(_WIN32_) || defined(_POSIX_) + +#ifdef _DLL + +#define _osversion (*_osversion_dll) +#define _osmajor (*_osmajor_dll) +#define _osminor (*_osminor_dll) +#define _baseversion (*_baseversion_dll) +#define _basemajor (*_basemajor_dll) +#define _baseminor (*_baseminor_dll) +#define _pgmptr (*_pgmptr_dll) + +extern unsigned int * _osversion_dll; +extern unsigned int * _osmajor_dll; +extern unsigned int * _osminor_dll; +extern unsigned int * _baseversion_dll; +extern unsigned int * _basemajor_dll; +extern unsigned int * _baseminor_dll; +extern char ** _pgmptr_dll; + +#else + + +extern unsigned int _osversion; +extern unsigned int _osmajor; +extern unsigned int _osminor; +extern unsigned int _baseversion; +extern unsigned int _basemajor; +extern unsigned int _baseminor; +extern char * _pgmptr; + +#endif + +#else /* ndef (_WIN32_ || _POSIX_) */ + +extern unsigned int _osversion; + +#endif /* _WIN32_ */ + + +/* function prototypes */ + +unsigned _CRTAPI1 _getdiskfree(unsigned, struct _diskfree_t *); + +#if !__STDC__ +/* Non-ANSI name for compatibility */ +#define diskfree_t _diskfree_t +#endif /* __STDC__ */ + +/* restore default alignment */ + + +#ifdef __cplusplus +} +#endif + +#define _INC_DOS +#endif /* _INC_DOS */ |