ReactOS 0.4.15-dev-7906-g1b85a5f
hardware.h
Go to the documentation of this file.
1/*
2 * FreeLoader
3 *
4 * Copyright (C) 2003 Eric Kohl
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21#pragma once
22
23#define TAG_HW_RESOURCE_LIST 'lRwH'
24#define TAG_HW_DISK_CONTEXT 'cDwH'
25
26/* PROTOTYPES ***************************************************************/
27
28/* hardware.c */
31
32/* PCI Type 1 Ports */
33#define PCI_TYPE1_ADDRESS_PORT (PULONG)0xCF8
34#define PCI_TYPE1_DATA_PORT 0xCFC
35
36/* PCI Type 1 Configuration Register */
37typedef struct _PCI_TYPE1_CFG_BITS
38{
39 union
40 {
41 struct
42 {
50
52 } u;
54
55typedef
57(*GET_HARDDISK_CONFIG_DATA)(UCHAR DriveNumber, ULONG* pSize);
58
60
61typedef
64
66
67typedef
70
71VOID
74
75/* hwacpi.c */
77
78/* hwapm.c */
80
81/* hwpci.c */
83
84/* i386pnp.S */
87 ULONG *NodeCount);
89 UCHAR *NodeBuffer);
91
92/* i386pxe.S */
94
95/* EOF */
#define __cdecl
Definition: accygwin.h:79
VOID DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
Definition: hwacpi.c:54
ULONG __cdecl PnpBiosGetDeviceNode(UCHAR *NodeId, UCHAR *NodeBuffer)
ULONG __cdecl PnpBiosGetDeviceNodeCount(ULONG *NodeSize, ULONG *NodeCount)
VOID HalpCalibrateStallExecution(VOID)
Definition: pchw.c:105
VOID DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PCONFIGURATION_COMPONENT_DATA BusKey)
Definition: pchw.c:344
GET_HARDDISK_CONFIG_DATA GetHarddiskConfigurationData
Definition: pchw.c:45
VOID StallExecutionProcessor(ULONG Microseconds)
Definition: pchw.c:60
PCM_PARTIAL_RESOURCE_LIST(* GET_HARDDISK_CONFIG_DATA)(UCHAR DriveNumber, ULONG *pSize)
Definition: hardware.h:57
ULONG_PTR __cdecl PnpBiosSupported(VOID)
VOID DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
Definition: hwpci.c:176
BOOLEAN(* FIND_PCI_BIOS)(PPCI_REGISTRY_INFO BusData)
Definition: hardware.h:63
ULONG(* GET_SERIAL_PORT)(ULONG Index, PULONG Irq)
Definition: hardware.h:69
VOID DetectApmBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
Definition: hwapm.c:46
struct _PCI_TYPE1_CFG_BITS PCI_TYPE1_CFG_BITS
FIND_PCI_BIOS FindPciBios
Definition: hwpci.c:26
struct _PCI_TYPE1_CFG_BITS * PPCI_TYPE1_CFG_BITS
USHORT __cdecl PxeCallApi(USHORT Segment, USHORT Offset, USHORT Service, VOID *Parameter)
ULONG __cdecl PnpBiosGetDockStationInformation(UCHAR *DockingStationInfo)
struct _CM_PARTIAL_RESOURCE_LIST * PCM_PARTIAL_RESOURCE_LIST
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
@ Service
Definition: ntsecapi.h:292
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
union _PCI_TYPE1_CFG_BITS::@163 u
ULONG FunctionNumber
Definition: hardware.h:44
struct _PCI_TYPE1_CFG_BITS::@163::@164 bits
ULONG RegisterNumber
Definition: hardware.h:43
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFCOLLECTION _In_ ULONG Index
_Inout_ PVOID Segment
Definition: exfuncs.h:1101
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:323
unsigned char UCHAR
Definition: xmlstorage.h:181