summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhali <khali>2010-11-24 13:41:39 +0000
committerkhali <khali>2010-11-24 13:41:39 +0000
commitd2c951287c824e5d56d73ea15410b36b6a9e77cf (patch)
tree5e493b5b6ddc6b6016302c27a43ee2f40e8a61b6
parentcc56ca269aa1917c0d8cd4dedf59249b4f835e22 (diff)
downloaddmidecode-d2c951287c824e5d56d73ea15410b36b6a9e77cf.tar.gz
Decode BIOS language information flags (DMI type 13).
-rw-r--r--dmidecode.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/dmidecode.c b/dmidecode.c
index 7cee02a..915f67b 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -1890,6 +1890,14 @@ static void dmi_bios_languages(const struct dmi_header *h, const char *prefix)
prefix, dmi_string(h, i));
}
+static const char *dmi_bios_language_format(u8 code)
+{
+ if (code & 0x01)
+ return "Abbreviated";
+ else
+ return "Long";
+}
+
/*
* 7.15 Group Associations (Type 14)
*/
@@ -3441,6 +3449,11 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
case 13: /* 7.14 BIOS Language Information */
printf("BIOS Language Information\n");
if (h->length < 0x16) break;
+ if (ver >= 0x0201)
+ {
+ printf("\tLanguage Description Format: %s\n",
+ dmi_bios_language_format(data[0x05]));
+ }
printf("\tInstallable Languages: %u\n", data[0x04]);
dmi_bios_languages(h, "\t\t");
printf("\tCurrently Installed Language: %s\n",