summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-06-28 14:45:19 +1000
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-12-03 14:48:41 +1100
commit87017f0478536fcb927010618be483a5efe9260c (patch)
tree27611e71b2b07574be22487e3a45d81f497db733 /lib
parent07f6db7fc29a93fae3213af18371cccb17e0276a (diff)
downloadtalos-petitboot-87017f0478536fcb927010618be483a5efe9260c.tar.gz
talos-petitboot-87017f0478536fcb927010618be483a5efe9260c.zip
ui/ncurses: Keep track of the default boot option
Keep track of the default boot option, and prefix its display name with a '(*)' to point it out to the user. This avoids having to authenticate with pb-discover even if only booting the default option. Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/pb-protocol/pb-protocol.c6
-rw-r--r--lib/types/types.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/pb-protocol/pb-protocol.c b/lib/pb-protocol/pb-protocol.c
index 5de382d..d8771fc 100644
--- a/lib/pb-protocol/pb-protocol.c
+++ b/lib/pb-protocol/pb-protocol.c
@@ -204,6 +204,7 @@ int pb_protocol_boot_option_len(const struct boot_option *opt)
4 + optional_strlen(opt->boot_args) +
4 + optional_strlen(opt->args_sig_file) +
sizeof(opt->is_default) +
+ sizeof(opt->is_autoboot_default) +
sizeof(opt->type);
}
@@ -434,6 +435,8 @@ int pb_protocol_serialise_boot_option(const struct boot_option *opt,
*(bool *)pos = opt->is_default;
pos += sizeof(bool);
+ *(bool *)pos = opt->is_autoboot_default;
+ pos += sizeof(bool);
*(uint32_t *)pos = __cpu_to_be32(opt->type);
pos += 4;
@@ -925,6 +928,9 @@ int pb_protocol_deserialise_boot_option(struct boot_option *opt,
opt->is_default = *(bool *)(pos);
pos += sizeof(bool);
len -= sizeof(bool);
+ opt->is_autoboot_default = *(bool *)(pos);
+ pos += sizeof(bool);
+ len -= sizeof(bool);
if (read_u32(&pos, &len, &opt->type))
return -1;
diff --git a/lib/types/types.h b/lib/types/types.h
index f5392c8..39760d9 100644
--- a/lib/types/types.h
+++ b/lib/types/types.h
@@ -54,6 +54,7 @@ struct boot_option {
char *boot_args;
char *args_sig_file;
bool is_default;
+ bool is_autoboot_default;
struct list_item list;
OpenPOWER on IntegriCloud