TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | SmbiosTableGenerator |
Macros | |
#define | IS_GENERATOR_TYPE_SMBIOS(TableGeneratorId) |
#define | IS_VALID_STD_SMBIOS_GENERATOR_ID(TableGeneratorId) |
#define | CREATE_STD_SMBIOS_TABLE_GEN_ID(TableId) |
Typedefs | |
typedef TABLE_GENERATOR_ID | SMBIOS_TABLE_GENERATOR_ID |
typedef enum StdSmbiosTableGeneratorId | ESTD_SMBIOS_TABLE_ID |
typedef struct ConfigurationManagerProtocol | EDKII_CONFIGURATION_MANAGER_PROTOCOL |
typedef struct CmStdObjSmbiosTableInfo | CM_STD_OBJ_SMBIOS_TABLE_INFO |
typedef struct SmbiosTableGenerator | SMBIOS_TABLE_GENERATOR |
typedef 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) |
typedef 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) |
Enumerations | |
enum | StdSmbiosTableGeneratorId { EStdSmbiosTableIdReserved = 0x0000 , EStdSmbiosTableIdRAW , EStdSmbiosTableIdType00 , EStdSmbiosTableIdType01 , EStdSmbiosTableIdType02 , EStdSmbiosTableIdType03 , EStdSmbiosTableIdType04 , EStdSmbiosTableIdType05 , EStdSmbiosTableIdType06 , EStdSmbiosTableIdType07 , EStdSmbiosTableIdType08 , EStdSmbiosTableIdType09 , EStdSmbiosTableIdType10 , EStdSmbiosTableIdType11 , EStdSmbiosTableIdType12 , EStdSmbiosTableIdType13 , EStdSmbiosTableIdType14 , EStdSmbiosTableIdType15 , EStdSmbiosTableIdType16 , EStdSmbiosTableIdType17 , EStdSmbiosTableIdType18 , EStdSmbiosTableIdType19 , EStdSmbiosTableIdType20 , EStdSmbiosTableIdType21 , EStdSmbiosTableIdType22 , EStdSmbiosTableIdType23 , EStdSmbiosTableIdType24 , EStdSmbiosTableIdType25 , EStdSmbiosTableIdType26 , EStdSmbiosTableIdType27 , EStdSmbiosTableIdType28 , EStdSmbiosTableIdType29 , EStdSmbiosTableIdType30 , EStdSmbiosTableIdType31 , EStdSmbiosTableIdType32 , EStdSmbiosTableIdType33 , EStdSmbiosTableIdType34 , EStdSmbiosTableIdType35 , EStdSmbiosTableIdType36 , EStdSmbiosTableIdType37 , EStdSmbiosTableIdType38 , EStdSmbiosTableIdType39 , EStdSmbiosTableIdType40 , EStdSmbiosTableIdType41 , EStdSmbiosTableIdType42 , EStdSmbiosTableIdType126 = (EStdSmbiosTableIdType00 + 126) , EStdSmbiosTableIdType127 , EStdSmbiosTableIdMax } |
Functions | |
EFI_STATUS EFIAPI | RegisterSmbiosTableGenerator (IN CONST SMBIOS_TABLE_GENERATOR *CONST Generator) |
EFI_STATUS EFIAPI | DeregisterSmbiosTableGenerator (IN CONST SMBIOS_TABLE_GENERATOR *CONST Generator) |
Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SmbiosTableGenerator.h.
#define CREATE_STD_SMBIOS_TABLE_GEN_ID | ( | TableId | ) |
This macro creates a standard SMBIOS Table Generator ID.
[in] | TableId | The table generator ID. |
Definition at line 118 of file SmbiosTableGenerator.h.
#define IS_GENERATOR_TYPE_SMBIOS | ( | TableGeneratorId | ) |
This macro checks if the Table Generator ID is for an SMBIOS Table Generator.
[in] | TableGeneratorId | The table generator ID. |
Definition at line 90 of file SmbiosTableGenerator.h.
#define IS_VALID_STD_SMBIOS_GENERATOR_ID | ( | TableGeneratorId | ) |
This macro checks if the Table Generator ID is for a standard SMBIOS Table Generator.
[in] | TableGeneratorId | The table generator ID. |
Definition at line 104 of file SmbiosTableGenerator.h.
typedef struct CmStdObjSmbiosTableInfo CM_STD_OBJ_SMBIOS_TABLE_INFO |
Definition at line 128 of file SmbiosTableGenerator.h.
typedef struct ConfigurationManagerProtocol EDKII_CONFIGURATION_MANAGER_PROTOCOL |
Forward declarations.
Definition at line 127 of file SmbiosTableGenerator.h.
typedef enum StdSmbiosTableGeneratorId ESTD_SMBIOS_TABLE_ID |
The ESTD_SMBIOS_TABLE_ID enum describes the SMBIOS table IDs reserved for the standard generators.
NOTE: The SMBIOS Generator IDs do not match the table type numbers! This allows 0 to be used to catch invalid parameters.
typedef struct SmbiosTableGenerator SMBIOS_TABLE_GENERATOR |
The SMBIOS_TABLE_GENERATOR structure provides an interface that the Table Manager can use to invoke the functions to build SMBIOS tables.
Definition at line 129 of file SmbiosTableGenerator.h.
typedef 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) |
This function pointer describes the interface to SMBIOS table build functions provided by the SMBIOS table generator and called by the Table Manager to build an SMBIOS table.
[in] | Generator | Pointer to the SMBIOS table generator. |
[in] | SmbiosTableInfo | Pointer to the SMBIOS table information. |
[in] | CfgMgrProtocol | Pointer to the Configuration Manager Protocol interface. |
[out] | Table | Pointer to the generated SMBIOS table. |
Definition at line 144 of file SmbiosTableGenerator.h.
typedef 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) |
This function pointer describes the interface to used by the Table Manager to give the generator an opportunity to free any resources allocated for building the SMBIOS table.
[in] | Generator | Pointer to the SMBIOS table generator. |
[in] | SmbiosTableInfo | Pointer to the SMBIOS table information. |
[in] | CfgMgrProtocol | Pointer to the Configuration Manager Protocol interface. |
[in] | Table | Pointer to the generated SMBIOS table. |
Definition at line 164 of file SmbiosTableGenerator.h.
The SMBIOS_TABLE_GENERATOR_ID type describes SMBIOS table generator ID.
Definition at line 20 of file SmbiosTableGenerator.h.
The ESTD_SMBIOS_TABLE_ID enum describes the SMBIOS table IDs reserved for the standard generators.
NOTE: The SMBIOS Generator IDs do not match the table type numbers! This allows 0 to be used to catch invalid parameters.
Definition at line 28 of file SmbiosTableGenerator.h.
EFI_STATUS EFIAPI DeregisterSmbiosTableGenerator | ( | IN CONST SMBIOS_TABLE_GENERATOR *CONST | Generator | ) |
Deregister SMBIOS generator.
This function is called by the SMBIOS table generator to deregister itself from the SMBIOS table factory.
[in] | Generator | Pointer to the SMBIOS table generator. |
EFI_SUCCESS | Success. |
EFI_INVALID_PARAMETER | The generator is invalid. |
EFI_NOT_FOUND | The requested generator is not found in the list of registered generators. |
Definition at line 174 of file SmbiosTableFactory.c.
EFI_STATUS EFIAPI RegisterSmbiosTableGenerator | ( | IN CONST SMBIOS_TABLE_GENERATOR *CONST | Generator | ) |
Register SMBIOS table factory generator.
The SMBIOS table factory maintains a list of the Standard and OEM SMBIOS table generators.
[in] | Generator | Pointer to the SMBIOS table generator. |
EFI_SUCCESS | The Generator was registered successfully. |
EFI_INVALID_PARAMETER | The Generator ID is invalid or the Generator pointer is NULL. |
EFI_ALREADY_STARTED | The Generator for the Table ID is already registered. |
Definition at line 110 of file SmbiosTableFactory.c.