ReactOS 0.4.15-dev-7918-g2a2556c
term.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/include/term.h
5 * PURPOSE: Internal Frontend Interface
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9#pragma once
10
11/* Macros used to call functions in the TERMINAL_VTBL virtual table */
12
13#define TermReadStream(Console, Unicode, Buffer, ReadControl, Parameter, NumCharsToRead, NumCharsRead) \
14 (Console)->TermIFace.Vtbl->ReadStream(&(Console)->TermIFace, (Unicode), \
15 (Buffer), (ReadControl), (Parameter), (NumCharsToRead), (NumCharsRead))
16
17#define TermWriteStream(Console, ScreenBuffer, Buffer, Length, Attrib) \
18 (Console)->TermIFace.Vtbl->WriteStream(&(Console)->TermIFace, (ScreenBuffer), (Buffer), \
19 (Length), (Attrib))
20
21
22#define TermDrawRegion(Console, Region) \
23 (Console)->TermIFace.Vtbl->DrawRegion(&(Console)->TermIFace, (Region))
24#define TermSetCursorInfo(Console, ScreenBuffer) \
25 (Console)->TermIFace.Vtbl->SetCursorInfo(&(Console)->TermIFace, (ScreenBuffer))
26#define TermSetScreenInfo(Console, ScreenBuffer, OldCursorX, OldCursorY) \
27 (Console)->TermIFace.Vtbl->SetScreenInfo(&(Console)->TermIFace, (ScreenBuffer), (OldCursorX), (OldCursorY))
28#define TermResizeTerminal(Console) \
29 (Console)->TermIFace.Vtbl->ResizeTerminal(&(Console)->TermIFace)
30#define TermSetActiveScreenBuffer(Console) \
31 (Console)->TermIFace.Vtbl->SetActiveScreenBuffer(&(Console)->TermIFace)
32#define TermReleaseScreenBuffer(Console, ScreenBuffer) \
33 (Console)->TermIFace.Vtbl->ReleaseScreenBuffer(&(Console)->TermIFace, (ScreenBuffer))
34#define TermGetLargestConsoleWindowSize(Console, pSize) \
35 (Console)->TermIFace.Vtbl->GetLargestConsoleWindowSize(&(Console)->TermIFace, (pSize))
36#define TermSetPalette(Console, PaletteHandle, PaletteUsage) \
37 (Console)->TermIFace.Vtbl->SetPalette(&(Console)->TermIFace, (PaletteHandle), (PaletteUsage))
38#define TermSetCodePage(Console, CodePage) \
39 (Console)->TermIFace.Vtbl->SetCodePage(&(Console)->TermIFace, (CodePage))
40#define TermShowMouseCursor(Console, Show) \
41 (Console)->TermIFace.Vtbl->ShowMouseCursor(&(Console)->TermIFace, (Show))
42
43
44/* Macros used to call functions in the FRONTEND_VTBL virtual table */
45
46#define TermRefreshInternalInfo(Console) \
47 (Console)->FrontEndIFace.Vtbl->RefreshInternalInfo(&(Console)->FrontEndIFace)
48#define TermChangeTitle(Console) \
49 (Console)->FrontEndIFace.Vtbl->ChangeTitle(&(Console)->FrontEndIFace)
50#define TermChangeIcon(Console, IconHandle) \
51 (Console)->FrontEndIFace.Vtbl->ChangeIcon(&(Console)->FrontEndIFace, (IconHandle))
52#define TermGetThreadConsoleDesktop(Console) \
53 (Console)->FrontEndIFace.Vtbl->GetThreadConsoleDesktop(&(Console)->FrontEndIFace)
54#define TermGetConsoleWindowHandle(Console) \
55 (Console)->FrontEndIFace.Vtbl->GetConsoleWindowHandle(&(Console)->FrontEndIFace)
56#define TermGetSelectionInfo(Console, pSelectionInfo) \
57 (Console)->FrontEndIFace.Vtbl->GetSelectionInfo(&(Console)->FrontEndIFace, (pSelectionInfo))
58#define TermGetDisplayMode(Console) \
59 (Console)->FrontEndIFace.Vtbl->GetDisplayMode(&(Console)->FrontEndIFace)
60#define TermSetDisplayMode(Console, NewMode) \
61 (Console)->FrontEndIFace.Vtbl->SetDisplayMode(&(Console)->FrontEndIFace, (NewMode))
62#define TermSetMouseCursor(Console, CursorHandle) \
63 (Console)->FrontEndIFace.Vtbl->SetMouseCursor(&(Console)->FrontEndIFace, (CursorHandle))
64#define TermMenuControl(Console, CmdIdLow, CmdIdHigh) \
65 (Console)->FrontEndIFace.Vtbl->MenuControl(&(Console)->FrontEndIFace, (CmdIdLow), (CmdIdHigh))
66#define TermSetMenuClose(Console, Enable) \
67 (Console)->FrontEndIFace.Vtbl->SetMenuClose(&(Console)->FrontEndIFace, (Enable))
68
69/* EOF */