[CONSRV]: Some handle reworking commit, that might look like ridiculous at first...
[reactos.git] / win32ss / user / winsrv / consrv / handle.h
1 /*
2 * LICENSE: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/handle.h
5 * PURPOSE: Console I/O Handles functions
6 * PROGRAMMERS: David Welch
7 * Jeffrey Morlan
8 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
9 */
10
11 #pragma once
12
13 VOID
14 ConSrvInitObject(IN OUT PCONSOLE_IO_OBJECT Object,
15 IN CONSOLE_IO_OBJECT_TYPE Type,
16 IN PCONSOLE Console);
17 NTSTATUS
18 ConSrvInsertObject(IN PCONSOLE_PROCESS_DATA ProcessData,
19 OUT PHANDLE Handle,
20 IN PCONSOLE_IO_OBJECT Object,
21 IN ULONG Access,
22 IN BOOLEAN Inheritable,
23 IN ULONG ShareMode);
24 NTSTATUS
25 ConSrvRemoveObject(IN PCONSOLE_PROCESS_DATA ProcessData,
26 IN HANDLE Handle);
27 NTSTATUS
28 ConSrvGetObject(IN PCONSOLE_PROCESS_DATA ProcessData,
29 IN HANDLE Handle,
30 OUT PCONSOLE_IO_OBJECT* Object,
31 OUT PVOID* Entry OPTIONAL,
32 IN ULONG Access,
33 IN BOOLEAN LockConsole,
34 IN CONSOLE_IO_OBJECT_TYPE Type);
35 VOID
36 ConSrvReleaseObject(IN PCONSOLE_IO_OBJECT Object,
37 IN BOOLEAN IsConsoleLocked);