TianoCore EDK2 master
Loading...
Searching...
No Matches
SmbiosDxe.h File Reference

Go to the source code of this file.

Data Structures

struct  SMBIOS_INSTANCE
 
struct  EFI_SMBIOS_RECORD_HEADER
 
struct  EFI_SMBIOS_ENTRY
 
struct  SMBIOS_HANDLE_ENTRY
 
struct  EFI_SMBIOS_TABLE_END_STRUCTURE
 
struct  IS_SMBIOS_TABLE_VALID_ENTRY
 

Macros

#define SMBIOS_INSTANCE_SIGNATURE   SIGNATURE_32 ('S', 'B', 'i', 's')
 
#define SMBIOS_INSTANCE_FROM_THIS(this)   CR (this, SMBIOS_INSTANCE, Smbios, SMBIOS_INSTANCE_SIGNATURE)
 
#define EFI_SMBIOS_RECORD_HEADER_VERSION   0x0100
 
#define EFI_SMBIOS_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'r', 'e', 'c')
 
#define SMBIOS_ENTRY_FROM_LINK(link)   CR (link, EFI_SMBIOS_ENTRY, Link, EFI_SMBIOS_ENTRY_SIGNATURE)
 
#define SMBIOS_HANDLE_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'h', 'r', 'd')
 
#define SMBIOS_HANDLE_ENTRY_FROM_LINK(link)   CR (link, SMBIOS_HANDLE_ENTRY, Link, SMBIOS_HANDLE_ENTRY_SIGNATURE)
 

Typedefs

typedef BOOLEAN(* IS_SMBIOS_TABLE_VALID) (IN VOID *TableEntry, OUT VOID **TableAddress, OUT UINTN *TableMaximumSize, OUT UINT8 *MajorVersion, OUT UINT8 *MinorVersion)
 

Functions

VOID EFIAPI SmbiosTableConstruction (BOOLEAN Smbios32BitTable, BOOLEAN Smbios64BitTable)
 
STATIC BOOLEAN IsValidSmbios30Table (IN VOID *TableEntry, OUT VOID **TableAddress, OUT UINTN *TableMaximumSize, OUT UINT8 *MajorVersion, OUT UINT8 *MinorVersion)
 
STATIC BOOLEAN IsValidSmbios20Table (IN VOID *TableEntry, OUT VOID **TableAddress, OUT UINTN *TableMaximumSize, OUT UINT8 *MajorVersion, OUT UINT8 *MinorVersion)
 

Detailed Description

This code supports the implementation of the Smbios protocol

Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SmbiosDxe.h.

Macro Definition Documentation

◆ EFI_SMBIOS_ENTRY_SIGNATURE

#define EFI_SMBIOS_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'r', 'e', 'c')

Definition at line 73 of file SmbiosDxe.h.

◆ EFI_SMBIOS_RECORD_HEADER_VERSION

#define EFI_SMBIOS_RECORD_HEADER_VERSION   0x0100

Definition at line 60 of file SmbiosDxe.h.

◆ SMBIOS_ENTRY_FROM_LINK

#define SMBIOS_ENTRY_FROM_LINK (   link)    CR (link, EFI_SMBIOS_ENTRY, Link, EFI_SMBIOS_ENTRY_SIGNATURE)

Definition at line 86 of file SmbiosDxe.h.

◆ SMBIOS_HANDLE_ENTRY_FROM_LINK

#define SMBIOS_HANDLE_ENTRY_FROM_LINK (   link)    CR (link, SMBIOS_HANDLE_ENTRY, Link, SMBIOS_HANDLE_ENTRY_SIGNATURE)

Definition at line 102 of file SmbiosDxe.h.

◆ SMBIOS_HANDLE_ENTRY_SIGNATURE

#define SMBIOS_HANDLE_ENTRY_SIGNATURE   SIGNATURE_32 ('S', 'h', 'r', 'd')

Definition at line 91 of file SmbiosDxe.h.

◆ SMBIOS_INSTANCE_FROM_THIS

#define SMBIOS_INSTANCE_FROM_THIS (   this)    CR (this, SMBIOS_INSTANCE, Smbios, SMBIOS_INSTANCE_SIGNATURE)

Definition at line 51 of file SmbiosDxe.h.

◆ SMBIOS_INSTANCE_SIGNATURE

#define SMBIOS_INSTANCE_SIGNATURE   SIGNATURE_32 ('S', 'B', 'i', 's')

Definition at line 29 of file SmbiosDxe.h.

Typedef Documentation

◆ IS_SMBIOS_TABLE_VALID

typedef BOOLEAN(* IS_SMBIOS_TABLE_VALID) (IN VOID *TableEntry, OUT VOID **TableAddress, OUT UINTN *TableMaximumSize, OUT UINT8 *MajorVersion, OUT UINT8 *MinorVersion)

Validates a SMBIOS table entry point.

Parameters
TableEntryThe SmBios table entry to validate.
TableAddressOn exit, point to the smbios table addres.
TableMaximumSizeOn exit, point to the maximum size of the table.
Return values
TRUESMBIOS table entry point is valid.
FALSESMBIOS table entry point is malformed.

Definition at line 177 of file SmbiosDxe.h.

Function Documentation

◆ IsValidSmbios20Table()

STATIC BOOLEAN IsValidSmbios20Table ( IN VOID *  TableEntry,
OUT VOID **  TableAddress,
OUT UINTN TableMaximumSize,
OUT UINT8 *  MajorVersion,
OUT UINT8 *  MinorVersion 
)

Validates a SMBIOS 2.0 table entry point.

Parameters
TableEntryThe SmBios table entry to validate.
TableAddressOn exit, point to the smbios table addres.
TableMaximumSizeOn exit, point to the maximum size of the table.
Return values
TRUESMBIOS table entry point is valid.
FALSESMBIOS table entry point is malformed.

Definition at line 1451 of file SmbiosDxe.c.

◆ IsValidSmbios30Table()

STATIC BOOLEAN IsValidSmbios30Table ( IN VOID *  TableEntry,
OUT VOID **  TableAddress,
OUT UINTN TableMaximumSize,
OUT UINT8 *  MajorVersion,
OUT UINT8 *  MinorVersion 
)

Validates a SMBIOS 3.0 table entry point.

Parameters
TableEntryThe SmBios table entry to validate.
TableAddressOn exit, point to the smbios table addres.
TableMaximumSizeOn exit, point to the maximum size of the table.
Return values
TRUESMBIOS table entry point is valid.
FALSESMBIOS table entry point is malformed.

Definition at line 1531 of file SmbiosDxe.c.

◆ SmbiosTableConstruction()

VOID EFIAPI SmbiosTableConstruction ( BOOLEAN  Smbios32BitTable,
BOOLEAN  Smbios64BitTable 
)

Create Smbios Table and installs the Smbios Table to the System Table.

Parameters
Smbios32BitTableThe flag to update 32-bit table.
Smbios64BitTableThe flag to update 64-bit table.

Definition at line 1414 of file SmbiosDxe.c.