ifndef _PCI_H
_PCI_H	EQU	1
PCI_ENUM_FUNC_GET_DEVICE_INFO	EQU	0
PCI_ENUM_FUNC_SET_DEVICE_INFO	EQU	1
PCI_ENUM_FUNC_GET_ENUM_HANDLERS	EQU	2
PCI_ENUM_FUNC_GET_ROM_DATA_SIZE	EQU	3
PCI_ENUM_FUNC_GET_ROM_DATA	EQU	4
PCI_ENUM_FUNC_BEGIN_VGA	EQU	5
PCI_ENUM_FUNC_END_VGA	EQU	6
PCI_ENUM_FUNC_NO_VGA_PROCESS	EQU	7
DEBUG_PCI_ENUM_FUNC_INSTALL_HOOK	EQU	8000H
DEBUG_PCI_ENUM_FUNC_UNINSTALL_HOOK	EQU	8001H
ifdef _VMM_
Begin_Service_Table PCI, VxD
PCI_Service	 _PCI_Get_Version, VxD_CODE
PCI_Service	 _PCI_Read_Config, VxD_CODE
PCI_Service	 _PCI_Write_Config, VxD_CODE
PCI_Service	 _PCI_Lock_Unlock, VxD_CODE
End_Service_Table PCI, VxD
ResType_PCI_Bus_Number	EQU	<PCI_DEVICE_ID>
PCI_LOCK	EQU	1
PCI_UNLOCK	EQU	0
endif
ifdef	PCI_WITH_PCIMP
SZ_PCI_PE_FILENAME	EQU	<"PCI.DLL">
NUM_IRQ_PINS	EQU	4

_IRQPININFO	STRUC
bLink	DB	?
wMap	DW	?
_IRQPININFO	ENDS

_IRQINFO	STRUC
bBusNumber	DB	?
bDevNumber	DB	?
IRQPinInfo	DB	SIZE IRQPININFO * NUM_IRQ_PINS DUP (?)
bSlotNumber	DB	?
bReserved	DB	?
_IRQINFO	ENDS

_IRQINFOHEADER	STRUC
dwSignature	DD	?
wVersion	DW	?
wSize	DW	?
bBusPIC	DB	?
bDevFuncPIC	DB	?
wBestIRQs	DW	?
dwCompatPIC	DD	?
dwMiniportData	DD	?
bReserved	DB	11 DUP (?)
bChecksum	DB	?
_IRQINFOHEADER	ENDS
PCIMP_SUCCESS	EQU	00000000H
PCIMP_FAILURE	EQU	00000001H
PCIMP_NOT_INITIALIZED	EQU	00000002H
PCIMP_ALREADY_INITIALIZED	EQU	00000003H
PCIMP_NO_INSTANCE	EQU	00000004H
PCIMP_INVALID_INSTANCE	EQU	00000005H
PCIMP_INVALID_IRQ	EQU	00000006H
PCIMP_INVALID_LINK	EQU	00000007H
PCIMP_INVALID_PARAMETER	EQU	00000008H
PCIMP_NO_NEW_CAPABILITIES	EQU	00000009H
PCIMP_VALIDATE_SOURCE_PIRTABLE	EQU	00000000H
PCIMP_VALIDATE_SOURCE_PCIBIOS	EQU	00000001H
PCIMP_VALIDATE_SOURCE_BITS	EQU	00000001H
PCIMP_IDE_PRIMARY_ENABLED	EQU	00000001H
PCIMP_IDE_SECONDARY_ENABLED	EQU	00000002H
ifndef	_NTDDK_
ifndef	_MTRR_H_
endif
endif
PCIPAGEZEROINIT	EQU	00000001H
PCIPAGECACHEDISABLE	EQU	00000002H
PCIPAGECONTIG	EQU	00000004H
PCIPAGEWRITETHROUGH	EQU	00000008H
PCI_UNCACHED	EQU	00000001H
PCI_WRITECOMBINED	EQU	00000002H

_GARTHandler	STRUC
pfnReserve	DD	?
pfnMap	DD	?
pfnUnMap	DD	?
pfnFree	DD	?
_GARTHandler	ENDS
MP_FLUSHES_L2_CACHE	EQU	00000001H
endif

_REGS	STRUC
rEAX	DD	?
rEBX	DD	?
rECX	DD	?
rEDX	DD	?
rESI	DD	?
rEDI	DD	?
_REGS	ENDS

_CONFIGACCESS	STRUC
bBus	DB	?
bDevFunc	DB	?
bOffset	DB	?
bSize	DB	?
_CONFIGACCESS	ENDS
SIZE_BYTE	EQU	00H
SIZE_WORD	EQU	01H
SIZE_DWORD	EQU	02H
HOOKM_INSTALL	EQU	00000000H
HOOKM_UNINSTALL	EQU	00000001H
HOOKM_CONFIGREAD	EQU	00010000H
HOOKM_CONFIGWRITE	EQU	00010001H
HOOKM_CALLBIOS	EQU	00020000H
endif
