update for HEAD-2003050101
[reactos.git] / include / ddk / pstypes.h
1 #ifndef __INCLUDE_DDK_PSTYPES_H
2 #define __INCLUDE_DDK_PSTYPES_H
3
4 #include <ntos/ps.h>
5
6 #include <ddk/i386/tss.h>
7 #include <napi/teb.h>
8
9 #ifndef TLS_MINIMUM_AVAILABLE
10 #define TLS_MINIMUM_AVAILABLE   (64)
11 #endif
12 #ifndef TLS_OUT_OF_INDEXES
13 #define TLS_OUT_OF_INDEXES              0xFFFFFFFF
14 #endif
15 #ifndef MAX_PATH
16 #define MAX_PATH        (260)
17 #endif
18
19 struct _EPROCESS;
20 struct _KPROCESS;
21 struct _ETHREAD;
22 struct _KTHREAD;
23
24 typedef NTSTATUS STDCALL_FUNC (*PKSTART_ROUTINE)(PVOID StartContext);
25
26 typedef VOID STDCALL_FUNC (*PCREATE_PROCESS_NOTIFY_ROUTINE)(HANDLE ParentId,
27                                                        HANDLE ProcessId,
28                                                        BOOLEAN Create);
29
30 typedef VOID STDCALL_FUNC (*PCREATE_THREAD_NOTIFY_ROUTINE)(HANDLE ProcessId,
31                                                       HANDLE ThreadId,
32                                                       BOOLEAN Create);
33
34 typedef struct _STACK_INFORMATION
35 {
36         PVOID   BaseAddress;
37         PVOID   UpperAddress;
38 } STACK_INFORMATION, *PSTACK_INFORMATION;
39
40 typedef ULONG THREADINFOCLASS;
41
42 struct _KPROCESS;
43
44 #define LOW_PRIORITY (0)
45 #define LOW_REALTIME_PRIORITY (16)
46 #define HIGH_PRIORITY (31)
47 #define MAXIMUM_PRIORITY (32)
48
49
50 #ifdef __NTOSKRNL__
51 extern struct _EPROCESS* EXPORTED PsInitialSystemProcess;
52 extern POBJECT_TYPE EXPORTED PsProcessType;
53 extern POBJECT_TYPE EXPORTED PsThreadType;
54 #else
55 #ifdef __GNU__ // robd
56 extern struct _EPROCESS* IMPORTED PsInitialSystemProcess;
57 extern POBJECT_TYPE IMPORTED PsProcessType;
58 extern POBJECT_TYPE IMPORTED PsThreadType;
59 #endif
60 #endif
61
62 #endif /* __INCLUDE_DDK_PSTYPES_H */