99 lines
2.9 KiB
C
99 lines
2.9 KiB
C
/************************************************************************/
|
|
/* */
|
|
/* ATIFIXUP.H */
|
|
/* */
|
|
/* Copyright (c) 1993, ATI Technologies Inc. */
|
|
/************************************************************************/
|
|
|
|
/********************** PolyTron RCS Utilities
|
|
|
|
$Revision: 1.0 $
|
|
$Date: 31 Jan 1994 11:27:44 $
|
|
$Author: RWOLFF $
|
|
$Log: S:/source/wnt/ms11/miniport/vcs/atifixup.h $
|
|
*
|
|
* Rev 1.0 31 Jan 1994 11:27:44 RWOLFF
|
|
* Initial revision.
|
|
|
|
Rev 1.0 16 Aug 1993 13:33:28 Robert_Wolff
|
|
Initial revision.
|
|
|
|
Rev 1.2 30 Apr 1993 16:32:38 RWOLFF
|
|
Added definitions and prototypes for memory allocation functions.
|
|
Windows NT-supplied header with these definitions is incompatible with
|
|
other headers we need in the miniport.
|
|
|
|
Rev 1.1 08 Mar 1993 19:27:52 BRADES
|
|
submit to MS T.
|
|
|
|
Rev 1.0 05 Feb 1993 16:08:48 Robert_Wolff
|
|
Initial revision.
|
|
|
|
|
|
End of PolyTron RCS section *****************/
|
|
|
|
|
|
#if defined(DOC)
|
|
ATIFIXUP.H - Type definitions taken from NTDDK.H and its nested
|
|
includes which are required by the ATI miniport
|
|
for Windows NT. The files NTDDK.H and MINIPORT.H will
|
|
cause compile-time errors if both are included, and more
|
|
of MINIPORT.H than NTDDK.H is needed.
|
|
|
|
#endif
|
|
|
|
/*
|
|
* NTSTATUS
|
|
*/
|
|
typedef long NTSTATUS;
|
|
/*lint -e624 */ // Don't complain about different typedefs. // winnt
|
|
typedef NTSTATUS *PNTSTATUS;
|
|
/*lint +e624 */ // Resume checking for different typedefs. // winnt
|
|
|
|
/*
|
|
* Generic test for success on any status value (non-negative numbers
|
|
* indicate success).
|
|
*/
|
|
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
|
|
|
|
/*
|
|
* The success status codes 0 - 63 are reserved for wait completion status.
|
|
*/
|
|
#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
|
|
|
|
/*
|
|
* Definitions and prototypes for memory allocation. These are from
|
|
* EX.H, but including this file will result in either undefined
|
|
* symbol errors (if only this file is included) or multiple definition
|
|
* errors (if the headers which define the required symbols are also
|
|
* included).
|
|
*/
|
|
typedef enum _POOL_TYPE {
|
|
NonPagedPool,
|
|
PagedPool,
|
|
NonPagedPoolMustSucceed,
|
|
DontUseThisType,
|
|
NonPagedPoolCacheAligned,
|
|
PagedPoolCacheAligned,
|
|
NonPagedPoolCacheAlignedMustS,
|
|
MaxPoolType
|
|
} POOL_TYPE;
|
|
|
|
PVOID
|
|
ExAllocatePool(
|
|
IN POOL_TYPE PoolType,
|
|
IN ULONG NumberOfBytes
|
|
);
|
|
|
|
VOID
|
|
ExFreePool(
|
|
IN PVOID P
|
|
);
|
|
|
|
|
|
/*
|
|
* Fast primitives to compare, move, and zero memory
|
|
*/
|
|
#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))
|
|
|