ULONG Buffer[0x136];
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
+// FIXME: Redundant definition of W32THREAD also in ntoskrnl\include\internal\ps.h
+typedef struct _W32THREAD
+{
+ PVOID MessageQueue;
+} __attribute__((packed)) W32THREAD, *PW32THREAD;
+
typedef struct _TEB
{
NT_TIB Tib; // 00h
ULONG LastErrorValue; // 34h
ULONG CountOfOwnedCriticalSections; // 38h
PVOID CsrClientThread; // 3Ch
- PVOID Win32ThreadInfo; // 40h
+ PW32THREAD Win32ThreadInfo; // 40h
ULONG Win32ClientInfo[0x1F]; // 44h
PVOID WOW32Reserved; // C0h
ULONG CurrentLocale; // C4h
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: ps.h,v 1.26 2001/09/07 21:36:48 ea Exp $
+/* $Id: ps.h,v 1.27 2001/11/24 14:08:54 jfilby Exp $
*
* FILE: ntoskrnl/ke/kthread.c
* PURPOSE: Process manager definitions
#ifndef __ASM__
#include <internal/mm.h>
+#include <napi/teb.h>
struct _KTHREAD;
struct _KTRAPFRAME;
} PS_IMPERSONATION_INFO, *PPS_IMPERSONATION_INFO;
-typedef struct _W32THREAD
-{
- PVOID MessageQueue;
-} __attribute__((packed)) W32THREAD, *PW32THREAD;
-
-
typedef struct _ETHREAD
{
KTHREAD Tcb; /* 000 */