[NTDDK]
authorAmine Khaldi <amine.khaldi@reactos.org>
Wed, 10 Mar 2010 23:45:06 +0000 (23:45 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Wed, 10 Mar 2010 23:45:06 +0000 (23:45 +0000)
- Move several ntddk.h related definition from winddk.h
- Group related definitions
- MmAllocateNonCachedMemory : ULONG NumberOfBytes -> SIZE_T NumberOfBytes
- DbgPrompt : Add NTSYSAPI and MaximumResponseLength -> Length
- RtlLargeIntegerDivide : static __inline -> __inline

svn path=/branches/header-work/; revision=46085

include/ddk/ntddk.h
include/ddk/winddk.h

index 18f8c48..401902d 100644 (file)
@@ -211,162 +211,6 @@ typedef POSVERSIONINFOA POSVERSIONINFO;
 typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
 #endif /* UNICODE */
 
-typedef struct _RTL_SPLAY_LINKS {
-  struct _RTL_SPLAY_LINKS *Parent;
-  struct _RTL_SPLAY_LINKS *LeftChild;
-  struct _RTL_SPLAY_LINKS *RightChild;
-} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
-
-#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
-
-#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
-    *CallersAddress = (PVOID)_ReturnAddress(); \
-    *CallersCaller = NULL;
-#else
-
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
-NTSYSAPI
-VOID
-NTAPI
-RtlGetCallersAddress(
-  OUT PVOID *CallersAddress,
-  OUT PVOID *CallersCaller);
-#endif
-
-#endif
-
-#if !defined(MIDL_PASS)
-
-FORCEINLINE
-LUID
-NTAPI_INLINE
-RtlConvertLongToLuid(
-  IN LONG Val)
-{
-  LUID Luid;
-  LARGE_INTEGER Temp;
-
-  Temp.QuadPart = Val;
-  Luid.LowPart = Temp.u.LowPart;
-  Luid.HighPart = Temp.u.HighPart;
-  return Luid;
-}
-
-FORCEINLINE
-LUID
-NTAPI_INLINE
-RtlConvertUlongToLuid(
-  IN ULONG Val)
-{
-  LUID Luid;
-
-  Luid.LowPart = Val;
-  Luid.HighPart = 0;
-  return Luid;
-}
-
-#endif
-
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlPrefixUnicodeString(
-  IN PCUNICODE_STRING  String1,
-  IN PCUNICODE_STRING  String2,
-  IN BOOLEAN  CaseInSensitive);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlUpperString(
-  IN OUT PSTRING  DestinationString,
-  IN const PSTRING  SourceString);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlUpcaseUnicodeString(
-  IN OUT PUNICODE_STRING DestinationString,
-  IN PCUNICODE_STRING  SourceString,
-  IN BOOLEAN  AllocateDestinationString);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlMapGenericMask(
-  IN OUT PACCESS_MASK AccessMask,
-  IN PGENERIC_MAPPING GenericMapping);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlVolumeDeviceToDosName(
-  IN PVOID VolumeDeviceObject,
-  OUT PUNICODE_STRING DosName);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetVersion(
-  IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlVerifyVersionInfo(
-  IN PRTL_OSVERSIONINFOEXW VersionInfo,
-  IN ULONG TypeMask,
-  IN ULONGLONG ConditionMask);
-
-NTSYSAPI
-LONG
-NTAPI
-RtlCompareString(
-  IN const PSTRING String1,
-  IN const PSTRING String2,
-  BOOLEAN CaseInSensitive);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlCopyString(
-  OUT PSTRING DestinationString,
-  IN const PSTRING SourceString OPTIONAL);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlEqualString(
-  IN const PSTRING String1,
-  IN const PSTRING String2,
-  IN BOOLEAN CaseInSensitive);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCharToInteger(
-  IN PCSZ String,
-  IN ULONG Base OPTIONAL,
-  OUT PULONG Value);
-
-NTSYSAPI
-CHAR
-NTAPI
-RtlUpperChar(
-  IN CHAR Character);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlWalkFrameChain(
-  OUT PVOID *Callers,
-  IN ULONG Count,
-  IN ULONG Flags);
-
-#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
-
 /* Executive Types */
 
 #define PROTECTED_POOL                    0x80000000
@@ -596,6 +440,7 @@ VOID
 typedef DRIVER_REINITIALIZE *PDRIVER_REINITIALIZE;
 
 /** Filesystem runtime library routines **/
+
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 NTKERNELAPI
 BOOLEAN
@@ -604,96 +449,295 @@ FsRtlIsTotalDeviceFailure(
   IN NTSTATUS Status);
 #endif
 
-/* I/O Manager Functions */
-
-/*
- * VOID IoAssignArcName(
- *   IN PUNICODE_STRING  ArcName,
- *   IN PUNICODE_STRING  DeviceName);
- */
-#define IoAssignArcName(_ArcName, _DeviceName) ( \
-  IoCreateSymbolicLink((_ArcName), (_DeviceName)))
+/* Hardware abstraction layer routines */
 
-/*
- * VOID
- * IoDeassignArcName(
- *   IN PUNICODE_STRING  ArcName)
- */
-#define IoDeassignArcName IoDeleteSymbolicLink
+#if !defined(NO_LEGACY_DRIVERS)
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 
-#if !(defined(USE_DMA_MACROS) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_))
-NTKERNELAPI
+NTHALAPI
 NTSTATUS
 NTAPI
-IoAllocateAdapterChannel(
-  IN PADAPTER_OBJECT AdapterObject,
+HalAssignSlotResources(
+  IN PUNICODE_STRING RegistryPath,
+  IN PUNICODE_STRING DriverClassName,
+  IN PDRIVER_OBJECT DriverObject,
   IN PDEVICE_OBJECT DeviceObject,
-  IN ULONG NumberOfMapRegisters,
-  IN PDRIVER_CONTROL ExecutionRoutine,
-  IN PVOID Context);
-#endif
+  IN INTERFACE_TYPE BusType,
+  IN ULONG BusNumber,
+  IN ULONG SlotNumber,
+  IN OUT PCM_RESOURCE_LIST *AllocatedResources);
 
-//DECLSPEC_DEPRECATED_DDK
 NTHALAPI
-PHYSICAL_ADDRESS
+ULONG
 NTAPI
-IoMapTransfer(
-  IN PADAPTER_OBJECT AdapterObject,
-  IN PMDL Mdl,
-  IN PVOID MapRegisterBase,
-  IN PVOID CurrentVa,
-  IN OUT PULONG Length,
-  IN BOOLEAN WriteToDevice);
+HalGetInterruptVector(
+  IN INTERFACE_TYPE InterfaceType,
+  IN ULONG BusNumber,
+  IN ULONG BusInterruptLevel,
+  IN ULONG BusInterruptVector,
+  OUT PKIRQL Irql,
+  OUT PKAFFINITY Affinity);
 
-NTKERNELAPI
-VOID
+NTHALAPI
+ULONG
 NTAPI
-IoAllocateController(
-  IN PCONTROLLER_OBJECT ControllerObject,
-  IN PDEVICE_OBJECT DeviceObject,
-  IN PDRIVER_CONTROL ExecutionRoutine,
-  IN PVOID Context OPTIONAL);
+HalSetBusData(
+  IN BUS_DATA_TYPE BusDataType,
+  IN ULONG BusNumber,
+  IN ULONG SlotNumber,
+  IN PVOID Buffer,
+  IN ULONG Length);
 
-NTKERNELAPI
-PCONTROLLER_OBJECT
-NTAPI
-IoCreateController(
-  IN ULONG Size);
+#endif
 
-NTKERNELAPI
-VOID
-NTAPI
-IoDeleteController(
-  IN PCONTROLLER_OBJECT ControllerObject);
+#endif /* !defined(NO_LEGACY_DRIVERS) */
 
-NTKERNELAPI
-VOID
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+
+NTHALAPI
+PADAPTER_OBJECT
 NTAPI
-IoFreeController(
-  IN PCONTROLLER_OBJECT ControllerObject);
+HalGetAdapter(
+  IN PDEVICE_DESCRIPTION DeviceDescription,
+  IN OUT PULONG NumberOfMapRegisters);
 
-NTKERNELAPI
-PCONFIGURATION_INFORMATION
+NTHALAPI
+BOOLEAN
 NTAPI
-IoGetConfigurationInformation(
-  VOID);
+HalMakeBeep(
+  IN ULONG Frequency);
 
-NTKERNELAPI
-PDEVICE_OBJECT
+VOID
 NTAPI
-IoGetDeviceToVerify(
-  IN PETHREAD Thread);
+HalPutDmaAdapter(
+  IN PADAPTER_OBJECT DmaAdapter);
 
-NTKERNELAPI
+NTHALAPI
 VOID
 NTAPI
-IoCancelFileOpen(
-  IN PDEVICE_OBJECT DeviceObject,
-  IN PFILE_OBJECT FileObject);
+HalAcquireDisplayOwnership(
+  IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
 
-NTKERNELAPI
+NTHALAPI
+ULONG
+NTAPI
+HalGetBusData(
+  IN BUS_DATA_TYPE BusDataType,
+  IN ULONG BusNumber,
+  IN ULONG SlotNumber,
+  OUT PVOID Buffer,
+  IN ULONG Length);
+
+NTHALAPI
+ULONG
+NTAPI
+HalGetBusDataByOffset(
+  IN BUS_DATA_TYPE BusDataType,
+  IN ULONG BusNumber,
+  IN ULONG SlotNumber,
+  OUT PVOID Buffer,
+  IN ULONG Offset,
+  IN ULONG Length);
+
+NTHALAPI
+ULONG
+NTAPI
+HalSetBusDataByOffset(
+  IN BUS_DATA_TYPE BusDataType,
+  IN ULONG BusNumber,
+  IN ULONG SlotNumber,
+  IN PVOID Buffer,
+  IN ULONG Offset,
+  IN ULONG Length);
+
+NTHALAPI
+BOOLEAN
+NTAPI
+HalTranslateBusAddress(
+  IN INTERFACE_TYPE InterfaceType,
+  IN ULONG BusNumber,
+  IN PHYSICAL_ADDRESS BusAddress,
+  IN OUT PULONG AddressSpace,
+  OUT PPHYSICAL_ADDRESS TranslatedAddress);
+
+#endif
+
+#if (NTDDI_VERSION >= NTDDI_WINXP)
+NTKERNELAPI
+VOID
+FASTCALL
+HalExamineMBR(
+  IN PDEVICE_OBJECT DeviceObject,
+  IN ULONG SectorSize,
+  IN ULONG MBRTypeIdentifier,
+  OUT PVOID *Buffer);
+#endif
+
+#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_) 
+// nothing here
+#else
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+//DECLSPEC_DEPRECATED_DDK
+NTHALAPI
+VOID
+NTAPI
+IoFreeAdapterChannel(
+  IN PADAPTER_OBJECT AdapterObject);
+
+//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,
+  OUT 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);
+
+NTHALAPI
+NTSTATUS
+NTAPI
+HalAllocateAdapterChannel(
+  IN PADAPTER_OBJECT  AdapterObject,
+  IN PWAIT_CONTEXT_BLOCK  Wcb,
+  IN ULONG  NumberOfMapRegisters,
+  IN PDRIVER_CONTROL  ExecutionRoutine);
+
+#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
+
+#endif /* defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_)  */
+
+/* I/O Manager Functions */
+
+/*
+ * VOID IoAssignArcName(
+ *   IN PUNICODE_STRING  ArcName,
+ *   IN PUNICODE_STRING  DeviceName);
+ */
+#define IoAssignArcName(_ArcName, _DeviceName) ( \
+  IoCreateSymbolicLink((_ArcName), (_DeviceName)))
+
+/*
+ * VOID
+ * IoDeassignArcName(
+ *   IN PUNICODE_STRING  ArcName)
+ */
+#define IoDeassignArcName IoDeleteSymbolicLink
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+
+#if !(defined(USE_DMA_MACROS) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_))
+NTKERNELAPI
+NTSTATUS
+NTAPI
+IoAllocateAdapterChannel(
+  IN PADAPTER_OBJECT AdapterObject,
+  IN PDEVICE_OBJECT DeviceObject,
+  IN ULONG NumberOfMapRegisters,
+  IN PDRIVER_CONTROL ExecutionRoutine,
+  IN PVOID Context);
+#endif
+
+//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);
+
+NTKERNELAPI
+VOID
+NTAPI
+IoAllocateController(
+  IN PCONTROLLER_OBJECT ControllerObject,
+  IN PDEVICE_OBJECT DeviceObject,
+  IN PDRIVER_CONTROL ExecutionRoutine,
+  IN PVOID Context OPTIONAL);
+
+NTKERNELAPI
+PCONTROLLER_OBJECT
+NTAPI
+IoCreateController(
+  IN ULONG Size);
+
+NTKERNELAPI
+VOID
+NTAPI
+IoDeleteController(
+  IN PCONTROLLER_OBJECT ControllerObject);
+
+NTKERNELAPI
+VOID
+NTAPI
+IoFreeController(
+  IN PCONTROLLER_OBJECT ControllerObject);
+
+NTKERNELAPI
+PCONFIGURATION_INFORMATION
+NTAPI
+IoGetConfigurationInformation(
+  VOID);
+
+NTKERNELAPI
+PDEVICE_OBJECT
+NTAPI
+IoGetDeviceToVerify(
+  IN PETHREAD Thread);
+
+NTKERNELAPI
+VOID
+NTAPI
+IoCancelFileOpen(
+  IN PDEVICE_OBJECT DeviceObject,
+  IN PFILE_OBJECT FileObject);
+
+NTKERNELAPI
 PGENERIC_MAPPING
 NTAPI
 IoGetFileObjectGenericMapping(
@@ -804,6 +848,17 @@ IoSetHardErrorOrVerifyDevice(
   IN PIRP Irp,
   IN PDEVICE_OBJECT DeviceObject);
 
+NTKERNELAPI
+NTSTATUS
+NTAPI
+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 OPTIONAL,
+  IN OUT PCM_RESOURCE_LIST *AllocatedResources);
+
 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
 
 #if (NTDDI_VERSION >= NTDDI_WINXP)
@@ -901,6 +956,16 @@ IoWritePartitionTableEx(
 
 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
 
+/** Kernel debugger routines **/
+
+NTSYSAPI
+ULONG
+NTAPI
+DbgPrompt(
+  IN PCCH Prompt,
+  OUT PCH Response,
+  IN ULONG MaximumResponseLength);
+
 /* Kernel Functions */
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
@@ -952,70 +1017,143 @@ NTAPI
 MmGetPhysicalAddress(
   IN PVOID BaseAddress);
 
-#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
+NTKERNELAPI
+BOOLEAN
+NTAPI
+MmIsNonPagedSystemAddressValid(
+  IN PVOID VirtualAddress);
 
-/* Security reference monitor routines */
+NTKERNELAPI
+PVOID
+NTAPI
+MmAllocateNonCachedMemory(
+  IN SIZE_T NumberOfBytes);
 
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
 NTKERNELAPI
-BOOLEAN
+VOID
 NTAPI
-SeSinglePrivilegeCheck(
-  IN LUID PrivilegeValue,
-  IN KPROCESSOR_MODE PreviousMode);
-#endif
+MmFreeNonCachedMemory(
+  IN PVOID BaseAddress,
+  IN SIZE_T NumberOfBytes);
 
-/* Hardware abstraction layer routines */
+NTKERNELAPI
+PVOID
+NTAPI
+MmGetVirtualForPhysical(
+  IN PHYSICAL_ADDRESS PhysicalAddress);
 
-#if !defined(NO_LEGACY_DRIVERS)
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
-NTHALAPI
+NTKERNELAPI
 NTSTATUS
 NTAPI
-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);
-#endif
-#endif
+MmMapUserAddressesToPage(
+  IN PVOID BaseAddress,
+  IN SIZE_T NumberOfBytes,
+  IN PVOID PageAddress);
 
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
+NTKERNELAPI
+PVOID
+NTAPI
+MmMapVideoDisplay(
+  IN PHYSICAL_ADDRESS PhysicalAddress,
+  IN SIZE_T NumberOfBytes,
+  IN MEMORY_CACHING_TYPE CacheType);
 
-NTHALAPI
-PADAPTER_OBJECT
+NTKERNELAPI
+NTSTATUS
 NTAPI
-HalGetAdapter(
-  IN PDEVICE_DESCRIPTION DeviceDescription,
-  IN OUT PULONG NumberOfMapRegisters);
+MmMapViewInSessionSpace(
+  IN PVOID Section,
+  OUT PVOID *MappedBase,
+  IN OUT PSIZE_T ViewSize);
 
-NTHALAPI
+NTKERNELAPI
+NTSTATUS
+NTAPI
+MmMapViewInSystemSpace(
+  IN PVOID Section,
+  OUT PVOID *MappedBase,
+  IN OUT PSIZE_T ViewSize);
+
+NTKERNELAPI
 BOOLEAN
 NTAPI
-HalMakeBeep(
-  IN ULONG Frequency);
+MmIsAddressValid(
+  IN PVOID VirtualAddress);
 
+NTKERNELAPI
+BOOLEAN
+NTAPI
+MmIsThisAnNtAsSystem(
+  VOID);
+
+NTKERNELAPI
 VOID
 NTAPI
-HalPutDmaAdapter(
-  IN PADAPTER_OBJECT DmaAdapter);
+MmLockPagableSectionByHandle(
+  IN PVOID ImageSectionHandle);
 
-#endif
+NTKERNELAPI
+NTSTATUS
+NTAPI
+MmUnmapViewInSessionSpace(
+  IN PVOID MappedBase);
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+MmUnmapViewInSystemSpace(
+  IN PVOID MappedBase);
 
-#if (NTDDI_VERSION >= NTDDI_WINXP)
 NTKERNELAPI
 VOID
-FASTCALL
-HalExamineMBR(
-  IN PDEVICE_OBJECT DeviceObject,
-  IN ULONG SectorSize,
-  IN ULONG MBRTypeIdentifier,
-  OUT PVOID *Buffer);
-#endif
+NTAPI
+MmUnsecureVirtualMemory(
+  IN HANDLE SecureHandle);
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+MmRemovePhysicalMemory(
+  IN PPHYSICAL_ADDRESS StartAddress,
+  IN OUT PLARGE_INTEGER NumberOfBytes);
+
+NTKERNELAPI
+HANDLE
+NTAPI
+MmSecureVirtualMemory(
+  IN PVOID Address,
+  IN SIZE_T Size,
+  IN ULONG ProbeMode);
+
+NTKERNELAPI
+VOID
+NTAPI
+MmUnmapVideoDisplay(
+  IN PVOID BaseAddress,
+  IN SIZE_T NumberOfBytes);
+
+#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
+
+/* NtXxx Functions */
+
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtOpenProcess(
+  OUT PHANDLE ProcessHandle,
+  IN ACCESS_MASK DesiredAccess,
+  IN POBJECT_ATTRIBUTES ObjectAttributes,
+  IN PCLIENT_ID ClientId OPTIONAL);
+
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtQueryInformationProcess(
+  IN HANDLE ProcessHandle,
+  IN PROCESSINFOCLASS ProcessInformationClass,
+  OUT PVOID ProcessInformation OPTIONAL,
+  IN ULONG ProcessInformationLength,
+  OUT PULONG ReturnLength OPTIONAL);
 
 /** Process manager routines **/
 
@@ -1087,100 +1225,209 @@ PsRemoveLoadImageNotifyRoutine(
 
 extern NTKERNELAPI PEPROCESS PsInitialSystemProcess;
 
-#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_) 
-// nothing here
+/* RTL Types */
+
+typedef struct _RTL_SPLAY_LINKS {
+  struct _RTL_SPLAY_LINKS *Parent;
+  struct _RTL_SPLAY_LINKS *LeftChild;
+  struct _RTL_SPLAY_LINKS *RightChild;
+} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
+
+/* RTL Functions */
+
+#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
+
+#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
+    *CallersAddress = (PVOID)_ReturnAddress(); \
+    *CallersCaller = NULL;
 #else
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
+NTSYSAPI
 VOID
 NTAPI
-IoFreeAdapterChannel(
-  IN PADAPTER_OBJECT AdapterObject);
+RtlGetCallersAddress(
+  OUT PVOID *CallersAddress,
+  OUT PVOID *CallersCaller);
+#endif
 
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
+#endif
+
+#if !defined(MIDL_PASS)
+
+FORCEINLINE
+LUID
+NTAPI_INLINE
+RtlConvertLongToLuid(
+  IN LONG Val)
+{
+  LUID Luid;
+  LARGE_INTEGER Temp;
+
+  Temp.QuadPart = Val;
+  Luid.LowPart = Temp.u.LowPart;
+  Luid.HighPart = Temp.u.HighPart;
+  return Luid;
+}
+
+FORCEINLINE
+LUID
+NTAPI_INLINE
+RtlConvertUlongToLuid(
+  IN ULONG Val)
+{
+  LUID Luid;
+
+  Luid.LowPart = Val;
+  Luid.HighPart = 0;
+  return Luid;
+}
+
+#endif
+
+#if defined(_AMD64_) || defined(_IA64_)
+//DECLSPEC_DEPRECATED_DDK_WINXP
+__inline
+LARGE_INTEGER
+NTAPI_INLINE
+RtlLargeIntegerDivide(
+  IN LARGE_INTEGER Dividend,
+  IN LARGE_INTEGER Divisor,
+  OUT PLARGE_INTEGER Remainder OPTIONAL)
+{
+  LARGE_INTEGER ret;
+  ret.QuadPart = Dividend.QuadPart / Divisor.QuadPart;
+  if (Remainder)
+    Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;
+  return ret;
+}
+
+#else
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+NTSYSAPI
+LARGE_INTEGER
+NTAPI
+RtlLargeIntegerDivide(
+  IN LARGE_INTEGER Dividend,
+  IN LARGE_INTEGER Divisor,
+  OUT PLARGE_INTEGER Remainder OPTIONAL);
+#endif
+
+#endif /* defined(_AMD64_) || defined(_IA64_) */
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+
+NTSYSAPI
 BOOLEAN
 NTAPI
-IoFlushAdapterBuffers(
-  IN PADAPTER_OBJECT AdapterObject,
-  IN PMDL Mdl,
-  IN PVOID MapRegisterBase,
-  IN PVOID CurrentVa,
-  IN ULONG Length,
-  IN BOOLEAN WriteToDevice);
+RtlPrefixUnicodeString(
+  IN PCUNICODE_STRING  String1,
+  IN PCUNICODE_STRING  String2,
+  IN BOOLEAN  CaseInSensitive);
 
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
+NTSYSAPI
 VOID
 NTAPI
-IoFreeMapRegisters(
-  IN PADAPTER_OBJECT AdapterObject,
-  IN PVOID MapRegisterBase,
-  IN ULONG NumberOfMapRegisters);
+RtlUpperString(
+  IN OUT PSTRING  DestinationString,
+  IN const PSTRING  SourceString);
 
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-PVOID
+NTSYSAPI
+NTSTATUS
 NTAPI
-HalAllocateCommonBuffer(
-  IN PADAPTER_OBJECT AdapterObject,
-  IN ULONG Length,
-  OUT PPHYSICAL_ADDRESS LogicalAddress,
-  IN BOOLEAN CacheEnabled);
+RtlUpcaseUnicodeString(
+  IN OUT PUNICODE_STRING DestinationString,
+  IN PCUNICODE_STRING  SourceString,
+  IN BOOLEAN  AllocateDestinationString);
 
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
+NTSYSAPI
 VOID
 NTAPI
-HalFreeCommonBuffer(
-  IN PADAPTER_OBJECT AdapterObject,
-  IN ULONG Length,
-  IN PHYSICAL_ADDRESS LogicalAddress,
-  IN PVOID VirtualAddress,
-  IN BOOLEAN CacheEnabled);
+RtlMapGenericMask(
+  IN OUT PACCESS_MASK AccessMask,
+  IN PGENERIC_MAPPING GenericMapping);
 
-//DECLSPEC_DEPRECATED_DDK
-NTHALAPI
-ULONG
+NTSYSAPI
+NTSTATUS
 NTAPI
-HalReadDmaCounter(
-  IN PADAPTER_OBJECT AdapterObject);
+RtlVolumeDeviceToDosName(
+  IN PVOID VolumeDeviceObject,
+  OUT PUNICODE_STRING DosName);
 
-NTHALAPI
+NTSYSAPI
 NTSTATUS
 NTAPI
-HalAllocateAdapterChannel(
-  IN PADAPTER_OBJECT  AdapterObject,
-  IN PWAIT_CONTEXT_BLOCK  Wcb,
-  IN ULONG  NumberOfMapRegisters,
-  IN PDRIVER_CONTROL  ExecutionRoutine);
+RtlGetVersion(
+  IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
 
-#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlVerifyVersionInfo(
+  IN PRTL_OSVERSIONINFOEXW VersionInfo,
+  IN ULONG TypeMask,
+  IN ULONGLONG ConditionMask);
 
-#endif /* defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_)  */
+NTSYSAPI
+LONG
+NTAPI
+RtlCompareString(
+  IN const PSTRING String1,
+  IN const PSTRING String2,
+  BOOLEAN CaseInSensitive);
 
-/** NtXxx and ZwXxx routines **/
+NTSYSAPI
+VOID
+NTAPI
+RtlCopyString(
+  OUT PSTRING DestinationString,
+  IN const PSTRING SourceString OPTIONAL);
 
-NTSYSCALLAPI
-NTSTATUS
+NTSYSAPI
+BOOLEAN
 NTAPI
-NtOpenProcess(
-  OUT PHANDLE ProcessHandle,
-  IN ACCESS_MASK DesiredAccess,
-  IN POBJECT_ATTRIBUTES ObjectAttributes,
-  IN PCLIENT_ID ClientId OPTIONAL);
+RtlEqualString(
+  IN const PSTRING String1,
+  IN const PSTRING String2,
+  IN BOOLEAN CaseInSensitive);
 
-NTSYSCALLAPI
+NTSYSAPI
 NTSTATUS
 NTAPI
-NtQueryInformationProcess(
-  IN HANDLE ProcessHandle,
-  IN PROCESSINFOCLASS ProcessInformationClass,
-  OUT PVOID ProcessInformation OPTIONAL,
-  IN ULONG ProcessInformationLength,
-  OUT PULONG ReturnLength OPTIONAL);
+RtlCharToInteger(
+  IN PCSZ String,
+  IN ULONG Base OPTIONAL,
+  OUT PULONG Value);
+
+NTSYSAPI
+CHAR
+NTAPI
+RtlUpperChar(
+  IN CHAR Character);
+
+NTSYSAPI
+ULONG
+NTAPI
+RtlWalkFrameChain(
+  OUT PVOID *Callers,
+  IN ULONG Count,
+  IN ULONG Flags);
+
+#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
+
+/* Security reference monitor routines */
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+NTKERNELAPI
+BOOLEAN
+NTAPI
+SeSinglePrivilegeCheck(
+  IN LUID PrivilegeValue,
+  IN KPROCESSOR_MODE PreviousMode);
+#endif
+
+/* ZwXxx Functions */
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 
index 18e6ddf..4e371c1 100644 (file)
@@ -2202,57 +2202,6 @@ KeRaiseIrqlToSynchLevel(
 
 /** Memory manager routines **/
 
-NTKERNELAPI
-PVOID
-NTAPI
-MmAllocateNonCachedMemory(
-  IN ULONG  NumberOfBytes);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmFreeNonCachedMemory(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmGetVirtualForPhysical(
-  IN PHYSICAL_ADDRESS  PhysicalAddress);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapUserAddressesToPage(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes,
-  IN PVOID  PageAddress);
-
-NTKERNELAPI
-PVOID
-NTAPI
-MmMapVideoDisplay(
-  IN PHYSICAL_ADDRESS  PhysicalAddress,
-  IN SIZE_T  NumberOfBytes,
-  IN MEMORY_CACHING_TYPE  CacheType);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapViewInSessionSpace(
-  IN PVOID  Section,
-  OUT PVOID  *MappedBase,
-  IN OUT PSIZE_T  ViewSize);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapViewInSystemSpace(
-  IN PVOID  Section,
-  OUT PVOID  *MappedBase,
-  IN PSIZE_T  ViewSize);
-
 NTKERNELAPI
 NTSTATUS
 NTAPI
@@ -2278,18 +2227,6 @@ MmMarkPhysicalMemoryAsGood(
   ((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
     + (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
 
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsAddressValid(
-  IN PVOID  VirtualAddress);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsThisAnNtAsSystem(
-  VOID);
-
 NTKERNELAPI
 PVOID
 NTAPI
@@ -2303,12 +2240,6 @@ MmLockPagableImageSection(
  */
 #define MmLockPagableCodeSection(Address) MmLockPagableDataSection(Address)
 
-NTKERNELAPI
-VOID
-NTAPI
-MmLockPagableSectionByHandle(
-  IN PVOID  ImageSectionHandle);
-
 NTKERNELAPI
 PVOID
 NTAPI
@@ -2323,46 +2254,6 @@ MmUnlockPageableImageSection(
     IN PVOID ImageSectionHandle
 );
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmUnmapViewInSessionSpace(
-  IN PVOID  MappedBase);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmUnmapViewInSystemSpace(
-  IN PVOID MappedBase);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnsecureVirtualMemory(
-  IN HANDLE  SecureHandle);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmRemovePhysicalMemory(
-  IN PPHYSICAL_ADDRESS  StartAddress,
-  IN OUT PLARGE_INTEGER  NumberOfBytes);
-
-NTKERNELAPI
-HANDLE
-NTAPI
-MmSecureVirtualMemory(
-  IN PVOID  Address,
-  IN SIZE_T  Size,
-  IN ULONG  ProbeMode);
-
-NTKERNELAPI
-VOID
-NTAPI
-MmUnmapVideoDisplay(
-  IN PVOID  BaseAddress,
-  IN SIZE_T  NumberOfBytes);
-
 /** Object manager routines **/
 
 NTKERNELAPI
@@ -2611,61 +2502,8 @@ WmiSystemControl(
   IN PIRP  Irp,
   OUT PSYSCTL_IRP_DISPOSITION  IrpDisposition);
 
-/** Kernel debugger routines **/
-
-ULONG
-NTAPI
-DbgPrompt(
-    IN PCCH Prompt,
-    OUT PCH Response,
-    IN ULONG MaximumResponseLength
-);
-
 /** Stuff from winnt4.h */
 
-NTKERNELAPI
-NTSTATUS
-NTAPI
-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);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsNonPagedSystemAddressValid(
-  IN PVOID  VirtualAddress);
-
-#if defined(_AMD64_) || defined(_IA64_)
-//DECLSPEC_DEPRECATED_DDK_WINXP
-static __inline
-LARGE_INTEGER
-NTAPI_INLINE
-RtlLargeIntegerDivide(
-    IN LARGE_INTEGER Dividend,
-    IN LARGE_INTEGER Divisor,
-    IN OUT PLARGE_INTEGER Remainder)
-{
-    LARGE_INTEGER ret;
-    ret.QuadPart = Dividend.QuadPart / Divisor.QuadPart;
-    if (Remainder)
-        Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;
-    return ret;
-}
-#else
-NTSYSAPI
-LARGE_INTEGER
-NTAPI
-RtlLargeIntegerDivide(
-  IN LARGE_INTEGER  Dividend,
-  IN LARGE_INTEGER  Divisor,
-  IN OUT PLARGE_INTEGER  Remainder);
-#endif
-
 #ifndef _X86_
 NTKERNELAPI
 INTERLOCKED_RESULT
@@ -2690,81 +2528,12 @@ ExInterlockedIncrementLong(
   IN PKSPIN_LOCK  Lock);
 #endif
 
-NTHALAPI
-VOID
-NTAPI
-HalAcquireDisplayOwnership(
-  IN PHAL_RESET_DISPLAY_PARAMETERS  ResetDisplayParameters);
-
-NTHALAPI
-ULONG
-NTAPI
-HalGetBusData(
-  IN BUS_DATA_TYPE  BusDataType,
-  IN ULONG  BusNumber,
-  IN ULONG  SlotNumber,
-  IN PVOID  Buffer,
-  IN ULONG  Length);
-
-NTHALAPI
-ULONG
-NTAPI
-HalGetBusDataByOffset(
-  IN BUS_DATA_TYPE  BusDataType,
-  IN ULONG  BusNumber,
-  IN ULONG  SlotNumber,
-  IN PVOID  Buffer,
-  IN ULONG  Offset,
-  IN ULONG  Length);
-
 NTHALAPI
 ULONG
 NTAPI
 HalGetDmaAlignmentRequirement(
   VOID);
 
-NTHALAPI
-ULONG
-NTAPI
-HalGetInterruptVector(
-  IN INTERFACE_TYPE  InterfaceType,
-  IN ULONG  BusNumber,
-  IN ULONG  BusInterruptLevel,
-  IN ULONG  BusInterruptVector,
-  OUT PKIRQL  Irql,
-  OUT PKAFFINITY  Affinity);
-
-NTHALAPI
-ULONG
-NTAPI
-HalSetBusData(
-  IN BUS_DATA_TYPE  BusDataType,
-  IN ULONG  BusNumber,
-  IN ULONG  SlotNumber,
-  IN PVOID  Buffer,
-  IN ULONG  Length);
-
-NTHALAPI
-ULONG
-NTAPI
-HalSetBusDataByOffset(
-  IN BUS_DATA_TYPE  BusDataType,
-  IN ULONG  BusNumber,
-  IN ULONG  SlotNumber,
-  IN PVOID  Buffer,
-  IN ULONG  Offset,
-  IN ULONG  Length);
-
-NTHALAPI
-BOOLEAN
-NTAPI
-HalTranslateBusAddress(
-  IN INTERFACE_TYPE  InterfaceType,
-  IN ULONG  BusNumber,
-  IN PHYSICAL_ADDRESS  BusAddress,
-  IN OUT PULONG  AddressSpace,
-  OUT PPHYSICAL_ADDRESS  TranslatedAddress);
-
 NTSYSAPI
 BOOLEAN
 NTAPI