--- /dev/null
+/** @file\r
+ This file declares EFI Incompatible PCI Device Support Protocol\r
+\r
+ Copyright (c) 2006, Intel Corporation \r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ Module Name: IncompatiblePciDeviceSupport.h\r
+\r
+ @par Revision Reference:\r
+ This protocol is defined in Framework of EFI PCI Platform Support Specification.\r
+ Version0.9\r
+\r
+**/\r
+\r
+#ifndef _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_\r
+#define _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_\r
+\r
+#define EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL_GUID \\r
+ {0xeb23f55a, 0x7863, 0x4ac2, {0x8d, 0x3d, 0x95, 0x65, 0x35, 0xde, 0x03, 0x75} }\r
+\r
+typedef struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL;\r
+\r
+/**\r
+ Returns a list of ACPI resource descriptors that detail the special \r
+ resource configuration requirements for an incompatible PCI device.\r
+\r
+ @param This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL instance.\r
+ @param VendorID A unique ID to identify the manufacturer of the PCI device.\r
+ @param DeviceID A unique ID to identify the particular PCI device.\r
+ @param RevisionID A PCI device-specific revision identifier.\r
+ @param SubsystemVendorId Specifies the subsystem vendor ID.\r
+ @param SubsystemDeviceId Specifies the subsystem device ID.\r
+ @param Configuration A list of ACPI resource descriptors that detail\r
+ the configuration requirement.\r
+\r
+ @retval EFI_SUCCESS The function always returns EFI_SUCCESS.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE) (\r
+ IN EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *This,\r
+ IN UINTN VendorId,\r
+ IN UINTN DeviceId,\r
+ IN UINTN Revision,\r
+ IN UINTN SubVendorId,OPTIONAL\r
+ IN UINTN SubDeviceId,OPTIONAL\r
+ OUT VOID **Configuration\r
+); \r
+\r
+\r
+//\r
+// Interface structure for the Incompatible PCI Device Support Protocol\r
+//\r
+/**\r
+ @par Protocol Description:\r
+ This protocol can find some incompatible PCI devices and report their \r
+ special resource requirements to the PCI bus driver.\r
+\r
+ @param CheckDevice\r
+ Returns a list of ACPI resource descriptors that detail any special \r
+ resource configuration requirements if the specified device is a recognized \r
+ incompatible PCI device. \r
+\r
+**/\r
+struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL {\r
+ EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice; \r
+};\r
+\r
+extern EFI_GUID gEfiIncompatiblePciDeviceSupportProtocolGuid;\r
+ \r
+#endif\r