27#define MAX_COM_PORTS 4
28#define MAX_LPT_PORTS 3
31#define MOUSE_TYPE_NONE 0
33#define MOUSE_TYPE_MICROSOFT 1
35#define MOUSE_TYPE_LOGITECH 2
37#define MOUSE_TYPE_WHEELZ 3
39#define MOUSE_TYPE_MOUSESYSTEMS 4
45#define CONTROLLER_REGISTER_STATUS 0x64
46#define CONTROLLER_REGISTER_CONTROL 0x64
47#define CONTROLLER_REGISTER_DATA 0x60
50#define CONTROLLER_COMMAND_READ_MODE 0x20
51#define CONTROLLER_COMMAND_WRITE_MODE 0x60
52#define CONTROLLER_COMMAND_GET_VERSION 0xA1
53#define CONTROLLER_COMMAND_MOUSE_DISABLE 0xA7
54#define CONTROLLER_COMMAND_MOUSE_ENABLE 0xA8
55#define CONTROLLER_COMMAND_TEST_MOUSE 0xA9
56#define CONTROLLER_COMMAND_SELF_TEST 0xAA
57#define CONTROLLER_COMMAND_KEYBOARD_TEST 0xAB
58#define CONTROLLER_COMMAND_KEYBOARD_DISABLE 0xAD
59#define CONTROLLER_COMMAND_KEYBOARD_ENABLE 0xAE
60#define CONTROLLER_COMMAND_WRITE_MOUSE_OUTPUT_BUFFER 0xD3
61#define CONTROLLER_COMMAND_WRITE_MOUSE 0xD4
64#define CONTROLLER_STATUS_OUTPUT_BUFFER_FULL 0x01
65#define CONTROLLER_STATUS_INPUT_BUFFER_FULL 0x02
66#define CONTROLLER_STATUS_SELF_TEST 0x04
67#define CONTROLLER_STATUS_COMMAND 0x08
68#define CONTROLLER_STATUS_UNLOCKED 0x10
69#define CONTROLLER_STATUS_MOUSE_OUTPUT_BUFFER_FULL 0x20
70#define CONTROLLER_STATUS_GENERAL_TIMEOUT 0x40
71#define CONTROLLER_STATUS_PARITY_ERROR 0x80
72#define AUX_STATUS_OUTPUT_BUFFER_FULL (CONTROLLER_STATUS_OUTPUT_BUFFER_FULL | \
73 CONTROLLER_STATUS_MOUSE_OUTPUT_BUFFER_FULL)
76#define CONTROLLER_TIMEOUT 250
85 BiosRegs.
d.
eax = 0xC100;
86 Int386(0x15, &BiosRegs, &BiosRegs);
94 WARN(
"Int 15h AH=C1h call failed\n");
121 if (PartialResourceList ==
NULL)
123 ERR(
"Failed to allocate resource descriptor\n");
128 PartialResourceList->
Version = 1;
130 PartialResourceList->
Count = 1;
162 TRACE(
"Reading disk geometry failed\n");
166 TRACE(
"Disk %x: %u Cylinders %u Heads %u Sectors %u Bytes\n",
177 return PartialResourceList;
197 if (PartialResourceList ==
NULL)
199 ERR(
"Failed to allocate resource descriptor\n");
205 PartialResourceList->
Version = 0;
207 PartialResourceList->
Count = 1;
213 PartialDescriptor->
Flags = 0;
221 ERR(
"FIXME: System docked\n");
231 "Docking State Information",
249 ULONG FoundNodeCount;
252 ULONG PnpBufferSizeLimit;
259 TRACE(
"PnP-BIOS not supported\n");
263 TRACE(
"PnP-BIOS supported\n");
264 TRACE(
"Signature '%c%c%c%c'\n",
271 TRACE(
"PnP-BIOS function 'Get Number of System Device Nodes' not supported\n");
278 if (
x != 0 || NodeSize == 0 || NodeCount == 0)
280 ERR(
"PnP-BIOS failed to enumerate device nodes\n");
283 TRACE(
"MaxNodeSize %u NodeCount %u\n", NodeSize, NodeCount);
284 TRACE(
"Estimated buffer size %u\n", NodeSize * NodeCount);
288 + (NodeSize * NodeCount);
291 if (PartialResourceList ==
NULL)
293 ERR(
"Failed to allocate resource descriptor\n");
299 PartialResourceList->
Version = 1;
301 PartialResourceList->
Count = 1;
308 Ptr = (
char *)(PartialResourceList + 1);
317 for (
i = 0;
i < 0xFF;
i++)
326 TRACE(
"Node: %u Size %u (0x%x)\n",
331 if (PnpBufferSize +
DeviceNode->Size > PnpBufferSizeLimit)
333 ERR(
"Buffer too small! Ignoring remaining device nodes. (i = %d)\n",
i);
343 if (FoundNodeCount >= NodeCount)
353 TRACE(
"Real buffer size: %u\n", PnpBufferSize);
359 MultiFunctionAdapter,
426 for (
i = 0;
i < 4;
i++)
438 TRACE(
"Mouse data: %x %x %x %x\n",
442 for (
i = 0;
i < 4; ++
i)
463 TRACE(
"Microsoft Mouse with 3-buttons detected\n");
467 TRACE(
"Microsoft Wheel Mouse detected\n");
472 TRACE(
"Microsoft Mouse with 2-buttons detected\n");
512 if (
c == 0x08 ||
c == 0x28)
555 TRACE(
"DetectSerialPointerPeripheral()\n");
580 for (
i = 0;
i < 7;
i++)
640 for (
k = 0;
k <
i -
j;
k++)
674 if (PartialResourceList ==
NULL)
676 ERR(
"Failed to allocate resource descriptor\n");
681 PartialResourceList->
Version = 1;
683 PartialResourceList->
Count = 0;
697 TRACE(
"Created key: PointerPeripheral\\0\n");
727 ULONG ControllerNumber = 0;
732 TRACE(
"DetectSerialPorts()\n");
736 Base = MachGetSerialPort(
i, &Irq);
740 TRACE(
"Found COM%u port at 0x%x\n",
i + 1,
Base);
750 if (PartialResourceList ==
NULL)
752 ERR(
"Failed to allocate resource descriptor! Ignoring remaining serial ports. (i = %lu, Count = %lu)\n",
759 PartialResourceList->
Version = 1;
761 PartialResourceList->
Count = 3;
768 PartialDescriptor->
u.
Port.Start.LowPart =
Base;
769 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
770 PartialDescriptor->
u.
Port.Length = 8;
779 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
785 PartialDescriptor->
Flags = 0;
824 ULONG ControllerNumber = 0;
828 TRACE(
"DetectParallelPorts() called\n");
843 TRACE(
"Parallel port %u: %x\n", ControllerNumber,
Base);
850 if (Irq[
i] != (
ULONG) - 1)
854 if (PartialResourceList ==
NULL)
856 ERR(
"Failed to allocate resource descriptor! Ignoring remaining parallel ports. (i = %lu)\n",
i);
862 PartialResourceList->
Version = 1;
864 PartialResourceList->
Count = (Irq[
i] != (
ULONG) - 1) ? 2 : 1;
871 PartialDescriptor->
u.
Port.Start.LowPart =
Base;
872 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
873 PartialDescriptor->
u.
Port.Length = 3;
876 if (Irq[
i] != (
ULONG) - 1)
884 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
902 TRACE(
"DetectParallelPorts() done\n");
918 for (Loops = 0; Loops < 100; Loops++)
933 if (Scancode != 0xFA)
949 if (Scancode != 0xAB)
965 if (Scancode != 0x41)
992 if (PartialResourceList ==
NULL)
994 ERR(
"Failed to allocate resource descriptor\n");
1000 PartialResourceList->
Version = 1;
1002 PartialResourceList->
Count = 1;
1016 Int386(0x16, &Regs, &Regs);
1021 KeyboardData->
Type = 4;
1033 PartialResourceList,
1036 TRACE(
"Created key: KeyboardPeripheral\\0\n");
1053 if (PartialResourceList ==
NULL)
1055 ERR(
"Failed to allocate resource descriptor\n");
1061 PartialResourceList->
Version = 1;
1063 PartialResourceList->
Count = 3;
1072 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
1079 PartialDescriptor->
u.
Port.Start.LowPart = 0x60;
1080 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
1081 PartialDescriptor->
u.
Port.Length = 1;
1088 PartialDescriptor->
u.
Port.Start.LowPart = 0x64;
1089 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
1090 PartialDescriptor->
u.
Port.Length = 1;
1100 PartialResourceList,
1103 TRACE(
"Created key: KeyboardController\\0\n");
1155 for (Loops = 0; Loops < 10; Loops++)
1187 for (Loops = 0; Loops < 100; Loops++)
1200 if (Scancode != 0xFA)
1210 if (Scancode != 0x00)
1229 TRACE(
"Detected PS2 port\n");
1232 if (PartialResourceList ==
NULL)
1234 ERR(
"Failed to allocate resource descriptor\n");
1240 PartialResourceList->
Version = 1;
1242 PartialResourceList->
Count = 1;
1260 PartialResourceList,
1263 TRACE(
"Created key: PointerController\\0\n");
1267 TRACE(
"Detected PS2 mouse\n");
1273 if (PartialResourceList ==
NULL)
1275 ERR(
"Failed to allocate resource descriptor\n");
1280 PartialResourceList->
Version = 1;
1282 PartialResourceList->
Count = 0;
1291 "MICROSOFT PS2 MOUSE",
1292 PartialResourceList,
1295 TRACE(
"Created key: PointerPeripheral\\0\n");
1316 if (VesaVersion != 0)
1318 TRACE(
"VESA version %c.%c\n",
1319 (VesaVersion >> 8) +
'0',
1320 (VesaVersion & 0xFF) +
'0');
1324 TRACE(
"VESA not supported\n");
1327 if (VesaVersion >= 0x0200)
1346 TRACE(
"Created key: DisplayController\\0\n");
1349 if (VesaVersion != 0)
1353 TRACE(
"VESA/DDC supported!\n");
1356 TRACE(
"EDID data read successfully!\n");
1375 if (PartialResourceList ==
NULL)
1377 ERR(
"Failed to allocate resource descriptor\n");
1383 PartialResourceList->
Version = 1;
1385 PartialResourceList->
Count = 0;
1390 MultiFunctionAdapter,
1395 PartialResourceList,
1414#if !defined(SARCH_XBOX)
1424 return ((
Data & 0xF0) ? 1 : 0) + ((
Data & 0x0F) ? 1 : 0);
1434 TRACE(
"DetectHardware()\n");
1454 TRACE(
"DetectHardware() Done\n");
1470 Int386(0x15, &Regs, &Regs);
1512#if !defined(SARCH_XBOX)
ACPI_SIZE strlen(const char *String)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
char * strcpy(char *DstString, const char *SrcString)
#define ExtendedBIOSDataArea
#define ExtendedBIOSDataSize
VOID NTAPI FldrCreateComponentKey(IN PCONFIGURATION_COMPONENT_DATA SystemNode, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, IN IDENTIFIER_FLAG Flags, IN ULONG Key, IN ULONG Affinity, IN PCHAR IdentifierString, IN PCM_PARTIAL_RESOURCE_LIST ResourceList, IN ULONG Size, OUT PCONFIGURATION_COMPONENT_DATA *ComponentKey)
VOID NTAPI FldrSetIdentifier(IN PCONFIGURATION_COMPONENT_DATA ComponentData, IN PCHAR IdentifierString)
VOID NTAPI FldrCreateSystemKey(OUT PCONFIGURATION_COMPONENT_DATA *SystemNode)
VOID DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
VOID DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
BOOLEAN PcFindPciBios(PPCI_REGISTRY_INFO BusData)
FIND_PCI_BIOS FindPciBios
ULONG __cdecl PnpBiosGetDeviceNode(UCHAR *NodeId, UCHAR *NodeBuffer)
ULONG __cdecl PnpBiosGetDeviceNodeCount(ULONG *NodeSize, ULONG *NodeCount)
#define TAG_HW_RESOURCE_LIST
ULONG_PTR __cdecl PnpBiosSupported(VOID)
ULONG(* GET_SERIAL_PORT)(ULONG Index, PULONG Irq)
ULONG __cdecl PnpBiosGetDockStationInformation(UCHAR *DockingStationInfo)
#define DBG_DEFAULT_CHANNEL(ch)
struct _EXTENDED_GEOMETRY EXTENDED_GEOMETRY
FORCEINLINE VOID FrLdrHeapFree(PVOID MemoryPointer, ULONG Tag)
FORCEINLINE PVOID FrLdrHeapAlloc(SIZE_T MemorySize, ULONG Tag)
BOOLEAN Rs232PortInUse(PUCHAR Base)
BOOLEAN NTAPI CpDoesPortExist(IN PUCHAR Address)
static const WCHAR CmdLine[]
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
GLint GLint GLint GLint GLint x
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
VOID DetectApmBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
BOOLEAN PcInitializeBootDevices(VOID)
struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
#define CmResourceTypeDeviceSpecific
#define CmResourceTypePort
#define CmResourceTypeInterrupt
#define CONTROLLER_COMMAND_WRITE_MOUSE
VOID PcGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
ULONG PcGetSerialPort(ULONG Index, PULONG Irq)
static VOID DetectPnpBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
#define MOUSE_TYPE_MICROSOFT
static VOID DetectDockingStation(_Inout_ PCONFIGURATION_COMPONENT_DATA BusKey)
BOOLEAN BiosVesaReadEdid(VOID)
static VOID PS2ControllerWait(VOID)
static ULONG GetSerialMousePnpId(PUCHAR Port, char *Buffer)
static ULONG DetectSerialMouse(PUCHAR Port)
VOID MachInit(const char *CmdLine)
static BOOLEAN DetectPS2AuxDevice(VOID)
#define CONTROLLER_REGISTER_STATUS
#define CONTROLLER_STATUS_INPUT_BUFFER_FULL
#define MOUSE_TYPE_LOGITECH
BOOLEAN DetectKeyboardDevice(VOID)
PCONFIGURATION_COMPONENT_DATA PcHwDetect(VOID)
static UCHAR PcGetFloppyCount(VOID)
static VOID DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
static VOID InitializeSerialPort(PUCHAR Port, UCHAR LineControl)
#define CONTROLLER_TIMEOUT
#define CONTROLLER_STATUS_MOUSE_OUTPUT_BUFFER_FULL
VOID DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetSerialPort, ULONG Count)
#define CONTROLLER_STATUS_OUTPUT_BUFFER_FULL
#define CONTROLLER_REGISTER_CONTROL
static VOID DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
VOID PcPrepareForReactOS(VOID)
#define MOUSE_TYPE_WHEELZ
VOID __cdecl ChainLoadBiosBootSectorCode(IN UCHAR BootDrive OPTIONAL, IN ULONG BootPartition OPTIONAL)
static BOOLEAN DetectPS2AuxPort(VOID)
static VOID DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
static VOID DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
static VOID DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
static VOID DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
#define CONTROLLER_COMMAND_WRITE_MOUSE_OUTPUT_BUFFER
#define CONTROLLER_REGISTER_DATA
static PCM_PARTIAL_RESOURCE_LIST PcGetHarddiskConfigurationData(UCHAR DriveNumber, ULONG *pSize)
static VOID DetectSerialPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey, PUCHAR Base)
BOOLEAN BiosIsVesaDdcSupported(VOID)
USHORT BiosIsVesaSupported(VOID)
#define memcpy(s1, s2, n)
#define sprintf(buf, format,...)
#define CM_RESOURCE_PORT_IO
#define CM_RESOURCE_INTERRUPT_LATCHED
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID __cdecl DiskStopFloppyMotor(VOID)
#define READ_PORT_UCHAR(p)
#define WRITE_PORT_UCHAR(p, d)
#define INT386_SUCCESS(regs)
int __cdecl Int386(int ivec, REGS *in, REGS *out)
VOID __cdecl Relocator16Boot(IN REGS *In, IN USHORT StackSegment, IN USHORT StackPointer, IN USHORT CodeSegment, IN USHORT CodePointer)
struct _DOCKING_STATE_INFORMATION DOCKING_STATE_INFORMATION
struct _DOCKING_STATE_INFORMATION * PDOCKING_STATE_INFORMATION
VOID PcConsPutChar(int Ch)
BOOLEAN PcConsKbHit(VOID)
BOOLEAN PcDiskReadLogicalSectors(IN UCHAR DriveNumber, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
static BOOLEAN DiskGetExtendedDriveParameters(IN UCHAR DriveNumber, IN PPC_DISK_DRIVE DiskDrive, OUT PVOID Buffer, IN USHORT BufferSize)
ULONG PcDiskGetCacheableBlockCount(UCHAR DriveNumber)
BOOLEAN PcDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY Geometry)
VOID HalpCalibrateStallExecution(VOID)
VOID DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PCONFIGURATION_COMPONENT_DATA BusKey)
GET_HARDDISK_CONFIG_DATA GetHarddiskConfigurationData
VOID StallExecutionProcessor(ULONG Microseconds)
PFREELDR_MEMORY_DESCRIPTOR PcMemGetMemoryMap(ULONG *MemoryMapSize)
TIMEINFO * PcGetTime(VOID)
VOID PcVideoSetTextCursorPosition(UCHAR X, UCHAR Y)
VOID PcVideoPrepareForReactOS(VOID)
BOOLEAN PcVideoIsPaletteFixed(VOID)
VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
VOID PcVideoGetFontsFromFirmware(PULONG RomFontPointers)
VOID PcVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth)
VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
VIDEODISPLAYMODE PcVideoSetDisplayMode(char *DisplayModeName, BOOLEAN Init)
ULONG PcVideoGetBufferSize(VOID)
VOID PcVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y)
VOID PcVideoClearScreen(UCHAR Attr)
VOID PcVideoCopyOffScreenBufferToVRAM(PVOID Buffer)
VOID PcVideoHideShowTextCursor(BOOLEAN Show)
struct _CM_PNP_BIOS_INSTALLATION_CHECK * PCM_PNP_BIOS_INSTALLATION_CHECK
struct _CM_PNP_BIOS_INSTALLATION_CHECK CM_PNP_BIOS_INSTALLATION_CHECK
struct _CM_PNP_BIOS_DEVICE_NODE * PCM_PNP_BIOS_DEVICE_NODE
PULONG MinorVersion OPTIONAL
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381::@390 DeviceSpecificData
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381 u
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381::@383 Port
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381::@384 Interrupt
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
VOID(* VideoGetPaletteColor)(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
VOID(* GetExtendedBIOSData)(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
VOID(* PrepareForReactOS)(VOID)
VOID(* VideoSetPaletteColor)(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
BOOLEAN(* InitializeBootDevices)(VOID)
VOID(* VideoCopyOffScreenBufferToVRAM)(PVOID Buffer)
BOOLEAN(* ConsKbHit)(VOID)
VOID(* VideoHideShowTextCursor)(BOOLEAN Show)
TIMEINFO *(* GetTime)(VOID)
UCHAR(* GetFloppyCount)(VOID)
BOOLEAN(* DiskGetDriveGeometry)(UCHAR DriveNumber, PGEOMETRY DriveGeometry)
BOOLEAN(* DiskReadLogicalSectors)(UCHAR DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer)
PCONFIGURATION_COMPONENT_DATA(* HwDetect)(VOID)
PFREELDR_MEMORY_DESCRIPTOR(* GetMemoryMap)(PULONG MaxMemoryMapSize)
VOID(* VideoGetFontsFromFirmware)(PULONG RomFontPointers)
VOID(* VideoSetTextCursorPosition)(UCHAR X, UCHAR Y)
ULONG(* VideoGetBufferSize)(VOID)
VOID(* VideoPutChar)(int Ch, UCHAR Attr, unsigned X, unsigned Y)
ULONG(* DiskGetCacheableBlockCount)(UCHAR DriveNumber)
VOID(* VideoGetDisplaySize)(PULONG Width, PULONG Height, PULONG Depth)
VOID(* VideoClearScreen)(UCHAR Attr)
VIDEODISPLAYMODE(* VideoSetDisplayMode)(char *DisplayMode, BOOLEAN Init)
BOOLEAN(* VideoIsPaletteFixed)(VOID)
VOID(* ConsPutChar)(int Ch)
#define RtlZeroMemory(Destination, Length)
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
struct _CM_SERIAL_DEVICE_DATA * PCM_SERIAL_DEVICE_DATA
struct _CM_DISK_GEOMETRY_DEVICE_DATA CM_DISK_GEOMETRY_DEVICE_DATA
struct _CM_KEYBOARD_DEVICE_DATA * PCM_KEYBOARD_DEVICE_DATA
struct _CM_KEYBOARD_DEVICE_DATA CM_KEYBOARD_DEVICE_DATA
struct _CM_SERIAL_DEVICE_DATA CM_SERIAL_DEVICE_DATA
@ CmResourceShareDeviceExclusive
@ CmResourceShareUndetermined
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber