23 #define PROVIDE_SMBIOS( _subsys, _api_func, _func ) \ 24 PROVIDE_SINGLE_API ( SMBIOS_PREFIX_ ## _subsys, _api_func, _func ) 32 #include <bits/smbios.h> 35 #define SMBIOS_SIGNATURE \ 36 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '_' << 24 ) ) 39 #define SMBIOS3_SIGNATURE \ 40 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '3' << 24 ) ) 147 #define SMBIOS_TYPE_SYSTEM_INFORMATION 1 164 #define SMBIOS_TYPE_BASE_BOARD_INFORMATION 2 183 #define SMBIOS_TYPE_ENCLOSURE_INFORMATION 3 186 #define SMBIOS_TYPE_OEM_STRINGS 11 189 #define SMBIOS_TYPE_END 127 215 #define SMBIOS_VERSION( major, minor ) ( ( (major) << 8 ) | (minor) ) 223 unsigned int instance );
225 unsigned int index );
uint8_t docrev
Documentation revision.
uint16_t max
Maximum structure size.
uint32_t signature
Signature.
const char * smbios_string(const struct smbios_header *header, unsigned int index)
Get indexed string within SMBIOS structure.
uint8_t dmi_checksum
DMI checksum.
unsigned int count
Number of SMBIOS structures.
uint8_t revision
Entry point revision.
struct smbios_header header
SMBIOS structure header.
size_t len
Length of SMBIOS structures.
unsigned long long uint64_t
const struct smbios3_entry * find_smbios3_entry(const void *start, size_t len)
Scan for SMBIOS 64-bit entry point structure.
SMBIOS entry point descriptor.
int smbios_version(void)
Get SMBIOS version.
int find_smbios(struct smbios *smbios)
uint16_t version
SMBIOS version.
uint32_t start
Starting offset.
uint8_t checksum
Checksum.
uint16_t smbios_len
Structure table length.
uint32_t signature
Signature.
const struct smbios_header * smbios_structure(unsigned int type, unsigned int instance)
Find specific structure type within SMBIOS.
SMBIOS 32-bit entry point.
uint32_t smbios_address
Structure table address.
uint8_t dmi_signature[5]
DMI Signature.
iPXE SMBIOS API for Linux
struct smbios __attribute__
uint8_t bcd_revision
BCD revision.
uint8_t extra
Signature extra byte.
const void * address
Start of SMBIOS structures.
const struct smbios_entry * find_smbios_entry(const void *start, size_t len)
Scan for SMBIOS 32-bit entry point structure.
uint8_t revision
Entry point revision.
uint8_t formatted[5]
Formatted area.
uint16_t smbios_count
Number of SMBIOS structures.
uint8_t minor
Minor version.
uint8_t checksum
Checksum.
uint8_t minor
Minor version.
uint32_t smbios_len
Structure table length.
uint64_t smbios_address
Structure table address.
void smbios_clear(void)
Clear SMBIOS entry point descriptor.
uint8_t reserved
Reserved.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
uint8_t major
Major version.
uint8_t major
Major version.
SMBIOS 64-bit entry point.