iPXE
|
#include <stdint.h>
#include <string.h>
#include <errno.h>
#include <ipxe/settings.h>
#include <ipxe/init.h>
#include <ipxe/uuid.h>
#include <ipxe/smbios.h>
Go to the source code of this file.
Macros | |
#define | SMBIOS_RAW_TAG(_type, _structure, _field) |
Construct SMBIOS raw-data tag. More... | |
#define | SMBIOS_STRING_TAG(_type, _structure, _field) |
Construct SMBIOS string tag. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static int | smbios_applies (struct settings *settings __unused, const struct setting *setting) |
Check applicability of SMBIOS setting. More... | |
static int | smbios_fetch (struct settings *settings __unused, struct setting *setting, void *data, size_t len) |
Fetch value of SMBIOS setting. More... | |
static void | smbios_init (void) |
Initialise SMBIOS settings. More... | |
struct init_fn smbios_init_fn | __init_fn (INIT_NORMAL) |
SMBIOS settings initialiser. More... | |
const struct setting uuid_setting | __setting (SETTING_HOST, uuid) |
UUID setting obtained via SMBIOS. More... | |
const struct setting manufacturer_setting | __setting (SETTING_HOST_EXTRA, manufacturer) |
Manufacturer name setting. More... | |
const struct setting product_setting | __setting (SETTING_HOST_EXTRA, product) |
Product name setting. More... | |
const struct setting serial_setting | __setting (SETTING_HOST_EXTRA, serial) |
Serial number setting. More... | |
const struct setting asset_setting | __setting (SETTING_HOST_EXTRA, asset) |
Asset tag setting. More... | |
const struct setting board_serial_setting | __setting (SETTING_HOST_EXTRA, board-serial) |
Board serial number setting (may differ from chassis serial number) More... | |
Variables | |
static const struct settings_scope | smbios_settings_scope |
SMBIOS settings scope. More... | |
static struct settings_operations | smbios_settings_operations |
SMBIOS settings operations. More... | |
static struct settings | smbios_settings |
SMBIOS settings. More... | |
#define SMBIOS_RAW_TAG | ( | _type, | |
_structure, | |||
_field | |||
) |
Construct SMBIOS raw-data tag.
_type | SMBIOS structure type number |
_structure | SMBIOS structure data type |
_field | Field within SMBIOS structure data type |
tag | SMBIOS setting tag |
Definition at line 45 of file smbios_settings.c.
#define SMBIOS_STRING_TAG | ( | _type, | |
_structure, | |||
_field | |||
) |
Construct SMBIOS string tag.
_type | SMBIOS structure type number |
_structure | SMBIOS structure data type |
_field | Field within SMBIOS structure data type |
tag | SMBIOS setting tag |
Definition at line 58 of file smbios_settings.c.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Check applicability of SMBIOS setting.
settings | Settings block |
setting | Setting |
applies | Setting applies within this settings block |
Definition at line 69 of file smbios_settings.c.
References setting::scope, and smbios_settings_scope.
|
static |
Fetch value of SMBIOS setting.
settings | Settings block, or NULL to search all blocks |
setting | Setting to fetch |
data | Buffer to fill with setting data |
len | Length of buffer |
len | Length of setting data, or negative error |
Definition at line 84 of file smbios_settings.c.
References data, DBG, find_smbios_structure(), smbios_structure::header, index, len, smbios_header::len, memcpy(), raw, rc, read_smbios_string(), read_smbios_structure(), SMBIOS_VERSION, smbios_version(), setting::tag, setting::type, uuid, and uuid_mangle().
|
static |
Initialise SMBIOS settings.
Definition at line 194 of file smbios_settings.c.
References DBG, NULL, rc, register_settings(), smbios_settings, and strerror().
struct init_fn smbios_init_fn __init_fn | ( | INIT_NORMAL | ) |
SMBIOS settings initialiser.
const struct setting uuid_setting __setting | ( | SETTING_HOST | , |
uuid | |||
) |
UUID setting obtained via SMBIOS.
const struct setting manufacturer_setting __setting | ( | SETTING_HOST_EXTRA | , |
manufacturer | |||
) |
Manufacturer name setting.
const struct setting product_setting __setting | ( | SETTING_HOST_EXTRA | , |
product | |||
) |
Product name setting.
const struct setting serial_setting __setting | ( | SETTING_HOST_EXTRA | , |
serial | |||
) |
Serial number setting.
const struct setting asset_setting __setting | ( | SETTING_HOST_EXTRA | , |
asset | |||
) |
Asset tag setting.
const struct setting board_serial_setting __setting | ( | SETTING_HOST_EXTRA | , |
board- | serial | ||
) |
Board serial number setting (may differ from chassis serial number)
|
static |
SMBIOS settings scope.
Definition at line 35 of file smbios_settings.c.
Referenced by smbios_applies().
|
static |
SMBIOS settings operations.
Definition at line 179 of file smbios_settings.c.
|
static |
SMBIOS settings.
Definition at line 185 of file smbios_settings.c.
Referenced by smbios_init().