diff options
-rw-r--r-- | src/config/config.c | 2 | ||||
-rw-r--r-- | src/core/dynui.c (renamed from src/core/menu.c) | 110 | ||||
-rw-r--r-- | src/core/parseopt.c | 18 | ||||
-rw-r--r-- | src/hci/commands/dynui_cmd.c (renamed from src/hci/commands/menu_cmd.c) | 109 | ||||
-rw-r--r-- | src/hci/tui/menu_ui.c | 43 | ||||
-rw-r--r-- | src/include/ipxe/dynui.h | 50 | ||||
-rw-r--r-- | src/include/ipxe/errfile.h | 2 | ||||
-rw-r--r-- | src/include/ipxe/menu.h | 49 | ||||
-rw-r--r-- | src/include/ipxe/parseopt.h | 4 |
9 files changed, 195 insertions, 192 deletions
diff --git a/src/config/config.c b/src/config/config.c index 209336c25..666712304 100644 --- a/src/config/config.c +++ b/src/config/config.c @@ -225,7 +225,7 @@ REQUIRE_OBJECT ( dhcp_cmd ); REQUIRE_OBJECT ( sanboot_cmd ); #endif #ifdef MENU_CMD -REQUIRE_OBJECT ( menu_cmd ); +REQUIRE_OBJECT ( dynui_cmd ); #endif #ifdef LOGIN_CMD REQUIRE_OBJECT ( login_cmd ); diff --git a/src/core/menu.c b/src/core/dynui.c index b9d0d5b77..6e053b905 100644 --- a/src/core/menu.c +++ b/src/core/dynui.c @@ -25,7 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** @file * - * Menu selection + * Dynamic user interfaces * */ @@ -33,80 +33,80 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <string.h> #include <assert.h> #include <ipxe/list.h> -#include <ipxe/menu.h> +#include <ipxe/dynui.h> -/** List of all menus */ -static LIST_HEAD ( menus ); +/** List of all dynamic user interfaces */ +static LIST_HEAD ( dynamic_uis ); /** - * Create menu + * Create dynamic user interface * - * @v name Menu name, or NULL - * @v title Menu title, or NULL - * @ret menu Menu, or NULL on failure + * @v name User interface name, or NULL + * @v title User interface title, or NULL + * @ret dynui Dynamic user interface, or NULL on failure */ -struct menu * create_menu ( const char *name, const char *title ) { +struct dynamic_ui * create_dynui ( const char *name, const char *title ) { + struct dynamic_ui *dynui; size_t name_len; size_t title_len; size_t len; - struct menu *menu; char *name_copy; char *title_copy; - /* Destroy any existing menu of this name */ - menu = find_menu ( name ); - if ( menu ) - destroy_menu ( menu ); + /* Destroy any existing user interface of this name */ + dynui = find_dynui ( name ); + if ( dynui ) + destroy_dynui ( dynui ); /* Use empty title if none given */ if ( ! title ) title = ""; - /* Allocate menu */ + /* Allocate user interface */ name_len = ( name ? ( strlen ( name ) + 1 /* NUL */ ) : 0 ); title_len = ( strlen ( title ) + 1 /* NUL */ ); - len = ( sizeof ( *menu ) + name_len + title_len ); - menu = zalloc ( len ); - if ( ! menu ) + len = ( sizeof ( *dynui ) + name_len + title_len ); + dynui = zalloc ( len ); + if ( ! dynui ) return NULL; - name_copy = ( ( void * ) ( menu + 1 ) ); + name_copy = ( ( void * ) ( dynui + 1 ) ); title_copy = ( name_copy + name_len ); - /* Initialise menu */ + /* Initialise user interface */ if ( name ) { strcpy ( name_copy, name ); - menu->name = name_copy; + dynui->name = name_copy; } strcpy ( title_copy, title ); - menu->title = title_copy; - INIT_LIST_HEAD ( &menu->items ); + dynui->title = title_copy; + INIT_LIST_HEAD ( &dynui->items ); - /* Add to list of menus */ - list_add_tail ( &menu->list, &menus ); + /* Add to list of user interfaces */ + list_add_tail ( &dynui->list, &dynamic_uis ); - DBGC ( menu, "MENU %s created with title \"%s\"\n", - menu->name, menu->title ); + DBGC ( dynui, "DYNUI %s created with title \"%s\"\n", + dynui->name, dynui->title ); - return menu; + return dynui; } /** - * Add menu item + * Add dynamic user interface item * - * @v menu Menu + * @v dynui Dynamic user interface * @v name Name, or NULL * @v text Text, or NULL * @v shortcut Shortcut key * @v is_default Item is the default item - * @ret item Menu item, or NULL on failure + * @ret item User interface item, or NULL on failure */ -struct menu_item * add_menu_item ( struct menu *menu, const char *name, - const char *text, int shortcut, - int is_default ) { +struct dynamic_item * add_dynui_item ( struct dynamic_ui *dynui, + const char *name, const char *text, + int shortcut, int is_default ) { + struct dynamic_item *item; size_t name_len; size_t text_len; size_t len; - struct menu_item *item; char *name_copy; char *text_copy; @@ -135,46 +135,46 @@ struct menu_item * add_menu_item ( struct menu *menu, const char *name, item->is_default = is_default; /* Add to list of items */ - list_add_tail ( &item->list, &menu->items ); + list_add_tail ( &item->list, &dynui->items ); return item; } /** - * Destroy menu + * Destroy dynamic user interface * - * @v menu Menu + * @v dynui Dynamic user interface */ -void destroy_menu ( struct menu *menu ) { - struct menu_item *item; - struct menu_item *tmp; +void destroy_dynui ( struct dynamic_ui *dynui ) { + struct dynamic_item *item; + struct dynamic_item *tmp; - /* Remove from list of menus */ - list_del ( &menu->list ); + /* Remove from list of user interfaces */ + list_del ( &dynui->list ); /* Free items */ - list_for_each_entry_safe ( item, tmp, &menu->items, list ) { + list_for_each_entry_safe ( item, tmp, &dynui->items, list ) { list_del ( &item->list ); free ( item ); } - /* Free menu */ - free ( menu ); + /* Free user interface */ + free ( dynui ); } /** - * Find menu + * Find dynamic user interface * - * @v name Menu name, or NULL - * @ret menu Menu, or NULL if not found + * @v name User interface name, or NULL + * @ret dynui Dynamic user interface, or NULL if not found */ -struct menu * find_menu ( const char *name ) { - struct menu *menu; +struct dynamic_ui * find_dynui ( const char *name ) { + struct dynamic_ui *dynui; - list_for_each_entry ( menu, &menus, list ) { - if ( ( menu->name == name ) || - ( strcmp ( menu->name, name ) == 0 ) ) { - return menu; + list_for_each_entry ( dynui, &dynamic_uis, list ) { + if ( ( dynui->name == name ) || + ( strcmp ( dynui->name, name ) == 0 ) ) { + return dynui; } } diff --git a/src/core/parseopt.c b/src/core/parseopt.c index 8410e6e90..b657c3fce 100644 --- a/src/core/parseopt.c +++ b/src/core/parseopt.c @@ -33,7 +33,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <getopt.h> #include <ipxe/uuid.h> #include <ipxe/netdevice.h> -#include <ipxe/menu.h> +#include <ipxe/dynui.h> #include <ipxe/settings.h> #include <ipxe/params.h> #include <ipxe/timer.h> @@ -194,21 +194,21 @@ int parse_netdev_configurator ( char *text, } /** - * Parse menu name + * Parse dynamic user interface name * * @v text Text - * @ret menu Menu + * @ret dynui Dynamic user interface * @ret rc Return status code */ -int parse_menu ( char *text, struct menu **menu ) { +int parse_dynui ( char *text, struct dynamic_ui **dynui ) { - /* Find menu */ - *menu = find_menu ( text ); - if ( ! *menu ) { + /* Find user interface */ + *dynui = find_dynui ( text ); + if ( ! *dynui ) { if ( text ) { - printf ( "\"%s\": no such menu\n", text ); + printf ( "\"%s\": no such user interface\n", text ); } else { - printf ( "No default menu\n" ); + printf ( "No default user interface\n" ); } return -ENOENT; } diff --git a/src/hci/commands/menu_cmd.c b/src/hci/commands/dynui_cmd.c index 8b6d2a9f1..dbaa669ef 100644 --- a/src/hci/commands/menu_cmd.c +++ b/src/hci/commands/dynui_cmd.c @@ -25,7 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** @file * - * Menu commands + * Dynamic user interface commands * */ @@ -34,7 +34,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <string.h> #include <errno.h> #include <getopt.h> -#include <ipxe/menu.h> +#include <ipxe/dynui.h> #include <ipxe/command.h> #include <ipxe/parseopt.h> #include <ipxe/settings.h> @@ -42,42 +42,42 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); FEATURE ( FEATURE_MISC, "Menu", DHCP_EB_FEATURE_MENU, 1 ); -/** "menu" options */ -struct menu_options { +/** "dynui" options */ +struct dynui_options { /** Name */ char *name; /** Delete */ int delete; }; -/** "menu" option list */ -static struct option_descriptor menu_opts[] = { +/** "dynui" option list */ +static struct option_descriptor dynui_opts[] = { OPTION_DESC ( "name", 'n', required_argument, - struct menu_options, name, parse_string ), + struct dynui_options, name, parse_string ), OPTION_DESC ( "delete", 'd', no_argument, - struct menu_options, delete, parse_flag ), + struct dynui_options, delete, parse_flag ), }; -/** "menu" command descriptor */ -static struct command_descriptor menu_cmd = - COMMAND_DESC ( struct menu_options, menu_opts, 0, MAX_ARGUMENTS, +/** "dynui" command descriptor */ +static struct command_descriptor dynui_cmd = + COMMAND_DESC ( struct dynui_options, dynui_opts, 0, MAX_ARGUMENTS, "[<title>]" ); /** - * The "menu" command + * The "dynui" command * * @v argc Argument count * @v argv Argument list * @ret rc Return status code */ -static int menu_exec ( int argc, char **argv ) { - struct menu_options opts; - struct menu *menu; +static int dynui_exec ( int argc, char **argv ) { + struct dynui_options opts; + struct dynamic_ui *dynui; char *title; int rc; /* Parse options */ - if ( ( rc = parse_options ( argc, argv, &menu_cmd, &opts ) ) != 0 ) + if ( ( rc = parse_options ( argc, argv, &dynui_cmd, &opts ) ) != 0 ) goto err_parse_options; /* Parse title */ @@ -87,21 +87,21 @@ static int menu_exec ( int argc, char **argv ) { goto err_parse_title; } - /* Create menu */ - menu = create_menu ( opts.name, title ); - if ( ! menu ) { + /* Create dynamic user interface */ + dynui = create_dynui ( opts.name, title ); + if ( ! dynui ) { rc = -ENOMEM; - goto err_create_menu; + goto err_create_dynui; } - /* Destroy menu, if applicable */ + /* Destroy dynamic user interface, if applicable */ if ( opts.delete ) - destroy_menu ( menu ); + destroy_dynui ( dynui ); /* Success */ rc = 0; - err_create_menu: + err_create_dynui: free ( title ); err_parse_title: err_parse_options: @@ -110,8 +110,8 @@ static int menu_exec ( int argc, char **argv ) { /** "item" options */ struct item_options { - /** Menu name */ - char *menu; + /** Dynamic user interface name */ + char *dynui; /** Shortcut key */ unsigned int key; /** Use as default */ @@ -123,7 +123,7 @@ struct item_options { /** "item" option list */ static struct option_descriptor item_opts[] = { OPTION_DESC ( "menu", 'm', required_argument, - struct item_options, menu, parse_string ), + struct item_options, dynui, parse_string ), OPTION_DESC ( "key", 'k', required_argument, struct item_options, key, parse_key ), OPTION_DESC ( "default", 'd', no_argument, @@ -146,8 +146,8 @@ static struct command_descriptor item_cmd = */ static int item_exec ( int argc, char **argv ) { struct item_options opts; - struct menu *menu; - struct menu_item *item; + struct dynamic_ui *dynui; + struct dynamic_item *item; char *name = NULL; char *text = NULL; int rc; @@ -169,23 +169,23 @@ static int item_exec ( int argc, char **argv ) { } } - /* Identify menu */ - if ( ( rc = parse_menu ( opts.menu, &menu ) ) != 0 ) - goto err_parse_menu; + /* Identify dynamic user interface */ + if ( ( rc = parse_dynui ( opts.dynui, &dynui ) ) != 0 ) + goto err_parse_dynui; - /* Add menu item */ - item = add_menu_item ( menu, name, ( text ? text : "" ), - opts.key, opts.is_default ); + /* Add dynamic user interface item */ + item = add_dynui_item ( dynui, name, ( text ? text : "" ), + opts.key, opts.is_default ); if ( ! item ) { rc = -ENOMEM; - goto err_add_menu_item; + goto err_add_dynui_item; } /* Success */ rc = 0; - err_add_menu_item: - err_parse_menu: + err_add_dynui_item: + err_parse_dynui: free ( text ); err_parse_text: err_parse_options: @@ -194,20 +194,20 @@ static int item_exec ( int argc, char **argv ) { /** "choose" options */ struct choose_options { - /** Menu name */ - char *menu; + /** Dynamic user interface name */ + char *dynui; /** Timeout */ unsigned long timeout; /** Default selection */ char *select; - /** Keep menu */ + /** Keep dynamic user interface */ int keep; }; /** "choose" option list */ static struct option_descriptor choose_opts[] = { OPTION_DESC ( "menu", 'm', required_argument, - struct choose_options, menu, parse_string ), + struct choose_options, dynui, parse_string ), OPTION_DESC ( "default", 'd', required_argument, struct choose_options, select, parse_string ), OPTION_DESC ( "timeout", 't', required_argument, @@ -230,8 +230,8 @@ static struct command_descriptor choose_cmd = static int choose_exec ( int argc, char **argv ) { struct choose_options opts; struct named_setting setting; - struct menu *menu; - struct menu_item *item; + struct dynamic_ui *dynui; + struct dynamic_item *item; int rc; /* Parse options */ @@ -243,12 +243,13 @@ static int choose_exec ( int argc, char **argv ) { &setting ) ) != 0 ) goto err_parse_setting; - /* Identify menu */ - if ( ( rc = parse_menu ( opts.menu, &menu ) ) != 0 ) - goto err_parse_menu; + /* Identify dynamic user interface */ + if ( ( rc = parse_dynui ( opts.dynui, &dynui ) ) != 0 ) + goto err_parse_dynui; - /* Show menu */ - if ( ( rc = show_menu ( menu, opts.timeout, opts.select, &item ) ) != 0) + /* Show as menu */ + if ( ( rc = show_menu ( dynui, opts.timeout, opts.select, + &item ) ) != 0 ) goto err_show_menu; /* Apply default type if necessary */ @@ -268,20 +269,20 @@ static int choose_exec ( int argc, char **argv ) { err_store: err_show_menu: - /* Destroy menu, if applicable */ + /* Destroy dynamic user interface, if applicable */ if ( ! opts.keep ) - destroy_menu ( menu ); - err_parse_menu: + destroy_dynui ( dynui ); + err_parse_dynui: err_parse_setting: err_parse_options: return rc; } -/** Menu commands */ -struct command menu_commands[] __command = { +/** Dynamic user interface commands */ +struct command dynui_commands[] __command = { { .name = "menu", - .exec = menu_exec, + .exec = dynui_exec, }, { .name = "item", diff --git a/src/hci/tui/menu_ui.c b/src/hci/tui/menu_ui.c index 067e2d8ca..ab4e602a7 100644 --- a/src/hci/tui/menu_ui.c +++ b/src/hci/tui/menu_ui.c @@ -37,7 +37,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <ipxe/console.h> #include <ipxe/ansicol.h> #include <ipxe/jumpscroll.h> -#include <ipxe/menu.h> +#include <ipxe/dynui.h> /* Screen layout */ #define TITLE_ROW 1U @@ -49,8 +49,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** A menu user interface */ struct menu_ui { - /** Menu */ - struct menu *menu; + /** Dynamic user interface */ + struct dynamic_ui *dynui; /** Jump scroller */ struct jump_scroller scroll; /** Timeout (0=indefinite) */ @@ -60,14 +60,15 @@ struct menu_ui { /** * Return a numbered menu item * - * @v menu Menu + * @v dynui Dynamic user interface * @v index Index * @ret item Menu item, or NULL */ -static struct menu_item * menu_item ( struct menu *menu, unsigned int index ) { - struct menu_item *item; +static struct dynamic_item * menu_item ( struct dynamic_ui *dynui, + unsigned int index ) { + struct dynamic_item *item; - list_for_each_entry ( item, &menu->items, list ) { + list_for_each_entry ( item, &dynui->items, list ) { if ( index-- == 0 ) return item; } @@ -82,7 +83,7 @@ static struct menu_item * menu_item ( struct menu *menu, unsigned int index ) { * @v index Index */ static void draw_menu_item ( struct menu_ui *ui, unsigned int index ) { - struct menu_item *item; + struct dynamic_item *item; unsigned int row_offset; char buf[ MENU_COLS + 1 /* NUL */ ]; char timeout_buf[6]; /* "(xxx)" + NUL */ @@ -95,7 +96,7 @@ static void draw_menu_item ( struct menu_ui *ui, unsigned int index ) { move ( ( MENU_ROW + row_offset ), MENU_COL ); /* Get menu item */ - item = menu_item ( ui->menu, index ); + item = menu_item ( ui->dynui, index ); if ( item ) { /* Draw separators in a different colour */ @@ -171,8 +172,8 @@ static void draw_menu_items ( struct menu_ui *ui ) { * @ret selected Selected item * @ret rc Return status code */ -static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) { - struct menu_item *item; +static int menu_loop ( struct menu_ui *ui, struct dynamic_item **selected ) { + struct dynamic_item *item; unsigned long timeout; unsigned int previous; unsigned int move; @@ -217,7 +218,7 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) { break; default: i = 0; - list_for_each_entry ( item, &ui->menu->items, + list_for_each_entry ( item, &ui->dynui->items, list ) { if ( ! ( item->shortcut && ( item->shortcut == key ) ) ) { @@ -238,7 +239,7 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) { /* Move selection, if applicable */ while ( move ) { move = jump_scroll_move ( &ui->scroll, move ); - item = menu_item ( ui->menu, ui->scroll.current ); + item = menu_item ( ui->dynui, ui->scroll.current ); if ( item->name ) break; } @@ -252,7 +253,7 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) { } /* Record selection */ - item = menu_item ( ui->menu, ui->scroll.current ); + item = menu_item ( ui->dynui, ui->scroll.current ); assert ( item != NULL ); assert ( item->name != NULL ); *selected = item; @@ -265,14 +266,14 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) { /** * Show menu * - * @v menu Menu + * @v dynui Dynamic user interface * @v timeout Timeout period, in ticks (0=indefinite) * @ret selected Selected item * @ret rc Return status code */ -int show_menu ( struct menu *menu, unsigned long timeout, - const char *select, struct menu_item **selected ) { - struct menu_item *item; +int show_menu ( struct dynamic_ui *dynui, unsigned long timeout, + const char *select, struct dynamic_item **selected ) { + struct dynamic_item *item; struct menu_ui ui; char buf[ MENU_COLS + 1 /* NUL */ ]; int named_count = 0; @@ -280,10 +281,10 @@ int show_menu ( struct menu *menu, unsigned long timeout, /* Initialise UI */ memset ( &ui, 0, sizeof ( ui ) ); - ui.menu = menu; + ui.dynui = dynui; ui.scroll.rows = MENU_ROWS; ui.timeout = timeout; - list_for_each_entry ( item, &menu->items, list ) { + list_for_each_entry ( item, &dynui->items, list ) { if ( item->name ) { if ( ! named_count ) ui.scroll.current = ui.scroll.count; @@ -315,7 +316,7 @@ int show_menu ( struct menu *menu, unsigned long timeout, /* Draw initial content */ attron ( A_BOLD ); - snprintf ( buf, sizeof ( buf ), "%s", ui.menu->title ); + snprintf ( buf, sizeof ( buf ), "%s", ui.dynui->title ); mvprintw ( TITLE_ROW, ( ( COLS - strlen ( buf ) ) / 2 ), "%s", buf ); attroff ( A_BOLD ); jump_scroll ( &ui.scroll ); diff --git a/src/include/ipxe/dynui.h b/src/include/ipxe/dynui.h new file mode 100644 index 000000000..25124a3af --- /dev/null +++ b/src/include/ipxe/dynui.h @@ -0,0 +1,50 @@ +#ifndef _IPXE_DYNUI_H +#define _IPXE_DYNUI_H + +/** @file + * + * Dynamic user interfaces + * + */ + +FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); + +#include <ipxe/list.h> + +/** A dynamic user interface */ +struct dynamic_ui { + /** List of dynamic user interfaces */ + struct list_head list; + /** Name */ + const char *name; + /** Title */ + const char *title; + /** Dynamic user interface items */ + struct list_head items; +}; + +/** A dynamic user interface item */ +struct dynamic_item { + /** List of dynamic user interface items */ + struct list_head list; + /** Name */ + const char *name; + /** Text */ + const char *text; + /** Shortcut key */ + int shortcut; + /** Is default item */ + int is_default; +}; + +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, + const char *text, int shortcut, + int is_default ); +extern void destroy_dynui ( struct dynamic_ui *dynui ); +extern struct dynamic_ui * find_dynui ( const char *name ); +extern int show_menu ( struct dynamic_ui *dynui, unsigned long timeout, + const char *select, struct dynamic_item **selected ); + +#endif /* _IPXE_DYNUI_H */ diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index a9ce6569b..d75661ba7 100644 --- a/src/include/ipxe/errfile.h +++ b/src/include/ipxe/errfile.h @@ -364,7 +364,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define ERRFILE_cms ( ERRFILE_OTHER | 0x002a0000 ) #define ERRFILE_imgtrust ( ERRFILE_OTHER | 0x002b0000 ) #define ERRFILE_menu_ui ( ERRFILE_OTHER | 0x002c0000 ) -#define ERRFILE_menu_cmd ( ERRFILE_OTHER | 0x002d0000 ) +#define ERRFILE_dynui_cmd ( ERRFILE_OTHER | 0x002d0000 ) #define ERRFILE_validator ( ERRFILE_OTHER | 0x002e0000 ) #define ERRFILE_ocsp ( ERRFILE_OTHER | 0x002f0000 ) #define ERRFILE_nslookup ( ERRFILE_OTHER | 0x00300000 ) diff --git a/src/include/ipxe/menu.h b/src/include/ipxe/menu.h deleted file mode 100644 index d11a92559..000000000 --- a/src/include/ipxe/menu.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _IPXE_MENU_H -#define _IPXE_MENU_H - -/** @file - * - * Menu selection - * - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -#include <ipxe/list.h> - -/** A menu */ -struct menu { - /** List of menus */ - struct list_head list; - /** Name */ - const char *name; - /** Title */ - const char *title; - /** Menu items */ - struct list_head items; -}; - -/** A menu item */ -struct menu_item { - /** List of menu items */ - struct list_head list; - /** Name */ - const char *name; - /** Text */ - const char *text; - /** Shortcut key */ - int shortcut; - /** Is default item */ - int is_default; -}; - -extern struct menu * create_menu ( const char *name, const char *title ); -extern struct menu_item * add_menu_item ( struct menu *menu, const char *name, - const char *text, int shortcut, - int is_default ); -extern void destroy_menu ( struct menu *menu ); -extern struct menu * find_menu ( const char *name ); -extern int show_menu ( struct menu *menu, unsigned long timeout, - const char *select, struct menu_item **selected ); - -#endif /* _IPXE_MENU_H */ diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h index 61010f22a..5c449cd42 100644 --- a/src/include/ipxe/parseopt.h +++ b/src/include/ipxe/parseopt.h @@ -16,7 +16,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); struct net_device; struct net_device_configurator; -struct menu; +struct dynamic_ui; struct parameters; /** A command-line option descriptor */ @@ -142,7 +142,7 @@ extern int parse_netdev ( char *text, struct net_device **netdev ); extern int parse_netdev_configurator ( char *text, struct net_device_configurator **configurator ); -extern int parse_menu ( char *text, struct menu **menu ); +extern int parse_dynui ( char *text, struct dynamic_ui **dynui ); extern int parse_flag ( char *text __unused, int *flag ); extern int parse_key ( char *text, unsigned int *key ); extern int parse_settings ( char *text, struct settings **settings ); |