diff options
Diffstat (limited to 'winsup/w32api/include/ddk/winnt4.h')
-rw-r--r-- | winsup/w32api/include/ddk/winnt4.h | 623 |
1 files changed, 0 insertions, 623 deletions
diff --git a/winsup/w32api/include/ddk/winnt4.h b/winsup/w32api/include/ddk/winnt4.h deleted file mode 100644 index b7f6179bf..000000000 --- a/winsup/w32api/include/ddk/winnt4.h +++ /dev/null @@ -1,623 +0,0 @@ -/* - * 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 */ |