diff options
author | Warner Losh <imp@FreeBSD.org> | 2017-03-03 20:23:14 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2017-03-03 20:23:14 +0000 |
commit | 9e4a51a860e90439f60b4fcfdd3ae03042d2c72a (patch) | |
tree | 281a723d0da3d09ff2e66188f1f04082a1ffa120 /usr.sbin | |
parent | 16445670518ee8a668b9d87712cd987c58c2796a (diff) | |
download | src-9e4a51a860e90439f60b4fcfdd3ae03042d2c72a.tar.gz src-9e4a51a860e90439f60b4fcfdd3ae03042d2c72a.zip |
Implement -d / --device-path to print the ascii representation of a variable that contains a UEFI device path.
Sponsored by: Netflix
Notes
Notes:
svn path=/head/; revision=314620
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/efivar/efivar.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/efivar/efivar.c b/usr.sbin/efivar/efivar.c index 12ed5dc7b174..d877eb1b9cc2 100644 --- a/usr.sbin/efivar/efivar.c +++ b/usr.sbin/efivar/efivar.c @@ -45,6 +45,8 @@ static struct option longopts[] = { { "attributes", required_argument, NULL, 't' }, { "binary", no_argument, NULL, 'b' }, { "delete", no_argument, NULL, 'D' }, + { "device", no_argument, NULL, 'd' }, + { "device-path", no_argument, NULL, 'd' }, { "fromfile", required_argument, NULL, 'f' }, { "guid", no_argument, NULL, 'g' }, { "hex", no_argument, NULL, 'H' }, @@ -197,6 +199,13 @@ bindump(uint8_t *data, size_t datalen) } static void +devpath_dump(uint8_t *data, size_t datalen) +{ + + fprintf(stderr, "junk %p %zu\n", data, datalen); +} + +static void pretty_guid(efi_guid_t *guid, char **gname) { char *pretty = NULL; @@ -232,6 +241,8 @@ print_var(efi_guid_t *guid, char *name) asciidump(data, datalen); else if (bflag) bindump(data, datalen); + else if (dflag) + devpath_dump(data, datalen); else hexdump(data, datalen); } else { |