2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/consrv/console.h
5 * PURPOSE: Consoles Management
6 * PROGRAMMERS: Hermes Belusca-Maito
11 #define ConSrvLockConsoleListExclusive() \
12 RtlAcquireResourceExclusive(&ListLock, TRUE)
14 #define ConSrvLockConsoleListShared() \
15 RtlAcquireResourceShared(&ListLock, TRUE)
17 #define ConSrvUnlockConsoleList() \
18 RtlReleaseResource(&ListLock)
20 extern LIST_ENTRY ConsoleList
;
21 extern RTL_RESOURCE ListLock
;
25 * WARNING: Change the state of the console ONLY when the console is locked !
27 typedef enum _CONSOLE_STATE
29 CONSOLE_INITIALIZING
, /* Console is initializing */
30 CONSOLE_RUNNING
, /* Console running */
31 CONSOLE_TERMINATING
, /* Console about to be destroyed (but still not) */
32 CONSOLE_IN_DESTRUCTION
/* Console in destruction */
33 } CONSOLE_STATE
, *PCONSOLE_STATE
;
37 VOID WINAPI
ConSrvInitConsoleSupport(VOID
);
38 NTSTATUS WINAPI
ConSrvInitConsole(OUT PCONSOLE
* NewConsole
,
39 IN OUT PCONSOLE_START_INFO ConsoleStartInfo
,
40 IN PCSR_PROCESS ConsoleLeaderProcess
);
41 VOID WINAPI
ConSrvDeleteConsole(PCONSOLE Console
);
42 BOOL FASTCALL
ConSrvValidatePointer(PCONSOLE Console
);
43 BOOL FASTCALL
ConSrvValidateConsoleState(PCONSOLE Console
,
44 CONSOLE_STATE ExpectedState
);
45 BOOL FASTCALL
ConSrvValidateConsoleUnsafe(PCONSOLE Console
,
46 CONSOLE_STATE ExpectedState
,
48 BOOL FASTCALL
ConSrvValidateConsole(PCONSOLE Console
,
49 CONSOLE_STATE ExpectedState
,