windows-nt/Source/XPSP1/NT/base/crts/crtw32/h/oscalls.h

133 lines
3.5 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/***
*oscalls.h - contains declarations of Operating System types and constants.
*
* Copyright (c) 1985-2001, Microsoft Corporation. All rights reserved.
*
*Purpose:
* Declares types and constants that are defined by the target OS.
*
* [Internal]
*
*Revision History:
* 12-01-90 SRW Module created
* 02-01-91 SRW Removed usage of NT header files (_WIN32)
* 02-28-91 SRW Removed usage of ntconapi.h (_WIN32)
* 04-09-91 PNT Added _MAC_ definitions
* 04-26-91 SRW Disable min/max definitions in windows.h and added debug
* definitions for DbgPrint and DbgBreakPoint(_WIN32)
* 08-05-91 GJF Use win32.h instead of windows.h for now.
* 08-20-91 JCR C++ and ANSI naming
* 09-12-91 GJF Go back to using windows.h for win32 build.
* 09-26-91 GJF Don't use error.h for Win32.
* 11-07-91 GJF win32.h renamed to dosx32.h
* 11-08-91 GJF Don't use windows.h, excpt.h. Add ntstatus.h.
* 12-13-91 GJF Fixed so that exception stuff will build for Win32
* 02-04-92 GJF Now must include ntdef.h to get LPSTR type.
* 02-07-92 GJF Backed out change above, LPSTR also got added to
* winnt.h
* 03-30-92 DJM POSIX support.
* 04-06-92 SRW Backed out 11-08-91 change and went back to using
* windows.h only.
* 05-12-92 DJM Moved POSIX code to it's own ifdef.
* 08-01-92 SRW Let windows.h include excpt.h now that it replaces winxcpt.h
* 09-30-92 SRW Use windows.h for _POSIX_ as well
* 02-23-93 SKS Update copyright to 1993
* 09-06-94 CFW Remove Cruiser support.
* 02-06-95 CFW DEBUG -> _DEBUG
* 02-14-95 CFW Clean up Mac merge.
* 03-29-95 CFW Add error message to internal headers.
* 12-14-95 JWM Add "#pragma once".
* 02-24-97 GJF Replaced defined(_M_M68K) || defined(_M_MPPC) with
* defined(_MAC). Also, detab-ed.
* 05-17-99 PML Remove all Macintosh support.
*
****/
#if _MSC_VER > 1000 /*IFSTRIP=IGN*/
#pragma once
#endif
#ifndef _INC_OSCALLS
#define _INC_OSCALLS
#ifndef _CRTBLD
/*
* This is an internal C runtime header file. It is used when building
* the C runtimes only. It is not to be used as a public header file.
*/
#error ERROR: Use of C runtime library internal header file.
#endif /* _CRTBLD */
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#ifdef NULL
#undef NULL
#endif
#if defined(_DEBUG) && defined(_WIN32)
void DbgBreakPoint(void);
int DbgPrint(char *Format, ...);
#endif /* _DEBUG && _WIN32 */
#define NOMINMAX
#include <windows.h>
#undef NULL
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
/* File time and date types */
typedef struct _FTIME { /* ftime */
unsigned short twosecs : 5;
unsigned short minutes : 6;
unsigned short hours : 5;
} FTIME;
typedef FTIME *PFTIME;
typedef struct _FDATE { /* fdate */
unsigned short day : 5;
unsigned short month : 4;
unsigned short year : 7;
} FDATE;
typedef FDATE *PFDATE;
#else /* ndef _WIN32 */
#ifdef _POSIX_
#undef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#include <windows.h>
#else /* ndef _POSIX_ */
#error ERROR - ONLY WIN32 OR POSIX TARGETS SUPPORTED!
#endif /* _POSIX_ */
#endif /* _WIN32 */
#ifdef __cplusplus
}
#endif
#endif /* _INC_OSCALLS */