+#ifndef __USE_W32API
+
+#pragma pack(push,4)
+
+/*
+ * Processor Control Region Thread Information Block
+ */
+typedef struct _KPCR_TIB {
+ PVOID ExceptionList; /* 00 */
+ PVOID StackBase; /* 04 */
+ PVOID StackLimit; /* 08 */
+ PVOID SubSystemTib; /* 0C */
+ union {
+ PVOID FiberData; /* 10 */
+ DWORD Version; /* 10 */
+ };
+ PVOID ArbitraryUserPointer; /* 14 */
+} KPCR_TIB, *PKPCR_TIB; /* 18 */
+
+typedef struct _KPCR {
+ KPCR_TIB Tib; /* 00 */
+ struct _KPCR *Self; /* 18 */
+ struct _KPRCB *PCRCB; /* 1C */
+ KIRQL Irql; /* 20 */
+ ULONG IRR; /* 24 */
+ ULONG IrrActive; /* 28 */
+ ULONG IDR; /* 2C */
+ PVOID KdVersionBlock; /* 30 */
+ PUSHORT IDT; /* 34 */
+ PUSHORT GDT; /* 38 */
+ struct _KTSS *TSS; /* 3C */
+ USHORT MajorVersion; /* 40 */
+ USHORT MinorVersion; /* 42 */
+ KAFFINITY SetMember; /* 44 */
+ ULONG StallScaleFactor; /* 48 */
+ UCHAR DebugActive; /* 4C */
+ UCHAR ProcessorNumber; /* 4D */
+ UCHAR Reserved[2]; /* 4E */
+} KPCR;
+
+#pragma pack(pop)
+
+typedef struct _KPCR *PKPCR;
+
+#endif /* __USE_W32API */
+
+#pragma pack(push,4)
+