Window stations and desktops
[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
29 LIST_ENTRY ListEntry;
30 KSPIN_LOCK Lock;
31 UNICODE_STRING Name;
32 struct _WINSTATION_OBJECT *WindowStation;
33 } DESKTOP_OBJECT, *PDESKTOP_OBJECT;
34
35 /* GLOBAL VARIABLES *********************************************************/
36
37 TIME_ZONE_INFORMATION SystemTimeZoneInfo;
38
39 /* INITIALIZATION FUNCTIONS *************************************************/
40
41 VOID
42 ExpWin32kInit(VOID);
43
44 VOID
45 ExInit (VOID);
46 VOID
47 ExInitTimeZoneInfo (VOID);
48 VOID
49 ExInitializeWorkerThreads(VOID);
50
51 #endif /* __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H */
52
53