Hi,
This patch adds an option for displaying uuid in rfc 4122 format
but not the smbios format.
RFC 4122 format is used by kernel and lshal. In case they need
this format they have the option of getting from -r option.Also this
matches with kernel /sys/class/dmi/id/product_uuid
junk@junk-HP-ZBook-15-G2:~/dmidecode/dmidecode$ sudo ./dmidecode -r |
grep -i uuid
UUID: FF24355A-16B4-E411-91F9-1C545F06E0FF
junk@junk-HP-ZBook-15-G2:~/dmidecode/dmidecode$ sudo ./dmidecode | grep -i uuid
UUID: 5A3524FF-B416-11E4-91F9-1C545F06E0FF
junk@junk-HP-ZBook-15-G2:~/dmidecode/dmidecode$ sudo cat
/sys/class/dmi/id/product_uuid
FF24355A-16B4-E411-91F9-1C545F06E0FF
junk@junk-HP-ZBook-15-G2:~/dmidecode/dmidecode$ sudo
./dmidecode.savannah.gnu | grep -i uuid
UUID: 5A3524FF-B416-11E4-91F9-1C545F06E0FF
Attached the patch.
Posting it inline as well.
Thanks,
Navin
Index: dmidecode.c
===================================================================
RCS file: /sources/dmidecode/dmidecode/dmidecode.c,v
retrieving revision 1.200
diff -u -r1.200 dmidecode.c
--- dmidecode.c 13 May 2015 07:17:38 -0000 1.200
+++ dmidecode.c 21 May 2015 13:21:51 -0000
@@ -405,7 +405,7 @@
* network byte order, so I am reluctant to apply the byte-swapping
* for older versions.
*/
- if (ver >= 0x0206)
+ if ((ver >= 0x0206) && (!(opt.flags&FLAG_RFC)))
printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
p[3], p[2], p[1], p[0], p[5], p[4], p[7], p[6],
p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
Index: dmiopt.c
===================================================================
RCS file: /sources/dmidecode/dmidecode/dmiopt.c,v
retrieving revision 1.29
diff -u -r1.29 dmiopt.c
--- dmiopt.c 28 Apr 2015 11:17:47 -0000 1.29
+++ dmiopt.c 21 May 2015 13:21:51 -0000
@@ -215,11 +215,12 @@
int parse_command_line(int argc, char * const argv[])
{
int option;
- const char *optstring = "d:hqs:t:uV";
+ const char *optstring = "d:hqrs:t:uV";
struct option longopts[] = {
{ "dev-mem", required_argument, NULL, 'd' },
{ "help", no_argument, NULL, 'h' },
{ "quiet", no_argument, NULL, 'q' },
+ { "rfc4122",no_argument, NULL, 'r' },
{ "string", required_argument, NULL, 's' },
{ "type", required_argument, NULL, 't' },
{ "dump", no_argument, NULL, 'u' },
@@ -250,6 +251,9 @@
case 'q':
opt.flags |= FLAG_QUIET;
break;
+ case 'r':
+ opt.flags |= FLAG_RFC;
+ break;
case 's':
if (parse_opt_string(optarg) < 0)
return -1;
@@ -309,6 +313,7 @@
" -d, --dev-mem FILE Read memory from device FILE
(default: " DEFAULT_MEM_DEV ")\n" " -h, --help
Display this help text and exit\n"
" -q, --quiet Less verbose output\n"
+ " -r, --rfc Output uuid according to
RFC4122 not SMBIOS format\n"
" -s, --string KEYWORD Only display the value of the
given DMI string\n"
" -t, --type TYPE Only display the entries of
given type\n"
" -u, --dump Do not decode the entries\n"
Index: dmiopt.h
===================================================================
RCS file: /sources/dmidecode/dmidecode/dmiopt.h,v
retrieving revision 1.15
diff -u -r1.15 dmiopt.h
--- dmiopt.h 28 Apr 2015 11:07:08 -0000 1.15
+++ dmiopt.h 21 May 2015 13:21:51 -0000
@@ -45,6 +45,7 @@
#define FLAG_DUMP_BIN (1 << 4)
#define FLAG_FROM_DUMP (1 << 5)
#define FLAG_NO_SYSFS (1 << 6)
+#define FLAG_RFC (1 << 7)
int parse_command_line(int argc, char * const argv[]);
void print_help(void);
Index: man/dmidecode.8
===================================================================
RCS file: /sources/dmidecode/dmidecode/man/dmidecode.8,v
retrieving revision 1.28
diff -u -r1.28 dmidecode.8
--- man/dmidecode.8 21 Apr 2015 07:38:19 -0000 1.28
+++ man/dmidecode.8 21 May 2015 13:21:51 -0000
@@ -68,6 +68,9 @@
Be less verbose. Unknown, inactive and \s-1OEM\s0-specific entries are not
displayed. Meta-data and handle references are hidden.
.TP
+.BR "-r" ", " "--rfc4122"
+Display \fBUUID\fR in RFC4122 format intead of SMBIOS.
+.TP
.BR "-s" ", " "--string KEYWORD"
Only display the value of the \s-1DMI\s0 string identified by \fBKEYWORD\fR.
\fBKEYWORD\fR must be a keyword from the following list: \fBbios-vendor\fR,
_______________________________________________
https://lists.nongnu.org/mailman/listinfo/dmidecode-devel