- Remove ntddk include from ntoskrnl.h

- NTIFS : tagTOKEN_TYPE -> _TOKEN_TYPE
- Remove redundant MmFlushImageSection definition from winddk
- Add _BUS_HANDLER struct forwarder
- Guard ifssupp.h with #ifndef _NTIFS_ condition
- Add WAIT_TYPE, LOGICAL and PLOGICAL definitions to ntdef.h and get rid of the incorrect ones in winddk.h
- Group related *_POWER_* definitions 
- Move PKSYNCHRONIZE_ROUTINE and POOL_TYPE to the kernel types section
- PDEVICE_OBJECT  DeviceObject -> struct _DEVICE_OBJECT  *DeviceObject in some cases
- PIRP Irp -> struct _IRP  *Irp in some cases

svn path=/branches/header-work/; revision=45903
This commit is contained in:
Amine Khaldi 2010-03-06 00:59:29 +00:00
parent 9a06fb6a0d
commit 5748c28965
6 changed files with 72 additions and 82 deletions

View file

@ -47,7 +47,7 @@ extern "C" {
#include <ntnls.h>
#include <ntstatus.h>
#include <bugcodes.h>
#include <ntiologc.h>
/* FIXME : #include <ntiologc.h> */
#ifndef FlagOn
#define FlagOn(_F,_SF) ((_F) & (_SF))
@ -65,17 +65,6 @@ extern "C" {
#define ClearFlag(_F,_SF) ((_F) &= ~(_SF))
#endif
typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
typedef struct _IO_TIMER *PIO_TIMER;
typedef struct _KINTERRUPT *PKINTERRUPT;
typedef struct _KPROCESS *PKPROCESS ,*PRKPROCESS, *PEPROCESS;
typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD, *PETHREAD;
typedef struct _OBJECT_TYPE *POBJECT_TYPE;
typedef struct _PEB *PPEB;
typedef struct _ACL *PACL;
#define PsGetCurrentProcess IoGetCurrentProcess
#if (NTDDI_VERSION >= NTDDI_VISTA)
@ -1032,7 +1021,8 @@ typedef struct _TOKEN_PRIVILEGES {
ULONG PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
typedef enum tagTOKEN_TYPE {
typedef enum _TOKEN_TYPE {
TokenPrimary = 1,
TokenImpersonation
} TOKEN_TYPE,*PTOKEN_TYPE;
@ -6393,5 +6383,3 @@ ZwYieldExecution (
#ifdef __cplusplus
}
#endif
#endif /* _NTIFS_ */

View file

@ -78,7 +78,6 @@ typedef struct _OBJECT_TYPE *POBJECT_TYPE;
typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT;
typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
typedef struct _ETHREAD *PETHREAD;
@ -285,6 +284,8 @@ typedef UCHAR KIRQL, *PKIRQL;
typedef UCHAR KPROCESSOR_MODE;
typedef LONG KPRIORITY;
typedef ULONG EXECUTION_STATE;
typedef enum _MODE {
KernelMode,
UserMode,
@ -901,6 +902,28 @@ typedef struct _KTIMER {
ULONG Period;
} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
typedef BOOLEAN
(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
IN PVOID SynchronizeContext);
typedef enum _POOL_TYPE {
NonPagedPool,
PagedPool,
NonPagedPoolMustSucceed,
DontUseThisType,
NonPagedPoolCacheAligned,
PagedPoolCacheAligned,
NonPagedPoolCacheAlignedMustS,
MaxPoolType,
NonPagedPoolSession = 32,
PagedPoolSession,
NonPagedPoolMustSucceedSession,
DontUseThisTypeSession,
NonPagedPoolCacheAlignedSession,
PagedPoolCacheAlignedSession,
NonPagedPoolCacheAlignedMustSSession
} POOL_TYPE;
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
{
StandardDesign,
@ -2019,7 +2042,7 @@ NTKERNELAPI
LOGICAL
NTAPI
MmIsDriverVerifying(
IN PDRIVER_OBJECT DriverObject);
IN struct _DRIVER_OBJECT *DriverObject);
NTKERNELAPI
PVOID
@ -2063,7 +2086,7 @@ NTKERNELAPI
VOID
NTAPI
MmProbeAndLockPages(
IN OUT PMDLX MemoryDescriptorList,
IN OUT PMDL MemoryDescriptorList,
IN KPROCESSOR_MODE AccessMode,
IN LOCK_OPERATION Operation);
@ -2096,7 +2119,7 @@ NTKERNELAPI
VOID
NTAPI
MmUnlockPages(
IN OUT PMDLX MemoryDescriptorList);
IN OUT PMDL MemoryDescriptorList);
NTKERNELAPI
VOID
@ -2165,7 +2188,7 @@ NTKERNELAPI
NTSTATUS
NTAPI
MmProtectMdlSystemAddress(
IN PMDLX MemoryDescriptorList,
IN PMDL MemoryDescriptorList,
IN ULONG NewProtect);
NTKERNELAPI
@ -2174,7 +2197,7 @@ NTAPI
MmUnmapReservedMapping(
IN PVOID BaseAddress,
IN ULONG PoolTag,
IN PMDLX MemoryDescriptorList);
IN PMDL MemoryDescriptorList);
#endif
@ -2529,6 +2552,24 @@ typedef enum _DEVICE_POWER_STATE {
PowerDeviceMaximum
} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
typedef union _POWER_STATE {
SYSTEM_POWER_STATE SystemState;
DEVICE_POWER_STATE DeviceState;
} POWER_STATE, *PPOWER_STATE;
typedef enum _POWER_STATE_TYPE {
SystemPowerState = 0,
DevicePowerState
} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
typedef VOID
(DDKAPI *PREQUEST_POWER_COMPLETE)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN struct _IO_STATUS_BLOCK *IoStatus);
/******************************************************************************
* Power Management Support Functions *
******************************************************************************/
@ -2541,14 +2582,14 @@ NTKERNELAPI
NTSTATUS
NTAPI
PoCallDriver(
IN PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp);
IN struct _DEVICE_OBJECT *DeviceObject,
IN OUT struct _IRP *Irp);
NTKERNELAPI
PULONG
NTAPI
PoRegisterDeviceForIdleDetection(
IN PDEVICE_OBJECT DeviceObject,
IN struct _DEVICE_OBJECT *DeviceObject,
IN ULONG ConservationIdleTime,
IN ULONG PerformanceIdleTime,
IN DEVICE_POWER_STATE State);
@ -2564,18 +2605,18 @@ NTKERNELAPI
NTSTATUS
NTAPI
PoRequestPowerIrp(
IN PDEVICE_OBJECT DeviceObject,
IN struct _DEVICE_OBJECT *DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PREQUEST_POWER_COMPLETE CompletionFunction OPTIONAL,
IN PVOID Context OPTIONAL,
OUT PIRP *Irp OPTIONAL);
OUT struct _IRP *Irp OPTIONAL);
NTKERNELAPI
POWER_STATE
NTAPI
PoSetPowerState(
IN PDEVICE_OBJECT DeviceObject,
IN struct _DEVICE_OBJECT *DeviceObject,
IN POWER_STATE_TYPE Type,
IN POWER_STATE State);
@ -2589,7 +2630,7 @@ NTKERNELAPI
VOID
NTAPI
PoStartNextPowerIrp(
IN OUT PIRP Irp);
IN OUT struct _IRP *Irp);
NTKERNELAPI
VOID
@ -5128,16 +5169,6 @@ typedef enum _CREATE_FILE_TYPE {
#define IO_REPARSE 0x0
#define IO_REMOUNT 0x1
typedef union _POWER_STATE {
SYSTEM_POWER_STATE SystemState;
DEVICE_POWER_STATE DeviceState;
} POWER_STATE, *PPOWER_STATE;
typedef enum _POWER_STATE_TYPE {
SystemPowerState = 0,
DevicePowerState
} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
typedef struct _IO_STATUS_BLOCK {
_ANONYMOUS_UNION union {
NTSTATUS Status;
@ -5146,14 +5177,6 @@ typedef struct _IO_STATUS_BLOCK {
ULONG_PTR Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
typedef VOID
(DDKAPI *PREQUEST_POWER_COMPLETE)(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN PIO_STATUS_BLOCK IoStatus);
typedef struct _PCI_SLOT_NUMBER {
union {
struct {
@ -6706,10 +6729,6 @@ typedef VOID
IN struct _DEVICE_OBJECT *DeviceObject,
IN PVOID Context);
typedef BOOLEAN
(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
IN PVOID SynchronizeContext);
typedef struct _IO_SECURITY_CONTEXT {
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
PACCESS_STATE AccessState;
@ -8675,24 +8694,6 @@ InterlockedPushEntrySList(
#define PORT_MAXIMUM_MESSAGE_LENGTH 256
#endif
typedef enum _POOL_TYPE {
NonPagedPool,
PagedPool,
NonPagedPoolMustSucceed,
DontUseThisType,
NonPagedPoolCacheAligned,
PagedPoolCacheAligned,
NonPagedPoolCacheAlignedMustS,
MaxPoolType,
NonPagedPoolSession = 32,
PagedPoolSession,
NonPagedPoolMustSucceedSession,
DontUseThisTypeSession,
NonPagedPoolCacheAlignedSession,
PagedPoolCacheAlignedSession,
NonPagedPoolCacheAlignedMustSSession
} POOL_TYPE;
typedef enum _SUITE_TYPE {
SmallBusiness,
Enterprise,
@ -10123,9 +10124,6 @@ typedef enum {
LT_LOWEST_LATENCY
} LATENCY_TIME;
typedef ULONG EXECUTION_STATE;
/* Constants */
#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 )
#define ZwCurrentProcess() NtCurrentProcess()

View file

@ -79,17 +79,17 @@ struct _KPRCB;
struct _KTSS;
struct _DRIVE_LAYOUT_INFORMATION_EX;
struct _LOADER_PARAMETER_BLOCK;
struct _BUS_HANDLER;
typedef struct _BUS_HANDLER *PBUS_HANDLER;
#if 1
/* FIXME: Unknown definitions */
struct _SET_PARTITION_INFORMATION_EX;
typedef ULONG WAIT_TYPE;
#define WaitAll 0
#define WaitAny 1
typedef HANDLE TRACEHANDLE;
typedef PVOID PWMILIB_CONTEXT;
typedef ULONG LOGICAL;
#endif
/*
@ -3041,13 +3041,6 @@ NTAPI
MmAllocateNonCachedMemory(
IN ULONG NumberOfBytes);
NTKERNELAPI
BOOLEAN
NTAPI
MmFlushImageSection(
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
IN MMFLUSH_TYPE FlushType);
NTKERNELAPI
VOID
NTAPI
@ -3903,7 +3896,7 @@ NTKERNELAPI
INTERLOCKED_RESULT
FASTCALL
Exfi386InterlockedIncrementLong(
IN PLONG Addend);
IN OUT PLONG volatile Addend);
NTKERNELAPI
INTERLOCKED_RESULT

View file

@ -21,12 +21,14 @@ Author:
#define TOKEN_SOURCE_LENGTH 8
#ifndef _NTIFS_
typedef enum _TOKEN_TYPE
{
TokenPrimary = 1,
TokenImpersonation
} TOKEN_TYPE, *PTOKEN_TYPE;
typedef PVOID PRTL_HEAP_PARAMETERS;
typedef PVOID PFS_FILTER_CALLBACKS;
typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
@ -260,5 +262,7 @@ typedef struct _TOKEN_DEFAULT_DACL
#define HEAP_CREATE_ENABLE_TRACING 0x00020000
#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
#endif
#endif // !NTOS_MODE_USER
#endif // _NTIFS_

View file

@ -97,6 +97,11 @@ typedef enum _TIMER_TYPE {
SynchronizationTimer
} TIMER_TYPE;
typedef enum _WAIT_TYPE {
WaitAll,
WaitAny
} WAIT_TYPE;
//
// FIXME
// We should use the -fms-extensions compiler flag for gcc,
@ -372,6 +377,9 @@ typedef ULONG FLONG;
typedef UCHAR BOOLEAN;
typedef BOOLEAN *PBOOLEAN;
typedef ULONG LOGICAL;
typedef ULONG *PLOGICAL;
//
// Signed Types
//

View file

@ -24,7 +24,6 @@
#undef DECLSPEC_IMPORT
#define DECLSPEC_IMPORT
#include <ntifs.h>
#include <ntddk.h>
#include <wdmguid.h>
#include <arc/arc.h>
#undef NTHALAPI