2 * internal executive prototypes
5 #ifndef __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
6 #define __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
8 #define NTOS_MODE_KERNEL
11 typedef struct _CURSORCLIP_INFO
18 } CURSORCLIP_INFO
, *PCURSORCLIP_INFO
;
20 typedef struct _CURICONS
22 FAST_MUTEX LockHandles
;
26 } CURICONS
, *PCURICONS
;
28 typedef struct _SYSTEM_CURSORINFO
34 BOOL SafetySwitch
, SafetySwitch2
;
35 FAST_MUTEX CursorMutex
;
36 CURSORCLIP_INFO CursorClipInfo
;
38 PVOID CurrentCursorObject
;
47 } SYSTEM_CURSORINFO
, *PSYSTEM_CURSORINFO
;
49 typedef struct _WINSTATION_OBJECT
56 LIST_ENTRY DesktopListHead
;
57 PRTL_ATOM_TABLE AtomTable
;
59 HANDLE SystemMenuTemplate
;
60 SYSTEM_CURSORINFO SystemCursor
;
62 struct _DESKTOP_OBJECT
* ActiveDesktop
;
63 /* FIXME: Clipboard */
64 LIST_ENTRY HotKeyListHead
;
65 FAST_MUTEX HotKeyListLock
;
66 } WINSTATION_OBJECT
, *PWINSTATION_OBJECT
;
68 typedef struct _DESKTOP_OBJECT
75 /* Pointer to the associated window station. */
76 struct _WINSTATION_OBJECT
*WindowStation
;
77 /* Pointer to the active queue. */
78 PVOID ActiveMessageQueue
;
79 /* Rectangle of the work area */
85 /* Handle of the desktop window. */
87 HANDLE PrevActiveWindow
;
88 } DESKTOP_OBJECT
, *PDESKTOP_OBJECT
;
91 typedef VOID (*PLOOKASIDE_MINMAX_ROUTINE
)(
95 PUSHORT MaximumDepth
);
97 /* GLOBAL VARIABLES *********************************************************/
99 TIME_ZONE_INFORMATION SystemTimeZoneInfo
;
100 extern POBJECT_TYPE ExEventPairObjectType
;
103 /* INITIALIZATION FUNCTIONS *************************************************/
113 ExInitTimeZoneInfo (VOID
);
115 ExInitializeWorkerThreads(VOID
);
117 ExpInitLookasideLists(VOID
);
119 /* OTHER FUNCTIONS **********************************************************/
122 ExpSwapThreadEventPair(
123 IN
struct _ETHREAD
* Thread
,
124 IN
struct _KEVENT_PAIR
* EventPair
128 #endif /* __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H */