xref: /reactos/win32ss/user/winsrv/consrv/conoutput.h (revision 69931a4a)
1 /*
2  * COPYRIGHT:       See COPYING in the top level directory
3  * PROJECT:         ReactOS Console Server DLL
4  * FILE:            win32ss/user/winsrv/consrv/conoutput.h
5  * PURPOSE:         Console Output functions
6  * PROGRAMMERS:     Jeffrey Morlan
7  *                  Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8  */
9 
10 #pragma once
11 
12 #define ConSrvGetTextModeBuffer(ProcessData, Handle, Ptr, Access, LockConsole)  \
13     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), NULL,  \
14                     (Access), (LockConsole), TEXTMODE_BUFFER)
15 #define ConSrvGetTextModeBufferAndHandleEntry(ProcessData, Handle, Ptr, Entry, Access, LockConsole) \
16     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), (Entry),                   \
17                     (Access), (LockConsole), TEXTMODE_BUFFER)
18 
19 #define ConSrvGetGraphicsBuffer(ProcessData, Handle, Ptr, Access, LockConsole)  \
20     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), NULL,  \
21                     (Access), (LockConsole), GRAPHICS_BUFFER)
22 #define ConSrvGetGraphicsBufferAndHandleEntry(ProcessData, Handle, Ptr, Entry, Access, LockConsole) \
23     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), (Entry),                   \
24                     (Access), (LockConsole), GRAPHICS_BUFFER)
25 
26 #define ConSrvGetScreenBuffer(ProcessData, Handle, Ptr, Access, LockConsole)    \
27     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), NULL,  \
28                     (Access), (LockConsole), SCREEN_BUFFER)
29 #define ConSrvGetScreenBufferAndHandleEntry(ProcessData, Handle, Ptr, Entry, Access, LockConsole)   \
30     ConSrvGetObject((ProcessData), (Handle), (PCONSOLE_IO_OBJECT*)(Ptr), (Entry),                   \
31                     (Access), (LockConsole), SCREEN_BUFFER)
32 
33 #define ConSrvReleaseScreenBuffer(Buff, IsConsoleLocked)    \
34     ConSrvReleaseObject(&(Buff)->Header, (IsConsoleLocked))
35 
36 NTSTATUS ConDrvCreateScreenBuffer(OUT PCONSOLE_SCREEN_BUFFER* Buffer,
37                                   IN PCONSOLE Console,
38                                   IN HANDLE ProcessHandle OPTIONAL,
39                                   IN ULONG BufferType,
40                                   IN PVOID ScreenBufferInfo);
41 VOID NTAPI ConDrvDeleteScreenBuffer(PCONSOLE_SCREEN_BUFFER Buffer);
42 // VOID ConioSetActiveScreenBuffer(PCONSOLE_SCREEN_BUFFER Buffer);
43 
44 PCONSOLE_SCREEN_BUFFER
45 ConDrvGetActiveScreenBuffer(IN PCONSOLE Console);
46 
47 /* EOF */
48