2000-02-18 03:38:33 +08:00
|
|
|
/*
|
|
|
|
* dos.h
|
|
|
|
*
|
|
|
|
* DOS-specific functions and structures.
|
|
|
|
*
|
|
|
|
* This file is part of the Mingw32 package.
|
|
|
|
*
|
|
|
|
* Contributors:
|
|
|
|
* Created by J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
|
|
*
|
|
|
|
* This source code is offered for use in the public domain. You may
|
|
|
|
* use, modify or distribute it freely.
|
|
|
|
*
|
|
|
|
* This code is distributed in the hope that it will be useful but
|
|
|
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
2001-12-05 23:01:06 +08:00
|
|
|
* DISCLAIMED. This includes but is not limited to warranties of
|
2000-02-18 03:38:33 +08:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
*
|
|
|
|
* $Revision$
|
|
|
|
* $Author$
|
|
|
|
* $Date$
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __STRICT_ANSI__
|
|
|
|
|
|
|
|
#ifndef _DOS_H_
|
|
|
|
#define _DOS_H_
|
|
|
|
|
|
|
|
/* All the headers include this file. */
|
|
|
|
#include <_mingw.h>
|
|
|
|
|
|
|
|
#define __need_wchar_t
|
|
|
|
#ifndef RC_INVOKED
|
|
|
|
#include <stddef.h>
|
|
|
|
#endif /* Not RC_INVOKED */
|
|
|
|
|
|
|
|
/* For DOS file attributes */
|
|
|
|
#include <io.h>
|
|
|
|
|
|
|
|
#ifndef RC_INVOKED
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2001-01-29 00:40:19 +08:00
|
|
|
#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */
|
2000-02-18 03:38:33 +08:00
|
|
|
#ifndef __DECLSPEC_SUPPORTED
|
2002-06-13 18:20:48 +08:00
|
|
|
extern unsigned int *_imp___basemajor_dll;
|
|
|
|
extern unsigned int *_imp___baseminor_dll;
|
|
|
|
extern unsigned int *_imp___baseversion_dll;
|
|
|
|
extern unsigned int *_imp___osmajor_dll;
|
|
|
|
extern unsigned int *_imp___osminor_dll;
|
|
|
|
extern unsigned int *_imp___osmode_dll;
|
2000-02-18 03:38:33 +08:00
|
|
|
|
2002-06-13 18:20:48 +08:00
|
|
|
#define _basemajor (*_imp___basemajor_dll)
|
|
|
|
#define _baseminor (*_imp___baseminor_dll)
|
|
|
|
#define _baseversion (*_imp___baseversion_dll)
|
|
|
|
#define _osmajor (*_imp___osmajor_dll)
|
|
|
|
#define _osminor (*_imp___osminor_dll)
|
|
|
|
#define _osmode (*_imp___osmode_dll)
|
2000-02-18 03:38:33 +08:00
|
|
|
|
|
|
|
#else /* __DECLSPEC_SUPPORTED */
|
|
|
|
|
|
|
|
__MINGW_IMPORT unsigned int _basemajor_dll;
|
|
|
|
__MINGW_IMPORT unsigned int _baseminor_dll;
|
|
|
|
__MINGW_IMPORT unsigned int _baseversion_dll;
|
|
|
|
__MINGW_IMPORT unsigned int _osmajor_dll;
|
|
|
|
__MINGW_IMPORT unsigned int _osminor_dll;
|
|
|
|
__MINGW_IMPORT unsigned int _osmode_dll;
|
|
|
|
|
|
|
|
#define _basemajor _basemajor_dll
|
|
|
|
#define _baseminor _baseminor_dll
|
|
|
|
#define _baseversion _baseversion_dll
|
|
|
|
#define _osmajor _osmajor_dll
|
|
|
|
#define _osminor _osminor_dll
|
|
|
|
#define _osmode _osmode_dll
|
|
|
|
|
|
|
|
#endif /* __DECLSPEC_SUPPORTED */
|
2001-01-29 00:40:19 +08:00
|
|
|
#endif /* ! __MSVCRT__ */
|
2000-02-18 03:38:33 +08:00
|
|
|
|
|
|
|
#ifndef _DISKFREE_T_DEFINED
|
|
|
|
/* needed by _getdiskfree (also in direct.h) */
|
|
|
|
struct _diskfree_t {
|
|
|
|
unsigned total_clusters;
|
|
|
|
unsigned avail_clusters;
|
|
|
|
unsigned sectors_per_cluster;
|
|
|
|
unsigned bytes_per_sector;
|
|
|
|
};
|
|
|
|
#define _DISKFREE_T_DEFINED
|
|
|
|
#endif
|
|
|
|
|
|
|
|
unsigned _getdiskfree (unsigned, struct _diskfree_t *);
|
|
|
|
|
|
|
|
#ifndef _NO_OLDNAMES
|
|
|
|
# define diskfree_t _diskfree_t
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* Not RC_INVOKED */
|
|
|
|
|
|
|
|
#endif /* Not _DOS_H_ */
|
|
|
|
|
|
|
|
#endif /* Not __STRICT_ANSI__ */
|
|
|
|
|