| 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 |