summaryrefslogtreecommitdiffstats
path: root/src/hci/commands
diff options
context:
space:
mode:
authorMichael Brown2012-04-29 00:18:55 +0200
committerMichael Brown2012-04-29 00:42:15 +0200
commit838a76a0426844e918d12ae0d2e2ee7622a0eca6 (patch)
tree075e79823a9deb2690c7312d2acae1f5b8043437 /src/hci/commands
parent[realtek] Support RTL8139 cards within generic Realtek driver (diff)
downloadipxe-838a76a0426844e918d12ae0d2e2ee7622a0eca6.tar.gz
ipxe-838a76a0426844e918d12ae0d2e2ee7622a0eca6.tar.xz
ipxe-838a76a0426844e918d12ae0d2e2ee7622a0eca6.zip
[menu] Add "--default" option to "choose" command
Suggested-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/hci/commands')
-rw-r--r--src/hci/commands/menu_cmd.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/hci/commands/menu_cmd.c b/src/hci/commands/menu_cmd.c
index 8dac3cb80..ff3b76fab 100644
--- a/src/hci/commands/menu_cmd.c
+++ b/src/hci/commands/menu_cmd.c
@@ -194,6 +194,8 @@ struct choose_options {
const char *menu;
/** Timeout */
unsigned int timeout;
+ /** Default selection */
+ const char *select;
/** Keep menu */
int keep;
};
@@ -202,6 +204,8 @@ struct choose_options {
static struct option_descriptor choose_opts[] = {
OPTION_DESC ( "menu", 'm', required_argument,
struct choose_options, menu, parse_string ),
+ OPTION_DESC ( "default", 'd', required_argument,
+ struct choose_options, select, parse_string ),
OPTION_DESC ( "timeout", 't', required_argument,
struct choose_options, timeout, parse_integer ),
OPTION_DESC ( "keep", 'k', no_argument,
@@ -211,8 +215,8 @@ static struct option_descriptor choose_opts[] = {
/** "choose" command descriptor */
static struct command_descriptor choose_cmd =
COMMAND_DESC ( struct choose_options, choose_opts, 1, 1,
- "[--menu <menu>] [--timeout <timeout>] [--keep] "
- "<setting>" );
+ "[--menu <menu>] [--default <label>] "
+ "[--timeout <timeout>] [--keep] <setting>" );
/**
* The "choose" command
@@ -240,7 +244,7 @@ static int choose_exec ( int argc, char **argv ) {
goto err_parse_menu;
/* Show menu */
- if ( ( rc = show_menu ( menu, opts.timeout, &item ) ) != 0 )
+ if ( ( rc = show_menu ( menu, opts.timeout, opts.select, &item ) ) != 0)
goto err_show_menu;
/* Store setting */