[SHELL-EXPERIMENTS]
[reactos.git] / win32ss / user / winsrv / consrv / console.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/console.h
5 * PURPOSE: Console Initialization Functions
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9 #pragma once
10
11 typedef struct _CONSOLE_INIT_INFO
12 {
13 PCONSOLE_START_INFO ConsoleStartInfo;
14
15 ULONG TitleLength;
16 PWCHAR ConsoleTitle;
17 ULONG DesktopLength;
18 PWCHAR Desktop;
19 ULONG AppNameLength;
20 PWCHAR AppName;
21 ULONG CurDirLength;
22 PWCHAR CurDir;
23 } CONSOLE_INIT_INFO, *PCONSOLE_INIT_INFO;
24
25 VOID NTAPI
26 ConSrvInitConsoleSupport(VOID);
27
28 NTSTATUS NTAPI
29 ConSrvInitConsole(OUT PHANDLE NewConsoleHandle,
30 OUT struct _CONSRV_CONSOLE** /* PCONSRV_CONSOLE* */ NewConsole,
31 IN OUT PCONSOLE_INIT_INFO ConsoleInitInfo,
32 IN ULONG ConsoleLeaderProcessId);
33 VOID NTAPI ConSrvDeleteConsole(struct _CONSRV_CONSOLE* /* PCONSRV_CONSOLE */ Console);
34
35 NTSTATUS
36 ConSrvGetConsole(IN PCONSOLE_PROCESS_DATA ProcessData,
37 OUT struct _CONSRV_CONSOLE** /* PCONSRV_CONSOLE* */ Console,
38 IN BOOLEAN LockConsole);
39 VOID
40 ConSrvReleaseConsole(IN struct _CONSRV_CONSOLE* /* PCONSRV_CONSOLE */ Console,
41 IN BOOLEAN WasConsoleLocked);
42
43
44 BOOLEAN NTAPI
45 ConSrvValidateConsole(OUT struct _CONSRV_CONSOLE** /* PCONSRV_CONSOLE* */ Console,
46 IN HANDLE ConsoleHandle,
47 IN CONSOLE_STATE ExpectedState,
48 IN BOOLEAN LockConsole);