*include/imagehlp.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcdce.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/rpcnsi.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcnsip.h: Likewise. *include/windef.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/ddk/batclass.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/cfgmgr32.h: Likewise. *include/ddk/ddkmapi.h: Likewise. *include/ddk/hidclass.h: Likewise. *include/ddk/hidpi.h: Likewise. *include/ddk/kbdmou.h: Likewise. *include/ddk/mcd.h: Likewise. *include/ddk/miniport.h: Likewise. *include/ddk/minitape.h: Likewise. *include/ddk/ndis.h: Likewise. *include/ddk/ndistapi.h: Likewise. *include/ddk/ndiswan.h: Likewise. *include/ddk/ntapi.h: Likewise. *include/ddk/ntdd8042.h: Likewise. *include/ddk/ntddpcm.h: Likewise. *include/ddk/ntifs.h: Likewise. *include/ddk/ntpoapi.h: Likewise. *include/ddk/parallel.h: Likewise. *include/ddk/pfhook.h: Likewise. *include/ddk/scsiwmi.h: Likewise. *include/ddk/smbus.h: Likewise. *include/ddk/srb.h: Likewise. *include/ddk/storport.h: Likewise. *include/ddk/tdikrnl.h: Likewise. *include/ddk/upssvc.h: Likewise. *include/ddk/usbcamdi.h: Likewise. *include/ddk/usbscan.h: Likewise. *include/ddk/video.h: Likewise. *include/ddk/videoagp.h: Likewise. *include/ddk/win2k.h: Likewise. *include/ddk/winddi.h: Likewise. *include/ddk/winddk.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/winnt4.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/ws2san.h: Likewise.
		
			
				
	
	
		
			624 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			624 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * winnt4.h
 | 
						|
 *
 | 
						|
 * Definitions only used in Windows NT 4.0 and earlier versions
 | 
						|
 *
 | 
						|
 * This file is part of the w32api package.
 | 
						|
 *
 | 
						|
 * Contributors:
 | 
						|
 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
 | 
						|
 *
 | 
						|
 * 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
 | 
						|
 * DISCLAIMED. This includes but is not limited to warranties of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __WINNT4_H
 | 
						|
#define __WINNT4_H
 | 
						|
 | 
						|
#if __GNUC__ >=3
 | 
						|
#pragma GCC system_header
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
typedef struct _ZONE_SEGMENT_HEADER {
 | 
						|
  SINGLE_LIST_ENTRY  SegmentList;
 | 
						|
  PVOID  Reserved;
 | 
						|
} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
 | 
						|
 | 
						|
typedef struct _ZONE_HEADER {
 | 
						|
  SINGLE_LIST_ENTRY  FreeList;
 | 
						|
  SINGLE_LIST_ENTRY  SegmentList;
 | 
						|
  ULONG  BlockSize;
 | 
						|
  ULONG  TotalSegmentSize;
 | 
						|
} ZONE_HEADER, *PZONE_HEADER;
 | 
						|
 | 
						|
static __inline PVOID
 | 
						|
ExAllocateFromZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone)
 | 
						|
{
 | 
						|
  if (Zone->FreeList.Next)
 | 
						|
    Zone->FreeList.Next = Zone->FreeList.Next->Next;
 | 
						|
  return (PVOID) Zone->FreeList.Next;
 | 
						|
}
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
ExExtendZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ PVOID  Segment,
 | 
						|
  /*IN*/ ULONG  SegmentSize);
 | 
						|
 | 
						|
static __inline PVOID
 | 
						|
ExFreeToZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ PVOID  Block)
 | 
						|
{
 | 
						|
  ((PSINGLE_LIST_ENTRY) Block)->Next = Zone->FreeList.Next;
 | 
						|
  Zone->FreeList.Next = ((PSINGLE_LIST_ENTRY) Block);
 | 
						|
  return ((PSINGLE_LIST_ENTRY) Block)->Next;
 | 
						|
}
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
ExInitializeZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ ULONG  BlockSize,
 | 
						|
  /*IN*/ PVOID  InitialSegment,
 | 
						|
  /*IN*/ ULONG  InitialSegmentSize);
 | 
						|
 | 
						|
/*
 | 
						|
 * PVOID
 | 
						|
 * ExInterlockedAllocateFromZone(
 | 
						|
 * IN PZONE_HEADER  Zone,
 | 
						|
 * IN PKSPIN_LOCK  Lock)
 | 
						|
 */
 | 
						|
#define ExInterlockedAllocateFromZone(Zone, \
 | 
						|
                              Lock) \
 | 
						|
  ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
ExInterlockedExtendZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ PVOID  Segment,
 | 
						|
  /*IN*/ ULONG  SegmentSize,
 | 
						|
  /*IN*/ PKSPIN_LOCK  Lock);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
ExInterlockedFreeToZone(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ PVOID  Block,
 | 
						|
  /*IN*/ PKSPIN_LOCK  Lock);
 | 
						|
 | 
						|
/*
 | 
						|
 * VOID
 | 
						|
 * ExInitializeWorkItem(
 | 
						|
 * IN PWORK_QUEUE_ITEM  Item,
 | 
						|
 * IN PWORKER_THREAD_ROUTINE  Routine,
 | 
						|
 * IN PVOID  Context)
 | 
						|
 */
 | 
						|
#define ExInitializeWorkItem(Item, \
 | 
						|
                             Routine, \
 | 
						|
                             Context) \
 | 
						|
{ \
 | 
						|
  (Item)->WorkerRoutine = Routine; \
 | 
						|
  (Item)->Parameter = Context; \
 | 
						|
  (Item)->List.Flink = NULL; \
 | 
						|
}
 | 
						|
 | 
						|
/*
 | 
						|
 * BOOLEAN
 | 
						|
 * ExIsFullZone(
 | 
						|
 * IN PZONE_HEADER  Zone)
 | 
						|
 */
 | 
						|
#define ExIsFullZone(Zone) \
 | 
						|
  ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
ExQueueWorkItem(
 | 
						|
  /*IN*/ PWORK_QUEUE_ITEM  WorkItem,
 | 
						|
  /*IN*/ WORK_QUEUE_TYPE  QueueType);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
ExIsObjectInFirstZoneSegment(
 | 
						|
  /*IN*/ PZONE_HEADER  Zone,
 | 
						|
  /*IN*/ PVOID  Object);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
ExReleaseResource(
 | 
						|
  /*IN*/ PERESOURCE  Resource);
 | 
						|
 | 
						|
#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
 | 
						|
#define ExAcquireResourceShared ExAcquireResourceSharedLite
 | 
						|
#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
 | 
						|
#define ExDeleteResource ExDeleteResourceLite
 | 
						|
#define ExInitializeResource ExInitializeResourceLite
 | 
						|
#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
 | 
						|
#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
 | 
						|
#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
 | 
						|
#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKAPI
 | 
						|
ExInterlockedDecrementLong(
 | 
						|
  /*IN*/ PLONG  Addend,
 | 
						|
  /*IN*/ PKSPIN_LOCK  Lock);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
ExInterlockedExchangeUlong(
 | 
						|
  /*IN*/ PULONG  Target,
 | 
						|
  /*IN*/ ULONG  Value,
 | 
						|
  /*IN*/ PKSPIN_LOCK  Lock);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKAPI
 | 
						|
ExInterlockedIncrementLong(
 | 
						|
  /*IN*/ PLONG  Addend,
 | 
						|
  /*IN*/ PKSPIN_LOCK  Lock);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
HalAllocateCommonBuffer(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ ULONG  Length,
 | 
						|
  /*OUT*/ PPHYSICAL_ADDRESS  LogicalAddress,
 | 
						|
  /*IN*/ BOOLEAN  CacheEnabled);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
HalAssignSlotResources(
 | 
						|
  /*IN*/ PUNICODE_STRING  RegistryPath,
 | 
						|
  /*IN*/ PUNICODE_STRING  DriverClassName,
 | 
						|
  /*IN*/ PDRIVER_OBJECT  DriverObject,
 | 
						|
  /*IN*/ PDEVICE_OBJECT  DeviceObject,
 | 
						|
  /*IN*/ INTERFACE_TYPE  BusType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResources);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
HalFreeCommonBuffer(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ ULONG  Length,
 | 
						|
  /*IN*/ PHYSICAL_ADDRESS  LogicalAddress,
 | 
						|
  /*IN*/ PVOID  VirtualAddress,
 | 
						|
  /*IN*/ BOOLEAN  CacheEnabled);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
PADAPTER_OBJECT
 | 
						|
DDKAPI
 | 
						|
HalGetAdapter(
 | 
						|
  /*IN*/ PDEVICE_DESCRIPTION  DeviceDescription,
 | 
						|
  /*IN OUT*/ PULONG  NumberOfMapRegisters);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalGetBusData(
 | 
						|
  /*IN*/ BUS_DATA_TYPE  BusDataType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalGetBusDataByOffset(
 | 
						|
  /*IN*/ BUS_DATA_TYPE  BusDataType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Offset,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalGetDmaAlignmentRequirement( 
 | 
						|
  VOID);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalGetInterruptVector(
 | 
						|
  /*IN*/ INTERFACE_TYPE  InterfaceType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  BusInterruptLevel,
 | 
						|
  /*IN*/ ULONG  BusInterruptVector,
 | 
						|
  /*OUT*/ PKIRQL  Irql,
 | 
						|
  /*OUT*/ PKAFFINITY  Affinity);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalReadDmaCounter(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalSetBusData(
 | 
						|
  /*IN*/ BUS_DATA_TYPE  BusDataType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
HalSetBusDataByOffset(
 | 
						|
  /*IN*/ BUS_DATA_TYPE  BusDataType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Offset,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
HalTranslateBusAddress(
 | 
						|
  /*IN*/ INTERFACE_TYPE  InterfaceType,
 | 
						|
  /*IN*/ ULONG  BusNumber,
 | 
						|
  /*IN*/ PHYSICAL_ADDRESS  BusAddress,
 | 
						|
  /*IN OUT*/ PULONG  AddressSpace,
 | 
						|
  /*OUT*/ PPHYSICAL_ADDRESS  TranslatedAddress);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
IoAllocateAdapterChannel(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ PDEVICE_OBJECT  DeviceObject,
 | 
						|
  /*IN*/ ULONG  NumberOfMapRegisters,
 | 
						|
  /*IN*/ PDRIVER_CONTROL  ExecutionRoutine,
 | 
						|
  /*IN*/ PVOID  Context);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
IoAssignResources(
 | 
						|
  /*IN*/ PUNICODE_STRING  RegistryPath,
 | 
						|
  /*IN*/ PUNICODE_STRING  DriverClassName  /*OPTIONAL*/,
 | 
						|
  /*IN*/ PDRIVER_OBJECT  DriverObject,
 | 
						|
  /*IN*/ PDEVICE_OBJECT  DeviceObject  /*OPTIONAL*/,
 | 
						|
  /*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST  RequestedResources,
 | 
						|
  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResources);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
IoAttachDeviceByPointer(
 | 
						|
  /*IN*/ PDEVICE_OBJECT  SourceDevice,
 | 
						|
  /*IN*/ PDEVICE_OBJECT  TargetDevice);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
IoFlushAdapterBuffers(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ PMDL  Mdl,
 | 
						|
  /*IN*/ PVOID  MapRegisterBase,
 | 
						|
  /*IN*/ PVOID  CurrentVa,
 | 
						|
  /*IN*/ ULONG  Length,
 | 
						|
  /*IN*/ BOOLEAN  WriteToDevice);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
IoFreeAdapterChannel(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
IoFreeMapRegisters(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ PVOID  MapRegisterBase,
 | 
						|
  /*IN*/ ULONG  NumberOfMapRegisters);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
PHYSICAL_ADDRESS
 | 
						|
DDKAPI
 | 
						|
IoMapTransfer(
 | 
						|
  /*IN*/ PADAPTER_OBJECT  AdapterObject,
 | 
						|
  /*IN*/ PMDL  Mdl,
 | 
						|
  /*IN*/ PVOID  MapRegisterBase,
 | 
						|
  /*IN*/ PVOID  CurrentVa,
 | 
						|
  /*IN OUT*/ PULONG  Length,
 | 
						|
  /*IN*/ BOOLEAN  WriteToDevice);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
PMDL
 | 
						|
DDKAPI
 | 
						|
MmCreateMdl(
 | 
						|
  /*IN*/ PMDL  MemoryDescriptorList  /*OPTIONAL*/,
 | 
						|
  /*IN*/ PVOID  Base,
 | 
						|
  /*IN*/ SIZE_T  Length);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
MmIsNonPagedSystemAddressValid(
 | 
						|
  /*IN*/ PVOID  VirtualAddress);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlEnlargedIntegerMultiply(
 | 
						|
  /*IN*/ LONG  Multiplicand,
 | 
						|
  /*IN*/ LONG  Multiplier);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
RtlEnlargedUnsignedDivide(
 | 
						|
  /*IN*/ ULARGE_INTEGER  Dividend,
 | 
						|
  /*IN*/ ULONG  Divisor,
 | 
						|
  /*IN OUT*/ PULONG  Remainder);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlEnlargedUnsignedMultiply(
 | 
						|
  /*IN*/ ULONG  Multiplicand,
 | 
						|
  /*IN*/ ULONG  Multiplier);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlExtendedIntegerMultiply(
 | 
						|
  /*IN*/ LARGE_INTEGER  Multiplicand,
 | 
						|
  /*IN*/ LONG  Multiplier);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlExtendedLargeIntegerDivide(
 | 
						|
  /*IN*/ LARGE_INTEGER  Dividend,
 | 
						|
  /*IN*/ ULONG  Divisor,
 | 
						|
  /*IN OUT*/ PULONG  Remainder);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlExtendedMagicDivide(
 | 
						|
  /*IN*/ LARGE_INTEGER  Dividend,
 | 
						|
  /*IN*/ LARGE_INTEGER  MagicDivisor,
 | 
						|
  /*IN*/ CCHAR  ShiftCount);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerAdd(
 | 
						|
  /*IN*/ LARGE_INTEGER  Addend1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Addend2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerAnd(
 | 
						|
  /*IN OUT*/ LARGE_INTEGER  Result,
 | 
						|
  /*IN*/ LARGE_INTEGER  Source,
 | 
						|
  /*IN*/ LARGE_INTEGER  Mask);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerArithmeticShift(
 | 
						|
  /*IN*/ LARGE_INTEGER  LargeInteger,
 | 
						|
  /*IN*/ CCHAR  ShiftCount);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerDivide(
 | 
						|
  /*IN*/ LARGE_INTEGER  Dividend,
 | 
						|
  /*IN*/ LARGE_INTEGER  Divisor,
 | 
						|
  /*IN OUT*/ PLARGE_INTEGER  Remainder);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerEqualTo(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerEqualToZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerGreaterOrEqualToZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerGreaterThan(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerGreaterThanOrEqualTo(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerGreaterThanZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerLessOrEqualToZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerLessThan(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerLessThanOrEqualTo(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerLessThanZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerNegate(
 | 
						|
  /*IN*/ LARGE_INTEGER  Subtrahend);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerNotEqualTo(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand1,
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand2);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerNotEqualToZero(
 | 
						|
  /*IN*/ LARGE_INTEGER  Operand);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerShiftLeft(
 | 
						|
  /*IN*/ LARGE_INTEGER  LargeInteger,
 | 
						|
  /*IN*/ CCHAR  ShiftCount);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerShiftRight(
 | 
						|
  /*IN*/ LARGE_INTEGER  LargeInteger,
 | 
						|
  /*IN*/ CCHAR  ShiftCount);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
LARGE_INTEGER
 | 
						|
DDKAPI
 | 
						|
RtlLargeIntegerSubtract(
 | 
						|
  /*IN*/ LARGE_INTEGER  Minuend,
 | 
						|
  /*IN*/ LARGE_INTEGER  Subtrahend);
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
 * ULONG
 | 
						|
 * COMPUTE_PAGES_SPANNED(
 | 
						|
 * IN PVOID  Va,
 | 
						|
 * IN ULONG  Size)
 | 
						|
 */
 | 
						|
#define COMPUTE_PAGES_SPANNED(Va, \
 | 
						|
                              Size) \
 | 
						|
  (ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va, Size))
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
** Architecture specific functions
 | 
						|
*/
 | 
						|
 | 
						|
#ifdef _X86_
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKAPI
 | 
						|
Exi386InterlockedIncrementLong(
 | 
						|
  /*IN*/ PLONG  Addend);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKFASTAPI
 | 
						|
Exfi386InterlockedIncrementLong(
 | 
						|
  /*IN*/ PLONG  Addend);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKAPI
 | 
						|
Exi386InterlockedDecrementLong(
 | 
						|
  /*IN*/ PLONG  Addend);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
INTERLOCKED_RESULT
 | 
						|
DDKFASTAPI
 | 
						|
Exfi386InterlockedDecrementLong(
 | 
						|
  /*IN*/ PLONG  Addend);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
Exi386InterlockedExchangeUlong(
 | 
						|
  /*IN*/ PULONG  Target,
 | 
						|
  /*IN*/ ULONG  Value);
 | 
						|
 | 
						|
NTOSAPI
 | 
						|
ULONG
 | 
						|
DDKFASTAPI
 | 
						|
Exfi386InterlockedExchangeUlong(
 | 
						|
  /*IN*/ PULONG  Target,
 | 
						|
  /*IN*/ ULONG  Value);
 | 
						|
 | 
						|
#define ExInterlockedIncrementLong(Addend,Lock) Exfi386InterlockedIncrementLong(Addend)
 | 
						|
#define ExInterlockedDecrementLong(Addend,Lock) Exfi386InterlockedDecrementLong(Addend)
 | 
						|
#define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value)
 | 
						|
 | 
						|
#endif /* _X86_ */
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* __WINNT4_H */
 |