From cc4363accae82538f02621e0b91623f6d4104806 Mon Sep 17 00:00:00 2001 From: Timothy Stack Date: Tue, 31 Mar 2009 15:20:07 -0700 Subject: [PATCH] [smbios] Add asset tag setting Add SMBIOS asset tag as a named setting. Signed-off-by: Michael Brown --- src/include/gpxe/smbios.h | 19 +++++++++++++++++++ src/interface/smbios/smbios_settings.c | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/src/include/gpxe/smbios.h b/src/include/gpxe/smbios.h index 2b0fcbd1..a2942366 100644 --- a/src/include/gpxe/smbios.h +++ b/src/include/gpxe/smbios.h @@ -113,6 +113,25 @@ struct smbios_system_information { /** SMBIOS system information structure type */ #define SMBIOS_TYPE_SYSTEM_INFORMATION 1 +/** SMBIOS enclosure information structure */ +struct smbios_enclosure_information { + /** SMBIOS structure header */ + struct smbios_header header; + /** Manufacturer string */ + uint8_t manufacturer; + /** Type string */ + uint8_t type; + /** Version string */ + uint8_t version; + /** Serial number string */ + uint8_t serial; + /** Asset tag */ + uint8_t asset_tag; +} __attribute__ (( packed )); + +/** SMBIOS enclosure information structure type */ +#define SMBIOS_TYPE_ENCLOSURE_INFORMATION 3 + /** * SMBIOS entry point descriptor * diff --git a/src/interface/smbios/smbios_settings.c b/src/interface/smbios/smbios_settings.c index 61c2d919..ec594c52 100644 --- a/src/interface/smbios/smbios_settings.c +++ b/src/interface/smbios/smbios_settings.c @@ -198,4 +198,12 @@ struct setting smbios_named_settings[] __setting = { serial ), .type = &setting_type_string, }, + { + .name = "asset", + .description = "Asset tag", + .tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_ENCLOSURE_INFORMATION, + struct smbios_enclosure_information, + asset_tag ), + .type = &setting_type_string, + }, };