| /** @file | |
| Definition for structure & defines exported by Delayed Dispatch PPI | |
| Copyright (c) Microsoft Corporation. | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef DELAYED_DISPATCH_H_ | |
| #define DELAYED_DISPATCH_H_ | |
| // Delayed Dispatch table GUID | |
| #define EFI_DELAYED_DISPATCH_TABLE_GUID {\ | |
| 0x4b733449, 0x8eff, 0x488c, { 0x92, 0x1a, 0x15, 0x4a, 0xda, 0x25, 0x18, 0x07 } \ | |
| } | |
| // | |
| // Internal structure for delayed dispatch entries. | |
| // Packing the structures here to save space as they will be stored as HOBs. | |
| // | |
| #pragma pack (push, 1) | |
| typedef struct { | |
| EFI_GUID DelayedGroupId; | |
| UINT64 Context; | |
| EFI_DELAYED_DISPATCH_FUNCTION Function; | |
| UINT64 DispatchTime; | |
| UINT32 MicrosecondDelay; | |
| } DELAYED_DISPATCH_ENTRY; | |
| typedef struct { | |
| UINT32 Count; | |
| UINT32 DispCount; | |
| DELAYED_DISPATCH_ENTRY Entry[]; // Number of entries is based on PcdDelayedDispatchMaxEntries | |
| } DELAYED_DISPATCH_TABLE; | |
| #pragma pack (pop) | |
| extern EFI_GUID gEfiDelayedDispatchTableGuid; | |
| #endif |