24#define PROVIDE_SMBIOS( _subsys, _api_func, _func ) \
25 PROVIDE_SINGLE_API ( SMBIOS_PREFIX_ ## _subsys, _api_func, _func )
36#define SMBIOS_SIGNATURE \
37 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '_' << 24 ) )
40#define SMBIOS3_SIGNATURE \
41 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '3' << 24 ) )
148#define SMBIOS_TYPE_SYSTEM_INFORMATION 1
165#define SMBIOS_TYPE_BASE_BOARD_INFORMATION 2
184#define SMBIOS_TYPE_ENCLOSURE_INFORMATION 3
187#define SMBIOS_TYPE_OEM_STRINGS 11
190#define SMBIOS_TYPE_END 127
216#define SMBIOS_VERSION( major, minor ) ( ( (major) << 8 ) | (minor) )
224 unsigned int instance );
226 unsigned int index );
unsigned long long uint64_t
x86-specific SMBIOS API implementations
uint32_t type
Operating system type.
struct ena_llq_option header
Header locations.
uint32_t start
Starting offset.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
struct smbios __attribute__
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
const struct smbios_entry * find_smbios_entry(const void *start, size_t len)
Scan for SMBIOS 32-bit entry point structure.
void smbios_clear(void)
Clear SMBIOS entry point descriptor.
int find_smbios(struct smbios *smbios)
const struct smbios3_entry * find_smbios3_entry(const void *start, size_t len)
Scan for SMBIOS 64-bit entry point structure.
const struct smbios_header * smbios_structure(unsigned int type, unsigned int instance)
Find specific structure type within SMBIOS.
const char * smbios_string(const struct smbios_header *header, unsigned int index)
Get indexed string within SMBIOS structure.
int smbios_version(void)
Get SMBIOS version.
iPXE SMBIOS API for Linux
SMBIOS 64-bit entry point.
uint8_t major
Major version.
uint8_t reserved
Reserved.
uint64_t smbios_address
Structure table address.
uint8_t minor
Minor version.
uint8_t checksum
Checksum.
uint32_t signature
Signature.
uint32_t smbios_len
Structure table length.
uint8_t revision
Entry point revision.
uint8_t docrev
Documentation revision.
uint8_t extra
Signature extra byte.
SMBIOS 32-bit entry point.
uint32_t smbios_address
Structure table address.
uint8_t bcd_revision
BCD revision.
uint8_t minor
Minor version.
uint32_t signature
Signature.
uint16_t max
Maximum structure size.
uint16_t smbios_count
Number of SMBIOS structures.
uint16_t smbios_len
Structure table length.
uint8_t major
Major version.
uint8_t checksum
Checksum.
uint8_t formatted[5]
Formatted area.
uint8_t dmi_signature[5]
DMI Signature.
uint8_t revision
Entry point revision.
uint8_t dmi_checksum
DMI checksum.
SMBIOS entry point descriptor.
size_t len
Length of SMBIOS structures.
unsigned int count
Number of SMBIOS structures.
uint16_t version
SMBIOS version.
const void * address
Start of SMBIOS structures.