pciprop.h 9.4 KB

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