TianoCore EDK2 master
Loading...
Searching...
No Matches
DeviceTreeTableGenerator.h
Go to the documentation of this file.
1
13#ifndef DEVICETREE_TABLE_GENERATOR_H_
14#define DEVICETREE_TABLE_GENERATOR_H_
15
16#include <TableGenerator.h>
17
18#pragma pack(1)
19
23
27typedef enum StdDtTableId {
30 EStdDtTableIdMax
32
40#define IS_GENERATOR_TYPE_DT(TableGeneratorId) \
41 (GET_TABLE_TYPE(TableGeneratorId) == ETableGeneratorTypeDt)
42
51#define IS_VALID_STD_DT_GENERATOR_ID(TableGeneratorId) \
52 ( \
53 IS_GENERATOR_NAMESPACE_STD(TableGeneratorId) && \
54 IS_GENERATOR_TYPE_DT(TableGeneratorId) && \
55 ((GET_TABLE_ID(GeneratorId) >= EStdDtTableIdRaw) && \
56 (GET_TABLE_ID(GeneratorId) < EStdDtTableIdMax)) \
57 )
58
65#define CREATE_STD_DT_TABLE_GEN_ID(TableId) \
66 CREATE_TABLE_GEN_ID ( \
67 ETableGeneratorTypeDt, \
68 ETableGeneratorNameSpaceStd, \
69 TableId \
70 )
71
75typedef struct CmAStdObjDtTableInfo CM_STD_OBJ_DT_TABLE_INFO;
77
93 IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo,
95 OUT VOID **Table
96 );
97
113 IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo,
115 IN VOID **Table
116 );
117
121typedef struct DtTableGenerator {
124
127
130
134
150EFIAPI
153 );
154
168EFIAPI
171 );
172
173#pragma pack()
174
175#endif // DEVICETREE_TABLE_GENERATOR_H_
EFI_STATUS(* DT_TABLE_GENERATOR_FREE_TABLE)(IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN VOID **Table)
EFI_STATUS(* DT_TABLE_GENERATOR_BUILD_TABLE)(IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT VOID **Table)
TABLE_GENERATOR_ID DT_TABLE_GENERATOR_ID
EFI_STATUS EFIAPI RegisterDtTableGenerator(IN CONST DT_TABLE_GENERATOR *CONST Generator)
struct DtTableGenerator DT_TABLE_GENERATOR
enum StdDtTableId ESTD_DT_TABLE_ID
@ EStdDtTableIdReserved
Reserved.
@ EStdDtTableIdRaw
RAW Generator.
EFI_STATUS EFIAPI DeregisterDtTableGenerator(IN CONST DT_TABLE_GENERATOR *CONST Generator)
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
UINT32 TABLE_GENERATOR_ID
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
CONST CHAR16 * Description
String describing the DT table generator.
DT_TABLE_GENERATOR_FREE_TABLE FreeTableResources
The function to free any resources allocated for building the DT table.
DT_TABLE_GENERATOR_ID GeneratorID
The DT table generator ID.
DT_TABLE_GENERATOR_BUILD_TABLE BuildDtTable
DT table build function pointer.