ReactOS 0.4.16-dev-338-g34e76ad
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#define _HDL_
9#include <cportlib/cportlib.h>
10#include <ndk/extypes.h>
11
12//
13// Define this if you want debugging support
14//
15#define _HDL_DEBUG_ 0x00
16
17//
18// These define the Debug Masks Supported
19//
20#define HDL_XXX_DEBUG 0x01
21
22//
23// Debug/Tracing support
24//
25#if _HDL_DEBUG_
26#ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
27#define HDLTRACE DbgPrintEx
28#else
29#define HDLTRACE(x, ...) \
30 if (x & HdlpTraceLevel) DbgPrint(__VA_ARGS__)
31#endif
32#else
33#define HDLTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__)
34#endif
35
36//
37// Well-known messages that Io and Pnp post to the kernel log
38//
40{
58 //
59 // There are more, but not applicable to ReactOS, I believe
60 //
62
63//
64// Headless Log Entry
65//
66typedef struct _HEADLESS_LOG_ENTRY
67{
71
72//
73// Headless Bugcheck Information
74//
76{
80
81//
82// Headless Control Structure, mostly for !SAC
83//
84typedef struct _HEADLESS_GLOBALS
85{
92 union
93 {
94 struct
95 {
107 };
109 };
123
124//
125// FIXME: A public header in the NDK? Ask Alex
126//
127typedef enum _HEADLESS_CMD
128{
152
154{
158
160{
167
169{
171 union
172 {
173 struct
174 {
182 };
184
186{
189
191{
194
196{
200
202{
206
208{
211
213NTAPI
217 IN SIZE_T InputBufferSize,
219 OUT PSIZE_T OutputBufferSize
220);
221
222//
223// Global variables accessible from all of Hdl
224//
226
227//
228// Inlined functions
229//
230//#include "hdl_x.h"
unsigned char BOOLEAN
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:128
@ HeadlessCmdPutString
Definition: hdl.h:131
@ HeadlessCmdStartBugCheck
Definition: hdl.h:142
@ HeadlessCmdDisplayInverseVideo
Definition: hdl.h:136
@ HeadlessCmdTerminalPoll
Definition: hdl.h:139
@ HeadlessCmdSetColor
Definition: hdl.h:137
@ HeadlessCmdDisplayAttributesOff
Definition: hdl.h:135
@ HeadlessCmdGetByte
Definition: hdl.h:140
@ HeadlessCmdPutData
Definition: hdl.h:150
@ HeadlessCmdPositionCursor
Definition: hdl.h:138
@ HeadlessCmdEnableTerminal
Definition: hdl.h:129
@ HeadlessCmdClearDisplay
Definition: hdl.h:132
@ HeadlessCmdQueryGUID
Definition: hdl.h:149
@ HeadlessCmdGetLine
Definition: hdl.h:141
@ HeadlessCmdClearToEndOfLine
Definition: hdl.h:134
@ HeadlessCmdDisplayLog
Definition: hdl.h:146
@ HeadlessCmdClearToEndOfDisplay
Definition: hdl.h:133
@ HeadlessCmdAddLogEntry
Definition: hdl.h:145
@ HeadlessCmdDoBugCheckProcessing
Definition: hdl.h:143
@ HeadlessCmdCheckForReboot
Definition: hdl.h:130
@ HeadlessCmdSendBlueScreenData
Definition: hdl.h:148
@ HeadlessCmdSetBlueScreenData
Definition: hdl.h:147
@ HeadlessCmdQueryInformation
Definition: hdl.h:144
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:570
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:40
@ HeadlessLogPnpFailed
Definition: hdl.h:47
@ HeadlessLogReassignSystemRootFailed
Definition: hdl.h:52
@ HeadlessLogDriverLoad
Definition: hdl.h:41
@ HeadlessLogBootDriversFailed
Definition: hdl.h:49
@ HeadlessLogSystemDriversFailed
Definition: hdl.h:51
@ HeadlessLogProtectSystemRootFailed
Definition: hdl.h:53
@ HeadlessLogObjectFailed
Definition: hdl.h:45
@ HeadlessLogNtdllFailed
Definition: hdl.h:50
@ HeadlessLogConvertSystemRootFailed
Definition: hdl.h:54
@ HeadlessLogDriverFailed
Definition: hdl.h:43
@ HeadlessLogConvertDeviceNameFailed
Definition: hdl.h:55
@ HeadlessLogGroupTableFailed
Definition: hdl.h:57
@ HeadlessLogDriverSuccess
Definition: hdl.h:42
@ HeadlessLogGroupOrderListFailed
Definition: hdl.h:56
@ HeadlessLogEventFailed
Definition: hdl.h:44
@ HeadlessLogDirectoryFailed
Definition: hdl.h:46
@ HeadlessLogPnpFailed2
Definition: hdl.h:48
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:154
@ HeadlessUndefinedPortType
Definition: hdl.h:155
@ HeadlessSerialPort
Definition: hdl.h:156
_HEADLESS_TERM_SERIAL_PORT
Definition: hdl.h:160
@ SerialPortUndefined
Definition: hdl.h:161
@ ComPort3
Definition: hdl.h:164
@ ComPort1
Definition: hdl.h:162
@ ComPort2
Definition: hdl.h:163
@ ComPort4
Definition: hdl.h:165
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:96
USHORT LogEntryLast
Definition: hdl.h:117
GUID SystemGUID
Definition: hdl.h:119
ULONG NewLogEntryAdded
Definition: hdl.h:98
PHEADLESS_CMD_SET_BLUE_SCREEN_DATA BlueScreenData
Definition: hdl.h:91
ULONG IsNonLegacyDevice
Definition: hdl.h:106
BOOLEAN IsLastCharCR
Definition: hdl.h:121
ULONG InputLineDone
Definition: hdl.h:101
PUCHAR TerminalPortAddress
Definition: hdl.h:112
ULONG TerminalPortNumber
Definition: hdl.h:105
ULONG TerminalPort
Definition: hdl.h:111
ULONG UsedBiosSettings
Definition: hdl.h:99
SIZE_T InputBufferIndex
Definition: hdl.h:116
ULONG TerminalStopBits
Definition: hdl.h:104
BOOLEAN IsMMIODevice
Definition: hdl.h:120
UCHAR TerminalType
Definition: hdl.h:115
ULONG AllFlags
Definition: hdl.h:108
ULONG MicroSecondsDelayTime
Definition: hdl.h:114
PHEADLESS_LOG_ENTRY LogEntries
Definition: hdl.h:88
HANDLE PageLockHandle
Definition: hdl.h:87
ULONG TerminalBaudRate
Definition: hdl.h:110
ULONG TerminalParity
Definition: hdl.h:103
LARGE_INTEGER DelayTime
Definition: hdl.h:113
ULONG InputProcessing
Definition: hdl.h:100
PUCHAR InputBuffer
Definition: hdl.h:90
USHORT LogEntryStart
Definition: hdl.h:118
ULONG InBugCheck
Definition: hdl.h:97
PUCHAR TmpBuffer
Definition: hdl.h:89
KSPIN_LOCK SpinLock
Definition: hdl.h:86
ULONG ProcessingCmd
Definition: hdl.h:102
Definition: hdl.h:67
SYSTEM_TIMEOFDAY_INFORMATION TimeOfEntry
Definition: hdl.h:68
PWCHAR String
Definition: hdl.h:69
BOOLEAN UsedBiosSettings
Definition: hdl.h:176
HEADLESS_TERM_SERIAL_PORT TerminalPort
Definition: hdl.h:177
BOOLEAN TerminalAttached
Definition: hdl.h:175
ULONG TerminalBaudRate
Definition: hdl.h:179
PUCHAR TerminalPortBaseAddress
Definition: hdl.h:178
struct _HEADLESS_RSP_QUERY_INFO::@1791::@1793 Serial
HEADLESS_TERM_PORT_TYPE PortType
Definition: hdl.h:170
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:2433
_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