summaryrefslogtreecommitdiff
path: root/NetworkPkg/Include/Library/DpcLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'NetworkPkg/Include/Library/DpcLib.h')
-rw-r--r--NetworkPkg/Include/Library/DpcLib.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/NetworkPkg/Include/Library/DpcLib.h b/NetworkPkg/Include/Library/DpcLib.h
new file mode 100644
index 0000000..a70af1d
--- /dev/null
+++ b/NetworkPkg/Include/Library/DpcLib.h
@@ -0,0 +1,53 @@
+/** @file
+ DpcLib.h.
+
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _DPC_LIB_H_
+#define _DPC_LIB_H_
+
+#include <Protocol/Dpc.h>
+
+/**
+ 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