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;
142 #if 0 // This is somehow replaced by what PcDiskGetDriveGeometry() does internally. 162 TRACE(
"Reading disk geometry failed\n");
166 TRACE(
"Disk %x: %u Cylinders %u Heads %u Sectors %u Bytes\n",
177 return PartialResourceList;
192 ULONG FoundNodeCount;
195 ULONG PnpBufferSizeLimit;
202 TRACE(
"PnP-BIOS not supported\n");
206 TRACE(
"PnP-BIOS supported\n");
207 TRACE(
"Signature '%c%c%c%c'\n",
214 TRACE(
"PnP-BIOS function 'Get Number of System Device Nodes' not supported\n");
221 if (
x != 0 || NodeSize == 0 || NodeCount == 0)
223 ERR(
"PnP-BIOS failed to enumerate device nodes\n");
226 TRACE(
"MaxNodeSize %u NodeCount %u\n", NodeSize, NodeCount);
227 TRACE(
"Estimated buffer size %u\n", NodeSize * NodeCount);
231 + (NodeSize * NodeCount);
234 if (PartialResourceList ==
NULL)
236 ERR(
"Failed to allocate resource descriptor\n");
242 PartialResourceList->
Version = 1;
244 PartialResourceList->
Count = 1;
251 Ptr = (
char *)(PartialResourceList + 1);
260 for (
i = 0;
i < 0xFF;
i++)
269 TRACE(
"Node: %u Size %u (0x%x)\n",
274 if (PnpBufferSize +
DeviceNode->Size > PnpBufferSizeLimit)
276 ERR(
"Buffer too small! Ignoring remaining device nodes. (i = %d)\n",
i);
286 if (FoundNodeCount >= NodeCount)
296 TRACE(
"Real buffer size: %u\n", PnpBufferSize);
302 MultiFunctionAdapter,
367 for (
i = 0;
i < 4;
i++)
379 TRACE(
"Mouse data: %x %x %x %x\n",
383 for (
i = 0;
i < 4; ++
i)
404 TRACE(
"Microsoft Mouse with 3-buttons detected\n");
408 TRACE(
"Microsoft Wheel Mouse detected\n");
413 TRACE(
"Microsoft Mouse with 2-buttons detected\n");
453 if (
c == 0x08 ||
c == 0x28)
488 CHAR Identifier[256];
496 TRACE(
"DetectSerialPointerPeripheral()\n");
521 for (
i = 0;
i < 7;
i++)
581 for (
k = 0;
k <
i -
j;
k++)
585 Identifier[10 + (
i -
j)] = 0;
589 TRACE(
"Identifier string: %s\n", Identifier);
597 strcpy(Identifier,
"LOGITECH SERIAL MOUSE");
601 strcpy(Identifier,
"MICROSOFT SERIAL MOUSE WITH WHEEL");
606 strcpy(Identifier,
"MICROSOFT SERIAL MOUSE");
615 if (PartialResourceList ==
NULL)
617 ERR(
"Failed to allocate resource descriptor\n");
622 PartialResourceList->
Version = 1;
624 PartialResourceList->
Count = 0;
638 TRACE(
"Created key: PointerPeripheral\\0\n");
668 ULONG ControllerNumber = 0;
673 TRACE(
"DetectSerialPorts()\n");
677 Base = MachGetSerialPort(
i, &Irq);
681 TRACE(
"Found COM%u port at 0x%x\n",
i + 1,
Base);
691 if (PartialResourceList ==
NULL)
693 ERR(
"Failed to allocate resource descriptor! Ignoring remaining serial ports. (i = %lu, Count = %lu)\n",
700 PartialResourceList->
Version = 1;
702 PartialResourceList->
Count = 3;
709 PartialDescriptor->
u.
Port.Start.LowPart =
Base;
710 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
711 PartialDescriptor->
u.
Port.Length = 8;
720 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
726 PartialDescriptor->
Flags = 0;
765 ULONG ControllerNumber = 0;
769 TRACE(
"DetectParallelPorts() called\n");
784 TRACE(
"Parallel port %u: %x\n", ControllerNumber,
Base);
791 if (Irq[
i] != (
ULONG) - 1)
795 if (PartialResourceList ==
NULL)
797 ERR(
"Failed to allocate resource descriptor! Ignoring remaining parallel ports. (i = %lu)\n",
i);
803 PartialResourceList->
Version = 1;
805 PartialResourceList->
Count = (Irq[
i] != (
ULONG) - 1) ? 2 : 1;
812 PartialDescriptor->
u.
Port.Start.LowPart =
Base;
813 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
814 PartialDescriptor->
u.
Port.Length = 3;
817 if (Irq[
i] != (
ULONG) - 1)
825 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
843 TRACE(
"DetectParallelPorts() done\n");
859 for (Loops = 0; Loops < 100; Loops++)
874 if (Scancode != 0xFA)
890 if (Scancode != 0xAB)
906 if (Scancode != 0x41)
933 if (PartialResourceList ==
NULL)
935 ERR(
"Failed to allocate resource descriptor\n");
941 PartialResourceList->
Version = 1;
943 PartialResourceList->
Count = 1;
957 Int386(0x16, &Regs, &Regs);
962 KeyboardData->
Type = 4;
977 TRACE(
"Created key: KeyboardPeripheral\\0\n");
994 if (PartialResourceList ==
NULL)
996 ERR(
"Failed to allocate resource descriptor\n");
1002 PartialResourceList->
Version = 1;
1004 PartialResourceList->
Count = 3;
1013 PartialDescriptor->
u.
Interrupt.Affinity = 0xFFFFFFFF;
1020 PartialDescriptor->
u.
Port.Start.LowPart = 0x60;
1021 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
1022 PartialDescriptor->
u.
Port.Length = 1;
1029 PartialDescriptor->
u.
Port.Start.LowPart = 0x64;
1030 PartialDescriptor->
u.
Port.Start.HighPart = 0x0;
1031 PartialDescriptor->
u.
Port.Length = 1;
1041 PartialResourceList,
1044 TRACE(
"Created key: KeyboardController\\0\n");
1096 for (Loops = 0; Loops < 10; Loops++)
1128 for (Loops = 0; Loops < 100; Loops++)
1141 if (Scancode != 0xFA)
1151 if (Scancode != 0x00)
1170 TRACE(
"Detected PS2 port\n");
1173 if (PartialResourceList ==
NULL)
1175 ERR(
"Failed to allocate resource descriptor\n");
1181 PartialResourceList->
Version = 1;
1183 PartialResourceList->
Count = 1;
1201 PartialResourceList,
1204 TRACE(
"Created key: PointerController\\0\n");
1208 TRACE(
"Detected PS2 mouse\n");
1214 if (PartialResourceList ==
NULL)
1216 ERR(
"Failed to allocate resource descriptor\n");
1221 PartialResourceList->
Version = 1;
1223 PartialResourceList->
Count = 0;
1232 "MICROSOFT PS2 MOUSE",
1233 PartialResourceList,
1236 TRACE(
"Created key: PointerPeripheral\\0\n");
1257 if (VesaVersion != 0)
1259 TRACE(
"VESA version %c.%c\n",
1260 (VesaVersion >> 8) +
'0',
1261 (VesaVersion & 0xFF) +
'0');
1265 TRACE(
"VESA not supported\n");
1268 if (VesaVersion >= 0x0200)
1287 TRACE(
"Created key: DisplayController\\0\n");
1290 if (VesaVersion != 0)
1294 TRACE(
"VESA/DDC supported!\n");
1297 TRACE(
"EDID data read successfully!\n");
1316 if (PartialResourceList ==
NULL)
1318 ERR(
"Failed to allocate resource descriptor\n");
1324 PartialResourceList->
Version = 1;
1326 PartialResourceList->
Count = 0;
1331 MultiFunctionAdapter,
1336 PartialResourceList,
1355 #if !defined(SARCH_XBOX) 1365 return ((
Data & 0xF0) ? 1 : 0) + ((
Data & 0x0F) ? 1 : 0);
1375 TRACE(
"DetectHardware()\n");
1395 TRACE(
"DetectHardware() Done\n");
1411 Int386(0x15, &Regs, &Regs);
1453 #if !defined(SARCH_XBOX) VOID NTAPI FldrSetIdentifier(IN PCONFIGURATION_COMPONENT_DATA ComponentData, IN PCHAR IdentifierString)
struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
VOID DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PCONFIGURATION_COMPONENT_DATA BusKey)
#define CmResourceTypeDeviceSpecific
PFREELDR_MEMORY_DESCRIPTOR(* GetMemoryMap)(PULONG MaxMemoryMapSize)
#define ExtendedBIOSDataSize
#define CONTROLLER_STATUS_INPUT_BUFFER_FULL
VOID StallExecutionProcessor(ULONG Microseconds)
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID PcVideoGetFontsFromFirmware(PULONG RomFontPointers)
FORCEINLINE VOID FrLdrHeapFree(PVOID MemoryPointer, ULONG Tag)
#define READ_PORT_UCHAR(p)
ACPI_SIZE strlen(const char *String)
ULONG(* GET_SERIAL_PORT)(ULONG Index, PULONG Irq)
VOID(* GetExtendedBIOSData)(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
#define CONTROLLER_TIMEOUT
VOID(* VideoClearScreen)(UCHAR Attr)
struct _CM_PNP_BIOS_INSTALLATION_CHECK * PCM_PNP_BIOS_INSTALLATION_CHECK
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
PCONFIGURATION_COMPONENT_DATA(* HwDetect)(VOID)
struct _CM_SERIAL_DEVICE_DATA CM_SERIAL_DEVICE_DATA
VOID(* VideoGetDisplaySize)(PULONG Width, PULONG Height, PULONG Depth)
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@378::@387 DeviceSpecificData
IN PVOID IN PVOID IN USHORT IN USHORT Size
static ULONG GetSerialMousePnpId(PUCHAR Port, char *Buffer)
GLint GLint GLint GLint GLint x
#define CONTROLLER_STATUS_OUTPUT_BUFFER_FULL
struct _CM_PNP_BIOS_DEVICE_NODE * PCM_PNP_BIOS_DEVICE_NODE
static VOID DetectSerialPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey, PUCHAR Base)
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@378 u
BOOLEAN(* VideoIsPaletteFixed)(VOID)
BOOLEAN Rs232PortInUse(PUCHAR Base)
UCHAR(* GetFloppyCount)(VOID)
#define CmResourceTypePort
int __cdecl Int386(int ivec, REGS *in, REGS *out)
VOID DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetSerialPort, ULONG Count)
#define sprintf(buf, format,...)
BOOLEAN NTAPI CpDoesPortExist(IN PUCHAR Address)
ULONG __cdecl PnpBiosGetDeviceNode(UCHAR *NodeId, UCHAR *NodeBuffer)
ULONG PcDiskGetCacheableBlockCount(UCHAR DriveNumber)
static const WCHAR CmdLine[]
static BOOLEAN DetectPS2AuxDevice(VOID)
FIND_PCI_BIOS FindPciBios
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@378::@380 Port
BOOLEAN PcInitializeBootDevices(VOID)
VOID PcVideoHideShowTextCursor(BOOLEAN Show)
BOOLEAN BiosIsVesaDdcSupported(VOID)
#define INT386_SUCCESS(regs)
VOID PcVideoSetTextCursorPosition(UCHAR X, UCHAR Y)
VOID PcGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
static VOID DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
static BOOLEAN DetectPS2AuxPort(VOID)
VOID(* VideoGetFontsFromFirmware)(PULONG RomFontPointers)
#define MOUSE_TYPE_MICROSOFT
VOID PcVideoClearScreen(UCHAR Attr)
static ULONG DetectSerialMouse(PUCHAR Port)
static PCM_PARTIAL_RESOURCE_LIST PcGetHarddiskConfigurationData(UCHAR DriveNumber, ULONG *pSize)
BOOLEAN PcDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY Geometry)
BOOLEAN(* DiskGetDriveGeometry)(UCHAR DriveNumber, PGEOMETRY DriveGeometry)
VOID(* VideoSetTextCursorPosition)(UCHAR X, UCHAR Y)
_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
PFREELDR_MEMORY_DESCRIPTOR PcMemGetMemoryMap(ULONG *MemoryMapSize)
ULONG __cdecl PnpBiosGetDeviceNodeCount(ULONG *NodeSize, ULONG *NodeCount)
VOID __cdecl ChainLoadBiosBootSectorCode(IN UCHAR BootDrive OPTIONAL, IN ULONG BootPartition OPTIONAL)
TIMEINFO *(* GetTime)(VOID)
GET_HARDDISK_CONFIG_DATA GetHarddiskConfigurationData
static VOID DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
struct _CM_PNP_BIOS_INSTALLATION_CHECK CM_PNP_BIOS_INSTALLATION_CHECK
BOOLEAN BiosVesaReadEdid(VOID)
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
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
BOOLEAN(* InitializeBootDevices)(VOID)
BOOLEAN PcDiskReadLogicalSectors(IN UCHAR DriveNumber, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
#define ExtendedBIOSDataArea
FORCEINLINE PVOID FrLdrHeapAlloc(SIZE_T MemorySize, ULONG Tag)
static VOID DetectPnpBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
#define MOUSE_TYPE_WHEELZ
VOID(* VideoGetPaletteColor)(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
VIDEODISPLAYMODE PcVideoSetDisplayMode(char *DisplayModeName, BOOLEAN Init)
BOOLEAN PcConsKbHit(VOID)
BOOLEAN PcVideoIsPaletteFixed(VOID)
VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
VOID __cdecl DiskStopFloppyMotor(VOID)
_In_ WDFCOLLECTION _In_ ULONG Index
static VOID DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
#define CONTROLLER_COMMAND_WRITE_MOUSE
VOID MachInit(const char *CmdLine)
static VOID PS2ControllerWait(VOID)
#define CONTROLLER_REGISTER_DATA
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
PCONFIGURATION_COMPONENT_DATA PcHwDetect(VOID)
VOID DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
static VOID InitializeSerialPort(PUCHAR Port, UCHAR LineControl)
VOID DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
#define CONTROLLER_STATUS_MOUSE_OUTPUT_BUFFER_FULL
BOOLEAN(* DiskReadLogicalSectors)(UCHAR DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer)
BOOLEAN(* ConsKbHit)(VOID)
struct _CM_SERIAL_DEVICE_DATA * PCM_SERIAL_DEVICE_DATA
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
VOID(* VideoPutChar)(int Ch, UCHAR Attr, unsigned X, unsigned Y)
DBG_DEFAULT_CHANNEL(HWDETECT)
#define WRITE_PORT_UCHAR(p, d)
#define memcpy(s1, s2, n)
VOID PcVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y)
VOID(* VideoSetPaletteColor)(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
VOID PcVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth)
VOID(* PrepareForReactOS)(VOID)
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)
ULONG(* VideoGetBufferSize)(VOID)
ULONG(* DiskGetCacheableBlockCount)(UCHAR DriveNumber)
VOID(* ConsPutChar)(int Ch)
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@378::@381 Interrupt
static VOID DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
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
ULONG PcGetSerialPort(ULONG Index, PULONG Irq)
#define CM_RESOURCE_PORT_IO
static BOOLEAN DiskGetExtendedDriveParameters(IN UCHAR DriveNumber, IN PPC_DISK_DRIVE DiskDrive, OUT PVOID Buffer, IN USHORT BufferSize)
BOOLEAN PcFindPciBios(PPCI_REGISTRY_INFO BusData)
struct _CM_KEYBOARD_DEVICE_DATA CM_KEYBOARD_DEVICE_DATA
VOID __cdecl Relocator16Boot(IN REGS *In, IN USHORT StackSegment, IN USHORT StackPointer, IN USHORT CodeSegment, IN USHORT CodePointer)
BOOLEAN DetectKeyboardDevice(VOID)
VOID HalpCalibrateStallExecution(VOID)
ULONG_PTR __cdecl PnpBiosSupported(VOID)
static UCHAR PcGetFloppyCount(VOID)
VOID PcVideoPrepareForReactOS(VOID)
struct _EXTENDED_GEOMETRY EXTENDED_GEOMETRY
static VOID DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
#define CmResourceTypeInterrupt
#define MOUSE_TYPE_LOGITECH
VOID PcVideoCopyOffScreenBufferToVRAM(PVOID Buffer)
#define CONTROLLER_COMMAND_WRITE_MOUSE_OUTPUT_BUFFER
#define CM_RESOURCE_INTERRUPT_LATCHED
static VOID DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
char * strcpy(char *DstString, const char *SrcString)
VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
#define RtlZeroMemory(Destination, Length)
VOID(* VideoCopyOffScreenBufferToVRAM)(PVOID Buffer)
VIDEODISPLAYMODE(* VideoSetDisplayMode)(char *DisplayMode, BOOLEAN Init)
VOID NTAPI FldrCreateSystemKey(OUT PCONFIGURATION_COMPONENT_DATA *SystemNode)
#define CONTROLLER_REGISTER_STATUS
struct _CM_KEYBOARD_DEVICE_DATA * PCM_KEYBOARD_DEVICE_DATA
#define CONTROLLER_REGISTER_CONTROL
TIMEINFO * PcGetTime(VOID)
ULONG PcVideoGetBufferSize(VOID)
VOID PcPrepareForReactOS(VOID)
VOID PcConsPutChar(int Ch)
struct _CM_DISK_GEOMETRY_DEVICE_DATA CM_DISK_GEOMETRY_DEVICE_DATA
#define TAG_HW_RESOURCE_LIST
VOID(* VideoHideShowTextCursor)(BOOLEAN Show)
USHORT BiosIsVesaSupported(VOID)
PULONG MinorVersion OPTIONAL
VOID DetectApmBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)