mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 13:26:17 +00:00
- Remove some public APIs from internal headers.
- Remove some internal APIs/types from public headers. - Make PSECTION_OBJECT a PVOID unless really needed (which should only be inside \mm) - Make hal buildable on msvc. - Fix some other misc. various msvc/ddk incompatibilities. svn path=/trunk/; revision=20696
This commit is contained in:
parent
96ab5d2979
commit
9c52bdbe04
31 changed files with 160 additions and 155 deletions
|
@ -50,7 +50,7 @@ HalMakeBeep (
|
||||||
|
|
||||||
if (Frequency)
|
if (Frequency)
|
||||||
{
|
{
|
||||||
DWORD Divider = CLOCKFREQ / Frequency;
|
ULONG Divider = CLOCKFREQ / Frequency;
|
||||||
|
|
||||||
if (Divider > 0x10000)
|
if (Divider > 0x10000)
|
||||||
{
|
{
|
||||||
|
|
|
@ -252,7 +252,7 @@ HalpGrowMapBuffers(
|
||||||
|
|
||||||
if (MapRegisterCount > 0)
|
if (MapRegisterCount > 0)
|
||||||
{
|
{
|
||||||
PMAP_REGISTER_ENTRY CurrentEntry, PreviousEntry;
|
PROS_MAP_REGISTER_ENTRY CurrentEntry, PreviousEntry;
|
||||||
|
|
||||||
CurrentEntry = AdapterObject->MapRegisterBase +
|
CurrentEntry = AdapterObject->MapRegisterBase +
|
||||||
AdapterObject->NumberOfMapRegisters;
|
AdapterObject->NumberOfMapRegisters;
|
||||||
|
@ -351,7 +351,7 @@ HalpDmaAllocateMasterAdapter(VOID)
|
||||||
|
|
||||||
MasterAdapter->MapRegisterBase = ExAllocatePoolWithTag(
|
MasterAdapter->MapRegisterBase = ExAllocatePoolWithTag(
|
||||||
NonPagedPool,
|
NonPagedPool,
|
||||||
SizeOfBitmap * sizeof(MAP_REGISTER_ENTRY),
|
SizeOfBitmap * sizeof(ROS_MAP_REGISTER_ENTRY),
|
||||||
TAG_DMA);
|
TAG_DMA);
|
||||||
if (MasterAdapter->MapRegisterBase == NULL)
|
if (MasterAdapter->MapRegisterBase == NULL)
|
||||||
{
|
{
|
||||||
|
@ -360,7 +360,7 @@ HalpDmaAllocateMasterAdapter(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
RtlZeroMemory(MasterAdapter->MapRegisterBase,
|
RtlZeroMemory(MasterAdapter->MapRegisterBase,
|
||||||
SizeOfBitmap * sizeof(MAP_REGISTER_ENTRY));
|
SizeOfBitmap * sizeof(ROS_MAP_REGISTER_ENTRY));
|
||||||
if (!HalpGrowMapBuffers(MasterAdapter, 0x10000))
|
if (!HalpGrowMapBuffers(MasterAdapter, 0x10000))
|
||||||
{
|
{
|
||||||
ExFreePool(MasterAdapter);
|
ExFreePool(MasterAdapter);
|
||||||
|
@ -455,8 +455,8 @@ HalpDmaInitializeEisaAdapter(
|
||||||
PDEVICE_DESCRIPTION DeviceDescription)
|
PDEVICE_DESCRIPTION DeviceDescription)
|
||||||
{
|
{
|
||||||
UCHAR Controller;
|
UCHAR Controller;
|
||||||
DMA_MODE DmaMode = { Byte: 0 };
|
DMA_MODE DmaMode = {{0 }};
|
||||||
DMA_EXTENDED_MODE ExtendedMode = { Byte: 0 };
|
DMA_EXTENDED_MODE ExtendedMode = {{ 0 }};
|
||||||
PVOID AdapterBaseVa;
|
PVOID AdapterBaseVa;
|
||||||
|
|
||||||
Controller = (DeviceDescription->DmaChannel & 4) ? 2 : 1;
|
Controller = (DeviceDescription->DmaChannel & 4) ? 2 : 1;
|
||||||
|
@ -1127,7 +1127,7 @@ HalAllocateAdapterChannel(
|
||||||
if (!AdapterObject->ScatterGather)
|
if (!AdapterObject->ScatterGather)
|
||||||
{
|
{
|
||||||
AdapterObject->MapRegisterBase =
|
AdapterObject->MapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)(
|
(PROS_MAP_REGISTER_ENTRY)(
|
||||||
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
||||||
MAP_BASE_SW_SG);
|
MAP_BASE_SW_SG);
|
||||||
}
|
}
|
||||||
|
@ -1285,7 +1285,7 @@ IoFreeAdapterChannel(
|
||||||
if (!AdapterObject->ScatterGather)
|
if (!AdapterObject->ScatterGather)
|
||||||
{
|
{
|
||||||
AdapterObject->MapRegisterBase =
|
AdapterObject->MapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)(
|
(PROS_MAP_REGISTER_ENTRY)(
|
||||||
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
||||||
MAP_BASE_SW_SG);
|
MAP_BASE_SW_SG);
|
||||||
}
|
}
|
||||||
|
@ -1371,10 +1371,10 @@ IoFreeMapRegisters(
|
||||||
|
|
||||||
if (NumberOfMapRegisters != 0)
|
if (NumberOfMapRegisters != 0)
|
||||||
{
|
{
|
||||||
PMAP_REGISTER_ENTRY RealMapRegisterBase;
|
PROS_MAP_REGISTER_ENTRY RealMapRegisterBase;
|
||||||
|
|
||||||
RealMapRegisterBase =
|
RealMapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
(PROS_MAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
||||||
RtlClearBits(MasterAdapter->MapRegisters,
|
RtlClearBits(MasterAdapter->MapRegisters,
|
||||||
RealMapRegisterBase - MasterAdapter->MapRegisterBase,
|
RealMapRegisterBase - MasterAdapter->MapRegisterBase,
|
||||||
NumberOfMapRegisters);
|
NumberOfMapRegisters);
|
||||||
|
@ -1408,7 +1408,7 @@ IoFreeMapRegisters(
|
||||||
if (!AdapterObject->ScatterGather)
|
if (!AdapterObject->ScatterGather)
|
||||||
{
|
{
|
||||||
AdapterObject->MapRegisterBase =
|
AdapterObject->MapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)(
|
(PROS_MAP_REGISTER_ENTRY)(
|
||||||
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
(ULONG_PTR)AdapterObject->MapRegisterBase |
|
||||||
MAP_BASE_SW_SG);
|
MAP_BASE_SW_SG);
|
||||||
}
|
}
|
||||||
|
@ -1459,7 +1459,7 @@ IoFreeMapRegisters(
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
HalpCopyBufferMap(
|
HalpCopyBufferMap(
|
||||||
PMDL Mdl,
|
PMDL Mdl,
|
||||||
PMAP_REGISTER_ENTRY MapRegisterBase,
|
PROS_MAP_REGISTER_ENTRY MapRegisterBase,
|
||||||
PVOID CurrentVa,
|
PVOID CurrentVa,
|
||||||
ULONG Length,
|
ULONG Length,
|
||||||
BOOLEAN WriteToDevice)
|
BOOLEAN WriteToDevice)
|
||||||
|
@ -1555,7 +1555,7 @@ IoFlushAdapterBuffers(
|
||||||
BOOLEAN WriteToDevice)
|
BOOLEAN WriteToDevice)
|
||||||
{
|
{
|
||||||
BOOLEAN SlaveDma = FALSE;
|
BOOLEAN SlaveDma = FALSE;
|
||||||
PMAP_REGISTER_ENTRY RealMapRegisterBase;
|
PROS_MAP_REGISTER_ENTRY RealMapRegisterBase;
|
||||||
|
|
||||||
ASSERT_IRQL(DISPATCH_LEVEL);
|
ASSERT_IRQL(DISPATCH_LEVEL);
|
||||||
|
|
||||||
|
@ -1582,7 +1582,7 @@ IoFlushAdapterBuffers(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
RealMapRegisterBase =
|
RealMapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
(PROS_MAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
||||||
|
|
||||||
if (!WriteToDevice)
|
if (!WriteToDevice)
|
||||||
{
|
{
|
||||||
|
@ -1655,7 +1655,7 @@ IoMapTransfer(
|
||||||
ULONG TransferOffset;
|
ULONG TransferOffset;
|
||||||
ULONG TransferLength;
|
ULONG TransferLength;
|
||||||
BOOLEAN UseMapRegisters;
|
BOOLEAN UseMapRegisters;
|
||||||
PMAP_REGISTER_ENTRY RealMapRegisterBase;
|
PROS_MAP_REGISTER_ENTRY RealMapRegisterBase;
|
||||||
PHYSICAL_ADDRESS PhysicalAddress;
|
PHYSICAL_ADDRESS PhysicalAddress;
|
||||||
PHYSICAL_ADDRESS HighestAcceptableAddress;
|
PHYSICAL_ADDRESS HighestAcceptableAddress;
|
||||||
ULONG Counter;
|
ULONG Counter;
|
||||||
|
@ -1722,7 +1722,7 @@ IoMapTransfer(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
RealMapRegisterBase =
|
RealMapRegisterBase =
|
||||||
(PMAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
(PROS_MAP_REGISTER_ENTRY)((ULONG_PTR)MapRegisterBase & ~MAP_BASE_SW_SG);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Try to calculate the size of the transfer. We can only transfer
|
* Try to calculate the size of the transfer. We can only transfer
|
||||||
|
|
|
@ -52,10 +52,12 @@ HalInitSystem (ULONG BootPhase,
|
||||||
}
|
}
|
||||||
else if (BootPhase == 2)
|
else if (BootPhase == 2)
|
||||||
{
|
{
|
||||||
|
PHYSICAL_ADDRESS Null = {{0}};
|
||||||
|
|
||||||
/* Go to blue screen */
|
/* Go to blue screen */
|
||||||
HalClearDisplay (0x17); /* grey on blue */
|
HalClearDisplay (0x17); /* grey on blue */
|
||||||
|
|
||||||
HalpZeroPageMapping = MmMapIoSpace((LARGE_INTEGER)0LL, PAGE_SIZE, MmNonCached);
|
HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
BOOL HalIsaProbe(VOID)
|
BOOLEAN HalIsaProbe(VOID)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Probes for an ISA bus
|
* FUNCTION: Probes for an ISA bus
|
||||||
* RETURNS: True if detected
|
* RETURNS: True if detected
|
||||||
|
|
|
@ -87,8 +87,8 @@ static BOOLEAN
|
||||||
KdpDoesComPortExist (PUCHAR BaseAddress)
|
KdpDoesComPortExist (PUCHAR BaseAddress)
|
||||||
{
|
{
|
||||||
BOOLEAN found;
|
BOOLEAN found;
|
||||||
BYTE mcr;
|
UCHAR mcr;
|
||||||
BYTE msr;
|
UCHAR msr;
|
||||||
|
|
||||||
found = FALSE;
|
found = FALSE;
|
||||||
|
|
||||||
|
@ -149,14 +149,14 @@ BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
KdPortInitialize (
|
KdPortInitialize (
|
||||||
PKD_PORT_INFORMATION PortInformation,
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
DWORD Unknown1,
|
ULONG Unknown1,
|
||||||
DWORD Unknown2
|
ULONG Unknown2
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
|
ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
ULONG divisor;
|
ULONG divisor;
|
||||||
BYTE lcr;
|
UCHAR lcr;
|
||||||
|
|
||||||
if (PortInitialized == FALSE)
|
if (PortInitialized == FALSE)
|
||||||
{
|
{
|
||||||
|
@ -282,15 +282,15 @@ BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
KdPortInitializeEx (
|
KdPortInitializeEx (
|
||||||
PKD_PORT_INFORMATION PortInformation,
|
PKD_PORT_INFORMATION PortInformation,
|
||||||
DWORD Unknown1,
|
ULONG Unknown1,
|
||||||
DWORD Unknown2
|
ULONG Unknown2
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
|
ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
|
||||||
PUCHAR ComPortBase;
|
PUCHAR ComPortBase;
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
ULONG divisor;
|
ULONG divisor;
|
||||||
BYTE lcr;
|
UCHAR lcr;
|
||||||
|
|
||||||
if (PortInformation->BaudRate == 0)
|
if (PortInformation->BaudRate == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,14 +16,12 @@
|
||||||
|
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
|
PVOID STDCALL
|
||||||
VOID
|
HalAllocateCrashDumpRegisters(IN PADAPTER_OBJECT AdapterObject,
|
||||||
NTAPI
|
IN OUT PULONG NumberOfMapRegisters)
|
||||||
HalAllocateCrashDumpRegisters(
|
|
||||||
ULONG Unknown1,
|
|
||||||
ULONG Unknown2)
|
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -601,8 +601,8 @@ HalpAssignPciSlotResources(IN PBUS_HANDLER BusHandler,
|
||||||
{
|
{
|
||||||
ULONG DataSize;
|
ULONG DataSize;
|
||||||
PCI_COMMON_CONFIG PciConfig;
|
PCI_COMMON_CONFIG PciConfig;
|
||||||
UINT Address;
|
SIZE_T Address;
|
||||||
UINT ResourceCount;
|
SIZE_T ResourceCount;
|
||||||
ULONG Size[PCI_TYPE0_ADDRESSES];
|
ULONG Size[PCI_TYPE0_ADDRESSES];
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
UCHAR Offset;
|
UCHAR Offset;
|
||||||
|
|
|
@ -96,7 +96,7 @@ static BOOLEAN UdelayCalibrated = FALSE;
|
||||||
* For supported compilers we use inline assembler. For the others,
|
* For supported compilers we use inline assembler. For the others,
|
||||||
* portable plain C.
|
* portable plain C.
|
||||||
*/
|
*/
|
||||||
VOID STDCALL __attribute__((noinline))
|
DECLSPEC_NOINLINE VOID STDCALL
|
||||||
__KeStallExecutionProcessor(ULONG Loops)
|
__KeStallExecutionProcessor(ULONG Loops)
|
||||||
{
|
{
|
||||||
if (!Loops)
|
if (!Loops)
|
||||||
|
@ -121,7 +121,9 @@ ROSL1:
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID STDCALL KeStallExecutionProcessor(ULONG Microseconds)
|
VOID
|
||||||
|
STDCALL
|
||||||
|
KeStallExecutionProcessor(ULONG Microseconds)
|
||||||
{
|
{
|
||||||
PKIPCR Pcr = (PKIPCR)KeGetCurrentKPCR();
|
PKIPCR Pcr = (PKIPCR)KeGetCurrentKPCR();
|
||||||
|
|
||||||
|
@ -305,7 +307,8 @@ HalCalibratePerformanceCounter(ULONG Count)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LARGE_INTEGER STDCALL
|
LARGE_INTEGER
|
||||||
|
STDCALL
|
||||||
KeQueryPerformanceCounter(PLARGE_INTEGER PerformanceFreq)
|
KeQueryPerformanceCounter(PLARGE_INTEGER PerformanceFreq)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Queries the finest grained running count available in the system
|
* FUNCTION: Queries the finest grained running count available in the system
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
/* IFS/DDK/NDK Headers */
|
/* IFS/DDK/NDK Headers */
|
||||||
#include <ntddk.h>
|
|
||||||
#include <ntifs.h>
|
#include <ntifs.h>
|
||||||
|
#include <ntddk.h>
|
||||||
#include <ndk/ntndk.h>
|
#include <ndk/ntndk.h>
|
||||||
|
|
||||||
/* Internal Kernel Headers */
|
/* Internal Kernel Headers */
|
||||||
|
|
|
@ -310,12 +310,12 @@ typedef struct _EISA_CONTROL
|
||||||
DMA_CHANNEL_STOP DmaChannelStop[8]; /* 4E0h-4FFh */
|
DMA_CHANNEL_STOP DmaChannelStop[8]; /* 4E0h-4FFh */
|
||||||
} EISA_CONTROL, *PEISA_CONTROL;
|
} EISA_CONTROL, *PEISA_CONTROL;
|
||||||
|
|
||||||
typedef struct _MAP_REGISTER_ENTRY
|
typedef struct _ROS_MAP_REGISTER_ENTRY
|
||||||
{
|
{
|
||||||
PVOID VirtualAddress;
|
PVOID VirtualAddress;
|
||||||
PHYSICAL_ADDRESS PhysicalAddress;
|
PHYSICAL_ADDRESS PhysicalAddress;
|
||||||
ULONG Counter;
|
ULONG Counter;
|
||||||
} MAP_REGISTER_ENTRY, *PMAP_REGISTER_ENTRY;
|
} ROS_MAP_REGISTER_ENTRY, *PROS_MAP_REGISTER_ENTRY;
|
||||||
|
|
||||||
struct _ADAPTER_OBJECT {
|
struct _ADAPTER_OBJECT {
|
||||||
/*
|
/*
|
||||||
|
@ -333,7 +333,7 @@ struct _ADAPTER_OBJECT {
|
||||||
|
|
||||||
ULONG MapRegistersPerChannel;
|
ULONG MapRegistersPerChannel;
|
||||||
PVOID AdapterBaseVa;
|
PVOID AdapterBaseVa;
|
||||||
PMAP_REGISTER_ENTRY MapRegisterBase;
|
PROS_MAP_REGISTER_ENTRY MapRegisterBase;
|
||||||
|
|
||||||
ULONG NumberOfMapRegisters;
|
ULONG NumberOfMapRegisters;
|
||||||
ULONG CommittedMapRegisters;
|
ULONG CommittedMapRegisters;
|
||||||
|
@ -376,20 +376,21 @@ HalpGetDmaAdapter(
|
||||||
IN PDEVICE_DESCRIPTION DeviceDescription,
|
IN PDEVICE_DESCRIPTION DeviceDescription,
|
||||||
OUT PULONG NumberOfMapRegisters);
|
OUT PULONG NumberOfMapRegisters);
|
||||||
|
|
||||||
VOID STDCALL
|
/* FIXME: I added the definition to winddk.h but gcc wants it -HERE-. WHY?? */
|
||||||
HalPutDmaAdapter(
|
#ifndef _MSC_VER
|
||||||
PADAPTER_OBJECT AdapterObject);
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
ULONG STDCALL
|
|
||||||
HalpDmaGetDmaAlignment(
|
|
||||||
PADAPTER_OBJECT AdapterObject);
|
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
IoAllocateAdapterChannel(
|
IoAllocateAdapterChannel(
|
||||||
IN PADAPTER_OBJECT AdapterObject,
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN ULONG NumberOfMapRegisters,
|
IN ULONG NumberOfMapRegisters,
|
||||||
IN PDRIVER_CONTROL ExecutionRoutine,
|
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||||
IN PVOID Context);
|
IN PVOID Context
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ULONG STDCALL
|
||||||
|
HalpDmaGetDmaAlignment(
|
||||||
|
PADAPTER_OBJECT AdapterObject);
|
||||||
|
|
||||||
#endif /* HALDMA_H */
|
#endif /* HALDMA_H */
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#define IOAPIC_TBL_DF1 (0xFF<< 56) /* Destination Field (logical mode) */
|
#define IOAPIC_TBL_DF1 (0xFF<< 56) /* Destination Field (logical mode) */
|
||||||
#define IOAPIC_TBL_VECTOR (0xFF << 0) /* Vector (10h - FEh) */
|
#define IOAPIC_TBL_VECTOR (0xFF << 0) /* Vector (10h - FEh) */
|
||||||
|
|
||||||
|
#include <pshpack1.h>
|
||||||
typedef struct _IOAPIC_ROUTE_ENTRY {
|
typedef struct _IOAPIC_ROUTE_ENTRY {
|
||||||
ULONG vector : 8,
|
ULONG vector : 8,
|
||||||
delivery_mode : 3, /* 000: FIXED
|
delivery_mode : 3, /* 000: FIXED
|
||||||
|
@ -62,7 +63,8 @@ typedef struct _IOAPIC_ROUTE_ENTRY {
|
||||||
logical_dest : 8;
|
logical_dest : 8;
|
||||||
} logical;
|
} logical;
|
||||||
} dest;
|
} dest;
|
||||||
} __attribute__ ((packed)) IOAPIC_ROUTE_ENTRY, *PIOAPIC_ROUTE_ENTRY;
|
} IOAPIC_ROUTE_ENTRY, *PIOAPIC_ROUTE_ENTRY;
|
||||||
|
#include <poppack.h>
|
||||||
|
|
||||||
typedef struct _IOAPIC_INFO
|
typedef struct _IOAPIC_INFO
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,7 +22,8 @@
|
||||||
/* MP Floating Pointer Structure */
|
/* MP Floating Pointer Structure */
|
||||||
#define MPF_SIGNATURE (('_' << 24) | ('P' << 16) | ('M' << 8) | '_')
|
#define MPF_SIGNATURE (('_' << 24) | ('P' << 16) | ('M' << 8) | '_')
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_FLOATING_POINTER
|
#include <pshpack1.h>
|
||||||
|
typedef struct _MP_FLOATING_POINTER
|
||||||
{
|
{
|
||||||
ULONG Signature; /* _MP_ */
|
ULONG Signature; /* _MP_ */
|
||||||
ULONG Address; /* Physical Address Pointer (0 means no configuration table exist) */
|
ULONG Address; /* Physical Address Pointer (0 means no configuration table exist) */
|
||||||
|
@ -34,14 +35,15 @@ typedef struct __attribute__((packed)) _MP_FLOATING_POINTER
|
||||||
UCHAR Feature3; /* Unused (0) */
|
UCHAR Feature3; /* Unused (0) */
|
||||||
UCHAR Feature4; /* Unused (0) */
|
UCHAR Feature4; /* Unused (0) */
|
||||||
UCHAR Feature5; /* Unused (0) */
|
UCHAR Feature5; /* Unused (0) */
|
||||||
} __attribute__((packed)) MP_FLOATING_POINTER, *PMP_FLOATING_POINTER;
|
} MP_FLOATING_POINTER, *PMP_FLOATING_POINTER;
|
||||||
|
|
||||||
|
|
||||||
#define FEATURE2_IMCRP 0x80
|
#define FEATURE2_IMCRP 0x80
|
||||||
|
|
||||||
/* MP Configuration Table Header */
|
/* MP Configuration Table Header */
|
||||||
#define MPC_SIGNATURE (('P' << 24) | ('M' << 16) | ('C' << 8) | 'P')
|
#define MPC_SIGNATURE (('P' << 24) | ('M' << 16) | ('C' << 8) | 'P')
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_TABLE
|
typedef struct _MP_CONFIGURATION_TABLE
|
||||||
{
|
{
|
||||||
ULONG Signature; /* PCMP */
|
ULONG Signature; /* PCMP */
|
||||||
USHORT Length; /* Size of configuration table */
|
USHORT Length; /* Size of configuration table */
|
||||||
|
@ -56,7 +58,7 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_TABLE
|
||||||
USHORT ExtTableLength; /* Extended Table Length */
|
USHORT ExtTableLength; /* Extended Table Length */
|
||||||
UCHAR ExtTableChecksum; /* Extended Table Checksum */
|
UCHAR ExtTableChecksum; /* Extended Table Checksum */
|
||||||
UCHAR Reserved; /* Reserved */
|
UCHAR Reserved; /* Reserved */
|
||||||
} __attribute__((packed)) MP_CONFIGURATION_TABLE, *PMP_CONFIGURATION_TABLE;
|
} MP_CONFIGURATION_TABLE, *PMP_CONFIGURATION_TABLE;
|
||||||
|
|
||||||
/* MP Configuration Table Entries */
|
/* MP Configuration Table Entries */
|
||||||
#define MPCTE_PROCESSOR 0 /* One entry per processor */
|
#define MPCTE_PROCESSOR 0 /* One entry per processor */
|
||||||
|
@ -66,7 +68,7 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_TABLE
|
||||||
#define MPCTE_LINTSRC 4 /* One entry per system interrupt source */
|
#define MPCTE_LINTSRC 4 /* One entry per system interrupt source */
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_PROCESSOR
|
typedef struct _MP_CONFIGURATION_PROCESSOR
|
||||||
{
|
{
|
||||||
UCHAR Type; /* 0 */
|
UCHAR Type; /* 0 */
|
||||||
UCHAR ApicId; /* Local APIC ID for the processor */
|
UCHAR ApicId; /* Local APIC ID for the processor */
|
||||||
|
@ -75,17 +77,16 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_PROCESSOR
|
||||||
ULONG CpuSignature; /* CPU signature */
|
ULONG CpuSignature; /* CPU signature */
|
||||||
ULONG FeatureFlags; /* CPUID feature value */
|
ULONG FeatureFlags; /* CPUID feature value */
|
||||||
ULONG Reserved[2]; /* Reserved (0) */
|
ULONG Reserved[2]; /* Reserved (0) */
|
||||||
} __attribute__((packed)) MP_CONFIGURATION_PROCESSOR,
|
} MP_CONFIGURATION_PROCESSOR, *PMP_CONFIGURATION_PROCESSOR;
|
||||||
*PMP_CONFIGURATION_PROCESSOR;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_BUS
|
typedef struct _MP_CONFIGURATION_BUS
|
||||||
{
|
{
|
||||||
UCHAR Type; /* 1 */
|
UCHAR Type; /* 1 */
|
||||||
UCHAR BusId; /* Bus ID */
|
UCHAR BusId; /* Bus ID */
|
||||||
CHAR BusType[6]; /* Bus type */
|
CHAR BusType[6]; /* Bus type */
|
||||||
} __attribute__((packed)) MP_CONFIGURATION_BUS, *PMP_CONFIGURATION_BUS;
|
} MP_CONFIGURATION_BUS, *PMP_CONFIGURATION_BUS;
|
||||||
|
|
||||||
#define MAX_BUS 32
|
#define MAX_BUS 32
|
||||||
|
|
||||||
|
@ -114,21 +115,21 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_BUS
|
||||||
#define BUSTYPE_XPRESS "XPRESS"
|
#define BUSTYPE_XPRESS "XPRESS"
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_IOAPIC
|
typedef struct _MP_CONFIGURATION_IOAPIC
|
||||||
{
|
{
|
||||||
UCHAR Type; /* 2 */
|
UCHAR Type; /* 2 */
|
||||||
UCHAR ApicId; /* I/O APIC ID */
|
UCHAR ApicId; /* I/O APIC ID */
|
||||||
UCHAR ApicVersion; /* I/O APIC version */
|
UCHAR ApicVersion; /* I/O APIC version */
|
||||||
UCHAR ApicFlags; /* I/O APIC flags */
|
UCHAR ApicFlags; /* I/O APIC flags */
|
||||||
ULONG ApicAddress; /* I/O APIC base address */
|
ULONG ApicAddress; /* I/O APIC base address */
|
||||||
} __attribute__((packed)) MP_CONFIGURATION_IOAPIC, *PMP_CONFIGURATION_IOAPIC;
|
} MP_CONFIGURATION_IOAPIC, *PMP_CONFIGURATION_IOAPIC;
|
||||||
|
|
||||||
#define MAX_IOAPIC 2
|
#define MAX_IOAPIC 2
|
||||||
|
|
||||||
#define MP_IOAPIC_USABLE 0x01
|
#define MP_IOAPIC_USABLE 0x01
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_INTSRC
|
typedef struct _MP_CONFIGURATION_INTSRC
|
||||||
{
|
{
|
||||||
UCHAR Type; /* 3 */
|
UCHAR Type; /* 3 */
|
||||||
UCHAR IrqType; /* Interrupt type */
|
UCHAR IrqType; /* Interrupt type */
|
||||||
|
@ -137,7 +138,7 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_INTSRC
|
||||||
UCHAR SrcBusIrq; /* Source bus interrupt */
|
UCHAR SrcBusIrq; /* Source bus interrupt */
|
||||||
UCHAR DstApicId; /* Destination APIC ID */
|
UCHAR DstApicId; /* Destination APIC ID */
|
||||||
UCHAR DstApicInt; /* Destination interrupt */
|
UCHAR DstApicInt; /* Destination interrupt */
|
||||||
} __attribute__((packed)) MP_CONFIGURATION_INTSRC, *PMP_CONFIGURATION_INTSRC;
|
} MP_CONFIGURATION_INTSRC, *PMP_CONFIGURATION_INTSRC;
|
||||||
|
|
||||||
#define MAX_IRQ_SOURCE 128
|
#define MAX_IRQ_SOURCE 128
|
||||||
|
|
||||||
|
@ -151,7 +152,7 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_INTSRC
|
||||||
#define IRQDIR_LOW 3
|
#define IRQDIR_LOW 3
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) _MP_CONFIGURATION_INTLOCAL
|
typedef struct _MP_CONFIGURATION_INTLOCAL
|
||||||
{
|
{
|
||||||
UCHAR Type; /* 4 */
|
UCHAR Type; /* 4 */
|
||||||
UCHAR IrqType; /* Interrupt type */
|
UCHAR IrqType; /* Interrupt type */
|
||||||
|
@ -161,6 +162,7 @@ typedef struct __attribute__((packed)) _MP_CONFIGURATION_INTLOCAL
|
||||||
UCHAR DstApicId; /* Destination local APIC ID */
|
UCHAR DstApicId; /* Destination local APIC ID */
|
||||||
UCHAR DstApicLInt; /* Destination local APIC interrupt */
|
UCHAR DstApicLInt; /* Destination local APIC interrupt */
|
||||||
} MP_CONFIGURATION_INTLOCAL, *PMP_CONFIGURATION_INTLOCAL;
|
} MP_CONFIGURATION_INTLOCAL, *PMP_CONFIGURATION_INTLOCAL;
|
||||||
|
#include <poppack.h>
|
||||||
|
|
||||||
#define MP_APIC_ALL 0xFF
|
#define MP_APIC_ALL 0xFF
|
||||||
|
|
||||||
|
|
|
@ -592,6 +592,7 @@ ZwEnumerateBootEntries(
|
||||||
IN ULONG Unknown2
|
IN ULONG Unknown2
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#ifdef NTOS_MODE_USER
|
||||||
NTSYSAPI
|
NTSYSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -599,6 +600,7 @@ ZwFlushBuffersFile(
|
||||||
IN HANDLE FileHandle,
|
IN HANDLE FileHandle,
|
||||||
OUT PIO_STATUS_BLOCK IoStatusBlock
|
OUT PIO_STATUS_BLOCK IoStatusBlock
|
||||||
);
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -716,6 +718,7 @@ ZwQueryDirectoryFile(
|
||||||
IN BOOLEAN RestartScan
|
IN BOOLEAN RestartScan
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#ifdef NTOS_MODE_USER
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ZwQueryEaFile(
|
ZwQueryEaFile(
|
||||||
|
@ -729,6 +732,7 @@ ZwQueryEaFile(
|
||||||
IN PULONG EaIndex OPTIONAL,
|
IN PULONG EaIndex OPTIONAL,
|
||||||
IN BOOLEAN RestartScan
|
IN BOOLEAN RestartScan
|
||||||
);
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -837,6 +841,7 @@ ZwSetBootOptions(
|
||||||
ULONG Unknown2
|
ULONG Unknown2
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#ifdef NTOS_MODE_USER
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ZwSetEaFile(
|
ZwSetEaFile(
|
||||||
|
@ -845,6 +850,7 @@ ZwSetEaFile(
|
||||||
PVOID EaBuffer,
|
PVOID EaBuffer,
|
||||||
ULONG EaBufferSize
|
ULONG EaBufferSize
|
||||||
);
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
NTSYSCALLAPI
|
NTSYSCALLAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
|
|
@ -343,6 +343,20 @@ typedef struct _MMSUPPORT
|
||||||
ULONG GrowthSinceLastEstimate;
|
ULONG GrowthSinceLastEstimate;
|
||||||
} MMSUPPORT, *PMMSUPPORT;
|
} MMSUPPORT, *PMMSUPPORT;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Memory Information Types
|
||||||
|
//
|
||||||
|
typedef struct _MEMORY_BASIC_INFORMATION
|
||||||
|
{
|
||||||
|
PVOID BaseAddress;
|
||||||
|
PVOID AllocationBase;
|
||||||
|
ULONG AllocationProtect;
|
||||||
|
ULONG RegionSize;
|
||||||
|
ULONG State;
|
||||||
|
ULONG Protect;
|
||||||
|
ULONG Type;
|
||||||
|
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
|
||||||
|
|
||||||
#endif // !NTOS_MODE_USER
|
#endif // !NTOS_MODE_USER
|
||||||
|
|
||||||
#endif // _MMTYPES_H
|
#endif // _MMTYPES_H
|
||||||
|
|
|
@ -848,7 +848,7 @@ CmiInitNonVolatileRegistryHive (PREGISTRY_HIVE RegistryHive,
|
||||||
ULONG CreateDisposition;
|
ULONG CreateDisposition;
|
||||||
IO_STATUS_BLOCK IoSB;
|
IO_STATUS_BLOCK IoSB;
|
||||||
HANDLE FileHandle;
|
HANDLE FileHandle;
|
||||||
PSECTION_OBJECT SectionObject;
|
PVOID SectionObject;
|
||||||
PUCHAR ViewBase;
|
PUCHAR ViewBase;
|
||||||
ULONG ViewSize;
|
ULONG ViewSize;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
|
@ -304,13 +304,6 @@ KiIpiSendRequest(
|
||||||
ULONG IpiRequest
|
ULONG IpiRequest
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
KeIpiGenericCall(
|
|
||||||
VOID (STDCALL *WorkerRoutine)(PVOID),
|
|
||||||
PVOID Argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* next file ***************************************************************/
|
/* next file ***************************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -480,14 +473,6 @@ KiInsertTimer(
|
||||||
LARGE_INTEGER DueTime
|
LARGE_INTEGER DueTime
|
||||||
);
|
);
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
__inline
|
|
||||||
FASTCALL
|
|
||||||
KiIsObjectSignaled(
|
|
||||||
PDISPATCHER_HEADER Object,
|
|
||||||
PKTHREAD Thread
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KiWaitTest(
|
KiWaitTest(
|
||||||
|
@ -585,10 +570,6 @@ VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KiWakeQueue(IN PKQUEUE Queue);
|
KiWakeQueue(IN PKQUEUE Queue);
|
||||||
|
|
||||||
PLIST_ENTRY
|
|
||||||
STDCALL
|
|
||||||
KeRundownQueue(IN PKQUEUE Queue);
|
|
||||||
|
|
||||||
/* INITIALIZATION FUNCTIONS *************************************************/
|
/* INITIALIZATION FUNCTIONS *************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
|
|
@ -205,7 +205,7 @@ typedef struct _SECTION_OBJECT
|
||||||
PMM_IMAGE_SECTION_OBJECT ImageSection;
|
PMM_IMAGE_SECTION_OBJECT ImageSection;
|
||||||
PMM_SECTION_SEGMENT Segment;
|
PMM_SECTION_SEGMENT Segment;
|
||||||
};
|
};
|
||||||
} SECTION_OBJECT;
|
} SECTION_OBJECT, *PSECTION_OBJECT;
|
||||||
|
|
||||||
typedef struct _MEMORY_AREA
|
typedef struct _MEMORY_AREA
|
||||||
{
|
{
|
||||||
|
@ -776,7 +776,7 @@ MmGetPageOp(
|
||||||
PMM_SECTION_SEGMENT Segment,
|
PMM_SECTION_SEGMENT Segment,
|
||||||
ULONG Offset,
|
ULONG Offset,
|
||||||
ULONG OpType,
|
ULONG OpType,
|
||||||
BOOL First
|
BOOLEAN First
|
||||||
);
|
);
|
||||||
|
|
||||||
PMM_PAGEOP
|
PMM_PAGEOP
|
||||||
|
@ -892,7 +892,7 @@ VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetDirtyAllRmaps(PFN_TYPE Page);
|
MmSetDirtyAllRmaps(PFN_TYPE Page);
|
||||||
|
|
||||||
BOOL
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsDirtyPageRmap(PFN_TYPE Page);
|
MmIsDirtyPageRmap(PFN_TYPE Page);
|
||||||
|
|
||||||
|
@ -1041,7 +1041,7 @@ NTAPI
|
||||||
MmDisableVirtualMapping(
|
MmDisableVirtualMapping(
|
||||||
PEPROCESS Process,
|
PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
BOOL* WasDirty,
|
BOOLEAN* WasDirty,
|
||||||
PPFN_TYPE Page
|
PPFN_TYPE Page
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1203,8 +1203,8 @@ NTAPI
|
||||||
MmDeleteVirtualMapping(
|
MmDeleteVirtualMapping(
|
||||||
PEPROCESS Process,
|
PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
BOOL FreePage,
|
BOOLEAN FreePage,
|
||||||
BOOL* WasDirty,
|
BOOLEAN* WasDirty,
|
||||||
PPFN_TYPE Page
|
PPFN_TYPE Page
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1248,18 +1248,6 @@ MmTrimUserMemory(
|
||||||
PULONG NrFreedPages
|
PULONG NrFreedPages
|
||||||
);
|
);
|
||||||
|
|
||||||
/* cont.c ********************************************************************/
|
|
||||||
|
|
||||||
PVOID
|
|
||||||
STDCALL
|
|
||||||
MmAllocateContiguousMemorySpecifyCache(
|
|
||||||
IN SIZE_T NumberOfBytes,
|
|
||||||
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
|
||||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
|
||||||
IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
|
|
||||||
IN MEMORY_CACHING_TYPE CacheType OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
/* region.c ************************************************************/
|
/* region.c ************************************************************/
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -1311,6 +1299,21 @@ MmQuerySectionView(
|
||||||
PULONG ResultLength
|
PULONG ResultLength
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
MmMapViewOfSection(
|
||||||
|
IN PVOID SectionObject,
|
||||||
|
IN PEPROCESS Process,
|
||||||
|
IN OUT PVOID *BaseAddress,
|
||||||
|
IN ULONG ZeroBits,
|
||||||
|
IN ULONG CommitSize,
|
||||||
|
IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
|
||||||
|
IN OUT PULONG ViewSize,
|
||||||
|
IN SECTION_INHERIT InheritDisposition,
|
||||||
|
IN ULONG AllocationType,
|
||||||
|
IN ULONG Protect
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmProtectSectionView(
|
MmProtectSectionView(
|
||||||
|
@ -1335,19 +1338,6 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmInitSectionImplementation(VOID);
|
MmInitSectionImplementation(VOID);
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
STDCALL
|
|
||||||
MmCreateSection(
|
|
||||||
OUT PSECTION_OBJECT *SectionObject,
|
|
||||||
IN ACCESS_MASK DesiredAccess,
|
|
||||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
|
||||||
IN PLARGE_INTEGER MaximumSize,
|
|
||||||
IN ULONG SectionPageProtection,
|
|
||||||
IN ULONG AllocationAttributes,
|
|
||||||
IN HANDLE FileHandle OPTIONAL,
|
|
||||||
IN PFILE_OBJECT File OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmNotPresentFaultSectionView(
|
MmNotPresentFaultSectionView(
|
||||||
|
@ -1408,7 +1398,7 @@ FASTCALL
|
||||||
MiQueryVirtualMemory(
|
MiQueryVirtualMemory(
|
||||||
IN HANDLE ProcessHandle,
|
IN HANDLE ProcessHandle,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN CINT VirtualMemoryInformationClass,
|
IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
|
||||||
OUT PVOID VirtualMemoryInformation,
|
OUT PVOID VirtualMemoryInformation,
|
||||||
IN ULONG Length,
|
IN ULONG Length,
|
||||||
OUT PULONG ResultLength
|
OUT PULONG ResultLength
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_NLS_H
|
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_NLS_H
|
||||||
#define __NTOSKRNL_INCLUDE_INTERNAL_NLS_H
|
#define __NTOSKRNL_INCLUDE_INTERNAL_NLS_H
|
||||||
|
|
||||||
extern PSECTION_OBJECT NlsSectionObject;
|
extern PVOID NlsSectionObject;
|
||||||
|
|
||||||
extern ULONG NlsAnsiTableOffset;
|
extern ULONG NlsAnsiTableOffset;
|
||||||
extern ULONG NlsOemTableOffset;
|
extern ULONG NlsOemTableOffset;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
EiConnectPort(IN PEPORT* ConnectedPort,
|
EiConnectPort(IN PEPORT* ConnectedPort,
|
||||||
IN PEPORT NamedPort,
|
IN PEPORT NamedPort,
|
||||||
IN PSECTION_OBJECT Section,
|
IN PVOID Section,
|
||||||
IN LARGE_INTEGER SectionOffset,
|
IN LARGE_INTEGER SectionOffset,
|
||||||
IN ULONG ViewSize,
|
IN ULONG ViewSize,
|
||||||
OUT PVOID* ClientSendViewBase,
|
OUT PVOID* ClientSendViewBase,
|
||||||
|
@ -252,7 +252,7 @@ NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
|
||||||
ULONG MaximumMessageSize;
|
ULONG MaximumMessageSize;
|
||||||
PVOID ConnectData = NULL;
|
PVOID ConnectData = NULL;
|
||||||
ULONG ConnectDataLength = 0;
|
ULONG ConnectDataLength = 0;
|
||||||
PSECTION_OBJECT SectionObject;
|
PVOID SectionObject;
|
||||||
LARGE_INTEGER SectionOffset;
|
LARGE_INTEGER SectionOffset;
|
||||||
PEPORT ConnectedPort;
|
PEPORT ConnectedPort;
|
||||||
KPROCESSOR_MODE PreviousMode;
|
KPROCESSOR_MODE PreviousMode;
|
||||||
|
@ -775,7 +775,7 @@ NtAcceptConnectPort (PHANDLE ServerPortHandle,
|
||||||
*/
|
*/
|
||||||
if (WriteMap != NULL)
|
if (WriteMap != NULL)
|
||||||
{
|
{
|
||||||
PSECTION_OBJECT SectionObject;
|
PVOID SectionObject;
|
||||||
LARGE_INTEGER SectionOffset;
|
LARGE_INTEGER SectionOffset;
|
||||||
|
|
||||||
Status = ObReferenceObjectByHandle(WriteMap->SectionHandle,
|
Status = ObReferenceObjectByHandle(WriteMap->SectionHandle,
|
||||||
|
|
|
@ -137,7 +137,7 @@ MmPageOutVirtualMemory(PMADDRESS_SPACE AddressSpace,
|
||||||
PMM_PAGEOP PageOp)
|
PMM_PAGEOP PageOp)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_TYPE Page;
|
||||||
BOOL WasDirty;
|
BOOLEAN WasDirty;
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
|
|
@ -796,7 +796,7 @@ MmGetPfnForProcess(PEPROCESS Process,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOL* WasDirty, PPFN_TYPE Page)
|
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
@ -916,8 +916,8 @@ MmRawDeleteVirtualMapping(PVOID Address)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOL FreePage,
|
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
||||||
BOOL* WasDirty, PPFN_TYPE Page)
|
BOOLEAN* WasDirty, PPFN_TYPE Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -767,7 +767,7 @@ MmFreeMemoryArea(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BOOL Dirty = FALSE;
|
BOOLEAN Dirty = FALSE;
|
||||||
SWAPENTRY SwapEntry = 0;
|
SWAPENTRY SwapEntry = 0;
|
||||||
PFN_TYPE Page = 0;
|
PFN_TYPE Page = 0;
|
||||||
|
|
||||||
|
|
|
@ -136,7 +136,7 @@ MmCheckForPageOp(PMEMORY_AREA MArea, HANDLE Pid, PVOID Address,
|
||||||
PMM_PAGEOP
|
PMM_PAGEOP
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPageOp(PMEMORY_AREA MArea, HANDLE Pid, PVOID Address,
|
MmGetPageOp(PMEMORY_AREA MArea, HANDLE Pid, PVOID Address,
|
||||||
PMM_SECTION_SEGMENT Segment, ULONG Offset, ULONG OpType, BOOL First)
|
PMM_SECTION_SEGMENT Segment, ULONG Offset, ULONG OpType, BOOLEAN First)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Get a page operation descriptor corresponding to
|
* FUNCTION: Get a page operation descriptor corresponding to
|
||||||
* the memory area and either the segment, offset pair or the
|
* the memory area and either the segment, offset pair or the
|
||||||
|
|
|
@ -353,7 +353,7 @@ MmSetDirtyAllRmaps(PFN_TYPE Page)
|
||||||
ExReleaseFastMutex(&RmapListLock);
|
ExReleaseFastMutex(&RmapListLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsDirtyPageRmap(PFN_TYPE Page)
|
MmIsDirtyPageRmap(PFN_TYPE Page)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1333,7 +1333,7 @@ VOID
|
||||||
MmPageOutDeleteMapping(PVOID Context, PEPROCESS Process, PVOID Address)
|
MmPageOutDeleteMapping(PVOID Context, PEPROCESS Process, PVOID Address)
|
||||||
{
|
{
|
||||||
MM_SECTION_PAGEOUT_CONTEXT* PageOutContext;
|
MM_SECTION_PAGEOUT_CONTEXT* PageOutContext;
|
||||||
BOOL WasDirty;
|
BOOLEAN WasDirty;
|
||||||
PFN_TYPE Page;
|
PFN_TYPE Page;
|
||||||
|
|
||||||
PageOutContext = (MM_SECTION_PAGEOUT_CONTEXT*)Context;
|
PageOutContext = (MM_SECTION_PAGEOUT_CONTEXT*)Context;
|
||||||
|
@ -2151,7 +2151,7 @@ MmCreatePhysicalMemorySection(VOID)
|
||||||
OBJ_PERMANENT,
|
OBJ_PERMANENT,
|
||||||
NULL,
|
NULL,
|
||||||
NULL);
|
NULL);
|
||||||
Status = MmCreateSection(&PhysSection,
|
Status = MmCreateSection((PVOID)&PhysSection,
|
||||||
SECTION_ALL_ACCESS,
|
SECTION_ALL_ACCESS,
|
||||||
&Obj,
|
&Obj,
|
||||||
&SectionSize,
|
&SectionSize,
|
||||||
|
@ -3363,7 +3363,7 @@ NtCreateSection (OUT PHANDLE SectionHandle,
|
||||||
IN HANDLE FileHandle OPTIONAL)
|
IN HANDLE FileHandle OPTIONAL)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER SafeMaximumSize;
|
LARGE_INTEGER SafeMaximumSize;
|
||||||
PSECTION_OBJECT SectionObject;
|
PVOID SectionObject;
|
||||||
KPROCESSOR_MODE PreviousMode;
|
KPROCESSOR_MODE PreviousMode;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
|
@ -4814,7 +4814,7 @@ MmSetBankedSection (DWORD Unknown0,
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
MmCreateSection (OUT PSECTION_OBJECT * SectionObject,
|
MmCreateSection (OUT PVOID * Section,
|
||||||
IN ACCESS_MASK DesiredAccess,
|
IN ACCESS_MASK DesiredAccess,
|
||||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||||
IN PLARGE_INTEGER MaximumSize,
|
IN PLARGE_INTEGER MaximumSize,
|
||||||
|
@ -4824,6 +4824,7 @@ MmCreateSection (OUT PSECTION_OBJECT * SectionObject,
|
||||||
IN PFILE_OBJECT File OPTIONAL)
|
IN PFILE_OBJECT File OPTIONAL)
|
||||||
{
|
{
|
||||||
ULONG Protection;
|
ULONG Protection;
|
||||||
|
PSECTION_OBJECT *SectionObject = (PSECTION_OBJECT *)Section;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check the protection
|
* Check the protection
|
||||||
|
|
|
@ -113,7 +113,7 @@ NtLockVirtualMemory(HANDLE ProcessHandle,
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
MiQueryVirtualMemory (IN HANDLE ProcessHandle,
|
MiQueryVirtualMemory (IN HANDLE ProcessHandle,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN CINT VirtualMemoryInformationClass,
|
IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
|
||||||
OUT PVOID VirtualMemoryInformation,
|
OUT PVOID VirtualMemoryInformation,
|
||||||
IN ULONG Length,
|
IN ULONG Length,
|
||||||
OUT PULONG ResultLength)
|
OUT PULONG ResultLength)
|
||||||
|
|
|
@ -33,7 +33,7 @@ static ULONG NlsOemCodePageTableSize = 0;
|
||||||
static PUSHORT NlsUnicodeCasemapTable = NULL;
|
static PUSHORT NlsUnicodeCasemapTable = NULL;
|
||||||
static ULONG NlsUnicodeCasemapTableSize = 0;
|
static ULONG NlsUnicodeCasemapTableSize = 0;
|
||||||
|
|
||||||
PSECTION_OBJECT NlsSectionObject = NULL;
|
PVOID NlsSectionObject = NULL;
|
||||||
static PVOID NlsSectionBase = NULL;
|
static PVOID NlsSectionBase = NULL;
|
||||||
static ULONG NlsSectionViewSize = 0;
|
static ULONG NlsSectionViewSize = 0;
|
||||||
|
|
||||||
|
|
|
@ -530,7 +530,6 @@ typedef struct _KPROCESS *PKPROCESS;
|
||||||
typedef struct _KQUEUE *PKQUEUE;
|
typedef struct _KQUEUE *PKQUEUE;
|
||||||
typedef struct _KTRAP_FRAME *PKTRAP_FRAME;
|
typedef struct _KTRAP_FRAME *PKTRAP_FRAME;
|
||||||
typedef struct _OBJECT_DIRECTORY *POBJECT_DIRECTORY;
|
typedef struct _OBJECT_DIRECTORY *POBJECT_DIRECTORY;
|
||||||
typedef struct _SECTION_OBJECT *PSECTION_OBJECT;
|
|
||||||
typedef struct _SHARED_CACHE_MAP *PSHARED_CACHE_MAP;
|
typedef struct _SHARED_CACHE_MAP *PSHARED_CACHE_MAP;
|
||||||
typedef struct _VACB *PVACB;
|
typedef struct _VACB *PVACB;
|
||||||
typedef struct _VAD_HEADER *PVAD_HEADER;
|
typedef struct _VAD_HEADER *PVAD_HEADER;
|
||||||
|
@ -3423,21 +3422,6 @@ MmIsRecursiveIoFault (
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
MmMapViewOfSection (
|
|
||||||
IN PVOID SectionObject,
|
|
||||||
IN PEPROCESS Process,
|
|
||||||
IN OUT PVOID *BaseAddress,
|
|
||||||
IN ULONG ZeroBits,
|
|
||||||
IN ULONG CommitSize,
|
|
||||||
IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
|
|
||||||
IN OUT PULONG ViewSize,
|
|
||||||
IN SECTION_INHERIT InheritDisposition,
|
|
||||||
IN ULONG AllocationType,
|
|
||||||
IN ULONG Protect
|
|
||||||
);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
|
|
@ -127,7 +127,6 @@ struct _FILE_OBJECT;
|
||||||
struct _DMA_ADAPTER;
|
struct _DMA_ADAPTER;
|
||||||
struct _DEVICE_OBJECT;
|
struct _DEVICE_OBJECT;
|
||||||
struct _DRIVER_OBJECT;
|
struct _DRIVER_OBJECT;
|
||||||
struct _SECTION_OBJECT;
|
|
||||||
struct _IO_STATUS_BLOCK;
|
struct _IO_STATUS_BLOCK;
|
||||||
struct _DEVICE_DESCRIPTION;
|
struct _DEVICE_DESCRIPTION;
|
||||||
struct _SCATTER_GATHER_LIST;
|
struct _SCATTER_GATHER_LIST;
|
||||||
|
@ -141,7 +140,6 @@ typedef PVOID PSID;
|
||||||
DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
|
DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
|
||||||
DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
|
DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
|
||||||
DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
|
DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
|
||||||
DECLARE_INTERNAL_OBJECT(SECTION_OBJECT)
|
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
/* FIXME: Unknown definitions */
|
/* FIXME: Unknown definitions */
|
||||||
|
@ -6789,6 +6787,22 @@ HalExamineMBR(
|
||||||
IN ULONG MBRTypeIdentifier,
|
IN ULONG MBRTypeIdentifier,
|
||||||
OUT PVOID *Buffer);
|
OUT PVOID *Buffer);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
HalPutDmaAdapter(
|
||||||
|
PADAPTER_OBJECT AdapterObject
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
IoAllocateAdapterChannel(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN ULONG NumberOfMapRegisters,
|
||||||
|
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||||
|
IN PVOID Context
|
||||||
|
);
|
||||||
|
|
||||||
NTHALAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
|
@ -8833,7 +8847,7 @@ NTOSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
DDKAPI
|
DDKAPI
|
||||||
MmCreateSection(
|
MmCreateSection(
|
||||||
OUT PSECTION_OBJECT *SectionObject,
|
OUT PVOID *SectionObject,
|
||||||
IN ACCESS_MASK DesiredAccess,
|
IN ACCESS_MASK DesiredAccess,
|
||||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||||
IN PLARGE_INTEGER MaximumSize,
|
IN PLARGE_INTEGER MaximumSize,
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
#define NTAPI_INLINE
|
#define NTAPI_INLINE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DECLSPEC_NOINLINE
|
||||||
|
#define DECLSPEC_NOINLINE __declspec(noinline)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define OBJ_INHERIT 0x00000002
|
#define OBJ_INHERIT 0x00000002
|
||||||
#define OBJ_PERMANENT 0x00000010
|
#define OBJ_PERMANENT 0x00000010
|
||||||
#define OBJ_EXCLUSIVE 0x00000020
|
#define OBJ_EXCLUSIVE 0x00000020
|
||||||
|
|
|
@ -2428,6 +2428,8 @@ typedef struct _TAPE_CREATE_PARTITION {
|
||||||
DWORD Count;
|
DWORD Count;
|
||||||
DWORD Size;
|
DWORD Size;
|
||||||
} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
|
} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
|
||||||
|
/* Sigh..when will they learn... */
|
||||||
|
#ifndef __NTDDK_H
|
||||||
typedef struct _MEMORY_BASIC_INFORMATION {
|
typedef struct _MEMORY_BASIC_INFORMATION {
|
||||||
PVOID BaseAddress;
|
PVOID BaseAddress;
|
||||||
PVOID AllocationBase;
|
PVOID AllocationBase;
|
||||||
|
@ -2437,6 +2439,7 @@ typedef struct _MEMORY_BASIC_INFORMATION {
|
||||||
DWORD Protect;
|
DWORD Protect;
|
||||||
DWORD Type;
|
DWORD Type;
|
||||||
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
|
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
|
||||||
|
#endif
|
||||||
typedef struct _MESSAGE_RESOURCE_ENTRY {
|
typedef struct _MESSAGE_RESOURCE_ENTRY {
|
||||||
WORD Length;
|
WORD Length;
|
||||||
WORD Flags;
|
WORD Flags;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue