X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=NetworkPkg%2FInclude%2FLibrary%2FDpcLib.h;fp=NetworkPkg%2FInclude%2FLibrary%2FDpcLib.h;h=a70af1d12731aa76735a2ee6200a1160243992cd;hp=0000000000000000000000000000000000000000;hb=07135c12205805fa0ffcc0d0f347c3d4de37188b;hpb=4542f8b8135f1f1ee5654e25139be9769e139ddd diff --git a/NetworkPkg/Include/Library/DpcLib.h b/NetworkPkg/Include/Library/DpcLib.h new file mode 100644 index 0000000000..a70af1d127 --- /dev/null +++ b/NetworkPkg/Include/Library/DpcLib.h @@ -0,0 +1,53 @@ +/** @file + DpcLib.h. + +Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _DPC_LIB_H_ +#define _DPC_LIB_H_ + +#include + +/** + Add a Deferred Procedure Call to the end of the DPC queue. + + @param[in] DpcTpl The EFI_TPL that the DPC should invoke. + @param[in] DpcProcedure The pointer to the DPC's function. + @param[in] DpcContext The pointer to the DPC's context. Passed to DpcProcedure + when DpcProcedure is invoked. + + @retval EFI_SUCCESS The DPC was queued. + @retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL. + @retval EFI_INVALID_PARAMETER DpcProcedure is NULL. + @retval EFI_OUT_OF_RESOURCES There are not enough resources available to + add the DPC to the queue. + +**/ +EFI_STATUS +EFIAPI +QueueDpc ( + IN EFI_TPL DpcTpl, + IN EFI_DPC_PROCEDURE DpcProcedure, + IN VOID *DpcContext OPTIONAL + ); + +/** + Dispatch the queue of DPCs. All DPCs that have been queued with a DpcTpl + value greater than or equal to the current TPL are invoked in the order that + they were queued. DPCs with higher DpcTpl values are invoked before DPCs with + lower DpcTpl values. + + @retval EFI_SUCCESS One or more DPCs were invoked. + @retval EFI_NOT_FOUND No DPCs were invoked. + +**/ +EFI_STATUS +EFIAPI +DispatchDpc ( + VOID + ); + +#endif