1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/** @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
|