iPXE
|
Menu selection. More...
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <ipxe/list.h>
#include <ipxe/menu.h>
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static | LIST_HEAD (menus) |
List of all menus. More... | |
struct menu * | create_menu (const char *name, const char *title) |
Create menu. More... | |
struct menu_item * | add_menu_item (struct menu *menu, const char *label, const char *text, int shortcut, int is_default) |
Add menu item. More... | |
void | destroy_menu (struct menu *menu) |
Destroy menu. More... | |
struct menu * | find_menu (const char *name) |
Find menu. More... | |
Menu selection.
Definition in file menu.c.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
List of all menus.
struct menu* create_menu | ( | const char * | name, |
const char * | title | ||
) |
Create menu.
name | Menu name, or NULL |
title | Menu title, or NULL |
menu | Menu, or NULL on failure |
Definition at line 48 of file menu.c.
References DBGC, destroy_menu(), find_menu(), INIT_LIST_HEAD, menu::items, len, menu::list, list_add_tail, menu::name, name, NULL, strcpy(), strlen(), menu::title, and zalloc().
Referenced by menu_exec().
struct menu_item* add_menu_item | ( | struct menu * | menu, |
const char * | label, | ||
const char * | text, | ||
int | shortcut, | ||
int | is_default | ||
) |
Add menu item.
menu | Menu |
label | Label, or NULL |
text | Text, or NULL |
shortcut | Shortcut key |
is_default | Item is the default item |
item | Menu item, or NULL on failure |
Definition at line 103 of file menu.c.
References menu_item::is_default, menu::items, menu_item::label, len, menu_item::list, list_add_tail, NULL, menu_item::shortcut, strcpy(), strlen(), menu_item::text, and zalloc().
Referenced by item_exec().
void destroy_menu | ( | struct menu * | menu | ) |
Destroy menu.
menu | Menu |
Definition at line 148 of file menu.c.
References free, menu::items, menu_item::list, menu::list, list_del, list_for_each_entry_safe, and tmp.
Referenced by choose_exec(), create_menu(), and menu_exec().
struct menu* find_menu | ( | const char * | name | ) |
Find menu.
name | Menu name, or NULL |
menu | Menu, or NULL if not found |
Definition at line 171 of file menu.c.
References menu::list, list_for_each_entry, menu::name, name, NULL, and strcmp().
Referenced by create_menu(), and parse_menu().