ReactOS  0.4.13-dev-235-g7373cb3
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 //
66 typedef struct _HEADLESS_LOG_ENTRY
67 {
71 
72 //
73 // Headless Bugcheck Information
74 //
76 {
80 
81 //
82 // Headless Control Structure, mostly for !SAC
83 //
84 typedef 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 //
127 typedef enum _HEADLESS_CMD
128 {
152 
154 {
158 
160 {
167 
169 {
171  union
172  {
173  struct
174  {
181  } Serial;
182  };
184 
186 {
189 
191 {
194 
196 {
200 
202 {
206 
208 {
211 
212 NTSTATUS
213 NTAPI
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"
struct _HEADLESS_CMD_ENABLE_TERMINAL * PHEADLESS_CMD_ENABLE_TERMINAL
struct _HEADLESS_CMD_SET_COLOR HEADLESS_CMD_SET_COLOR
HANDLE PageLockHandle
Definition: hdl.h:87
#define IN
Definition: typedefs.h:38
BOOLEAN IsLastCharCR
Definition: hdl.h:121
_HEADLESS_TERM_SERIAL_PORT
Definition: hdl.h:159
enum _HEADLESS_TERM_PORT_TYPE HEADLESS_TERM_PORT_TYPE
struct _HEADLESS_RSP_GET_BYTE * PHEADLESS_RSP_GET_BYTE
enum _HEADLESS_CMD HEADLESS_CMD
enum _HEADLESS_TERM_SERIAL_PORT * PHEADLESS_TERM_SERIAL_PORT
#define ANYSIZE_ARRAY
Definition: typedefs.h:45
SYSTEM_TIMEOFDAY_INFORMATION TimeOfEntry
Definition: hdl.h:68
struct _HEADLESS_GLOBALS * PHEADLESS_GLOBALS
struct _HEADLESS_LOG_ENTRY * PHEADLESS_LOG_ENTRY
unsigned char * PUCHAR
Definition: retypes.h:3
LONG NTSTATUS
Definition: precomp.h:26
enum _HEADLESS_TERM_SERIAL_PORT HEADLESS_TERM_SERIAL_PORT
struct _HEADLESS_RSP_QUERY_INFO * PHEADLESS_RSP_QUERY_INFO
ULONG NewLogEntryAdded
Definition: hdl.h:98
uint16_t * PWCHAR
Definition: typedefs.h:54
Definition: shell.h:41
ULONG TerminalParity
Definition: hdl.h:103
struct _HEADLESS_RSP_QUERY_INFO::@1703::@1705 Serial
PUCHAR TmpBuffer
Definition: hdl.h:89
PUCHAR InputBuffer
Definition: hdl.h:90
CHAR InputBuffer[80]
Definition: conmgr.c:33
USHORT LogEntryStart
Definition: hdl.h:118
ULONG InBugCheck
Definition: hdl.h:97
enum _HEADLESS_CMD * PHEADLESS_CMD
struct _HEADLESS_CMD_SET_COLOR * PHEADLESS_CMD_SET_COLOR
_HEADLESS_CMD
Definition: hdl.h:127
ULONG TerminalBaudRate
Definition: hdl.h:179
ULONG_PTR * PSIZE_T
Definition: typedefs.h:78
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
UCHAR TerminalType
Definition: hdl.h:115
PHEADLESS_GLOBALS HeadlessGlobals
Definition: hdlsterm.c:16
struct _HEADLESS_CMD_SET_BLUE_SCREEN_DATA * PHEADLESS_CMD_SET_BLUE_SCREEN_DATA
Definition: hdl.h:164
GUID SystemGUID
Definition: hdl.h:119
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
ULONG TerminalStopBits
Definition: hdl.h:104
unsigned char BOOLEAN
ULONG TerminalPortNumber
Definition: hdl.h:105
LARGE_INTEGER DelayTime
Definition: hdl.h:113
ULONG ProcessingCmd
Definition: hdl.h:102
PUCHAR TerminalPortBaseAddress
Definition: hdl.h:178
_Must_inspect_result_ __drv_aliasesMem _In_ PDEVICE_OBJECT _In_opt_ PVOID _In_ ULONG _Out_opt_ PVOID OutputBuffer
Definition: iofuncs.h:713
struct _HEADLESS_RSP_GET_BYTE HEADLESS_RSP_GET_BYTE
struct _HEADLESS_RSP_QUERY_INFO HEADLESS_RSP_QUERY_INFO
ULONG TerminalPort
Definition: hdl.h:111
ULONG TerminalEnabled
Definition: hdl.h:96
Definition: hdl.h:165
struct _HEADLESS_CMD_ENABLE_TERMINAL HEADLESS_CMD_ENABLE_TERMINAL
PWCHAR String
Definition: hdl.h:69
_HEADLESS_TERM_PORT_TYPE
Definition: hdl.h:153
ULONG InputLineDone
Definition: hdl.h:101
KSPIN_LOCK SpinLock
Definition: hdl.h:86
struct _HEADLESS_GLOBALS HEADLESS_GLOBALS
ULONG InputProcessing
Definition: hdl.h:100
struct _HEADLESS_CMD_PUT_STRING HEADLESS_CMD_PUT_STRING
HEADLESS_TERM_PORT_TYPE PortType
Definition: hdl.h:170
unsigned char UCHAR
Definition: xmlstorage.h:181
PUCHAR TerminalPortAddress
Definition: hdl.h:112
enum _HEADLESS_LOG_MESSAGE HEADLESS_LOG_MESSAGE
ULONG TerminalBaudRate
Definition: hdl.h:110
SIZE_T InputBufferIndex
Definition: hdl.h:116
ULONG AllFlags
Definition: hdl.h:108
_HEADLESS_LOG_MESSAGE
Definition: hdl.h:39
HEADLESS_TERM_SERIAL_PORT TerminalPort
Definition: hdl.h:177
ULONG_PTR SIZE_T
Definition: typedefs.h:78
struct _HEADLESS_CMD_SET_BLUE_SCREEN_DATA HEADLESS_CMD_SET_BLUE_SCREEN_DATA
Definition: hdl.h:163
unsigned short USHORT
Definition: pedump.c:61
PHEADLESS_CMD_SET_BLUE_SCREEN_DATA BlueScreenData
Definition: hdl.h:91
USHORT LogEntryLast
Definition: hdl.h:117
ULONG MicroSecondsDelayTime
Definition: hdl.h:114
ULONG IsNonLegacyDevice
Definition: hdl.h:106
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
ULONG UsedBiosSettings
Definition: hdl.h:99
struct _HEADLESS_CMD_POSITION_CURSOR HEADLESS_CMD_POSITION_CURSOR
Definition: hdl.h:66
BOOLEAN UsedBiosSettings
Definition: hdl.h:176
#define OUT
Definition: typedefs.h:39
struct _HEADLESS_CMD_PUT_STRING * PHEADLESS_CMD_PUT_STRING
struct _HEADLESS_CMD_POSITION_CURSOR * PHEADLESS_CMD_POSITION_CURSOR
unsigned int ULONG
Definition: retypes.h:1
Definition: hdl.h:162
enum _HEADLESS_TERM_PORT_TYPE * PHEADLESS_TERM_PORT_TYPE
struct _HEADLESS_LOG_ENTRY HEADLESS_LOG_ENTRY
BOOLEAN TerminalAttached
Definition: hdl.h:175
PHEADLESS_LOG_ENTRY LogEntries
Definition: hdl.h:88
BOOLEAN IsMMIODevice
Definition: hdl.h:120