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.
 
 
 
 
 
 

256 lines
7.0 KiB

/***********************************************************************
* *
* Filename: COMMON.X *
* Module: Common Types and Declarations *
* Author: Daniel Baumberger *
* *
***********************************************************************
* *
* Copyright (C) 1994 Intel Corporation ALL RIGHTS RESERVED *
* *
* INTEL CORPORATION PROPRIETARY INFORMATION *
* *
* This software is supplied under the terms of a license agree- *
* ment or non-disclosure agreement with Intel Corporation *
* and may not be copied nor disclosed except in accordance *
* with the terms of that agreement. *
* *
***********************************************************************
* *
* PURPOSE: Defines common types and macros applicable to all modules. *
* *
* NOTES: *
* *
***********************************************************************
*
* HISTORY:
*
* $Log: S:/STURGEON/SRC/H245/INCLUDE/VCS/common.x_v $
Rev 1.0 09 May 1996 21:05:04 EHOWARDX
Initial revision.
Rev 1.0 08 May 1996 13:37:14 unknown
Initial revision.
Rev 1.2 23 Jan 1996 14:36:34 sing
use __export WINAPI for WIN16
Rev 1.1 21 Jan 1996 21:05:40 RGILLIKK
New unified H324API.H, common for 16 & 32 bits
*
* Rev 1.25 18 Dec 1995 09:09:54 DBAUMBER
* Fixed the VOID type to Windows.H compatible.
*
* Rev 1.24 07 Sep 1995 09:42:28 DBAUMBER
* Moved msecs() to OIL.X.
*
* Rev 1.23 21 Jun 1995 11:05:42 RAMANAN
* Removed priority literals
*
* Rev 1.22 21 Jun 1995 09:37:24 KHELM
* Added task priority stuff
*
* Rev 1.21 21 Jun 1995 09:02:52 KHELM
* Added FAX_TASK_PRIORITY and TIMER_TASK_PRIORITY
*
* Rev 1.20 21 Apr 1995 09:12:12 KHELM
*
* Rev 1.19 05 Apr 1995 14:46:38 DBAUMBER
* Updated msecs for the 1ms system tick with IASPOX27.
*
* Rev 1.18 14 Mar 1995 14:45:38 DBAUMBER
* Moved TRACE and ASSERT macros to OILDEBUG.X.
*
* Rev 1.17 23 Feb 1995 10:52:40 RAMANAN
* Oops, Missed non-debug case for TRACE4.
*
* Rev 1.16 23 Feb 1995 10:51:44 RAMANAN
* Added TRACE4 macro that can take four parameters.
*
* Rev 1.15 13 Dec 1994 09:53:08 DBAUMBER
* Added more "pointer to pointer" types. Added TRACE macros.
*
* Rev 1.14 13 Dec 1994 09:45:06 KHELM
* Added PPBYTE
*
* Rev 1.13 28 Nov 1994 16:52:30 RAMANAN
* No change.
*
* Rev 1.12 18 Oct 1994 14:55:26 KHELM
* Added FUNCPTRWPTR
*
* Rev 1.11 13 Oct 1994 10:17:12 KHELM
* Added BYFUNCPTR type.
*
* Rev 1.10 06 Oct 1994 09:42:04 DBAUMBER
* Added ASSERTMSG macro. Changed definition of VOID to work with NuMA.
*
* Rev 1.9 23 Sep 1994 11:36:38 DBAUMBER
* Changed FLOAT to FLOATING to make compiler happy.
*
* Rev 1.8 23 Sep 1994 11:29:26 DBAUMBER
* Fixed type definition problem with PPOINTER.
*
* Rev 1.7 23 Sep 1994 11:20:18 DBAUMBER
* Fixed a bug in the ASSERT macro. Added new pointer to pointer types.
*
* Rev 1.6 21 Sep 1994 16:12:46 DBAUMBER
* Added ASSERT macro.
*
* Rev 1.5 12 Sep 1994 09:49:18 DBAUMBER
* Changed BOOL from BYTE to DWORD. Added FUNCPTR.
*
* Rev 1.4 31 Aug 1994 13:21:50 DBAUMBER
* Added PFxn and PVoidFxn types.
*
* Rev 1.3 17 Aug 1994 13:10:52 DBAUMBER
* Reversed the definitions for PUBLIC and LOCAL.
*
* Rev 1.2 17 Aug 1994 10:30:04 DBAUMBER
* PUBLIC changed to EXPORT definition.
* LOCAL added as non-static, non-DLL exported definition.
* EXPORT definition removed.
*
* Rev 1.1 17 Aug 1994 10:23:26 DBAUMBER
* EXPORT macro added that will export a function from a DLL.
* PUBLIC macro changed so that it will not necessarily export a function.
* TRUE/FALSE macro changed so they will not clash with standard defs.
* OK/NOT_OK removed.
*
* Rev 1.0 12 Aug 1994 08:53:18 DBAUMBER
* Initial revision.
*
***********************************************************************/
#ifndef _COMMON_X_INCLUDED_
#define _COMMON_X_INCLUDED_
/*
* Declaration modifier macros
*/
#define IN
#define OUT
#define OPTIONAL
#ifdef WIN16
#define PUBLIC __export WINAPI
#else
#define PUBLIC _declspec(dllexport)
#endif
#define LOCAL static
#define PRIVATE
#define INLINE __inline
/*
* Packing alignment modifiers
*/
#define BYTE_ALIGN 1
#define WORD_ALIGN 2
#define DWORD_ALIGN 4
/*
* BOOL constants
*/
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
/*
* Built-in type aliases
*/
typedef char CHAR;
#if !defined(NUMA) && !defined(WIN32) && !defined(WIN16) && !defined(VOID)
typedef void VOID;
#endif
typedef double FLOATING;
#ifndef WIN16
typedef char* PSTR;
#endif
typedef PSTR* PPSTR;
typedef void* POINTER;
typedef POINTER* PPOINTER;
/*
* Signed integer types
*/
typedef signed char INT8;
typedef signed short INT16;
typedef signed long INT32;
typedef INT8* PINT8;
typedef INT8** PPINT8;
typedef INT16* PINT16;
typedef INT16** PPINT16;
typedef INT32* PINT32;
typedef INT32** PPINT32;
/*
* Unsigned integer types
*/
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
#ifndef WIN16
typedef BYTE* PBYTE;
#endif
typedef BYTE** PPBYTE;
#ifndef WIN16
typedef WORD* PWORD;
#endif
typedef WORD** PPWORD;
#ifndef WIN16
typedef DWORD* PDWORD;
#endif
typedef DWORD** PPDWORD;
/*
* Boolean type
*/
typedef int BOOL;
/*
* Global handle types
*/
typedef DWORD InstanceHandle;
typedef DWORD IdHandle;
/*
* Function pointer types
*/
typedef INT32 (*PFxn) ();
typedef VOID (*PVoidFxn)();
typedef VOID (*FUNCPTR) ();
typedef BYTE (*BYFUNCPTR) ();
typedef VOID (*FUNCPTRWPTR) (POINTER);
/*
* Global return types
*/
typedef INT32 RESULT;
#define ticks(ticks_in) (ticks_in)
#define FOREVER while ( 1 )
#endif /* COMMON_X_INCLUDED */