Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

354 lines
7.7 KiB

/*
*
* REFERENCES:
*
* NOTES:
* To use
* Example: C_PLATFORM
* #if (C_PLATFORM & (C_SUN | C_IBM))
*
* REVISIONS:
* pcy23Nov92 Added some meat
* pcy24Nov92 Added C_OS:C_WINDOWS
* rct25Nov92 Amendments for NetWare
* pcy14Dec92 Removed MULTI_THREADED define from here
* rct27Jan93 Added stuff for INTEK compiler
* pcy02Feb93: Added NT stuff
* ajr17Feb93: Added ifdef's for AIX RS6000
* ajr24Feb93: Added POSIX conditions for UNIX I/O
* ajr25Feb93: Added UNIX C_OS group
* ajr12Mar93: #included <errno.h> for debugging purposes (temp)
* ajr24Mar93: Added TIME_SCALE_FACTOR def's
* ajr24Mar93: Added header include ifndef.. for handling of const typing...
* instead of #defining....
* pcy28Apr93: Dont use // commenting in this module. It's used in C source.
* cad27Sep93: Added include of limits to fix conflicts downstream
* ajr16Nov93: Removed TIME_SCALE_FACTOR
* cad27Dec93: include file madness
* mwh28Feb94: make HPUX legit
* mwh13Mar94: port for SUNOS4
* ram21Mar94: Included windows.h for novell FE work
* mwh04Apr94: port for UWARE - unixware
* mwh12Apr94: port for SCO
* pcy19Apr94: port for SGI
* ajr25Apr94: Handle SIGFUNC_HAS_VARARGS here
* mwh23May94: port for NCR
* mwh01Jun94: port for INTERACTIVE
* jps20jul94: added #undef SYSTEM for os2
* djs31Mar95: port for UNISYS
* daf17May95: port for ALPHA/OSF
* dml24Aug95: removed conditional code for OS2 ver 1.3
* djs09Sep95: port for HPUX 10.0
* djs02Oct95: port for AIX 4.1
* djs06Oct95: port for UnixWare 2.01
* ajr07Nov95: port for Sinix RM. Must have c style comments with preprocessor
* dml15Dec95: put C_WIN311 def back in (was overwritten by C_OLIV) in INTERACTIVE slot
* rsd28Dec95: Change #ifdef DOS to #ifdef NWDOS, add C_NETWORK C_IPX
* ntf29Dec95: Added C_NT to ORd OS's for including <windows.h>, also put in
* #undef VOID and #undef BOOLEAN in this block because of
* conflicts using Visual C++ 4.0 for NT.
* pcy28jun96: Added C_API stuff
* cgm27may97: Added smartheap header file.
*/
#ifndef _CDEFINE_H
#define _CDEFINE_H
#ifdef USE_SMARTHEAP
#include "smrtheap.hpp"
#endif
#include <limits.h>
/*
* C_OS codes
*/
#define C_DOS 1 /* 0000 0000 0000 0000 0000 0001 */
#define C_OS2 2 /* 0000 0000 0000 0000 0000 0010 */
#define C_NLM 4 /* 0000 0000 0000 0000 0000 0100 */
#define C_AIX 8 /* 0000 0000 0000 0000 0000 1000 */
#define C_IRIX 16 /* 0000 0000 0000 0000 0001 0000 */
#define C_HPUX 32 /* 0000 0000 0000 0000 0010 0000 */
#define C_SUNOS4 64 /* 0000 0000 0000 0000 0100 0000 */
#define C_WINDOWS 128 /* 0000 0000 0000 0000 1000 0000 */
#define C_VAP 256 /* 0000 0000 0000 0001 0000 0000 */
#define C_NT 512 /* 0000 0000 0000 0010 0000 0000 */
#define C_SOLARIS2 1024 /* 0000 0000 0000 0100 0000 0000 */
#define C_UWARE 2048 /* 0000 0000 0000 1000 0000 0000 */
#define C_SCO 4096 /* 0000 0000 0001 0000 0000 0000 */
#define C_NCR 8192 /* 0000 0000 0010 0000 0000 0000 */
#define C_WIN311 16384 /* 0000 0000 0100 0000 0000 0000 */
#define C_OLIV 32768 /* 0000 0000 1000 0000 0000 0000 */
#define C_USYS 65536 /* 0000 0001 0000 0000 0000 0000 */
#define C_ALPHAOSF 131072 /* 0000 0010 0000 0000 0000 0000 */
#define C_SINIX 262144 /* 0000 0100 0000 0000 0000 0000 */
#define C_INTERACTIVE 524288 /* 0000 1000 0000 0000 0000 0000 */
#define C_WIN95 1048576 /* 0001 0000 0000 0000 0000 0000 */
/*
* C_VERSION codes
*/
#define C_OS2_13 1
#define C_OS2_2X 2
/* --------------------
/ C_OSVER
/ -------------------- */
#define C_AIX3_2 1
/* --------------------
/ C_IOSTD
/ -------------------- */
#define C_POSIX 1
/*
* C_VENDOR codes
*/
/*
#define C_SUN 1
#define C_IBM 2
#define C_SGI 4
#define C_HP 8
#define C_DEC 16
*/
/*
* C_PLATFORM codes
*/
#define C_INTEL286 0
#define C_INTEL386 1
#define C_MIPS 2
#define C_SPARC 4
#define C_SGI 8
#define C_HP 16
#define C_DEC 32
#define C_X86 64
/*
* C_MACHINE codes
*/
#define C_PS2 1
/*
* C_NETWORK codes
*/
#define C_DDE 1
#define C_IPX 2
/* empty by default */
#define SYSTEM
/*
* C_APPFRAMEWORK codes
*/
#define C_OWL 1
#define C_COMPILER 0
/* C_API codes */
#define C_WIN32 1
#define C_WIN16 2
#ifdef OS2
#define C_OS C_OS2
#ifdef OS22X
#define C_VERSION C_OS2_2X
#undef SYSTEM
#define SYSTEM _System
#else
#define C_VERSION C_OS2_13
#define SYSTEM
#endif
#endif
#ifdef VAP
#define C_OS C_VAP
#endif
#ifdef NLM
#define C_OS C_NLM
#endif
#ifdef NWDOS
#define C_OS C_DOS
#define C_NETWORK C_IPX
#endif
#ifdef X86
#define C_PLATFORM C_X86
#endif
#ifdef IBM
#define C_PLATFORM C_IBM
#endif
#ifdef SPARC
#define C_PLATFORM C_SPARC
#endif
#ifdef SGI
#define C_PLATFORM C_SGI
#endif
#ifdef AIXPS2
#define C_OS C_AIXPS2
#endif
#ifdef AIX
#define C_OS C_AIX
#endif
#ifdef HPUX
#define C_OS C_HPUX
#endif
#ifdef UWARE
#define C_OS C_UWARE
#endif
#ifdef SCO
#define C_OS C_SCO
#endif
#ifdef INTERACTIVE
#define C_OS C_INTERACTIVE
#endif
#ifdef NCR
#define C_OS C_NCR
#endif
#ifdef SGI
#define C_OS C_IRIX
#endif
#ifdef WIN311
#define C_OS C_WIN311
#define C_NETWORK C_DDE
#define C_API C_WIN16
#endif
#ifdef NWWIN
#define C_OS C_WINDOWS
#define C_NETWORK C_IPX
#define C_APPFRAMEWORK C_OWL
#define C_API C_WIN16
#endif
#ifdef NT
#define C_OS C_NT
#define SYSTEM
#define C_API C_WIN32
#endif
#ifdef WIN95
#define C_OS (C_NT | C_WIN95)
#define SYSTEM
#define C_API C_WIN32
#endif
#ifdef __INTEK__
#define __cplusplus
#endif
#ifdef AIX3_2
#define C_OSVER C_AIX3_2
#endif
#ifdef SOLARIS2
#define C_OS C_SOLARIS2
#endif
#ifdef USYS
#define C_OS C_USYS
#endif
#ifdef ALPHAOSF
#define C_OS C_ALPHAOSF
#endif
#ifdef APC_OLIVETTI
#define C_OS C_OLIV
#endif
#ifdef SUNOS4
#define C_OS C_SUNOS4
#endif
#ifdef SINIX
#define C_OS C_SINIX
#endif
/* --------------------
/ Some Unix Stuff....
/ -------------------- */
#define C_UNIX (C_AIX | C_HPUX | C_SUNOS4 | C_SOLARIS2 |\
C_UWARE | C_SCO | C_OLIV | C_IRIX | C_NCR |\
C_INTERACTIVE | C_USYS | C_ALPHAOSF | C_SINIX)
#define SIGFUNC_HAS_VARARGS C_IRIX
#if (C_OS & C_UNIX)
#define C_IOSTD C_POSIX
#endif
#define C_HPUX9 1
#define C_HPUX10 2
#ifdef HPUX10
#define C_HP_VERSION C_HPUX10
#else
#define C_HP_VERSION C_HPUX9
#endif
#define C_AIX3 1
#define C_AIX4 2
#ifdef AIX4
#define C_AIX_VERSION C_AIX4
#else
#define C_AIX_VERSION C_AIX3
#endif
#define C_UWARE1 1
#define C_UWARE2 2
#ifdef UWARE2
#define C_UWARE_VERSION C_UWARE2
#else
#define C_UWARE_VERSION C_UWARE1
#endif
/* ---------------
...THREADED Macros
--------------- */
#if (C_OS & (C_WINDOWS | C_WIN311 | C_UNIX | C_DOS))
#define SINGLETHREADED
#else
#define MULTITHREADED
#endif
/*
* Used for error logging. @(#)cdefine.h 1.35 expands to filename and rev in SCCS
*/
#ifndef __APCFILE__
#define __APCFILE__ "@(#)cdefine.h 1.35"
#endif
/*
* Most of files required this for Windows Novell Fe.
*/
#if (C_OS & (C_WINDOWS | C_WIN311 | C_NT))
/* Need to do this otherwise <winnt.h> will not define SHORT */
#undef VOID
#undef BOOLEAN
#include <windows.h>
#endif
#endif