bc96180d306879f6d42b8892f98d7acb214b3136
[reactos.git] / reactos / ntoskrnl / include / internal / ex.h
1 /*
2 * internal executive prototypes
3 */
4
5 #ifndef __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
6 #define __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
7
8 #include <ddk/ntddk.h>
9 #include <ntos/time.h>
10
11 typedef struct _WINSTATION_OBJECT
12 {
13 CSHORT Type;
14 CSHORT Size;
15
16 KSPIN_LOCK Lock;
17 UNICODE_STRING Name;
18 LIST_ENTRY DesktopListHead;
19 PRTL_ATOM_TABLE AtomTable;
20 PVOID HandleTable;
21 /* FIXME: Clipboard */
22 } WINSTATION_OBJECT, *PWINSTATION_OBJECT;
23
24 typedef struct _DESKTOP_OBJECT
25 {
26 CSHORT Type;
27 CSHORT Size;
28 LIST_ENTRY ListEntry;
29 KSPIN_LOCK Lock;
30 UNICODE_STRING Name;
31 struct _WINSTATION_OBJECT *WindowStation;
32 LIST_ENTRY WindowListHead;
33 } DESKTOP_OBJECT, *PDESKTOP_OBJECT;
34
35
36 typedef VOID (*PLOOKASIDE_MINMAX_ROUTINE)(
37 POOL_TYPE PoolType,
38 ULONG Size,
39 PUSHORT MinimumDepth,
40 PUSHORT MaximumDepth);
41
42 /* GLOBAL VARIABLES *********************************************************/
43
44 TIME_ZONE_INFORMATION SystemTimeZoneInfo;
45
46 /* INITIALIZATION FUNCTIONS *************************************************/
47
48 VOID
49 ExpWin32kInit(VOID);
50
51 VOID
52 ExInit (VOID);
53 VOID
54 ExInitTimeZoneInfo (VOID);
55 VOID
56 ExInitializeWorkerThreads(VOID);
57 VOID
58 ExpInitLookasideLists(VOID);
59
60 #endif /* __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H */