]>
Commit | Line | Data |
---|---|---|
3db51098 | 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 |
15 | #ifndef _EFI_PCI_DRIVER_OVERRRIDE_H\r | |
16 | #define _EFI_PCI_DRIVER_OVERRRIDE_H\r | |
17 | \r | |
18 | #define DRIVER_OVERRIDE_SIGNATURE EFI_SIGNATURE_32 ('d', 'r', 'o', 'v')\r | |
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 |
31 | Initializes a PCI Driver Override Instance\r | |
32 | \r | |
33 | @param PciIoDevice Device instance\r | |
ead42efc | 34 | \r |
a3b8e257 | 35 | @retval EFI_SUCCESS Operation success\r |
36 | **/\r | |
ead42efc | 37 | EFI_STATUS\r |
38 | InitializePciDriverOverrideInstance (\r | |
39 | PCI_IO_DEVICE *PciIoDevice\r | |
ed66e1bc | 40 | );\r |
ead42efc | 41 | \r |
a3b8e257 | 42 | /**\r |
43 | Add an overriding driver image\r | |
44 | \r | |
45 | @param PciIoDevice Instance of PciIo device\r | |
46 | @param DriverImageHandle new added driver image\r | |
47 | \r | |
48 | @retval EFI_OUT_OF_RESOURCES no memory resource for new driver instance\r | |
49 | @retval EFI_SUCCESS Success add driver\r | |
50 | **/\r | |
ead42efc | 51 | EFI_STATUS\r |
52 | AddDriver (\r | |
53 | IN PCI_IO_DEVICE *PciIoDevice,\r | |
54 | IN EFI_HANDLE DriverImageHandle\r | |
ed66e1bc | 55 | );\r |
ead42efc | 56 | \r |
ead42efc | 57 | \r |
a3b8e257 | 58 | /**\r |
59 | Get a overriding driver image\r | |
60 | @param This Pointer to instance of EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL\r | |
61 | @param DriverImageHandle Override driver image,\r | |
62 | \r | |
63 | @retval EFI_SUCCESS Success to get driver image handle\r | |
64 | @retval EFI_NOT_FOUND can not find override driver image\r | |
65 | @retval EFI_INVALID_PARAMETER Invalid parameter\r | |
bcd70414 | 66 | **/\r |
ead42efc | 67 | EFI_STATUS\r |
68 | EFIAPI\r | |
69 | GetDriver (\r | |
70 | IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This,\r | |
71 | IN OUT EFI_HANDLE *DriverImageHandle\r | |
ed66e1bc | 72 | );\r |
ead42efc | 73 | \r |
74 | #endif\r |