]>
Commit | Line | Data |
---|---|---|
97404058 | 1 | /** @file\r |
ead42efc | 2 | \r |
3 | Copyright (c) 2006, Intel Corporation \r | |
4 | All rights reserved. This program and the accompanying materials \r | |
5 | are licensed and made available under the terms and conditions of the BSD License \r | |
6 | which accompanies this distribution. The full text of the license may be found at \r | |
7 | http://opensource.org/licenses/bsd-license.php \r | |
8 | \r | |
9 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r | |
10 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r | |
11 | \r | |
3db51098 | 12 | **/\r |
ead42efc | 13 | \r |
ead42efc | 14 | \r |
eeefcb9d | 15 | #ifndef _EFI_PCI_DRIVER_OVERRRIDE_H_\r |
16 | #define _EFI_PCI_DRIVER_OVERRRIDE_H_\r | |
ead42efc | 17 | \r |
f02bd376 | 18 | #define DRIVER_OVERRIDE_SIGNATURE SIGNATURE_32 ('d', 'r', 'o', 'v')\r |
ead42efc | 19 | \r |
20 | typedef struct {\r | |
21 | UINT32 Signature;\r | |
22 | LIST_ENTRY Link;\r | |
23 | EFI_HANDLE DriverImageHandle;\r | |
24 | } PCI_DRIVER_OVERRIDE_LIST;\r | |
25 | \r | |
26 | \r | |
27 | #define DRIVER_OVERRIDE_FROM_LINK(a) \\r | |
28 | CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE)\r | |
29 | \r | |
a3b8e257 | 30 | /**\r |
97404058 | 31 | Initializes a PCI Driver Override Instance.\r |
a3b8e257 | 32 | \r |
97404058 | 33 | @param PciIoDevice Device instance.\r |
ead42efc | 34 | \r |
a3b8e257 | 35 | **/\r |
8e6b0dcb | 36 | VOID\r |
ead42efc | 37 | InitializePciDriverOverrideInstance (\r |
38 | PCI_IO_DEVICE *PciIoDevice\r | |
ed66e1bc | 39 | );\r |
ead42efc | 40 | \r |
a3b8e257 | 41 | /**\r |
97404058 | 42 | Add an overriding driver image.\r |
a3b8e257 | 43 | \r |
97404058 | 44 | @param PciIoDevice Instance of PciIo device.\r |
45 | @param DriverImageHandle new added driver image.\r | |
a3b8e257 | 46 | \r |
97404058 | 47 | @retval EFI_OUT_OF_RESOURCES no memory resource for new driver instance.\r |
48 | @retval EFI_SUCCESS Success add driver.\r | |
a3b8e257 | 49 | **/\r |
ead42efc | 50 | EFI_STATUS\r |
51 | AddDriver (\r | |
52 | IN PCI_IO_DEVICE *PciIoDevice,\r | |
53 | IN EFI_HANDLE DriverImageHandle\r | |
ed66e1bc | 54 | );\r |
ead42efc | 55 | \r |
ead42efc | 56 | \r |
a3b8e257 | 57 | /**\r |
97404058 | 58 | Get a overriding driver image.\r |
59 | @param This Pointer to instance of EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL.\r | |
60 | @param DriverImageHandle Override driver image.\r | |
a3b8e257 | 61 | \r |
97404058 | 62 | @retval EFI_SUCCESS Success to get driver image handle.\r |
63 | @retval EFI_NOT_FOUND can not find override driver image.\r | |
64 | @retval EFI_INVALID_PARAMETER Invalid parameter.\r | |
bcd70414 | 65 | **/\r |
ead42efc | 66 | EFI_STATUS\r |
67 | EFIAPI\r | |
68 | GetDriver (\r | |
69 | IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This,\r | |
70 | IN OUT EFI_HANDLE *DriverImageHandle\r | |
ed66e1bc | 71 | );\r |
ead42efc | 72 | \r |
73 | #endif\r |