Add KIPCR which will be needed soon and add one more internal function Modified: trunk/reactos/ntoskrnl/include/internal/i386/ps.h Modified: trunk/reactos/ntoskrnl/include/internal/mm.h _____
Modified: trunk/reactos/ntoskrnl/include/internal/i386/ps.h --- trunk/reactos/ntoskrnl/include/internal/i386/ps.h 2005-06-17 21:35:33 UTC (rev 16019) +++ trunk/reactos/ntoskrnl/include/internal/i386/ps.h 2005-06-17 22:05:16 UTC (rev 16020) @@ -19,6 +19,10 @@
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_I386_PS_H #define __NTOSKRNL_INCLUDE_INTERNAL_I386_PS_H
+#ifdef __USE_W32API +#include <ddk/ntpoapi.h> +#endif + /* * Defines for accessing KPCR and KTHREAD structure members */ @@ -253,6 +257,37 @@ #pragma pack(pop) #endif /* __USE_W32API */
+/* + * This is the complete, internal KPCR structure + */ +typedef struct _KIPCR { + KPCR_TIB Tib; /* 00 */ + struct _KPCR *Self; /* 1C */ + struct _KPRCB *Prcb; /* 20 */ + KIRQL Irql; /* 24 */ + ULONG IRR; /* 28 */ + ULONG IrrActive; /* 2C */ + ULONG IDR; /* 30 */ + PVOID KdVersionBlock; /* 34 */ + PUSHORT IDT; /* 38 */ + PUSHORT GDT; /* 3C */ + struct _KTSS *TSS; /* 40 */ + USHORT MajorVersion; /* 44 */ + USHORT MinorVersion; /* 46 */ + KAFFINITY SetMember; /* 48 */ + ULONG StallScaleFactor; /* 4C */ + UCHAR SparedUnused; /* 50 */ + UCHAR Number; /* 51 */ + UCHAR Reserved; /* 52 */ + UCHAR L2CacheAssociativity; /* 53 */ + ULONG VdmAlert; /* 54 */ + ULONG KernelReserved[14]; /* 58 */ + ULONG L2CacheSize; /* 90 */ + ULONG HalReserved[16]; /* 94 */ + ULONG InterruptMode; /* D4 */ + UCHAR KernelReserved2[0x48]; /* D8 */ + KPRCB PrcbData; /* 120 */ +} KIPCR, *PKIPCR;
#ifndef __USE_W32API
_____
Modified: trunk/reactos/ntoskrnl/include/internal/mm.h --- trunk/reactos/ntoskrnl/include/internal/mm.h 2005-06-17 21:35:33 UTC (rev 16019) +++ trunk/reactos/ntoskrnl/include/internal/mm.h 2005-06-17 22:05:16 UTC (rev 16020) @@ -856,6 +856,16 @@
NTSTATUS MmTrimUserMemory(ULONG Target, ULONG Priority, PULONG NrFreedPages);
+/* cont.c ********************************************************************/ + +PVOID STDCALL +MmAllocateContiguousAlignedMemory(IN ULONG NumberOfBytes, + IN PHYSICAL_ADDRESS LowestAcceptableAddress, + IN PHYSICAL_ADDRESS HighestAcceptableAddress, + IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL, + IN MEMORY_CACHING_TYPE CacheType OPTIONAL, + IN ULONG Alignment); + /* region.c ************************************************************/
NTSTATUS MmAlterRegion(PMADDRESS_SPACE AddressSpace, PVOID BaseAddress,