TianoCore EDK2 master
Loading...
Searching...
No Matches
DelayedDispatch.h File Reference

Go to the source code of this file.

Data Structures

struct  _EFI_DELAYED_DISPATCH_PPI
 

Macros

#define EFI_DELAYED_DISPATCH_PPI_GUID
 

Typedefs

typedef VOID(EFIAPI * EFI_DELAYED_DISPATCH_FUNCTION) (IN OUT UINT64 *Context, OUT UINT32 *NewDelay)
 
typedef struct _EFI_DELAYED_DISPATCH_PPI EFI_DELAYED_DISPATCH_PPI
 
typedef EFI_STATUS(EFIAPI * EFI_DELAYED_DISPATCH_REGISTER) (IN EFI_DELAYED_DISPATCH_PPI *This, IN EFI_DELAYED_DISPATCH_FUNCTION Function, IN UINT64 Context, IN EFI_GUID *DelayedGroupId OPTIONAL, IN UINT32 Delay)
 
typedef EFI_STATUS(EFIAPI * EFI_DELAYED_DISPATCH_WAIT_ON_EVENT) (IN EFI_DELAYED_DISPATCH_PPI *This, IN EFI_GUID DelayedGroupId)
 

Variables

EFI_GUID gEfiPeiDelayedDispatchPpiGuid
 

Detailed Description

EFI Delayed Dispatch PPI as defined in the PI 1.8A Specification

Provide timed event service in PEI

Copyright (c) 2020, American Megatrends International LLC. All rights reserved. Copyright (c) Microsoft Corporation. SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file DelayedDispatch.h.

Macro Definition Documentation

◆ EFI_DELAYED_DISPATCH_PPI_GUID

#define EFI_DELAYED_DISPATCH_PPI_GUID
Value:
{ \
0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6} \
}

Global ID for EFI_DELAYED_DISPATCH_PPI_GUID

Definition at line 17 of file DelayedDispatch.h.

Typedef Documentation

◆ EFI_DELAYED_DISPATCH_FUNCTION

typedef VOID(EFIAPI * EFI_DELAYED_DISPATCH_FUNCTION) (IN OUT UINT64 *Context, OUT UINT32 *NewDelay)

Delayed Dispatch function. This routine is called sometime after the required delay. Upon return, if NewDelay is 0, the function is unregistered. If NewDelay is not zero, this routine will be called again after the new delay period.

Parameters
[in,out]ContextPointer to Context. Can be updated by routine.
[out]NewDelayThe new delay in us. Leave at 0 to unregister callback.

Definition at line 33 of file DelayedDispatch.h.

◆ EFI_DELAYED_DISPATCH_PPI

The forward declaration for EFI_DELAYED_DISPATCH_PPI

Definition at line 43 of file DelayedDispatch.h.

◆ EFI_DELAYED_DISPATCH_REGISTER

typedef EFI_STATUS(EFIAPI * EFI_DELAYED_DISPATCH_REGISTER) (IN EFI_DELAYED_DISPATCH_PPI *This, IN EFI_DELAYED_DISPATCH_FUNCTION Function, IN UINT64 Context, IN EFI_GUID *DelayedGroupId OPTIONAL, IN UINT32 Delay)

Register a callback to be called after a minimum delay has occurred.

Parameters
[in]ThisPointer to the EFI_DELAYED_DISPATCH_PPI instance
[in]FunctionFunction to call back
[in]ContextContext data
[in]DelayedGroupIdDelayed dispatch request ID the caller will wait on
[in]DelayDelay interval
Return values
EFI_SUCCESSFunction successfully loaded
EFI_INVALID_PARAMETEROne of the Arguments is not supported
EFI_OUT_OF_RESOURCESNo more entries

Definition at line 60 of file DelayedDispatch.h.

◆ EFI_DELAYED_DISPATCH_WAIT_ON_EVENT

typedef EFI_STATUS(EFIAPI * EFI_DELAYED_DISPATCH_WAIT_ON_EVENT) (IN EFI_DELAYED_DISPATCH_PPI *This, IN EFI_GUID DelayedGroupId)

Wait on a registered Delayed Dispatch unit that has a DelayedGroupId. Continue to dispatch all registered delayed dispatch entries until ALL entries with DelayedGroupId have completed.

Parameters
[in]ThisThe Delayed Dispatch PPI pointer.
[in]DelayedGroupIdDelayed dispatch request ID the caller will wait on
Return values
EFI_SUCCESSFunction successfully invoked
EFI_INVALID_PARAMETEROne of the Arguments is not supported

Definition at line 83 of file DelayedDispatch.h.