aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hci/commands/dynui_cmd.c6
-rw-r--r--src/include/ipxe/dynui.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/src/hci/commands/dynui_cmd.c b/src/hci/commands/dynui_cmd.c
index 557c5db..5aed3d0 100644
--- a/src/hci/commands/dynui_cmd.c
+++ b/src/hci/commands/dynui_cmd.c
@@ -116,6 +116,8 @@ struct item_options {
unsigned int key;
/** Use as default */
int is_default;
+ /** Value is a secret */
+ int is_secret;
/** Use as a separator */
int is_gap;
};
@@ -128,6 +130,8 @@ static struct option_descriptor item_opts[] = {
struct item_options, key, parse_key ),
OPTION_DESC ( "default", 'd', no_argument,
struct item_options, is_default, parse_flag ),
+ OPTION_DESC ( "secret", 's', no_argument,
+ struct item_options, is_secret, parse_flag ),
OPTION_DESC ( "gap", 'g', no_argument,
struct item_options, is_gap, parse_flag ),
};
@@ -177,6 +181,8 @@ static int item_exec ( int argc, char **argv ) {
/* Add dynamic user interface item */
if ( opts.is_default )
flags |= DYNUI_DEFAULT;
+ if ( opts.is_secret )
+ flags |= DYNUI_SECRET;
item = add_dynui_item ( dynui, name, ( text ? text : "" ), flags,
opts.key );
if ( ! item ) {
diff --git a/src/include/ipxe/dynui.h b/src/include/ipxe/dynui.h
index 5ba0070..5029e58 100644
--- a/src/include/ipxe/dynui.h
+++ b/src/include/ipxe/dynui.h
@@ -44,6 +44,9 @@ struct dynamic_item {
/** Dynamic user interface item is default selection */
#define DYNUI_DEFAULT 0x0001
+/** Dynamic user interface item represents a secret */
+#define DYNUI_SECRET 0x0002
+
extern struct dynamic_ui * create_dynui ( const char *name, const char *title );
extern struct dynamic_item * add_dynui_item ( struct dynamic_ui *dynui,
const char *name,