File: DelayedDispatch.h

package info (click to toggle)
edk2 2025.11-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 338,556 kB
  • sloc: ansic: 2,166,376; asm: 270,725; perl: 235,301; python: 149,839; sh: 34,744; cpp: 23,311; makefile: 3,326; pascal: 1,602; xml: 806; lisp: 35; ruby: 16; sed: 6; tcl: 4
file content (42 lines) | stat: -rw-r--r-- 1,175 bytes parent folder | download
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