24 #define PROVIDE_SMBIOS( _subsys, _api_func, _func ) \ 25 PROVIDE_SINGLE_API ( SMBIOS_PREFIX_ ## _subsys, _api_func, _func ) 33 #include <bits/smbios.h> 36 #define SMBIOS_SIGNATURE \ 37 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '_' << 24 ) ) 40 #define SMBIOS3_SIGNATURE \ 41 ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '3' << 24 ) ) 158 #define SMBIOS_TYPE_SYSTEM_INFORMATION 1 175 #define SMBIOS_TYPE_BASE_BOARD_INFORMATION 2 194 #define SMBIOS_TYPE_ENCLOSURE_INFORMATION 3 197 #define SMBIOS_TYPE_OEM_STRINGS 11 200 #define SMBIOS_TYPE_END 127 226 #define SMBIOS_VERSION( major, minor ) ( ( (major) << 8 ) | (minor) ) uint8_t docrev
Documentation revision.
uint16_t max
Maximum structure size.
uint32_t signature
Signature.
size_t strings_len
Length of strings section.
uint8_t dmi_checksum
DMI checksum.
unsigned int count
Number of SMBIOS structures.
uint8_t revision
Entry point revision.
size_t len
Length of SMBIOS structures.
unsigned long long uint64_t
SMBIOS entry point descriptor.
struct smbios_header header
Copy of SMBIOS structure header.
int smbios_version(void)
Get SMBIOS version.
int find_smbios(struct smbios *smbios)
Access to external ("user") memory.
uint16_t version
SMBIOS version.
uint32_t start
Starting offset.
uint8_t checksum
Checksum.
uint32_t userptr_t
A pointer to a user buffer.
uint16_t smbios_len
Structure table length.
uint32_t signature
Signature.
SMBIOS 32-bit entry point.
uint32_t smbios_address
Structure table address.
uint8_t dmi_signature[5]
DMI Signature.
int find_smbios3_entry(userptr_t start, size_t len, struct smbios3_entry *entry)
Scan for SMBIOS 64-bit entry point structure.
int find_smbios_structure(unsigned int type, unsigned int instance, struct smbios_structure *structure)
Find specific structure type within SMBIOS.
iPXE SMBIOS API for Linux
struct smbios_structure __attribute__
uint8_t bcd_revision
BCD revision.
uint8_t extra
Signature extra byte.
uint8_t revision
Entry point revision.
int read_smbios_structure(struct smbios_structure *structure, void *data, size_t len)
Copy SMBIOS structure.
uint8_t formatted[5]
Formatted area.
uint16_t smbios_count
Number of SMBIOS structures.
uint8_t minor
Minor version.
int find_smbios_entry(userptr_t start, size_t len, struct smbios_entry *entry)
Scan for SMBIOS 32-bit entry point structure.
uint8_t checksum
Checksum.
int read_smbios_string(struct smbios_structure *structure, unsigned int index, void *data, size_t len)
Find indexed string within SMBIOS structure.
uint8_t minor
Minor version.
userptr_t address
Start of SMBIOS structures.
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.
uint8_t data[48]
Additional event data.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
uint8_t major
Major version.
SMBIOS structure descriptor.
size_t offset
Offset of structure within SMBIOS.
uint8_t major
Major version.
SMBIOS 64-bit entry point.