TianoCore EDK2 master
Loading...
Searching...
No Matches
SmbiosTableGenerator.h
Go to the documentation of this file.
1
9#ifndef SMBIOS_TABLE_GENERATOR_H_
10#define SMBIOS_TABLE_GENERATOR_H_
11
13
14#include <TableGenerator.h>
15
16#pragma pack(1)
17
21
29 EStdSmbiosTableIdReserved = 0x0000,
30 EStdSmbiosTableIdRAW,
31 EStdSmbiosTableIdType00,
32 EStdSmbiosTableIdType01,
33 EStdSmbiosTableIdType02,
34 EStdSmbiosTableIdType03,
35 EStdSmbiosTableIdType04,
36 EStdSmbiosTableIdType05,
37 EStdSmbiosTableIdType06,
38 EStdSmbiosTableIdType07,
39 EStdSmbiosTableIdType08,
40 EStdSmbiosTableIdType09,
41 EStdSmbiosTableIdType10,
42 EStdSmbiosTableIdType11,
43 EStdSmbiosTableIdType12,
44 EStdSmbiosTableIdType13,
45 EStdSmbiosTableIdType14,
46 EStdSmbiosTableIdType15,
47 EStdSmbiosTableIdType16,
48 EStdSmbiosTableIdType17,
49 EStdSmbiosTableIdType18,
50 EStdSmbiosTableIdType19,
51 EStdSmbiosTableIdType20,
52 EStdSmbiosTableIdType21,
53 EStdSmbiosTableIdType22,
54 EStdSmbiosTableIdType23,
55 EStdSmbiosTableIdType24,
56 EStdSmbiosTableIdType25,
57 EStdSmbiosTableIdType26,
58 EStdSmbiosTableIdType27,
59 EStdSmbiosTableIdType28,
60 EStdSmbiosTableIdType29,
61 EStdSmbiosTableIdType30,
62 EStdSmbiosTableIdType31,
63 EStdSmbiosTableIdType32,
64 EStdSmbiosTableIdType33,
65 EStdSmbiosTableIdType34,
66 EStdSmbiosTableIdType35,
67 EStdSmbiosTableIdType36,
68 EStdSmbiosTableIdType37,
69 EStdSmbiosTableIdType38,
70 EStdSmbiosTableIdType39,
71 EStdSmbiosTableIdType40,
72 EStdSmbiosTableIdType41,
73 EStdSmbiosTableIdType42,
74
75 // IDs 43 - 125 are reserved
76
77 EStdSmbiosTableIdType126 = (EStdSmbiosTableIdType00 + 126),
78 EStdSmbiosTableIdType127,
79 EStdSmbiosTableIdMax
81
90#define IS_GENERATOR_TYPE_SMBIOS(TableGeneratorId) \
91 ( \
92 GET_TABLE_TYPE (TableGeneratorId) == \
93 ETableGeneratorTypeSmbios \
94 )
95
104#define IS_VALID_STD_SMBIOS_GENERATOR_ID(TableGeneratorId) \
105 ( \
106 IS_GENERATOR_NAMESPACE_STD(TableGeneratorId) && \
107 IS_GENERATOR_TYPE_SMBIOS(TableGeneratorId) && \
108 ((GET_TABLE_ID(GeneratorId) >= EStdSmbiosTableIdRaw) && \
109 (GET_TABLE_ID(GeneratorId) < EStdSmbiosTableIdMax)) \
110 )
111
118#define CREATE_STD_SMBIOS_TABLE_GEN_ID(TableId) \
119 CREATE_TABLE_GEN_ID ( \
120 ETableGeneratorTypeSmbios, \
121 ETableGeneratorNameSpaceStd, \
122 TableId \
123 )
124
130
146 IN CM_STD_OBJ_SMBIOS_TABLE_INFO *CONST SmbiosTableInfo,
148 OUT SMBIOS_STRUCTURE **Table
149 );
150
168 IN SMBIOS_STRUCTURE **Table
169 );
170
174typedef struct SmbiosTableGenerator {
177
181
184
187
193
209EFIAPI
212 );
213
227EFIAPI
230 );
231
232#pragma pack()
233
234#endif // SMBIOS_TABLE_GENERATOR_H_
UINT8 SMBIOS_TYPE
Definition: SmBios.h:140
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS EFIAPI DeregisterSmbiosTableGenerator(IN CONST SMBIOS_TABLE_GENERATOR *CONST Generator)
EFI_STATUS(* SMBIOS_TABLE_GENERATOR_FREE_TABLE)(IN CONST SMBIOS_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_SMBIOS_TABLE_INFO *CONST SmbiosTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN SMBIOS_STRUCTURE **Table)
enum StdSmbiosTableGeneratorId ESTD_SMBIOS_TABLE_ID
EFI_STATUS EFIAPI RegisterSmbiosTableGenerator(IN CONST SMBIOS_TABLE_GENERATOR *CONST Generator)
TABLE_GENERATOR_ID SMBIOS_TABLE_GENERATOR_ID
EFI_STATUS(* SMBIOS_TABLE_GENERATOR_BUILD_TABLE)(IN CONST SMBIOS_TABLE_GENERATOR *Generator, IN CM_STD_OBJ_SMBIOS_TABLE_INFO *CONST SmbiosTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT SMBIOS_STRUCTURE **Table)
struct SmbiosTableGenerator SMBIOS_TABLE_GENERATOR
StdSmbiosTableGeneratorId
UINT32 TABLE_GENERATOR_ID
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
SMBIOS_TABLE_GENERATOR_ID GeneratorID
The SMBIOS table generator ID.
SMBIOS_TABLE_GENERATOR_FREE_TABLE FreeTableResources
SMBIOS_TABLE_GENERATOR_BUILD_TABLE BuildSmbiosTable
SMBIOS table build function pointer.
SMBIOS_TYPE Type
The SMBIOS table type.