TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | IHANDLE |
struct | PROTOCOL_ENTRY |
struct | PROTOCOL_INTERFACE |
struct | OPEN_PROTOCOL_DATA |
struct | PROTOCOL_NOTIFY |
Macros | |
#define | EFI_HANDLE_SIGNATURE SIGNATURE_32('h','n','d','l') |
#define | ASSERT_IS_HANDLE(a) ASSERT((a)->Signature == EFI_HANDLE_SIGNATURE) |
#define | PROTOCOL_ENTRY_SIGNATURE SIGNATURE_32('p','r','t','e') |
#define | PROTOCOL_INTERFACE_SIGNATURE SIGNATURE_32('p','i','f','c') |
#define | OPEN_PROTOCOL_DATA_SIGNATURE SIGNATURE_32('p','o','d','l') |
#define | PROTOCOL_NOTIFY_SIGNATURE SIGNATURE_32('p','r','t','n') |
Functions | |
PROTOCOL_ENTRY * | CoreFindProtocolEntry (IN EFI_GUID *Protocol, IN BOOLEAN Create) |
VOID | CoreNotifyProtocolEntry (IN PROTOCOL_ENTRY *ProtEntry) |
PROTOCOL_INTERFACE * | CoreFindProtocolInterface (IN IHANDLE *Handle, IN EFI_GUID *Protocol, IN VOID *Interface) |
PROTOCOL_INTERFACE * | CoreRemoveInterfaceFromProtocol (IN IHANDLE *Handle, IN EFI_GUID *Protocol, IN VOID *Interface) |
EFI_STATUS | CoreConnectSingleController (IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE *ContextDriverImageHandles OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL) |
EFI_STATUS | CoreDisconnectControllersUsingProtocolInterface (IN EFI_HANDLE UserHandle, IN PROTOCOL_INTERFACE *Prot) |
VOID | CoreAcquireProtocolLock (VOID) |
VOID | CoreReleaseProtocolLock (VOID) |
EFI_STATUS | CoreValidateHandle (IN EFI_HANDLE UserHandle) |
Variables | |
EFI_LOCK | gProtocolDatabaseLock |
LIST_ENTRY | gHandleList |
UINT64 | gHandleDatabaseKey |
Support functions for managing protocol.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Handle.h.
#define ASSERT_IS_HANDLE | ( | a | ) | ASSERT((a)->Signature == EFI_HANDLE_SIGNATURE) |
#define EFI_HANDLE_SIGNATURE SIGNATURE_32('h','n','d','l') |
#define OPEN_PROTOCOL_DATA_SIGNATURE SIGNATURE_32('p','o','d','l') |
#define PROTOCOL_ENTRY_SIGNATURE SIGNATURE_32('p','r','t','e') |
#define PROTOCOL_INTERFACE_SIGNATURE SIGNATURE_32('p','i','f','c') |
#define PROTOCOL_NOTIFY_SIGNATURE SIGNATURE_32('p','r','t','n') |
VOID CoreAcquireProtocolLock | ( | VOID | ) |
EFI_STATUS CoreConnectSingleController | ( | IN EFI_HANDLE | ControllerHandle, |
IN EFI_HANDLE *ContextDriverImageHandles | OPTIONAL, | ||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath | OPTIONAL | ||
) |
Connects a controller to a driver.
ControllerHandle | Handle of the controller to be connected. |
ContextDriverImageHandles | DriverImageHandle A pointer to an ordered list of driver image handles. |
RemainingDevicePath | RemainingDevicePath A pointer to the device path that specifies a child of the controller specified by ControllerHandle. |
EFI_SUCCESS | One or more drivers were connected to ControllerHandle. |
EFI_OUT_OF_RESOURCES | No enough system resources to complete the request. |
EFI_NOT_FOUND | No drivers were connected to ControllerHandle. |
Definition at line 393 of file DriverSupport.c.
EFI_STATUS CoreDisconnectControllersUsingProtocolInterface | ( | IN EFI_HANDLE | UserHandle, |
IN PROTOCOL_INTERFACE * | Prot | ||
) |
Attempts to disconnect all drivers that are using the protocol interface being queried. If failed, reconnect all drivers disconnected. Note: This function doesn't do parameters checking, it's caller's responsibility to pass in valid parameters.
UserHandle | The handle on which the protocol is installed |
Prot | The protocol to disconnect drivers from |
EFI_SUCCESS | Drivers using the protocol interface are all disconnected |
EFI_ACCESS_DENIED | Failed to disconnect one or all of the drivers |
PROTOCOL_ENTRY * CoreFindProtocolEntry | ( | IN EFI_GUID * | Protocol, |
IN BOOLEAN | Create | ||
) |
PROTOCOL_INTERFACE * CoreFindProtocolInterface | ( | IN IHANDLE * | Handle, |
IN EFI_GUID * | Protocol, | ||
IN VOID * | Interface | ||
) |
Finds the protocol instance for the requested handle and protocol. Note: This function doesn't do parameters checking, it's caller's responsibility to pass in valid parameters.
Handle | The handle to search the protocol on |
Protocol | GUID of the protocol |
Interface | The interface for the protocol being searched |
VOID CoreNotifyProtocolEntry | ( | IN PROTOCOL_ENTRY * | ProtEntry | ) |
VOID CoreReleaseProtocolLock | ( | VOID | ) |
EFI_STATUS CoreValidateHandle | ( | IN EFI_HANDLE | UserHandle | ) |
|
extern |