]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/DxePlatDriOverLib/PlatDriOver.h
Update to use DOS format
[mirror_edk2.git] / MdeModulePkg / Library / DxePlatDriOverLib / PlatDriOver.h
CommitLineData
262a60a4 1/** @file\r
2\r
3Copyright (c) 2007, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12Module Name:\r
13\r
14 PlatDriOver.h\r
15\r
16Abstract:\r
17\r
18\r
19**/\r
20\r
21#ifndef _PLAT_DRI_OVER_H_\r
22#define _PLAT_DRI_OVER_H_\r
23\r
24#include <PiDxe.h>\r
25\r
b290614d 26#include <Protocol/FirmwareVolume2.h>\r
27#include <Protocol/LoadedImage.h>\r
28#include <Protocol/PlatformDriverOverride.h>\r
29#include <Protocol/DevicePath.h>\r
30#include <Protocol/DriverBinding.h>\r
31#include <Protocol/BusSpecificDriverOverride.h>\r
32\r
33#include <Library/BaseLib.h>\r
34#include <Library/DebugLib.h>\r
35#include <Library/BaseMemoryLib.h>\r
36#include <Library/PrintLib.h>\r
37#include <Library/UefiRuntimeServicesTableLib.h>\r
38#include <Library/UefiBootServicesTableLib.h>\r
39#include <Library/UefiLib.h>\r
40#include <Library/DevicePathLib.h>\r
41#include <Library/MemoryAllocationLib.h>\r
262a60a4 42#include <Library/DxeServicesTableLib.h>\r
b290614d 43#include <Library/PlatDriOverLib.h>\r
262a60a4 44\r
45#include <Guid/OverrideVariable.h>\r
46\r
47\r
48#define PLATFORM_OVERRIDE_ITEM_SIGNATURE EFI_SIGNATURE_32('p','d','o','i')\r
49 typedef struct _PLATFORM_OVERRIDE_ITEM{\r
50 UINTN Signature;\r
51 LIST_ENTRY Link;\r
52 UINT32 DriverInfoNum;\r
53 EFI_DEVICE_PATH_PROTOCOL *ControllerDevicePath;\r
54 LIST_ENTRY DriverInfoList; //DRIVER_IMAGE_INFO List\r
55 EFI_HANDLE LastReturnedImageHandle;\r
56} PLATFORM_OVERRIDE_ITEM;\r
57\r
58#define DRIVER_IMAGE_INFO_SIGNATURE EFI_SIGNATURE_32('p','d','i','i')\r
59typedef struct _DRIVER_IMAGE_INFO{\r
60 UINTN Signature;\r
61 LIST_ENTRY Link;\r
62 EFI_HANDLE ImageHandle;\r
63 EFI_DEVICE_PATH_PROTOCOL *DriverImagePath;\r
64 BOOLEAN UnLoadable;\r
65 BOOLEAN UnStartable;\r
66} DRIVER_IMAGE_INFO;\r
67\r
68#define DEVICE_PATH_STACK_ITEM_SIGNATURE EFI_SIGNATURE_32('d','p','s','i')\r
69typedef struct _DEVICE_PATH_STACK_ITEM{\r
70 UINTN Signature;\r
71 LIST_ENTRY Link;\r
72 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
73} DEVICE_PATH_STACK_ITEM;\r
74\r
75EFI_STATUS\r
76EFIAPI\r
77PushDevPathStack (\r
78 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
79 );\r
80\r
81EFI_STATUS\r
82EFIAPI\r
83PopDevPathStack (\r
84 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
85 );\r
86\r
87BOOLEAN\r
88EFIAPI\r
89CheckExistInStack (\r
90 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
91 );\r
92\r
93EFI_STATUS\r
94EFIAPI\r
95UpdateFvFileDevicePath (\r
96 IN OUT EFI_DEVICE_PATH_PROTOCOL ** DevicePath,\r
97 IN EFI_GUID *FileGuid,\r
98 IN EFI_HANDLE CallerImageHandle\r
99 );\r
100\r
101VOID *\r
102GetVariableAndSize (\r
103 IN CHAR16 *Name,\r
104 IN EFI_GUID *VendorGuid,\r
105 OUT UINTN *VariableSize\r
106 );\r
107\r
108EFI_STATUS\r
109ConnectDevicePath (\r
110 IN EFI_DEVICE_PATH_PROTOCOL *DevicePathToConnect\r
111 );\r
112\r
113EFI_STATUS\r
114BdsConnectDeviceByPciClassType (\r
115 UINT8 ClassType,\r
116 UINT8 SubClassCode,\r
117 UINT8 PI,\r
118 BOOLEAN Recursive\r
119 );\r
120\r
121#endif\r