TianoCore EDK2 master
Loading...
Searching...
No Matches
HandleParsingLib.h
Go to the documentation of this file.
1
9#ifndef __HANDLE_PARSING_LIB__
10#define __HANDLE_PARSING_LIB__
11
12#include <Uefi.h>
13
28EFIAPI
30 IN CONST EFI_GUID *Guid,
31 IN CONST CHAR16 *TheName,
32 IN CONST CHAR8 *Lang OPTIONAL
33 );
34
46CHAR16 *
47EFIAPI
49 IN CONST EFI_GUID *Guid,
50 IN CONST CHAR8 *Lang OPTIONAL
51 );
52
65EFIAPI
67 IN CONST CHAR16 *Name,
68 IN CONST CHAR8 *Lang OPTIONAL,
69 OUT EFI_GUID **Guid
70 );
71
88CHAR16 *
89EFIAPI
91 IN CONST EFI_HANDLE TheHandle,
92 IN CONST EFI_GUID *Guid,
93 IN CONST BOOLEAN Verbose
94 );
95
108CONST CHAR16 *
109EFIAPI
111 IN CONST EFI_HANDLE TheHandle,
112 IN CONST CHAR8 *Language
113 );
114
128CHAR8 *
129EFIAPI
131 IN CONST CHAR8 *SupportedLanguages,
132 IN CONST CHAR8 *InputLanguage,
133 IN BOOLEAN Iso639Language
134 );
135
136#define HR_UNKNOWN 0
137#define HR_IMAGE_HANDLE BIT1
138#define HR_DRIVER_BINDING_HANDLE BIT2 // has driver binding
139#define HR_DEVICE_DRIVER BIT3 // device driver (hybrid?)
140#define HR_BUS_DRIVER BIT4 // a bus driver (hybrid?)
141#define HR_DRIVER_CONFIGURATION_HANDLE BIT5
142#define HR_DRIVER_DIAGNOSTICS_HANDLE BIT6
143#define HR_COMPONENT_NAME_HANDLE BIT7
144#define HR_DEVICE_HANDLE BIT8
145#define HR_PARENT_HANDLE BIT9
146#define HR_CONTROLLER_HANDLE BIT10
147#define HR_CHILD_HANDLE BIT11
148#define HR_VALID_MASK (BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7|BIT8|BIT9|BIT10|BIT11)
149
178EFIAPI
180 IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL,
181 IN CONST EFI_HANDLE ControllerHandle OPTIONAL,
182 IN CONST UINTN Mask,
183 IN UINTN *MatchingHandleCount,
184 OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL
185 );
186
214EFIAPI
216 IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL,
217 IN CONST EFI_HANDLE ControllerHandle OPTIONAL,
218 IN UINTN *HandleCount,
219 OUT EFI_HANDLE **HandleBuffer,
220 OUT UINTN **HandleType
221 );
222
234#define PARSE_HANDLE_DATABASE_PARENTS(ControllerHandle, Count, Buffer) \
235 ParseHandleDatabaseByRelationship(NULL, ControllerHandle, HR_PARENT_HANDLE, Count, Buffer)
236
248#define PARSE_HANDLE_DATABASE_UEFI_DRIVERS(ControllerHandle, Count, Buffer) \
249 ParseHandleDatabaseByRelationship(NULL, ControllerHandle, HR_DRIVER_BINDING_HANDLE|HR_DEVICE_DRIVER, Count, Buffer)
250
263#define PARSE_HANDLE_DATABASE_MANAGED_CHILDREN(DriverHandle, ControllerHandle, Count, Buffer) \
264 ParseHandleDatabaseByRelationship(DriverHandle, ControllerHandle, HR_CHILD_HANDLE|HR_DEVICE_HANDLE, Count, Buffer)
265
277#define PARSE_HANDLE_DATABASE_DEVICES(DriverHandle, Count, Buffer) \
278 ParseHandleDatabaseByRelationship(DriverHandle, NULL, HR_CONTROLLER_HANDLE|HR_DEVICE_HANDLE, Count, Buffer)
279
292EFIAPI
294 IN CONST EFI_HANDLE DriverHandle,
295 IN UINTN *MatchingHandleCount,
296 OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL
297 );
298
311EFIAPI
313 IN CONST EFI_HANDLE ControllerHandle,
314 OUT UINTN *MatchingHandleCount,
315 OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL
316 );
317
329UINTN
330EFIAPI
332 IN CONST EFI_HANDLE TheHandle
333 );
334
345EFIAPI
347 IN CONST UINTN TheIndex
348 );
349
362EFIAPI
364 IN CONST EFI_GUID *ProtocolGuid OPTIONAL
365 );
366
379EFIAPI
381 IN CONST EFI_GUID **ProtocolGuids
382 );
383
396EFIAPI
398 OUT EFI_GUID *Guids,
399 IN OUT UINTN *Count
400 );
401
402#endif // __HANDLE_PARSING_LIB__
UINT64 UINTN
EFI_STATUS EFIAPI GetAllMappingGuids(OUT EFI_GUID *Guids, IN OUT UINTN *Count)
CHAR16 *EFIAPI GetProtocolInformationDump(IN CONST EFI_HANDLE TheHandle, IN CONST EFI_GUID *Guid, IN CONST BOOLEAN Verbose)
CONST CHAR16 *EFIAPI GetStringNameFromHandle(IN CONST EFI_HANDLE TheHandle, IN CONST CHAR8 *Language)
CHAR16 *EFIAPI GetStringNameFromGuid(IN CONST EFI_GUID *Guid, IN CONST CHAR8 *Lang OPTIONAL)
CHAR8 *EFIAPI GetBestLanguageForDriver(IN CONST CHAR8 *SupportedLanguages, IN CONST CHAR8 *InputLanguage, IN BOOLEAN Iso639Language)
EFI_STATUS EFIAPI ParseHandleDatabaseByRelationshipWithType(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN UINTN *HandleCount, OUT EFI_HANDLE **HandleBuffer, OUT UINTN **HandleType)
EFI_STATUS EFIAPI GetGuidFromStringName(IN CONST CHAR16 *Name, IN CONST CHAR8 *Lang OPTIONAL, OUT EFI_GUID **Guid)
EFI_HANDLE EFIAPI ConvertHandleIndexToHandle(IN CONST UINTN TheIndex)
EFI_STATUS EFIAPI ParseHandleDatabaseForChildDevices(IN CONST EFI_HANDLE DriverHandle, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
EFI_STATUS EFIAPI AddNewGuidNameMapping(IN CONST EFI_GUID *Guid, IN CONST CHAR16 *TheName, IN CONST CHAR8 *Lang OPTIONAL)
EFI_STATUS EFIAPI ParseHandleDatabaseByRelationship(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN CONST UINTN Mask, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
UINTN EFIAPI ConvertHandleToHandleIndex(IN CONST EFI_HANDLE TheHandle)
EFI_HANDLE *EFIAPI GetHandleListByProtocolList(IN CONST EFI_GUID **ProtocolGuids)
EFI_STATUS EFIAPI ParseHandleDatabaseForChildControllers(IN CONST EFI_HANDLE ControllerHandle, OUT UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
EFI_HANDLE *EFIAPI GetHandleListByProtocol(IN CONST EFI_GUID *ProtocolGuid OPTIONAL)
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
Definition: Base.h:213