X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FCore%2FDxe%2Fhand.h;fp=EdkModulePkg%2FCore%2FDxe%2Fhand.h;h=0000000000000000000000000000000000000000;hp=c61af1623495211a3dc7c9313e52e30257ec4afd;hb=808def96aa4589fba9c2d0ea55837754a3b7a4f7;hpb=9216450d1143056a50a5f916984a2d7faf590488 diff --git a/EdkModulePkg/Core/Dxe/hand.h b/EdkModulePkg/Core/Dxe/hand.h deleted file mode 100644 index c61af16234..0000000000 --- a/EdkModulePkg/Core/Dxe/hand.h +++ /dev/null @@ -1,337 +0,0 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - hand.h - -Abstract: - - EFI internal protocol definitions - - - -Revision History - ---*/ - -#ifndef _HAND_H_ -#define _HAND_H_ - - -// -// IHANDLE - contains a list of protocol handles -// - -#define EFI_HANDLE_SIGNATURE EFI_SIGNATURE_32('h','n','d','l') -typedef struct { - UINTN Signature; - LIST_ENTRY AllHandles; // All handles list of IHANDLE - LIST_ENTRY Protocols; // List of PROTOCOL_INTERFACE's for this handle - UINTN LocateRequest; // - UINT64 Key; // The Handle Database Key value when this handle was last created or modified -} IHANDLE; - -#define ASSERT_IS_HANDLE(a) ASSERT((a)->Signature == EFI_HANDLE_SIGNATURE) - - -// -// PROTOCOL_ENTRY - each different protocol has 1 entry in the protocol -// database. Each handler that supports this protocol is listed, along -// with a list of registered notifies. -// - -#define PROTOCOL_ENTRY_SIGNATURE EFI_SIGNATURE_32('p','r','t','e') -typedef struct { - UINTN Signature; - LIST_ENTRY AllEntries; // All entries - EFI_GUID ProtocolID; // ID of the protocol - LIST_ENTRY Protocols; // All protocol interfaces - LIST_ENTRY Notify; // Registerd notification handlers -} PROTOCOL_ENTRY; - -// -// PROTOCOL_INTERFACE - each protocol installed on a handle is tracked -// with a protocol interface structure -// - -#define PROTOCOL_INTERFACE_SIGNATURE EFI_SIGNATURE_32('p','i','f','c') -typedef struct { - UINTN Signature; - EFI_HANDLE Handle; // Back pointer - LIST_ENTRY Link; // Link on IHANDLE.Protocols - LIST_ENTRY ByProtocol; // Link on PROTOCOL_ENTRY.Protocols - PROTOCOL_ENTRY *Protocol; // The protocol ID - VOID *Interface; // The interface value - - LIST_ENTRY OpenList; // OPEN_PROTOCOL_DATA list. - UINTN OpenListCount; - - EFI_HANDLE ControllerHandle; - -} PROTOCOL_INTERFACE; - -#define OPEN_PROTOCOL_DATA_SIGNATURE EFI_SIGNATURE_32('p','o','d','l') - -typedef struct { - UINTN Signature; - LIST_ENTRY Link; - - EFI_HANDLE AgentHandle; - EFI_HANDLE ControllerHandle; - UINT32 Attributes; - UINT32 OpenCount; -} OPEN_PROTOCOL_DATA; - - -// -// PROTOCOL_NOTIFY - used for each register notification for a protocol -// - -#define PROTOCOL_NOTIFY_SIGNATURE EFI_SIGNATURE_32('p','r','t','n') -typedef struct { - UINTN Signature; - PROTOCOL_ENTRY *Protocol; - LIST_ENTRY Link; // All notifications for this protocol - EFI_EVENT Event; // Event to notify - LIST_ENTRY *Position; // Last position notified -} PROTOCOL_NOTIFY; - -// -// Internal prototypes -// - - -PROTOCOL_ENTRY * -CoreFindProtocolEntry ( - IN EFI_GUID *Protocol, - IN BOOLEAN Create - ) -/*++ - -Routine Description: - - Finds the protocol entry for the requested protocol. - - The gProtocolDatabaseLock must be owned - -Arguments: - - Protocol - The ID of the protocol - - Create - Create a new entry if not found - -Returns: - - Protocol entry - ---*/ -; - -VOID -CoreNotifyProtocolEntry ( - IN PROTOCOL_ENTRY *ProtEntry - ) -/*++ - -Routine Description: - - Signal event for every protocol in protocol entry. - -Arguments: - - ProtEntry - Protocol entry - -Returns: - ---*/ -; - -PROTOCOL_INTERFACE * -CoreFindProtocolInterface ( - IN IHANDLE *Handle, - IN EFI_GUID *Protocol, - IN VOID *Interface - ) -/*++ - -Routine Description: - - 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. - -Arguments: - - Handle - The handle to search the protocol on - - Protocol - GUID of the protocol - - Interface - The interface for the protocol being searched - -Returns: - - Protocol instance (NULL: Not found) - ---*/ -; - -PROTOCOL_INTERFACE * -CoreRemoveInterfaceFromProtocol ( - IN IHANDLE *Handle, - IN EFI_GUID *Protocol, - IN VOID *Interface - ) -/*++ - -Routine Description: - - Removes Protocol from the protocol list (but not the handle list). - -Arguments: - - Handle - The handle to remove protocol on. - - Protocol - GUID of the protocol to be moved - - Interface - The interface of the protocol - -Returns: - - Protocol Entry - ---*/ -; - -EFI_STATUS -CoreUnregisterProtocolNotify ( - IN EFI_EVENT Event - ) -/*++ - -Routine Description: - - Removes all the events in the protocol database that match Event. - -Arguments: - - Event - The event to search for in the protocol database. - -Returns: - - EFI_SUCCESS when done searching the entire database. - ---*/ -; - -EFI_STATUS -CoreDisconnectControllersUsingProtocolInterface ( - IN EFI_HANDLE UserHandle, - IN PROTOCOL_INTERFACE *Prot - ) -/*++ - -Routine Description: - - 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. - -Arguments: - - UserHandle - The handle on which the protocol is installed - Prot - The protocol to disconnect drivers from - -Returns: - - EFI_SUCCESS - Drivers using the protocol interface are all disconnected - EFI_ACCESS_DENIED - Failed to disconnect one or all of the drivers - ---*/ -; - -VOID -CoreAcquireProtocolLock ( - VOID - ) -/*++ - -Routine Description: - - Acquire lock on gProtocolDatabaseLock. - -Arguments: - - None - -Returns: - - None - ---*/ -; - -VOID -CoreReleaseProtocolLock ( - VOID - ) -/*++ - -Routine Description: - - Release lock on gProtocolDatabaseLock. - -Arguments: - - None - -Returns: - - None - ---*/ -; - -EFI_STATUS -CoreValidateHandle ( - IN EFI_HANDLE UserHandle - ) -/*++ - -Routine Description: - - Check whether a handle is a valid EFI_HANDLE - -Arguments: - - UserHandle - The handle to check - -Returns: - - EFI_INVALID_PARAMETER - The handle is NULL or not a valid EFI_HANDLE. - - EFI_SUCCESS - The handle is valid EFI_HANDLE. - ---*/ -; - -// -// Externs -// - -extern EFI_LOCK gProtocolDatabaseLock; -extern LIST_ENTRY gHandleList; -extern UINT64 gHandleDatabaseKey; - -#endif