DynamicTablesPkg[all]
1.0
|
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) |
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
#define CREATE_STD_SMBIOS_TABLE_GEN_ID | ( | TableId | ) |
This macro creates a standard SMBIOS Table Generator ID.
[in] | TableId | The table generator ID. |
#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. |
#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. |
typedef struct CmStdObjSmbiosTableInfo CM_STD_OBJ_SMBIOS_TABLE_INFO |
typedef struct ConfigurationManagerProtocol EDKII_CONFIGURATION_MANAGER_PROTOCOL |
Forward declarations.
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.
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. |
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. |
The SMBIOS_TABLE_GENERATOR_ID type describes SMBIOS table generator 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.
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. |
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. |