xref: /reactos/win32ss/user/winsrv/consrv/handle.h (revision 845faec4)
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);
38