aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-03-03 20:23:05 +0000
committerWarner Losh <imp@FreeBSD.org>2017-03-03 20:23:05 +0000
commit4a110fbfa78169a709015675f2592514ac6d9fe6 (patch)
tree6afdeff3467970f90ad2b57882904c5ffb53c655
parent902af7c6f51bf36e6312743a6ff491dc538619b0 (diff)
downloadsrc-4a110fbfa78169a709015675f2592514ac6d9fe6.tar.gz
src-4a110fbfa78169a709015675f2592514ac6d9fe6.zip
Actually implement efivar -L
Sponsored by: Netflix
Notes
Notes: svn path=/head/; revision=314618
-rw-r--r--usr.sbin/efivar/efivar.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/usr.sbin/efivar/efivar.c b/usr.sbin/efivar/efivar.c
index a0f8165675d9..36f9edd91c74 100644
--- a/usr.sbin/efivar/efivar.c
+++ b/usr.sbin/efivar/efivar.c
@@ -252,6 +252,17 @@ print_variables(void)
}
static void
+print_known_guid(void)
+{
+ struct uuid_table *tbl;
+ int i, n;
+
+ n = efi_known_guid(&tbl);
+ for (i = 0; i < n; i++)
+ printf("%s %s\n", tbl[i].uuid_str, tbl[i].name);
+}
+
+static void
parse_args(int argc, char **argv)
{
int ch, i;
@@ -333,6 +344,8 @@ parse_args(int argc, char **argv)
delete_variable(varname);
else if (wflag)
write_variable(varname, NULL);
+ else if (Lflag)
+ print_known_guid();
else if (varname) {
pflag++;
print_variable(varname);