+++ /dev/null
-/** @file\r
-\r
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- Dpc.h\r
-\r
-Abstract:\r
-\r
-\r
-**/\r
-\r
-#ifndef _DPC_H_\r
-#define _DPC_H_\r
-\r
-#include <Uefi.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Protocol/Dpc.h>\r
-\r
-//\r
-// Internal data struture for managing DPCs. A DPC entry is either on the free\r
-// list or on a DPC queue at a specific EFI_TPL.\r
-//\r
-typedef struct {\r
- LIST_ENTRY ListEntry;\r
- EFI_DPC_PROCEDURE DpcProcedure;\r
- VOID *DpcContext;\r
-} DPC_ENTRY;\r
-\r
-/**\r
- Add a Deferred Procedure Call to the end of the DPC queue.\r
-\r
- @param This Protocol instance pointer.\r
- @param DpcTpl The EFI_TPL that the DPC should be invoked.\r
- @param DpcProcedure Pointer to the DPC's function.\r
- @param DpcContext Pointer to the DPC's context. Passed to DpcProcedure\r
- when DpcProcedure is invoked.\r
-\r
- @retval EFI_SUCCESS The DPC was queued.\r
- @retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL.\r
- @retval EFI_INVALID_PARAMETER DpcProcedure is NULL.\r
- @retval EFI_OUT_OF_RESOURCES There are not enough resources available to\r
- add the DPC to the queue.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-DpcQueueDpc (\r
- IN EFI_DPC_PROTOCOL *This,\r
- IN EFI_TPL DpcTpl,\r
- IN EFI_DPC_PROCEDURE DpcProcedure,\r
- IN VOID *DpcContext OPTIONAL\r
- );\r
-\r
-/**\r
- Dispatch the queue of DPCs. ALL DPCs that have been queued with a DpcTpl\r
- value greater than or equal to the current TPL are invoked in the order that\r
- they were queued. DPCs with higher DpcTpl values are invoked before DPCs with\r
- lower DpcTpl values.\r
-\r
- @param This Protocol instance pointer.\r
-\r
- @retval EFI_SUCCESS One or more DPCs were invoked.\r
- @retval EFI_NOT_FOUND No DPCs were invoked.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-DpcDispatchDpc (\r
- IN EFI_DPC_PROTOCOL *This\r
- );\r
-\r
-#endif\r
-\r