]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Library/DpcLib.h
MdeModulePkg: Add match2 opcode support in SetupBrowserDxe and sample code in DriverS...
[mirror_edk2.git] / MdeModulePkg / Include / Library / DpcLib.h
CommitLineData
36ee91ca 1/** @file\r
64a80549 2 DpcLib.h.\r
3a1ab4bc 3 \r
cd5ebaa0 4Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
64a80549 5This program and the accompanying materials are licensed and made available under \r
6the terms and conditions of the BSD License that accompanies this distribution. \r
7The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php. \r
36ee91ca 9\r
64a80549 10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
36ee91ca 11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
36ee91ca 13**/\r
14\r
15#ifndef _DPC_LIB_H_\r
16#define _DPC_LIB_H_\r
17\r
36ee91ca 18#include <Protocol/Dpc.h>\r
19\r
20/**\r
21 Add a Deferred Procedure Call to the end of the DPC queue.\r
22\r
e9b67286 23 @param[in] DpcTpl The EFI_TPL that the DPC should invoke.\r
64a80549 24 @param[in] DpcProcedure The pointer to the DPC's function.\r
25 @param[in] DpcContext The pointer to the DPC's context. Passed to DpcProcedure\r
3a1ab4bc 26 when DpcProcedure is invoked.\r
36ee91ca 27\r
28 @retval EFI_SUCCESS The DPC was queued.\r
29 @retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL.\r
30 @retval EFI_INVALID_PARAMETER DpcProcedure is NULL.\r
31 @retval EFI_OUT_OF_RESOURCES There are not enough resources available to\r
32 add the DPC to the queue.\r
33\r
34**/\r
35EFI_STATUS\r
7b414b4e 36EFIAPI\r
36ee91ca 37QueueDpc (\r
38 IN EFI_TPL DpcTpl,\r
39 IN EFI_DPC_PROCEDURE DpcProcedure,\r
40 IN VOID *DpcContext OPTIONAL\r
41 );\r
42\r
43/**\r
e9b67286 44 Dispatch the queue of DPCs. All DPCs that have been queued with a DpcTpl\r
36ee91ca 45 value greater than or equal to the current TPL are invoked in the order that\r
46 they were queued. DPCs with higher DpcTpl values are invoked before DPCs with\r
47 lower DpcTpl values.\r
48\r
49 @retval EFI_SUCCESS One or more DPCs were invoked.\r
50 @retval EFI_NOT_FOUND No DPCs were invoked.\r
51\r
52**/\r
53EFI_STATUS\r
7b414b4e 54EFIAPI\r
36ee91ca 55DispatchDpc (\r
56 VOID\r
57 );\r
58\r
59#endif\r