ReactOS 0.4.16-dev-2522-g97cc325
hdl.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: ntoskrnl/include/internal/hdl.h
5 * PURPOSE: Internal header for the Configuration Manager
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9#pragma once
10
11#include <ndk/extypes.h>
12
13//
14// Define this if you want debugging support
15//
16#define _HDL_DEBUG_ 0x00
17
18//
19// These define the Debug Masks Supported
20//
21#define HDL_XXX_DEBUG 0x01
22
23//
24// Debug/Tracing support
25//
26#if _HDL_DEBUG_
27#ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
28#define HDLTRACE DbgPrintEx
29#else
30#define HDLTRACE(x, ...) \
31 if (x & HdlpTraceLevel) DbgPrint(__VA_ARGS__)
32#endif
33#else
34#define HDLTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__)
35#endif
36
37//
38// Well-known messages that Io and Pnp post to the kernel log
39//
41{
59 //
60 // There are more, but not applicable to ReactOS, I believe
61 //
63
64//
65// Headless Log Entry
66//
67typedef struct _HEADLESS_LOG_ENTRY
68{
72
73//
74// Headless Bugcheck Information
75//
77{
81
82//
83// Headless Control Structure, mostly for !SAC
84//
85typedef struct _HEADLESS_GLOBALS
86{
93 union
94 {
95 struct
96 {
108 };
110 };
124
125//
126// FIXME: A public header in the NDK? Ask Alex
127//
128typedef enum _HEADLESS_CMD
129{
153
155{
159
161{
168
170{
172 union
173 {
174 struct
175 {
183 };
185
187{
190
192{
195
197{
201
203{
207
209{
212
214NTAPI
218 IN SIZE_T InputBufferSize,
220 OUT PSIZE_T OutputBufferSize
221);
222
223//
224// Global variables accessible from all of Hdl
225//
227
228//
229// Inlined functions
230//
231//#include "hdl_x.h"
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
struct _HEADLESS_LOG_ENTRY HEADLESS_LOG_ENTRY
_HEADLESS_CMD
Definition: hdl.h:129
@ HeadlessCmdPutString
Definition: hdl.h:132
@ HeadlessCmdStartBugCheck
Definition: hdl.h:143
@ HeadlessCmdDisplayInverseVideo
Definition: hdl.h:137
@ HeadlessCmdTerminalPoll
Definition: hdl.h:140
@ HeadlessCmdSetColor
Definition: hdl.h:138
@ HeadlessCmdDisplayAttributesOff
Definition: hdl.h:136
@ HeadlessCmdGetByte
Definition: hdl.h:141
@ HeadlessCmdPutData
Definition: hdl.h:151
@ HeadlessCmdPositionCursor
Definition: hdl.h:139
@ HeadlessCmdEnableTerminal
Definition: hdl.h:130
@ HeadlessCmdClearDisplay
Definition: hdl.h:133
@ HeadlessCmdQueryGUID
Definition: hdl.h:150
@ HeadlessCmdGetLine
Definition: hdl.h:142
@ HeadlessCmdClearToEndOfLine
Definition: hdl.h:135
@ HeadlessCmdDisplayLog
Definition: hdl.h:147
@ HeadlessCmdClearToEndOfDisplay
Definition: hdl.h:134
@ HeadlessCmdAddLogEntry
Definition: hdl.h:146
@ HeadlessCmdDoBugCheckProcessing
Definition: hdl.h:144
@ HeadlessCmdCheckForReboot
Definition: hdl.h:131
@ HeadlessCmdSendBlueScreenData
Definition: hdl.h:149
@ HeadlessCmdSetBlueScreenData
Definition: hdl.h:148
@ HeadlessCmdQueryInformation
Definition: hdl.h:145
struct _HEADLESS_CMD_ENABLE_TERMINAL * PHEADLESS_CMD_ENABLE_TERMINAL
struct _HEADLESS_GLOBALS HEADLESS_GLOBALS
enum _HEADLESS_CMD * PHEADLESS_CMD
NTSTATUS NTAPI HeadlessDispatch(IN HEADLESS_CMD Command, IN PVOID InputBuffer, IN SIZE_T InputBufferSize, OUT PVOID OutputBuffer, OUT PSIZE_T OutputBufferSize)
Definition: hdlsterm.c:580
struct _HEADLESS_CMD_SET_COLOR HEADLESS_CMD_SET_COLOR
PHEADLESS_GLOBALS HeadlessGlobals
Definition: hdlsterm.c:16
struct _HEADLESS_CMD_PUT_STRING HEADLESS_CMD_PUT_STRING
struct _HEADLESS_GLOBALS * PHEADLESS_GLOBALS
_HEADLESS_LOG_MESSAGE
Definition: hdl.h:41
@ HeadlessLogPnpFailed
Definition: hdl.h:48
@ HeadlessLogReassignSystemRootFailed
Definition: hdl.h:53
@ HeadlessLogDriverLoad
Definition: hdl.h:42
@ HeadlessLogBootDriversFailed
Definition: hdl.h:50
@ HeadlessLogSystemDriversFailed
Definition: hdl.h:52
@ HeadlessLogProtectSystemRootFailed
Definition: hdl.h:54
@ HeadlessLogObjectFailed
Definition: hdl.h:46
@ HeadlessLogNtdllFailed
Definition: hdl.h:51
@ HeadlessLogConvertSystemRootFailed
Definition: hdl.h:55
@ HeadlessLogDriverFailed
Definition: hdl.h:44
@ HeadlessLogConvertDeviceNameFailed
Definition: hdl.h:56
@ HeadlessLogGroupTableFailed
Definition: hdl.h:58
@ HeadlessLogDriverSuccess
Definition: hdl.h:43
@ HeadlessLogGroupOrderListFailed
Definition: hdl.h:57
@ HeadlessLogEventFailed
Definition: hdl.h:45
@ HeadlessLogDirectoryFailed
Definition: hdl.h:47
@ HeadlessLogPnpFailed2
Definition: hdl.h:49
enum _HEADLESS_TERM_PORT_TYPE * PHEADLESS_TERM_PORT_TYPE
struct _HEADLESS_CMD_SET_COLOR * PHEADLESS_CMD_SET_COLOR
struct _HEADLESS_LOG_ENTRY * PHEADLESS_LOG_ENTRY
struct _HEADLESS_RSP_GET_BYTE HEADLESS_RSP_GET_BYTE
enum _HEADLESS_TERM_SERIAL_PORT * PHEADLESS_TERM_SERIAL_PORT
enum _HEADLESS_LOG_MESSAGE HEADLESS_LOG_MESSAGE
struct _HEADLESS_CMD_PUT_STRING * PHEADLESS_CMD_PUT_STRING
struct _HEADLESS_RSP_QUERY_INFO * PHEADLESS_RSP_QUERY_INFO
enum _HEADLESS_TERM_PORT_TYPE HEADLESS_TERM_PORT_TYPE
enum _HEADLESS_CMD HEADLESS_CMD
struct _HEADLESS_CMD_POSITION_CURSOR HEADLESS_CMD_POSITION_CURSOR
struct _HEADLESS_CMD_POSITION_CURSOR * PHEADLESS_CMD_POSITION_CURSOR
struct _HEADLESS_RSP_GET_BYTE * PHEADLESS_RSP_GET_BYTE
enum _HEADLESS_TERM_SERIAL_PORT HEADLESS_TERM_SERIAL_PORT
struct _HEADLESS_RSP_QUERY_INFO HEADLESS_RSP_QUERY_INFO
struct _HEADLESS_CMD_ENABLE_TERMINAL HEADLESS_CMD_ENABLE_TERMINAL
struct _HEADLESS_CMD_SET_BLUE_SCREEN_DATA HEADLESS_CMD_SET_BLUE_SCREEN_DATA
_HEADLESS_TERM_PORT_TYPE
Definition: hdl.h:155
@ HeadlessUndefinedPortType
Definition: hdl.h:156
@ HeadlessSerialPort
Definition: hdl.h:157
_HEADLESS_TERM_SERIAL_PORT
Definition: hdl.h:161
@ SerialPortUndefined
Definition: hdl.h:162
@ ComPort3
Definition: hdl.h:165
@ ComPort1
Definition: hdl.h:163
@ ComPort2
Definition: hdl.h:164
@ ComPort4
Definition: hdl.h:166
struct _HEADLESS_CMD_SET_BLUE_SCREEN_DATA * PHEADLESS_CMD_SET_BLUE_SCREEN_DATA
unsigned short USHORT
Definition: pedump.c:61
Definition: shell.h:41
ULONG TerminalEnabled
Definition: hdl.h:97
USHORT LogEntryLast
Definition: hdl.h:118
GUID SystemGUID
Definition: hdl.h:120
ULONG NewLogEntryAdded
Definition: hdl.h:99
PHEADLESS_CMD_SET_BLUE_SCREEN_DATA BlueScreenData
Definition: hdl.h:92
ULONG IsNonLegacyDevice
Definition: hdl.h:107
BOOLEAN IsLastCharCR
Definition: hdl.h:122
ULONG InputLineDone
Definition: hdl.h:102
PUCHAR TerminalPortAddress
Definition: hdl.h:113
ULONG TerminalPortNumber
Definition: hdl.h:106
ULONG TerminalPort
Definition: hdl.h:112
ULONG UsedBiosSettings
Definition: hdl.h:100
SIZE_T InputBufferIndex
Definition: hdl.h:117
ULONG TerminalStopBits
Definition: hdl.h:105
BOOLEAN IsMMIODevice
Definition: hdl.h:121
UCHAR TerminalType
Definition: hdl.h:116
ULONG AllFlags
Definition: hdl.h:109
ULONG MicroSecondsDelayTime
Definition: hdl.h:115
PHEADLESS_LOG_ENTRY LogEntries
Definition: hdl.h:89
HANDLE PageLockHandle
Definition: hdl.h:88
ULONG TerminalBaudRate
Definition: hdl.h:111
ULONG TerminalParity
Definition: hdl.h:104
LARGE_INTEGER DelayTime
Definition: hdl.h:114
ULONG InputProcessing
Definition: hdl.h:101
PUCHAR InputBuffer
Definition: hdl.h:91
USHORT LogEntryStart
Definition: hdl.h:119
ULONG InBugCheck
Definition: hdl.h:98
PUCHAR TmpBuffer
Definition: hdl.h:90
KSPIN_LOCK SpinLock
Definition: hdl.h:87
ULONG ProcessingCmd
Definition: hdl.h:103
Definition: hdl.h:68
SYSTEM_TIMEOFDAY_INFORMATION TimeOfEntry
Definition: hdl.h:69
PWCHAR String
Definition: hdl.h:70
BOOLEAN UsedBiosSettings
Definition: hdl.h:177
HEADLESS_TERM_SERIAL_PORT TerminalPort
Definition: hdl.h:178
BOOLEAN TerminalAttached
Definition: hdl.h:176
struct _HEADLESS_RSP_QUERY_INFO::@1918::@1920 Serial
ULONG TerminalBaudRate
Definition: hdl.h:180
PUCHAR TerminalPortBaseAddress
Definition: hdl.h:179
HEADLESS_TERM_PORT_TYPE PortType
Definition: hdl.h:171
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2439
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
unsigned char UCHAR
Definition: xmlstorage.h:181