- globally disable warnings for char array subscripts
[reactos.git] / include / ddk / winddk.h
index c3af405..25f93d4 100644 (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
 
 /*
@@ -103,11 +103,6 @@ typedef enum
     IrpForward       // Irp is wmi irp, but targeted at another device object
 } SYSCTL_IRP_DISPOSITION, *PSYSCTL_IRP_DISPOSITION;
 
-//
-// Forwarder
-//
-struct _COMPRESSED_DATA_INFO;
-
 #define KERNEL_STACK_SIZE                   12288
 #define KERNEL_LARGE_STACK_SIZE             61440
 #define KERNEL_LARGE_STACK_COMMIT           12288
@@ -237,21 +232,14 @@ typedef enum _DPFLTR_TYPE
 
 /* end winnt.h */
 
-#define THREAD_ALERT (0x0004)
-
 /* Exported object types */
 extern POBJECT_TYPE NTSYSAPI ExDesktopObjectType;
-extern POBJECT_TYPE NTSYSAPI ExEventObjectType;
-extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType;
 extern POBJECT_TYPE NTSYSAPI ExWindowStationObjectType;
 extern ULONG NTSYSAPI IoDeviceHandlerObjectSize;
 extern POBJECT_TYPE NTSYSAPI IoDeviceHandlerObjectType;
 extern POBJECT_TYPE NTSYSAPI IoDeviceObjectType;
 extern POBJECT_TYPE NTSYSAPI IoDriverObjectType;
-extern POBJECT_TYPE NTSYSAPI IoFileObjectType;
-extern POBJECT_TYPE NTSYSAPI PsThreadType;
 extern POBJECT_TYPE NTSYSAPI LpcPortObjectType;
-extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
 extern POBJECT_TYPE NTSYSAPI PsProcessType;
 
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
@@ -267,8 +255,6 @@ extern NTSYSAPI CCHAR KeNumberProcessors; //FIXME: Note to Alex: I won't fix thi
 
 #define MAX_WOW64_SHARED_ENTRIES 16
 
-extern volatile KSYSTEM_TIME KeTickCount;
-
 #define NX_SUPPORT_POLICY_ALWAYSOFF 0
 #define NX_SUPPORT_POLICY_ALWAYSON 1
 #define NX_SUPPORT_POLICY_OPTIN 2
@@ -2827,6 +2813,77 @@ IoWritePartitionTableEx(
   IN PDEVICE_OBJECT  DeviceObject,
   IN struct _DRIVE_LAYOUT_INFORMATION_EX  *PartitionBuffer);
 
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+VOID
+NTAPI
+IoFreeAdapterChannel(
+  IN PADAPTER_OBJECT AdapterObject);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+PHYSICAL_ADDRESS
+NTAPI
+IoMapTransfer(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN PMDL Mdl,
+  IN PVOID MapRegisterBase,
+  IN PVOID CurrentVa,
+  IN OUT PULONG Length,
+  IN BOOLEAN WriteToDevice);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+BOOLEAN
+NTAPI
+IoFlushAdapterBuffers(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN PMDL Mdl,
+  IN PVOID MapRegisterBase,
+  IN PVOID CurrentVa,
+  IN ULONG Length,
+  IN BOOLEAN WriteToDevice);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+VOID
+NTAPI
+IoFreeMapRegisters(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN PVOID MapRegisterBase,
+  IN ULONG NumberOfMapRegisters);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+PVOID
+NTAPI
+HalAllocateCommonBuffer(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN ULONG Length,
+  IN PPHYSICAL_ADDRESS LogicalAddress,
+  IN BOOLEAN CacheEnabled);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+VOID
+NTAPI
+HalFreeCommonBuffer(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN ULONG Length,
+  IN PHYSICAL_ADDRESS LogicalAddress,
+  IN PVOID VirtualAddress,
+  IN BOOLEAN CacheEnabled);
+
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+ULONG
+NTAPI
+HalReadDmaCounter(
+  IN PADAPTER_OBJECT AdapterObject);
+
+#endif
+
 /** Kernel routines **/
 
 NTKERNELAPI
@@ -2861,44 +2918,7 @@ KePulseEvent(
   IN KPRIORITY  Increment,
   IN BOOLEAN  Wait);
 
-NTKERNELAPI
-KAFFINITY
-NTAPI
-KeQueryActiveProcessors(
-    VOID
-);
-
-NTHALAPI
-LARGE_INTEGER
-NTAPI
-KeQueryPerformanceCounter(
-  OUT PLARGE_INTEGER  PerformanceFrequency  OPTIONAL);
-
-NTKERNELAPI
-KPRIORITY
-NTAPI
-KeQueryPriorityThread(
-  IN PRKTHREAD  Thread);
-
-NTKERNELAPI
-ULONG
-NTAPI
-KeQueryRuntimeThread(
-  IN PKTHREAD Thread,
-  OUT PULONG UserTime);
-
 #if !defined(_M_AMD64)
-NTKERNELAPI
-ULONGLONG
-NTAPI
-KeQueryInterruptTime(
-  VOID);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeQuerySystemTime(
-  OUT PLARGE_INTEGER  CurrentTime);
 
 NTKERNELAPI
 VOID
@@ -2907,140 +2927,6 @@ KeQueryTickCount(
   OUT PLARGE_INTEGER  TickCount);
 #endif
 
-NTKERNELAPI
-ULONG
-NTAPI
-KeQueryTimeIncrement(
-  VOID);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateEvent(
-  IN PRKEVENT  Event);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateMutex(
-  IN PRKMUTEX  Mutex);
-
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateSemaphore(
-  IN PRKSEMAPHORE  Semaphore);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeReadStateTimer(
-  IN PKTIMER  Timer);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRegisterBugCheckCallback(
-  IN PKBUGCHECK_CALLBACK_RECORD  CallbackRecord,
-  IN PKBUGCHECK_CALLBACK_ROUTINE  CallbackRoutine,
-  IN PVOID  Buffer,
-  IN ULONG  Length,
-  IN PUCHAR  Component);
-
-NTKERNELAPI
-PVOID
-NTAPI
-KeRegisterNmiCallback(
-  IN PNMI_CALLBACK CallbackRoutine,
-  IN PVOID Context
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeDeregisterNmiCallback(
-  IN PVOID Handle
-);
-
-NTKERNELAPI
-VOID
-FASTCALL
-KeReleaseInStackQueuedSpinLockFromDpcLevel(
-  IN PKLOCK_QUEUE_HANDLE  LockHandle);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeReleaseInterruptSpinLock(
-  IN PKINTERRUPT  Interrupt,
-  IN KIRQL  OldIrql);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReleaseMutex(
-  IN PRKMUTEX  Mutex,
-  IN BOOLEAN  Wait);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReleaseSemaphore(
-  IN PRKSEMAPHORE  Semaphore,
-  IN KPRIORITY  Increment,
-  IN LONG  Adjustment,
-  IN BOOLEAN  Wait);
-
-NTKERNELAPI
-PKDEVICE_QUEUE_ENTRY
-NTAPI
-KeRemoveByKeyDeviceQueue(
-  IN PKDEVICE_QUEUE  DeviceQueue,
-  IN ULONG  SortKey);
-
-NTKERNELAPI
-PKDEVICE_QUEUE_ENTRY
-NTAPI
-KeRemoveDeviceQueue(
-  IN PKDEVICE_QUEUE  DeviceQueue);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRemoveEntryDeviceQueue(
-  IN PKDEVICE_QUEUE  DeviceQueue,
-  IN PKDEVICE_QUEUE_ENTRY  DeviceQueueEntry);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRemoveQueueDpc(
-  IN PRKDPC  Dpc);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeResetEvent(
-  IN PRKEVENT  Event);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeRestoreFloatingPointState(
-  IN PKFLOATING_SAVE  FloatSave);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeRevertToUserAffinityThread(VOID);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeSaveFloatingPointState(
-  OUT PKFLOATING_SAVE  FloatSave);
-
 NTKERNELAPI
 LONG
 NTAPI
@@ -3048,125 +2934,12 @@ KeSetBasePriorityThread(
   IN PRKTHREAD  Thread,
   IN LONG  Increment);
 
-NTKERNELAPI
-LONG
-NTAPI
-KeSetEvent(
-  IN PRKEVENT  Event,
-  IN KPRIORITY  Increment,
-  IN BOOLEAN  Wait);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetImportanceDpc(
-  IN PRKDPC  Dpc,
-  IN KDPC_IMPORTANCE  Importance);
-
-NTKERNELAPI
-KPRIORITY
-NTAPI
-KeSetPriorityThread(
-  IN PKTHREAD  Thread,
-  IN KPRIORITY  Priority);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetSystemAffinityThread(
-    IN KAFFINITY Affinity);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetTargetProcessorDpc(
-  IN PRKDPC  Dpc,
-  IN CCHAR  Number);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSetTimer(
-  IN PKTIMER  Timer,
-  IN LARGE_INTEGER  DueTime,
-  IN PKDPC  Dpc  OPTIONAL);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSetTimerEx(
-  IN PKTIMER  Timer,
-  IN LARGE_INTEGER  DueTime,
-  IN LONG  Period  OPTIONAL,
-  IN PKDPC  Dpc  OPTIONAL);
-
 NTKERNELAPI
 VOID
 FASTCALL
 KeSetTimeUpdateNotifyRoutine(
   IN PTIME_UPDATE_NOTIFY_ROUTINE  NotifyRoutine);
 
-NTHALAPI
-VOID
-NTAPI
-KeStallExecutionProcessor(
-  IN ULONG  MicroSeconds);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSynchronizeExecution(
-  IN PKINTERRUPT    Interrupt,
-  IN PKSYNCHRONIZE_ROUTINE  SynchronizeRoutine,
-  IN PVOID  SynchronizeContext);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForMultipleObjects(
-  IN ULONG  Count,
-  IN PVOID  Object[],
-  IN WAIT_TYPE  WaitType,
-  IN KWAIT_REASON  WaitReason,
-  IN KPROCESSOR_MODE  WaitMode,
-  IN BOOLEAN  Alertable,
-  IN PLARGE_INTEGER  Timeout  OPTIONAL,
-  IN PKWAIT_BLOCK  WaitBlockArray  OPTIONAL);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForMutexObject(
-  IN PRKMUTEX  Mutex,
-  IN KWAIT_REASON  WaitReason,
-  IN KPROCESSOR_MODE  WaitMode,
-  IN BOOLEAN  Alertable,
-  IN PLARGE_INTEGER  Timeout  OPTIONAL);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForSingleObject(
-  IN PVOID  Object,
-  IN KWAIT_REASON  WaitReason,
-  IN KPROCESSOR_MODE  WaitMode,
-  IN BOOLEAN  Alertable,
-  IN PLARGE_INTEGER  Timeout  OPTIONAL);
-
-typedef
-ULONG_PTR
-(NTAPI *PKIPI_BROADCAST_WORKER)(
-    IN ULONG_PTR Argument
-);
-
-NTKERNELAPI
-ULONG_PTR
-NTAPI
-KeIpiGenericCall(
-    IN PKIPI_BROADCAST_WORKER BroadcastFunction,
-    IN ULONG_PTR Context
-);
-
 #if defined(_X86_)
 
 NTHALAPI
@@ -3334,193 +3107,43 @@ KeRaiseIrqlToSynchLevel(
 /** Memory manager routines **/
 
 NTKERNELAPI
-NTSTATUS
+PVOID
 NTAPI
-MmAdvanceMdl(
-  IN PMDL  Mdl,
+MmAllocateNonCachedMemory(
   IN ULONG  NumberOfBytes);
 
 NTKERNELAPI
-PVOID
+VOID
 NTAPI
-MmAllocateContiguousMemory(
-  IN ULONG  NumberOfBytes,
-  IN PHYSICAL_ADDRESS  HighestAcceptableAddress);
+MmFreeNonCachedMemory(
+  IN PVOID  BaseAddress,
+  IN SIZE_T  NumberOfBytes);
 
 NTKERNELAPI
-PVOID
+PHYSICAL_ADDRESS
 NTAPI
-MmAllocateContiguousMemorySpecifyCache(
-  IN SIZE_T  NumberOfBytes,
-  IN PHYSICAL_ADDRESS  LowestAcceptableAddress,
-  IN PHYSICAL_ADDRESS  HighestAcceptableAddress,
-  IN PHYSICAL_ADDRESS  BoundaryAddressMultiple  OPTIONAL,
-  IN MEMORY_CACHING_TYPE  CacheType);
+MmGetPhysicalAddress(
+  IN PVOID  BaseAddress);
 
 NTKERNELAPI
-PVOID
+PPHYSICAL_MEMORY_RANGE
 NTAPI
-MmAllocateMappingAddress(
-  IN SIZE_T  NumberOfBytes,
-  IN ULONG  PoolTag);
+MmGetPhysicalMemoryRanges(
+  VOID);
 
 NTKERNELAPI
 PVOID
 NTAPI
-MmAllocateNonCachedMemory(
-  IN ULONG  NumberOfBytes);
+MmGetVirtualForPhysical(
+  IN PHYSICAL_ADDRESS  PhysicalAddress);
 
 NTKERNELAPI
-PMDL
+NTSTATUS
 NTAPI
-MmAllocatePagesForMdl(
-  IN PHYSICAL_ADDRESS  LowAddress,
-  IN PHYSICAL_ADDRESS  HighAddress,
-  IN PHYSICAL_ADDRESS  SkipBytes,
-  IN SIZE_T  TotalBytes);
-
-#if (NTDDI_VERSION >= NTDDI_WS03SP1)
-NTKERNELAPI
-PMDL
-NTAPI
-MmAllocatePagesForMdlEx(
-  IN PHYSICAL_ADDRESS LowAddress,
-  IN PHYSICAL_ADDRESS HighAddress,
-  IN PHYSICAL_ADDRESS SkipBytes,
-  IN SIZE_T TotalBytes,
-  IN MEMORY_CACHING_TYPE CacheType,
-  IN ULONG Flags);
-#endif
-
-NTKERNELAPI
-VOID
-NTAPI
-MmBuildMdlForNonPagedPool(
-  IN OUT PMDL  MemoryDescriptorList);
-
-typedef enum _MMFLUSH_TYPE {
-  MmFlushForDelete,
-  MmFlushForWrite
-} MMFLUSH_TYPE;
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmFlushImageSection(
-  IN PSECTION_OBJECT_POINTERS  SectionObjectPointer,
-  IN MMFLUSH_TYPE  FlushType);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreeContiguousMemory(
-  IN PVOID  BaseAddress);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreeContiguousMemorySpecifyCache(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes,
-  IN MEMORY_CACHING_TYPE  CacheType);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreeMappingAddress(
-  IN PVOID  BaseAddress,
-  IN ULONG  PoolTag);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreeNonCachedMemory(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreePagesFromMdl(
-  IN PMDL  MemoryDescriptorList);
-
-/*
- * ULONG
- * MmGetMdlByteCount(
- *   IN PMDL  Mdl)
- */
-#define MmGetMdlByteCount(_Mdl) \
-  ((_Mdl)->ByteCount)
-
-/*
- * ULONG
- * MmGetMdlByteOffset(
- *   IN PMDL  Mdl)
- */
-#define MmGetMdlByteOffset(_Mdl) \
-  ((_Mdl)->ByteOffset)
-
-/*
- * PPFN_NUMBER
- * MmGetMdlPfnArray(
- *   IN PMDL  Mdl)
- */
-#define MmGetMdlPfnArray(_Mdl) \
-  ((PPFN_NUMBER) ((_Mdl) + 1))
-
-/*
- * PVOID
- * MmGetMdlVirtualAddress(
- *   IN PMDL  Mdl)
- */
-#define MmGetMdlVirtualAddress(_Mdl) \
-  ((PVOID) ((PCHAR) ((_Mdl)->StartVa) + (_Mdl)->ByteOffset))
-
-NTKERNELAPI
-PHYSICAL_ADDRESS
-NTAPI
-MmGetPhysicalAddress(
-  IN PVOID  BaseAddress);
-
-NTKERNELAPI
-PPHYSICAL_MEMORY_RANGE
-NTAPI
-MmGetPhysicalMemoryRanges(
-  VOID);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmGetVirtualForPhysical(
-  IN PHYSICAL_ADDRESS  PhysicalAddress);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmMapLockedPagesSpecifyCache(
-  IN PMDL  MemoryDescriptorList,
-  IN KPROCESSOR_MODE  AccessMode,
-  IN MEMORY_CACHING_TYPE  CacheType,
-  IN PVOID  BaseAddress,
-  IN ULONG  BugCheckOnFailure,
-  IN MM_PAGE_PRIORITY  Priority);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmMapLockedPagesWithReservedMapping(
-  IN PVOID  MappingAddress,
-  IN ULONG  PoolTag,
-  IN PMDL  MemoryDescriptorList,
-  IN MEMORY_CACHING_TYPE  CacheType);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapUserAddressesToPage(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes,
-  IN PVOID  PageAddress);
+MmMapUserAddressesToPage(
+  IN PVOID  BaseAddress,
+  IN SIZE_T  NumberOfBytes,
+  IN PVOID  PageAddress);
 
 NTKERNELAPI
 PVOID
@@ -3560,12 +3183,6 @@ MmMarkPhysicalMemoryAsGood(
   IN PPHYSICAL_ADDRESS  StartAddress,
   IN OUT PLARGE_INTEGER  NumberOfBytes);
 
-NTKERNELAPI
-PVOID
-NTAPI
-MmGetSystemRoutineAddress(
-  IN PUNICODE_STRING  SystemRoutineName);
-
 /*
  * ULONG
  * ADDRESS_AND_SIZE_TO_SPAN_PAGES(
@@ -3577,56 +3194,18 @@ MmGetSystemRoutineAddress(
   ((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
     + (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
 
-/*
- * VOID
- * MmInitializeMdl(
- *   IN PMDL  MemoryDescriptorList,
- *   IN PVOID  BaseVa,
- *   IN SIZE_T  Length)
- */
-#define MmInitializeMdl(_MemoryDescriptorList, \
-                        _BaseVa, \
-                        _Length) \
-{ \
-  (_MemoryDescriptorList)->Next = (PMDL) NULL; \
-  (_MemoryDescriptorList)->Size = (CSHORT) (sizeof(MDL) + \
-    (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES(_BaseVa, _Length))); \
-  (_MemoryDescriptorList)->MdlFlags = 0; \
-  (_MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN(_BaseVa); \
-  (_MemoryDescriptorList)->ByteOffset = BYTE_OFFSET(_BaseVa); \
-  (_MemoryDescriptorList)->ByteCount = (ULONG) _Length; \
-}
-
 NTKERNELAPI
 BOOLEAN
 NTAPI
 MmIsAddressValid(
   IN PVOID  VirtualAddress);
 
-NTKERNELAPI
-LOGICAL
-NTAPI
-MmIsDriverVerifying(
-  IN PDRIVER_OBJECT  DriverObject);
-
 NTKERNELAPI
 BOOLEAN
 NTAPI
 MmIsThisAnNtAsSystem(
   VOID);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmIsVerifierEnabled(
-  OUT PULONG  VerifierFlags);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmLockPagableDataSection(
-  IN PVOID  AddressWithinSection);
-
 NTKERNELAPI
 PVOID
 NTAPI
@@ -3646,21 +3225,6 @@ NTAPI
 MmLockPagableSectionByHandle(
   IN PVOID  ImageSectionHandle);
 
-NTKERNELAPI
-PVOID
-NTAPI
-MmMapIoSpace(
-  IN PHYSICAL_ADDRESS  PhysicalAddress,
-  IN ULONG  NumberOfBytes,
-  IN MEMORY_CACHING_TYPE  CacheEnable);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmMapLockedPages(
-  IN PMDL  MemoryDescriptorList,
-  IN KPROCESSOR_MODE  AccessMode);
-
 NTKERNELAPI
 PVOID
 NTAPI
@@ -3675,35 +3239,6 @@ MmUnlockPageableImageSection(
     IN PVOID ImageSectionHandle
 );
 
-NTKERNELAPI
-PVOID
-NTAPI
-MmPageEntireDriver(
-  IN PVOID  AddressWithinSection);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmProbeAndLockProcessPages(
-  IN OUT PMDL  MemoryDescriptorList,
-  IN PEPROCESS  Process,
-  IN KPROCESSOR_MODE  AccessMode,
-  IN LOCK_OPERATION  Operation);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmProtectMdlSystemAddress(
-  IN PMDL  MemoryDescriptorList,
-  IN ULONG  NewProtect);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnmapLockedPages(
-  IN PVOID  BaseAddress,
-  IN PMDL  MemoryDescriptorList);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -3722,37 +3257,6 @@ NTAPI
 MmUnsecureVirtualMemory(
   IN HANDLE  SecureHandle);
 
-/*
- * VOID
- * MmPrepareMdlForReuse(
- *   IN PMDL  Mdl)
- */
-#define MmPrepareMdlForReuse(_Mdl) \
-{ \
-  if (((_Mdl)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) { \
-    ASSERT(((_Mdl)->MdlFlags & MDL_PARTIAL) != 0); \
-    MmUnmapLockedPages((_Mdl)->MappedSystemVa, (_Mdl)); \
-  } else if (((_Mdl)->MdlFlags & MDL_PARTIAL) == 0) { \
-    ASSERT(((_Mdl)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0); \
-  } \
-}
-
-#define MmGetProcedureAddress(Address) (Address)
-
-NTKERNELAPI
-VOID
-NTAPI
-MmProbeAndLockPages(
-  IN OUT PMDL  MemoryDescriptorList,
-  IN KPROCESSOR_MODE  AccessMode,
-  IN LOCK_OPERATION  Operation);
-
-NTKERNELAPI
-MM_SYSTEMSIZE
-NTAPI
-MmQuerySystemSize(
-  VOID);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -3760,12 +3264,6 @@ MmRemovePhysicalMemory(
   IN PPHYSICAL_ADDRESS  StartAddress,
   IN OUT PLARGE_INTEGER  NumberOfBytes);
 
-NTKERNELAPI
-VOID
-NTAPI
-MmResetDriverPaging(
-  IN PVOID  AddressWithinSection);
-
 NTKERNELAPI
 HANDLE
 NTAPI
@@ -3774,40 +3272,6 @@ MmSecureVirtualMemory(
   IN SIZE_T  Size,
   IN ULONG  ProbeMode);
 
-NTKERNELAPI
-SIZE_T
-NTAPI
-MmSizeOfMdl(
-  IN PVOID  Base,
-  IN SIZE_T  Length);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnlockPagableImageSection(
-  IN PVOID  ImageSectionHandle);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnlockPages(
-  IN PMDL  MemoryDescriptorList);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnmapIoSpace(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnmapReservedMapping(
-  IN PVOID  BaseAddress,
-  IN ULONG  PoolTag,
-  IN PMDL  MemoryDescriptorList);
-
 NTKERNELAPI
 VOID
 NTAPI
@@ -3815,8 +3279,6 @@ MmUnmapVideoDisplay(
   IN PVOID  BaseAddress,
   IN SIZE_T  NumberOfBytes);
 
-
-
 /** Object manager routines **/
 
 NTKERNELAPI
@@ -3835,44 +3297,6 @@ ObDereferenceSecurityDescriptor(
   PSECURITY_DESCRIPTOR  SecurityDescriptor,
   ULONG  Count);
 
-NTKERNELAPI
-LONG_PTR
-FASTCALL
-ObfDereferenceObject(
-  IN PVOID  Object);
-
-/*
- * VOID
- * ObDereferenceObject(
- *   IN PVOID  Object)
- */
-#define ObDereferenceObject ObfDereferenceObject
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObGetObjectSecurity(
-  IN PVOID  Object,
-  OUT PSECURITY_DESCRIPTOR  *SecurityDescriptor,
-  OUT PBOOLEAN  MemoryAllocated);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObInsertObject(
-  IN PVOID  Object,
-  IN PACCESS_STATE  PassedAccessState  OPTIONAL,
-  IN ACCESS_MASK  DesiredAccess,
-  IN ULONG  AdditionalReferences,
-  OUT PVOID*  ReferencedObject  OPTIONAL,
-  OUT PHANDLE  Handle);
-
-NTKERNELAPI
-LONG_PTR
-FASTCALL
-ObfReferenceObject(
-  IN PVOID  Object);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -3880,18 +3304,6 @@ ObLogSecurityDescriptor(
   IN PSECURITY_DESCRIPTOR  InputSecurityDescriptor,
   OUT PSECURITY_DESCRIPTOR  *OutputSecurityDescriptor,
   IN ULONG RefBias);
-/*
- * VOID
- * ObReferenceObject(
- *   IN PVOID  Object)
- */
-#define ObReferenceObject ObfReferenceObject
-
-NTKERNELAPI
-VOID
-NTAPI
-ObMakeTemporaryObject(
-  IN PVOID  Object);
 
 NTKERNELAPI
 NTSTATUS
@@ -3905,36 +3317,6 @@ ObOpenObjectByName(
   IN OUT PVOID  ParseContext  OPTIONAL,
   OUT PHANDLE  Handle);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObOpenObjectByPointer(
-  IN PVOID  Object,
-  IN ULONG  HandleAttributes,
-  IN PACCESS_STATE  PassedAccessState  OPTIONAL,
-  IN ACCESS_MASK  DesiredAccess  OPTIONAL,
-  IN POBJECT_TYPE  ObjectType  OPTIONAL,
-  IN KPROCESSOR_MODE  AccessMode,
-  OUT PHANDLE  Handle);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryObjectAuditingByHandle(
-  IN HANDLE  Handle,
-  OUT PBOOLEAN  GenerateOnClose);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObReferenceObjectByHandle(
-  IN HANDLE  Handle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_TYPE  ObjectType  OPTIONAL,
-  IN KPROCESSOR_MODE  AccessMode,
-  OUT PVOID  *Object,
-  OUT POBJECT_HANDLE_INFORMATION  HandleInformation  OPTIONAL);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -3948,15 +3330,6 @@ ObReferenceObjectByName(
   IN OUT PVOID  ParseContext  OPTIONAL,
   OUT PVOID  *Object);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObReferenceObjectByPointer(
-  IN PVOID  Object,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_TYPE  ObjectType,
-  IN KPROCESSOR_MODE  AccessMode);
-
 NTKERNELAPI
 VOID
 NTAPI
@@ -3964,15 +3337,6 @@ ObReferenceSecurityDescriptor(
   IN PSECURITY_DESCRIPTOR  SecurityDescriptor,
   IN ULONG  Count);
 
-NTKERNELAPI
-VOID
-NTAPI
-ObReleaseObjectSecurity(
-  IN PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  IN BOOLEAN  MemoryAllocated);
-
-
-
 /** Process manager routines **/
 
 NTKERNELAPI
@@ -3983,37 +3347,12 @@ PsCreateSystemProcess(
   IN ACCESS_MASK  DesiredAccess,
   IN POBJECT_ATTRIBUTES  ObjectAttributes);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsCreateSystemThread(
-  OUT PHANDLE  ThreadHandle,
-  IN ULONG  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes  OPTIONAL,
-  IN HANDLE  ProcessHandle  OPTIONAL,
-  OUT PCLIENT_ID  ClientId  OPTIONAL,
-  IN PKSTART_ROUTINE  StartRoutine,
-  IN PVOID  StartContext);
-
-/*
- * PEPROCESS
- * PsGetCurrentProcess(VOID)
- */
-#define PsGetCurrentProcess IoGetCurrentProcess
-
 NTKERNELAPI
 HANDLE
 NTAPI
 PsGetCurrentProcessId(
   VOID);
 
-/*
- * PETHREAD
- * PsGetCurrentThread(VOID)
- */
-#define PsGetCurrentThread() \
-  ((PETHREAD) KeGetCurrentThread())
-
 NTKERNELAPI
 HANDLE
 NTAPI
@@ -4065,64 +3404,10 @@ NTAPI
 PsSetLoadImageNotifyRoutine(
   IN PLOAD_IMAGE_NOTIFY_ROUTINE  NotifyRoutine);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsTerminateSystemThread(
-  IN NTSTATUS  ExitStatus);
-
 extern NTSYSAPI PEPROCESS PsInitialSystemProcess;
 
-
 /** Security reference monitor routines **/
 
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAccessCheck(
-  IN PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  IN PSECURITY_SUBJECT_CONTEXT  SubjectSecurityContext,
-  IN BOOLEAN  SubjectContextLocked,
-  IN ACCESS_MASK  DesiredAccess,
-  IN ACCESS_MASK  PreviouslyGrantedAccess,
-  OUT PPRIVILEGE_SET  *Privileges  OPTIONAL,
-  IN PGENERIC_MAPPING  GenericMapping,
-  IN KPROCESSOR_MODE  AccessMode,
-  OUT PACCESS_MASK  GrantedAccess,
-  OUT PNTSTATUS  AccessStatus);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeAssignSecurity(
-  IN PSECURITY_DESCRIPTOR  ParentDescriptor  OPTIONAL,
-  IN PSECURITY_DESCRIPTOR  ExplicitDescriptor  OPTIONAL,
-  OUT PSECURITY_DESCRIPTOR  *NewDescriptor,
-  IN BOOLEAN  IsDirectoryObject,
-  IN PSECURITY_SUBJECT_CONTEXT  SubjectContext,
-  IN PGENERIC_MAPPING  GenericMapping,
-  IN POOL_TYPE  PoolType);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeAssignSecurityEx(
-  IN PSECURITY_DESCRIPTOR  ParentDescriptor  OPTIONAL,
-  IN PSECURITY_DESCRIPTOR  ExplicitDescriptor  OPTIONAL,
-  OUT PSECURITY_DESCRIPTOR  *NewDescriptor,
-  IN GUID  *ObjectType  OPTIONAL,
-  IN BOOLEAN  IsDirectoryObject,
-  IN ULONG  AutoInheritFlags,
-  IN PSECURITY_SUBJECT_CONTEXT  SubjectContext,
-  IN PGENERIC_MAPPING  GenericMapping,
-  IN POOL_TYPE  PoolType);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeDeassignSecurity(
-  IN OUT PSECURITY_DESCRIPTOR  *SecurityDescriptor);
-
 NTKERNELAPI
 BOOLEAN
 NTAPI
@@ -4130,16 +3415,7 @@ SeSinglePrivilegeCheck(
   LUID  PrivilegeValue,
   KPROCESSOR_MODE  PreviousMode);
 
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeValidSecurityDescriptor(
-  IN ULONG  Length,
-  IN PSECURITY_DESCRIPTOR  SecurityDescriptor);
-
-
-
-/** NtXxx routines **/
+/** NtXxx and ZwXxx routines **/
 
 NTSYSCALLAPI
 NTSTATUS
@@ -4160,10 +3436,6 @@ NtQueryInformationProcess(
   IN ULONG  ProcessInformationLength,
   OUT PULONG  ReturnLength OPTIONAL);
 
-
-
-/** NtXxx and ZwXxx routines **/
-
 NTSYSAPI
 NTSTATUS
 NTAPI
@@ -4177,20 +3449,6 @@ NTAPI
 NtClose(
   IN HANDLE  Handle);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwClose(
-  IN HANDLE  Handle);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateDirectoryObject(
-  OUT PHANDLE  DirectoryHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4211,34 +3469,6 @@ ZwCreateEvent(
   IN EVENT_TYPE  EventType,
   IN BOOLEAN  InitialState);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateFile(
-  OUT PHANDLE  FileHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN PLARGE_INTEGER  AllocationSize  OPTIONAL,
-  IN ULONG  FileAttributes,
-  IN ULONG  ShareAccess,
-  IN ULONG  CreateDisposition,
-  IN ULONG  CreateOptions,
-  IN PVOID  EaBuffer  OPTIONAL,
-  IN ULONG  EaLength);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateKey(
-  OUT PHANDLE  KeyHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes,
-  IN ULONG  TitleIndex,
-  IN PUNICODE_STRING  Class  OPTIONAL,
-  IN ULONG  CreateOptions,
-  OUT PULONG  Disposition  OPTIONAL);
-
 NTSYSAPI
 NTSTATUS
 NTAPI
@@ -4248,19 +3478,6 @@ ZwCreateTimer(
   IN POBJECT_ATTRIBUTES  ObjectAttributes  OPTIONAL,
   IN TIMER_TYPE  TimerType);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteKey(
-  IN HANDLE  KeyHandle);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteValueKey(
-  IN HANDLE  KeyHandle,
-  IN PUNICODE_STRING  ValueName);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4276,55 +3493,6 @@ NtDeviceIoControlFile(
   OUT PVOID  OutputBuffer,
   IN ULONG  OutputBufferSize);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeviceIoControlFile(
-  IN HANDLE  DeviceHandle,
-  IN HANDLE  Event  OPTIONAL,
-  IN PIO_APC_ROUTINE  UserApcRoutine  OPTIONAL,
-  IN PVOID  UserApcContext  OPTIONAL,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN ULONG  IoControlCode,
-  IN PVOID  InputBuffer,
-  IN ULONG  InputBufferSize,
-  OUT PVOID  OutputBuffer,
-  IN ULONG  OutputBufferSize);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwEnumerateKey(
-  IN HANDLE  KeyHandle,
-  IN ULONG  Index,
-  IN KEY_INFORMATION_CLASS  KeyInformationClass,
-  OUT PVOID  KeyInformation,
-  IN ULONG  Length,
-  OUT PULONG  ResultLength);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwEnumerateValueKey(
-  IN HANDLE  KeyHandle,
-  IN ULONG  Index,
-  IN KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  OUT PVOID  KeyValueInformation,
-  IN ULONG  Length,
-  OUT PULONG  ResultLength);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushKey(
-  IN HANDLE  KeyHandle);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwMakeTemporaryObject(
-  IN HANDLE  Handle);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4338,115 +3506,39 @@ NtMapViewOfSection(
   IN OUT PSIZE_T  ViewSize,
   IN SECTION_INHERIT  InheritDisposition,
   IN ULONG  AllocationType,
-  IN ULONG  Protect);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwMapViewOfSection(
-  IN HANDLE  SectionHandle,
-  IN HANDLE  ProcessHandle,
-  IN OUT PVOID  *BaseAddress,
-  IN ULONG_PTR  ZeroBits,
-  IN SIZE_T  CommitSize,
-  IN OUT PLARGE_INTEGER  SectionOffset  OPTIONAL,
-  IN OUT PSIZE_T  ViewSize,
-  IN SECTION_INHERIT  InheritDisposition,
-  IN ULONG  AllocationType,
-  IN ULONG  Protect);
-
-NTSYSCALLAPI
-NTSTATUS
-NTAPI
-NtOpenFile(
-  OUT PHANDLE  FileHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN ULONG  ShareAccess,
-  IN ULONG  OpenOptions);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenFile(
-  OUT PHANDLE  FileHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN ULONG  ShareAccess,
-  IN ULONG  OpenOptions);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenKey(
-  OUT PHANDLE  KeyHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenSection(
-  OUT PHANDLE  SectionHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenSymbolicLinkObject(
-  OUT PHANDLE  LinkHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenTimer(
-  OUT PHANDLE  TimerHandle,
-  IN ACCESS_MASK  DesiredAccess,
-  IN POBJECT_ATTRIBUTES  ObjectAttributes);
+  IN ULONG  Protect);
 
-NTSYSAPI
+NTSYSCALLAPI
 NTSTATUS
 NTAPI
-ZwQueryInformationFile(
-  IN HANDLE  FileHandle,
+NtOpenFile(
+  OUT PHANDLE  FileHandle,
+  IN ACCESS_MASK  DesiredAccess,
+  IN POBJECT_ATTRIBUTES  ObjectAttributes,
   OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  OUT PVOID  FileInformation,
-  IN ULONG  Length,
-  IN FILE_INFORMATION_CLASS  FileInformationClass);
+  IN ULONG  ShareAccess,
+  IN ULONG  OpenOptions);
+
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryKey(
-  IN HANDLE  KeyHandle,
-  IN KEY_INFORMATION_CLASS  KeyInformationClass,
-  OUT PVOID  KeyInformation,
-  IN ULONG  Length,
-  OUT PULONG  ResultLength);
 
 NTSYSAPI
 NTSTATUS
 NTAPI
-ZwQuerySymbolicLinkObject(
-  IN HANDLE  LinkHandle,
-  IN OUT PUNICODE_STRING  LinkTarget,
-  OUT PULONG  ReturnedLength  OPTIONAL);
+ZwOpenFile(
+  OUT PHANDLE  FileHandle,
+  IN ACCESS_MASK  DesiredAccess,
+  IN POBJECT_ATTRIBUTES  ObjectAttributes,
+  OUT PIO_STATUS_BLOCK  IoStatusBlock,
+  IN ULONG  ShareAccess,
+  IN ULONG  OpenOptions);
 
 NTSYSAPI
 NTSTATUS
 NTAPI
-ZwQueryValueKey(
-  IN HANDLE  KeyHandle,
-  IN PUNICODE_STRING  ValueName,
-  IN KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  OUT PVOID  KeyValueInformation,
-  IN ULONG  Length,
-  OUT PULONG  ResultLength);
+ZwOpenTimer(
+  OUT PHANDLE  TimerHandle,
+  IN ACCESS_MASK  DesiredAccess,
+  IN POBJECT_ATTRIBUTES  ObjectAttributes);
 
 NTSYSCALLAPI
 NTSTATUS
@@ -4462,20 +3554,6 @@ NtReadFile(
   IN PLARGE_INTEGER  ByteOffset  OPTIONAL,
   IN PULONG  Key  OPTIONAL);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwReadFile(
-  IN HANDLE  FileHandle,
-  IN HANDLE  Event  OPTIONAL,
-  IN PIO_APC_ROUTINE  ApcRoutine  OPTIONAL,
-  IN PVOID  ApcContext  OPTIONAL,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  OUT PVOID  Buffer,
-  IN ULONG  Length,
-  IN PLARGE_INTEGER  ByteOffset  OPTIONAL,
-  IN PULONG  Key  OPTIONAL);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4490,16 +3568,6 @@ ZwSetEvent(
   IN HANDLE  EventHandle,
   OUT PLONG  PreviousState  OPTIONAL);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationFile(
-  IN HANDLE  FileHandle,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN PVOID  FileInformation,
-  IN ULONG  Length,
-  IN FILE_INFORMATION_CLASS  FileInformationClass);
-
 NTSYSAPI
 NTSTATUS
 NTAPI
@@ -4521,17 +3589,6 @@ ZwSetTimer(
   IN LONG  Period  OPTIONAL,
   OUT PBOOLEAN  PreviousState  OPTIONAL);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetValueKey(
-  IN HANDLE  KeyHandle,
-  IN PUNICODE_STRING  ValueName,
-  IN ULONG  TitleIndex  OPTIONAL,
-  IN ULONG  Type,
-  IN PVOID  Data,
-  IN ULONG  DataSize);
-
 /* [Nt|Zw]MapViewOfSection.InheritDisposition constants */
 #define AT_EXTENDABLE_FILE                0x00002000
 #define AT_RESERVED                       0x20000000
@@ -4544,13 +3601,6 @@ NtUnmapViewOfSection(
   IN HANDLE  ProcessHandle,
   IN PVOID  BaseAddress);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnmapViewOfSection(
-  IN HANDLE  ProcessHandle,
-  IN PVOID  BaseAddress);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4559,14 +3609,6 @@ NtWaitForSingleObject(
   IN BOOLEAN  Alertable,
   IN PLARGE_INTEGER  TimeOut  OPTIONAL);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForSingleObject(
-  IN HANDLE  ObjectHandle,
-  IN BOOLEAN  Alertable,
-  IN PLARGE_INTEGER  TimeOut  OPTIONAL);
-
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -4581,101 +3623,14 @@ NtWriteFile(
   IN PLARGE_INTEGER  ByteOffset  OPTIONAL,
   IN PULONG  Key  OPTIONAL);
 
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWriteFile(
-  IN HANDLE  FileHandle,
-  IN HANDLE  Event  OPTIONAL,
-  IN PIO_APC_ROUTINE  ApcRoutine  OPTIONAL,
-  IN PVOID  ApcContext  OPTIONAL,
-  OUT PIO_STATUS_BLOCK  IoStatusBlock,
-  IN PVOID  Buffer,
-  IN ULONG  Length,
-  IN PLARGE_INTEGER  ByteOffset  OPTIONAL,
-  IN PULONG  Key  OPTIONAL);
-
-
-
 /** Power management support routines **/
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PoCallDriver(
-  IN PDEVICE_OBJECT  DeviceObject,
-  IN OUT PIRP  Irp);
-
-NTKERNELAPI
-PULONG
-NTAPI
-PoRegisterDeviceForIdleDetection(
-  IN PDEVICE_OBJECT  DeviceObject,
-  IN ULONG  ConservationIdleTime,
-  IN ULONG  PerformanceIdleTime,
-  IN DEVICE_POWER_STATE  State);
-
-NTKERNELAPI
-PVOID
-NTAPI
-PoRegisterSystemState(
-  IN PVOID  StateHandle,
-  IN EXECUTION_STATE  Flags);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PoRequestPowerIrp(
-  IN PDEVICE_OBJECT  DeviceObject,
-  IN UCHAR  MinorFunction,
-  IN POWER_STATE  PowerState,
-  IN PREQUEST_POWER_COMPLETE  CompletionFunction,
-  IN PVOID  Context,
-  OUT PIRP  *Irp OPTIONAL);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoRequestShutdownEvent(
   OUT PVOID  *Event);
 
-NTKERNELAPI
-VOID
-NTAPI
-PoSetDeviceBusy(
-  PULONG  IdlePointer);
-
-#define PoSetDeviceBusy(IdlePointer) \
- ((void)(*(IdlePointer) = 0))
-
-NTKERNELAPI
-POWER_STATE
-NTAPI
-PoSetPowerState(
-  IN PDEVICE_OBJECT  DeviceObject,
-  IN POWER_STATE_TYPE  Type,
-  IN POWER_STATE  State);
-
-NTKERNELAPI
-VOID
-NTAPI
-PoSetSystemState(
-  IN EXECUTION_STATE  Flags);
-
-NTKERNELAPI
-VOID
-NTAPI
-PoStartNextPowerIrp(
-  IN PIRP  Irp);
-
-NTKERNELAPI
-VOID
-NTAPI
-PoUnregisterSystemState(
-  IN PVOID  StateHandle);
-
-
-
 /** WMI library support routines **/
 
 NTSTATUS
@@ -4696,16 +3651,6 @@ WmiFireEvent(
   IN ULONG  EventDataSize,
   IN PVOID  EventData);
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-WmiQueryTraceInformation(
-  IN TRACE_INFORMATION_CLASS  TraceInformationClass,
-  OUT PVOID  TraceInformation,
-  IN ULONG  TraceInformationLength,
-  OUT PULONG  RequiredLength OPTIONAL,
-  IN PVOID  Buffer OPTIONAL);
-
 NTSTATUS
 NTAPI
 WmiSystemControl(
@@ -4714,114 +3659,8 @@ WmiSystemControl(
   IN PIRP  Irp,
   OUT PSYSCTL_IRP_DISPOSITION  IrpDisposition);
 
-NTKERNELAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessage(
-  IN TRACEHANDLE  LoggerHandle,
-  IN ULONG  MessageFlags,
-  IN LPGUID  MessageGuid,
-  IN USHORT  MessageNumber,
-  IN ...);
-
-#if 0
-/* FIXME: Get va_list from where? */
-NTKERNELAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessageVa(
-  IN TRACEHANDLE  LoggerHandle,
-  IN ULONG  MessageFlags,
-  IN LPGUID  MessageGuid,
-  IN USHORT  MessageNumber,
-  IN va_list  MessageArgList);
-#endif
-
-
 /** Kernel debugger routines **/
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KdDisableDebugger(
-  VOID);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KdEnableDebugger(
-  VOID);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KdRefreshDebuggerNotPresent(
-    VOID
-);
-
-#if (NTDDI_VERSION >= NTDDI_WS03SP1)
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KdChangeOption(
-  IN KD_OPTION Option,
-  IN ULONG InBufferBytes OPTIONAL,
-  IN PVOID InBuffer,
-  IN ULONG OutBufferBytes OPTIONAL,
-  OUT PVOID OutBuffer,
-  OUT PULONG OutBufferNeeded OPTIONAL);
-#endif
-
-VOID
-NTAPI
-DbgBreakPoint(
-  VOID);
-
-NTSYSAPI
-VOID
-NTAPI
-DbgBreakPointWithStatus(
-  IN ULONG  Status);
-
-ULONG
-DDKCDECLAPI
-DbgPrint(
-  IN PCCH  Format,
-  IN ...);
-
-NTSYSAPI
-ULONG
-DDKCDECLAPI
-DbgPrintEx(
-  IN ULONG  ComponentId,
-  IN ULONG  Level,
-  IN PCCH  Format,
-  IN ...);
-
-ULONG
-NTAPI
-vDbgPrintEx(
-  IN ULONG ComponentId,
-  IN ULONG Level,
-  IN PCCH Format,
-  IN va_list ap);
-
-ULONG
-NTAPI
-vDbgPrintExWithPrefix(
-  IN PCCH Prefix,
-  IN ULONG ComponentId,
-  IN ULONG Level,
-  IN PCCH Format,
-  IN va_list ap);
-
-NTKERNELAPI
-ULONG
-DDKCDECLAPI
-DbgPrintReturnControlC(
-  IN PCCH  Format,
-  IN ...);
-
 ULONG
 NTAPI
 DbgPrompt(
@@ -4830,110 +3669,8 @@ DbgPrompt(
     IN ULONG MaximumResponseLength
 );
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-DbgQueryDebugFilterState(
-  IN ULONG  ComponentId,
-  IN ULONG  Level);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-DbgSetDebugFilterState(
-  IN ULONG  ComponentId,
-  IN ULONG  Level,
-  IN BOOLEAN  State);
-
-#if DBG
-
-#define KdPrint(_x_) DbgPrint _x_
-#define KdPrintEx(_x_) DbgPrintEx _x_
-#define KdBreakPoint() DbgBreakPoint()
-#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
-
-#else /* !DBG */
-
-#define KdPrint(_x_)
-#define KdPrintEx(_x_)
-#define KdBreakPoint()
-#define KdBreakPointWithStatus(s)
-
-#endif /* !DBG */
-
-#if defined(__GNUC__)
-
-extern NTKERNELAPI BOOLEAN KdDebuggerNotPresent;
-extern NTKERNELAPI BOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED     KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
-
-#elif defined(_NTDDK_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_)
-
-extern NTKERNELAPI PBOOLEAN KdDebuggerNotPresent;
-extern NTKERNELAPI PBOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED     *KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
-
-#else
-
-extern BOOLEAN KdDebuggerNotPresent;
-extern BOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED     KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
-
-#endif
-
 /** Stuff from winnt4.h */
 
-#ifndef DMA_MACROS_DEFINED
-
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
-
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-BOOLEAN
-NTAPI
-IoFlushAdapterBuffers(
-    IN PADAPTER_OBJECT AdapterObject,
-    IN PMDL Mdl,
-    IN PVOID MapRegisterBase,
-    IN PVOID CurrentVa,
-    IN ULONG Length,
-    IN BOOLEAN WriteToDevice);
-
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-VOID
-NTAPI
-IoFreeAdapterChannel(
-    IN PADAPTER_OBJECT AdapterObject);
-
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-VOID
-NTAPI
-IoFreeMapRegisters(
-    IN PADAPTER_OBJECT AdapterObject,
-    IN PVOID MapRegisterBase,
-    IN ULONG NumberOfMapRegisters);
-
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-PHYSICAL_ADDRESS
-NTAPI
-IoMapTransfer(
-    IN PADAPTER_OBJECT AdapterObject,
-    IN PMDL Mdl,
-    IN PVOID MapRegisterBase,
-    IN PVOID CurrentVa,
-    IN OUT PULONG Length,
-    IN BOOLEAN WriteToDevice);
-
-
-#endif // (NTDDI_VERSION >= NTDDI_WIN2K)
-#endif // !defined(DMA_MACROS_DEFINED)
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -4984,6 +3721,7 @@ RtlLargeIntegerDivide(
   IN OUT PLARGE_INTEGER  Remainder);
 #endif
 
+#ifndef _X86_
 NTKERNELAPI
 INTERLOCKED_RESULT
 NTAPI
@@ -5005,6 +3743,7 @@ NTAPI
 ExInterlockedIncrementLong(
   IN PLONG  Addend,
   IN PKSPIN_LOCK  Lock);
+#endif
 
 NTHALAPI
 VOID
@@ -5021,15 +3760,6 @@ HalAllocateAdapterChannel(
   IN ULONG  NumberOfMapRegisters,
   IN PDRIVER_CONTROL  ExecutionRoutine);
 
-NTHALAPI
-PVOID
-NTAPI
-HalAllocateCommonBuffer(
-  IN PADAPTER_OBJECT  AdapterObject,
-  IN ULONG  Length,
-  OUT PPHYSICAL_ADDRESS  LogicalAddress,
-  IN BOOLEAN  CacheEnabled);
-
 NTHALAPI
 NTSTATUS
 NTAPI
@@ -5043,16 +3773,6 @@ HalAssignSlotResources(
   IN ULONG  SlotNumber,
   IN OUT PCM_RESOURCE_LIST  *AllocatedResources);
 
-NTHALAPI
-VOID
-NTAPI
-HalFreeCommonBuffer(
-  IN PADAPTER_OBJECT  AdapterObject,
-  IN ULONG  Length,
-  IN PHYSICAL_ADDRESS  LogicalAddress,
-  IN PVOID  VirtualAddress,
-  IN BOOLEAN  CacheEnabled);
-
 NTHALAPI
 PADAPTER_OBJECT
 NTAPI
@@ -5098,12 +3818,6 @@ HalGetInterruptVector(
   OUT PKIRQL  Irql,
   OUT PKAFFINITY  Affinity);
 
-NTHALAPI
-ULONG
-NTAPI
-HalReadDmaCounter(
-  IN PADAPTER_OBJECT  AdapterObject);
-
 NTHALAPI
 ULONG
 NTAPI
@@ -5255,7 +3969,7 @@ NTKERNELAPI
 INTERLOCKED_RESULT
 FASTCALL
 Exfi386InterlockedIncrementLong(
-  IN PLONG  Addend);
+  IN OUT PLONG  volatile Addend);
 
 NTKERNELAPI
 INTERLOCKED_RESULT
@@ -5270,12 +3984,8 @@ 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 _M_ARM
 //
 // NT-ARM is not documented