Skip to content

Commit 5d03584

Browse files
committed
smbios: Print some BaseBoard information
Signed-off-by: Daniel Schaefer <[email protected]>
1 parent 2e30627 commit 5d03584

File tree

1 file changed

+31
-4
lines changed
  • framework_lib/src/commandline

1 file changed

+31
-4
lines changed

framework_lib/src/commandline/mod.rs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -951,13 +951,13 @@ fn smbios_info() {
951951
if let Some(version) = dmidecode_string_val(&data.version()) {
952952
// Assumes it's ASCII, which is guaranteed by SMBIOS
953953
let config_digit0 = &version[0..1];
954-
let config_digit0 = u8::from_str_radix(config_digit0, 16).unwrap();
955-
if let Some(version_config) =
956-
<ConfigDigit0 as FromPrimitive>::from_u8(config_digit0)
954+
let config_digit0 = u8::from_str_radix(config_digit0, 16);
955+
if let Ok(version_config) =
956+
config_digit0.map(<ConfigDigit0 as FromPrimitive>::from_u8)
957957
{
958958
println!(" Version: {:?} ({})", version_config, version);
959959
} else {
960-
println!(" Version: {}", version);
960+
println!(" Version: '{}'", version);
961961
}
962962
}
963963
if let Some(manufacturer) = dmidecode_string_val(&data.manufacturer()) {
@@ -972,10 +972,37 @@ fn smbios_info() {
972972
if let Some(sku_number) = dmidecode_string_val(&data.sku_number()) {
973973
println!(" SKU Number: {}", sku_number);
974974
}
975+
if let Some(sn) = dmidecode_string_val(&data.serial_number()) {
976+
println!(" Serial Number:{}", sn);
977+
}
975978
if let Some(family) = dmidecode_string_val(&data.family()) {
976979
println!(" Family: {}", family);
977980
}
978981
}
982+
DefinedStruct::BaseBoardInformation(data) => {
983+
println!("BaseBoard Information");
984+
if let Some(version) = dmidecode_string_val(&data.version()) {
985+
// Assumes it's ASCII, which is guaranteed by SMBIOS
986+
let config_digit0 = &version[0..1];
987+
let config_digit0 = u8::from_str_radix(config_digit0, 16);
988+
if let Ok(version_config) =
989+
config_digit0.map(<ConfigDigit0 as FromPrimitive>::from_u8)
990+
{
991+
println!(" Version: {:?} ({})", version_config, version);
992+
} else {
993+
println!(" Version: '{}'", version);
994+
}
995+
}
996+
if let Some(manufacturer) = dmidecode_string_val(&data.manufacturer()) {
997+
println!(" Manufacturer: {}", manufacturer);
998+
}
999+
if let Some(product_name) = dmidecode_string_val(&data.product()) {
1000+
println!(" Product: {}", product_name);
1001+
}
1002+
if let Some(sn) = dmidecode_string_val(&data.serial_number()) {
1003+
println!(" Serial Number:{}", sn);
1004+
}
1005+
}
9791006
_ => {}
9801007
}
9811008
}

0 commit comments

Comments
 (0)