2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/consrv/settings.h
5 * PURPOSE: Consoles settings management
6 * PROGRAMMERS: Hermes Belusca - Maito
8 * NOTE: Adapted from existing code.
14 #define PM_APPLY_CONSOLE_INFO (WM_APP + 100)
16 /* STRUCTURES *****************************************************************/
18 typedef struct _GUI_CONSOLE_INFO
20 // FONTSIGNATURE FontSignature;
21 WCHAR FaceName
[LF_FACESIZE
];
30 } GUI_CONSOLE_INFO
, *PGUI_CONSOLE_INFO
;
32 typedef struct _CONSOLE_INFO
34 ULONG HistoryBufferSize
;
35 ULONG NumberOfHistoryBuffers
;
38 /* BOOLEAN */ ULONG FullScreen
; // Give the type of console: GUI (windowed) or TUI (fullscreen)
41 ULONG InputBufferSize
;
42 COORD ScreenBufferSize
;
44 /* SIZE */ COORD ConsoleSize
; // This is really the size of the console at screen.
46 BOOLEAN CursorBlinkOn
;
47 BOOLEAN ForceCursorOff
;
50 USHORT ScreenAttrib
; // CHAR_INFO ScreenFillAttrib
58 WCHAR ConsoleTitle
[MAX_PATH
+ 1];
60 // PVOID TerminalInfo; /* Terminal-specific parameters */
63 GUI_CONSOLE_INFO GuiInfo
;
64 // TUI_CONSOLE_INFO TuiInfo;
66 } CONSOLE_INFO
, *PCONSOLE_INFO
;
68 #define RGBFromAttrib(Console, Attribute) ((Console)->Colors[(Attribute) & 0xF])
69 #define TextAttribFromAttrib(Attribute) ((Attribute) & 0xF)
70 #define BkgdAttribFromAttrib(Attribute) (((Attribute) >> 4) & 0xF)
71 #define MakeAttrib(TextAttrib, BkgdAttrib) (DWORD)((((BkgdAttrib) & 0xF) << 4) | ((TextAttrib) & 0xF))
74 /* Used to communicate with console.dll */
75 typedef struct _CONSOLE_PROPS
78 BOOL ShowDefaultParams
;
80 BOOLEAN AppliedConfig
;
81 DWORD ActiveStaticControl
;
84 } CONSOLE_PROPS
, *PCONSOLE_PROPS
;
86 /* FUNCTIONS ******************************************************************/
88 BOOL
ConSrvReadUserSettings(IN OUT PCONSOLE_INFO ConsoleInfo
,
90 BOOL
ConSrvWriteUserSettings(IN PCONSOLE_INFO ConsoleInfo
,
92 VOID
ConSrvGetDefaultSettings(IN OUT PCONSOLE_INFO ConsoleInfo
,