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,