| 1 |
/** |
| 2 |
* This file is part of the mingw-w64 runtime package. |
| 3 |
* No warranty is given; refer to the file DISCLAIMER within this package. |
| 4 |
*/ |
| 5 |
|
| 6 |
#ifndef _PCIPROP_ |
| 7 |
#define _PCIPROP_ |
| 8 |
|
| 9 |
#include <winapifamily.h> |
| 10 |
#include <devpropdef.h> |
| 11 |
|
| 12 |
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) |
| 13 |
|
| 14 |
#define DEFINE_PCI_ROOT_BUS_DEVPKEY(_DPKNAME, _PID) DEFINE_DEVPROPKEY ((_DPKNAME), 0xd817fc28, 0x793e, 0x4b9e, 0x99, 0x70, 0x46, 0x9d, 0x8b, 0xe6, 0x30, 0x73, (_PID)) |
| 15 |
#define DEFINE_PCI_DEVICE_DEVPKEY(_DPKNAME, _PID) DEFINE_DEVPROPKEY ((_DPKNAME), 0x3ab22e31, 0x8264, 0x4b4e, 0x9a, 0xf5, 0xa8, 0xd2, 0xd8, 0xe3, 0x3e, 0x62, (_PID)) |
| 16 |
|
| 17 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_SecondaryInterface, 1); |
| 18 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_CurrentSpeedAndMode, 2); |
| 19 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_SupportedSpeedsAndModes, 3); |
| 20 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_DeviceIDMessagingCapable, 4); |
| 21 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_SecondaryBusWidth, 5); |
| 22 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_ExtendedConfigAvailable, 6); |
| 23 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_ExtendedPCIConfigOpRegionSupport, 7); |
| 24 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_ASPMSupport, 8); |
| 25 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_ClockPowerManagementSupport, 9); |
| 26 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_PCISegmentGroupsSupport, 10); |
| 27 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_MSISupport, 11); |
| 28 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_PCIExpressNativeHotPlugControl, 12); |
| 29 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_SHPCNativeHotPlugControl, 13); |
| 30 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_PCIExpressNativePMEControl, 14); |
| 31 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_PCIExpressAERControl, 15); |
| 32 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_PCIExpressCapabilityControl, 16); |
| 33 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_NativePciExpressControl, 17); |
| 34 |
DEFINE_PCI_ROOT_BUS_DEVPKEY (DEVPKEY_PciRootBus_SystemMsiSupport, 18); |
| 35 |
|
| 36 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_DeviceType, 1); |
| 37 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_CurrentSpeedAndMode, 2); |
| 38 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_BaseClass, 3); |
| 39 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_SubClass, 4); |
| 40 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_ProgIf, 5); |
| 41 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_CurrentPayloadSize, 6); |
| 42 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_MaxPayloadSize, 7); |
| 43 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_MaxReadRequestSize, 8); |
| 44 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_CurrentLinkSpeed, 9); |
| 45 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_CurrentLinkWidth, 10); |
| 46 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_MaxLinkSpeed, 11); |
| 47 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_MaxLinkWidth, 12); |
| 48 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_ExpressSpecVersion, 13); |
| 49 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_InterruptSupport, 14); |
| 50 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_InterruptMessageMaximum, 15); |
| 51 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_BarTypes, 16); |
| 52 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_AERCapabilityPresent, 17); |
| 53 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_FirmwareErrorHandling, 18); |
| 54 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Uncorrectable_Error_Mask, 19); |
| 55 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Uncorrectable_Error_Severity, 20); |
| 56 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Correctable_Error_Mask, 21); |
| 57 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_ECRC_Errors, 22); |
| 58 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Error_Reporting, 23); |
| 59 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_RootError_Reporting, 24); |
| 60 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_S0WakeupSupported, 25); |
| 61 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_SriovSupport, 26); |
| 62 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Label_Id, 27); |
| 63 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_Label_String, 28); |
| 64 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_AcsSupport, 29); |
| 65 |
DEFINE_PCI_DEVICE_DEVPKEY (DEVPKEY_PciDevice_AriSupport, 30); |
| 66 |
|
| 67 |
#define DevProp_PciRootBus_SecondaryInterface_PciConventional 0 |
| 68 |
#define DevProp_PciRootBus_SecondaryInterface_PciXMode1 1 |
| 69 |
#define DevProp_PciRootBus_SecondaryInterface_PciXMode2 2 |
| 70 |
#define DevProp_PciRootBus_SecondaryInterface_PciExpress 3 |
| 71 |
|
| 72 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_Conventional_33Mhz 0 |
| 73 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_Conventional_66Mhz 1 |
| 74 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_66Mhz 2 |
| 75 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_100Mhz 3 |
| 76 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_133Mhz 4 |
| 77 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_ECC_66Mhz 5 |
| 78 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_ECC_100Mhz 6 |
| 79 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_Mode1_ECC_133Mhz 7 |
| 80 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_266_Mode2_66Mhz 8 |
| 81 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_266_Mode2_100Mhz 9 |
| 82 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_266_Mode2_133Mhz 10 |
| 83 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_533_Mode2_66Mhz 11 |
| 84 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_533_Mode2_100Mhz 12 |
| 85 |
#define DevProp_PciRootBus_CurrentSpeedAndMode_Pci_X_533_Mode2_133Mhz 13 |
| 86 |
|
| 87 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_Conventional_33Mhz 1 |
| 88 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_Conventional_66Mhz 2 |
| 89 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_X_66Mhz 4 |
| 90 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_X_133Mhz 8 |
| 91 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_X_266Mhz 16 |
| 92 |
#define DevProp_PciRootBus_SupportedSpeedsAndModes_Pci_X_533Mhz 32 |
| 93 |
|
| 94 |
#define DevProp_PciRootBus_BusWidth_32Bits 0 |
| 95 |
#define DevProp_PciRootBus_BusWidth_64Bits 1 |
| 96 |
|
| 97 |
#define DevProp_PciDevice_DeviceType_PciConventional 0 |
| 98 |
#define DevProp_PciDevice_DeviceType_PciX 1 |
| 99 |
#define DevProp_PciDevice_DeviceType_PciExpressEndpoint 2 |
| 100 |
#define DevProp_PciDevice_DeviceType_PciExpressLegacyEndpoint 3 |
| 101 |
#define DevProp_PciDevice_DeviceType_PciExpressRootComplexIntegratedEndpoint 4 |
| 102 |
#define DevProp_PciDevice_DeviceType_PciExpressTreatedAsPci 5 |
| 103 |
#define DevProp_PciDevice_BridgeType_PciConventional 6 |
| 104 |
#define DevProp_PciDevice_BridgeType_PciX 7 |
| 105 |
#define DevProp_PciDevice_BridgeType_PciExpressRootPort 8 |
| 106 |
#define DevProp_PciDevice_BridgeType_PciExpressUpstreamSwitchPort 9 |
| 107 |
#define DevProp_PciDevice_BridgeType_PciExpressDownstreamSwitchPort 10 |
| 108 |
#define DevProp_PciDevice_BridgeType_PciExpressToPciXBridge 11 |
| 109 |
#define DevProp_PciDevice_BridgeType_PciXToExpressBridge 12 |
| 110 |
#define DevProp_PciDevice_BridgeType_PciExpressTreatedAsPci 13 |
| 111 |
|
| 112 |
#define DevProp_PciDevice_CurrentSpeedAndMode_Pci_Conventional_33MHz 0 |
| 113 |
#define DevProp_PciDevice_CurrentSpeedAndMode_Pci_Conventional_66MHz 1 |
| 114 |
|
| 115 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode_Conventional_Pci 0x0 |
| 116 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_66Mhz 0x1 |
| 117 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_100Mhz 0x2 |
| 118 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_133MHZ 0x3 |
| 119 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_ECC_66Mhz 0x5 |
| 120 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_ECC_100Mhz 0x6 |
| 121 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode1_ECC_133Mhz 0x7 |
| 122 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_266_66MHz 0x9 |
| 123 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_266_100MHz 0xa |
| 124 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_266_133MHz 0xb |
| 125 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_533_66MHz 0xd |
| 126 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_533_100MHz 0xe |
| 127 |
#define DevProp_PciDevice_CurrentSpeedAndMode_PciX_Mode2_533_133MHz 0xf |
| 128 |
|
| 129 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_128Bytes 0 |
| 130 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_256Bytes 1 |
| 131 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_512Bytes 2 |
| 132 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_1024Bytes 3 |
| 133 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_2048Bytes 4 |
| 134 |
#define DevProp_PciExpressDevice_PayloadOrRequestSize_4096Bytes 5 |
| 135 |
|
| 136 |
#define DevProp_PciExpressDevice_LinkSpeed_TwoAndHalf_Gbps 1 |
| 137 |
#define DevProp_PciExpressDevice_LinkSpeed_Five_Gbps 2 |
| 138 |
|
| 139 |
#define DevProp_PciExpressDevice_LinkWidth_By_1 1 |
| 140 |
#define DevProp_PciExpressDevice_LinkWidth_By_2 2 |
| 141 |
#define DevProp_PciExpressDevice_LinkWidth_By_4 4 |
| 142 |
#define DevProp_PciExpressDevice_LinkWidth_By_8 8 |
| 143 |
#define DevProp_PciExpressDevice_LinkWidth_By_12 12 |
| 144 |
#define DevProp_PciExpressDevice_LinkWidth_By_16 16 |
| 145 |
#define DevProp_PciExpressDevice_LinkWidth_By_32 32 |
| 146 |
|
| 147 |
#define DevProp_PciExpressDevice_LinkSpeed_TwoAndHalf_Gbps 1 |
| 148 |
|
| 149 |
#define DevProp_PciExpressDevice_Spec_Version_10 1 |
| 150 |
#define DevProp_PciExpressDevice_Spec_Version_11 2 |
| 151 |
|
| 152 |
#define DevProp_PciDevice_InterruptType_LineBased 1 |
| 153 |
#define DevProp_PciDevice_InterruptType_Msi 2 |
| 154 |
#define DevProp_PciDevice_InterruptType_MsiX 4 |
| 155 |
|
| 156 |
#define DevProp_PciDevice_IoBarCount(_PD) ((_PD) & 0xff) |
| 157 |
#define DevProp_PciDevice_NonPrefetchable_MemoryBarCount(_PD) (((_PD) >> 8) & 0xff) |
| 158 |
#define DevProp_PciDevice_32BitPrefetchable_MemoryBarCount(_PD) (((_PD) >> 16) & 0xff) |
| 159 |
#define DevProp_PciDevice_64BitPrefetchable_MemoryBarCount(_PD) (((_PD) >> 24) & 0xff) |
| 160 |
|
| 161 |
#define DevProp_PciDevice_SriovSupport_Ok 0x0 |
| 162 |
#define DevProp_PciDevice_SriovSupport_MissingAcs 0x1 |
| 163 |
#define DevProp_PciDevice_SriovSupport_MissingPfDriver 0x2 |
| 164 |
#define DevProp_PciDevice_SriovSupport_NoBusResource 0x3 |
| 165 |
#define DevProp_PciDevice_SriovSupport_DidntGetVfBarSpace 0x4 |
| 166 |
|
| 167 |
#define DevProp_PciDevice_AcsSupport_Present 0x0 |
| 168 |
#define DevProp_PciDevice_AcsSupport_NotNeeded 0x1 |
| 169 |
#define DevProp_PciDevice_AcsSupport_Missing 0x2 |
| 170 |
|
| 171 |
#endif |
| 172 |
#endif |