ReactOS 0.4.15-dev-7906-g1b85a5f
kdterminal.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS KDBG Kernel Debugger Terminal Driver
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: KD Terminal Driver public header
5 * COPYRIGHT: Copyright 2023 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
6 */
7
8#pragma once
9
10#define KEY_BS 8
11#define KEY_ESC 27
12#define KEY_DEL 127
13
14#define KEY_SCAN_UP 72
15#define KEY_SCAN_DOWN 80
16
17/* Scan codes of keyboard keys */
18#define KEYSC_END 0x004f
19#define KEYSC_PAGEUP 0x0049
20#define KEYSC_PAGEDOWN 0x0051
21#define KEYSC_HOME 0x0047
22#define KEYSC_ARROWUP 0x0048 // == KEY_SCAN_UP
23
24
25typedef struct _SIZE
26{
30
31/* KD Controlling Terminal */
32
33/* These values MUST be nonzero, they're used as bit masks */
35{
39
40extern ULONG KdbDebugState;
41extern SIZE KdTermSize;
45
48
51 _Out_ PSIZE TermSize);
52
53VOID
55
56CHAR
59
60/* EOF */
unsigned char BOOLEAN
UINT ScanCode
Definition: VirtualKey.c:24
_KDB_OUTPUT_SETTINGS
Definition: kdterminal.h:35
@ KD_DEBUG_KDSERIAL
Definition: kdterminal.h:36
@ KD_DEBUG_KDNOECHO
Definition: kdterminal.h:37
VOID KdpFlushTerminalInput(VOID)
Flushes terminal input (either serial or PS/2).
Definition: kdterminal.c:197
BOOLEAN KdTermConnected
Definition: kdterminal.c:34
struct _SIZE * PSIZE
BOOLEAN KdpUpdateTerminalSize(_Out_ PSIZE TermSize)
Definition: kdterminal.c:108
ULONG KdbDebugState
Definition: kdterminal.c:32
enum _KDB_OUTPUT_SETTINGS KDB_OUTPUT_SETTINGS
SIZE KdTermSize
Definition: kdterminal.c:33
BOOLEAN KdTermReportsSize
Definition: kdterminal.c:36
struct _SIZE SIZE
BOOLEAN KdpInitTerminal(VOID)
Initializes the controlling terminal.
Definition: kdterminal.c:51
BOOLEAN KdTermSerial
Definition: kdterminal.c:35
CHAR KdpReadTermKey(_Out_ PULONG ScanCode)
Reads one character from the terminal. This function returns a scan code even when reading is done fr...
Definition: kdterminal.c:217
#define _Out_
Definition: ms_sal.h:345
long LONG
Definition: pedump.c:60
LONG cx
Definition: kdterminal.h:27
LONG cy
Definition: kdterminal.h:28
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
char CHAR
Definition: xmlstorage.h:175