OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
HandleParsingMin.h File Reference

Go to the source code of this file.

Data Structures

struct  HANDLE_LIST
 
struct  HANDLE_INDEX_LIST
 

Macros

#define HR_UNKNOWN   0
 
#define HR_IMAGE_HANDLE   BIT1
 
#define HR_DRIVER_BINDING_HANDLE   BIT2
 
#define HR_DEVICE_DRIVER   BIT3
 
#define HR_BUS_DRIVER   BIT4
 
#define HR_DRIVER_CONFIGURATION_HANDLE   BIT5
 
#define HR_DRIVER_DIAGNOSTICS_HANDLE   BIT6
 
#define HR_COMPONENT_NAME_HANDLE   BIT7
 
#define HR_DEVICE_HANDLE   BIT8
 
#define HR_PARENT_HANDLE   BIT9
 
#define HR_CONTROLLER_HANDLE   BIT10
 
#define HR_CHILD_HANDLE   BIT11
 
#define HR_VALID_MASK   (BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7|BIT8|BIT9|BIT10|BIT11)
 
#define PARSE_HANDLE_DATABASE_UEFI_DRIVERS(ControllerHandle, Count, Buffer)
 

Functions

UINTN EFIAPI InternalConvertHandleToHandleIndex (IN CONST EFI_HANDLE TheHandle)
 
EFI_STATUS EFIAPI InternalParseHandleDatabaseByRelationship (IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN CONST UINTN Mask, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
 

Detailed Description

Provides interface to parsing both handle and protocol database.

Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
(C) Copyright 2013-2016 Hewlett-Packard Development Company, L.P.
(C) Copyright 2021 vit9696. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file HandleParsingMin.h.

Macro Definition Documentation

◆ HR_BUS_DRIVER

#define HR_BUS_DRIVER   BIT4

Definition at line 29 of file HandleParsingMin.h.

◆ HR_CHILD_HANDLE

#define HR_CHILD_HANDLE   BIT11

Definition at line 36 of file HandleParsingMin.h.

◆ HR_COMPONENT_NAME_HANDLE

#define HR_COMPONENT_NAME_HANDLE   BIT7

Definition at line 32 of file HandleParsingMin.h.

◆ HR_CONTROLLER_HANDLE

#define HR_CONTROLLER_HANDLE   BIT10

Definition at line 35 of file HandleParsingMin.h.

◆ HR_DEVICE_DRIVER

#define HR_DEVICE_DRIVER   BIT3

Definition at line 28 of file HandleParsingMin.h.

◆ HR_DEVICE_HANDLE

#define HR_DEVICE_HANDLE   BIT8

Definition at line 33 of file HandleParsingMin.h.

◆ HR_DRIVER_BINDING_HANDLE

#define HR_DRIVER_BINDING_HANDLE   BIT2

Definition at line 27 of file HandleParsingMin.h.

◆ HR_DRIVER_CONFIGURATION_HANDLE

#define HR_DRIVER_CONFIGURATION_HANDLE   BIT5

Definition at line 30 of file HandleParsingMin.h.

◆ HR_DRIVER_DIAGNOSTICS_HANDLE

#define HR_DRIVER_DIAGNOSTICS_HANDLE   BIT6

Definition at line 31 of file HandleParsingMin.h.

◆ HR_IMAGE_HANDLE

#define HR_IMAGE_HANDLE   BIT1

Definition at line 26 of file HandleParsingMin.h.

◆ HR_PARENT_HANDLE

#define HR_PARENT_HANDLE   BIT9

Definition at line 34 of file HandleParsingMin.h.

◆ HR_UNKNOWN

#define HR_UNKNOWN   0

Definition at line 25 of file HandleParsingMin.h.

◆ HR_VALID_MASK

#define HR_VALID_MASK   (BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7|BIT8|BIT9|BIT10|BIT11)

Definition at line 37 of file HandleParsingMin.h.

◆ PARSE_HANDLE_DATABASE_UEFI_DRIVERS

#define PARSE_HANDLE_DATABASE_UEFI_DRIVERS ( ControllerHandle,
Count,
Buffer )
Value:
#define HR_DRIVER_BINDING_HANDLE
EFI_STATUS EFIAPI InternalParseHandleDatabaseByRelationship(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN CONST UINTN Mask, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
#define HR_DEVICE_DRIVER
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
Definition OcTypingLib.h:42

Gets handles for any UEFI drivers of the passed in controller.

Parameters
[in]ControllerHandleThe handle of the controller.
[in]CountThe pointer to the number of handles in MatchingHandleBuffer on return.
[out]BufferThe buffer containing handles on a successful return.
Return values
EFI_SUCCESSThe operation was successful.
See also
ParseHandleDatabaseByRelationship

Definition at line 105 of file HandleParsingMin.h.

Function Documentation

◆ InternalConvertHandleToHandleIndex()

UINTN EFIAPI InternalConvertHandleToHandleIndex ( IN CONST EFI_HANDLE TheHandle)

Function to retrieve the human-friendly index of a given handle. If the handle does not have a index one will be automatically assigned. The index value is valid until the termination of the shell application.

Parameters
[in]TheHandleThe handle to retrieve an index for.
Return values
0A memory allocation failed.
Returns
The index of the handle.

Definition at line 89 of file HandleParsingMin.c.

◆ InternalParseHandleDatabaseByRelationship()

EFI_STATUS EFIAPI InternalParseHandleDatabaseByRelationship ( IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL,
IN CONST EFI_HANDLE ControllerHandle OPTIONAL,
IN CONST UINTN Mask,
IN UINTN * MatchingHandleCount,
OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL )

Gets all the related EFI_HANDLEs based on the single EFI_HANDLE and the mask supplied.

This function will scan all EFI_HANDLES in the UEFI environment's handle database and return all the ones with the specified relationship (Mask) to the specified controller handle.

If both DriverBindingHandle and ControllerHandle are NULL, then ASSERT. If MatchingHandleCount is NULL, then ASSERT.

If MatchingHandleBuffer is not NULL upon a sucessful return the memory must be caller freed.

Parameters
[in]DriverBindingHandleHandle to a object with Driver Binding protocol on it.
[in]ControllerHandleHandle to a device with Device Path protocol on it.
[in]MaskMask of what relationship(s) is desired.
[in]MatchingHandleCountPoitner to UINTN specifying number of HANDLES in MatchingHandleBuffer.
[out]MatchingHandleBufferOn a sucessful return a buffer of MatchingHandleCount EFI_HANDLEs and a terminating NULL EFI_HANDLE.
Return values
EFI_SUCCESSThe operation was sucessful and any related handles are in MatchingHandleBuffer;
EFI_NOT_FOUNDNo matching handles were found.
EFI_INVALID_PARAMETERA parameter was invalid or out of range.

Definition at line 431 of file HandleParsingMin.c.