mirror of
https://github.com/reactos/reactos.git
synced 2024-10-09 10:48:55 +00:00
53 lines
1.8 KiB
C
53 lines
1.8 KiB
C
|
/*
|
||
|
* COPYRIGHT: See COPYING in the top level directory
|
||
|
* PROJECT: ReactOS Console Server DLL
|
||
|
* FILE: win32ss/user/consrv/console.h
|
||
|
* PURPOSE: Consoles Management
|
||
|
* PROGRAMMERS: Hermes Belusca-Maito
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#define ConSrvLockConsoleListExclusive() \
|
||
|
RtlAcquireResourceExclusive(&ListLock, TRUE)
|
||
|
|
||
|
#define ConSrvLockConsoleListShared() \
|
||
|
RtlAcquireResourceShared(&ListLock, TRUE)
|
||
|
|
||
|
#define ConSrvUnlockConsoleList() \
|
||
|
RtlReleaseResource(&ListLock)
|
||
|
|
||
|
extern LIST_ENTRY ConsoleList;
|
||
|
extern RTL_RESOURCE ListLock;
|
||
|
|
||
|
#if 0
|
||
|
/*
|
||
|
* WARNING: Change the state of the console ONLY when the console is locked !
|
||
|
*/
|
||
|
typedef enum _CONSOLE_STATE
|
||
|
{
|
||
|
CONSOLE_INITIALIZING, /* Console is initializing */
|
||
|
CONSOLE_RUNNING , /* Console running */
|
||
|
CONSOLE_TERMINATING , /* Console about to be destroyed (but still not) */
|
||
|
CONSOLE_IN_DESTRUCTION /* Console in destruction */
|
||
|
} CONSOLE_STATE, *PCONSOLE_STATE;
|
||
|
#endif
|
||
|
|
||
|
|
||
|
VOID WINAPI ConSrvInitConsoleSupport(VOID);
|
||
|
NTSTATUS WINAPI ConSrvInitConsole(OUT PCONSOLE* NewConsole,
|
||
|
IN OUT PCONSOLE_START_INFO ConsoleStartInfo,
|
||
|
IN PCSR_PROCESS ConsoleLeaderProcess);
|
||
|
VOID WINAPI ConSrvDeleteConsole(PCONSOLE Console);
|
||
|
BOOL FASTCALL ConSrvValidatePointer(PCONSOLE Console);
|
||
|
BOOL FASTCALL ConSrvValidateConsoleState(PCONSOLE Console,
|
||
|
CONSOLE_STATE ExpectedState);
|
||
|
BOOL FASTCALL ConSrvValidateConsoleUnsafe(PCONSOLE Console,
|
||
|
CONSOLE_STATE ExpectedState,
|
||
|
BOOL LockConsole);
|
||
|
BOOL FASTCALL ConSrvValidateConsole(PCONSOLE Console,
|
||
|
CONSOLE_STATE ExpectedState,
|
||
|
BOOL LockConsole);
|
||
|
|
||
|
/* EOF */
|