X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=doc%2FREADME.menu;h=ad520ab3aad9ccf9f47fa4925301feeb1d83e68f;hb=6987a9f85961797318a3216e6682bed04451a779;hp=0dad6a2cb8968b4035c86ff8dabbe6e45d45f354;hpb=bfcc40bb09b05c90cc3b1496abb270eb8aa72134;p=karo-tx-uboot.git diff --git a/doc/README.menu b/doc/README.menu index 0dad6a2cb8..ad520ab3aa 100644 --- a/doc/README.menu +++ b/doc/README.menu @@ -1,18 +1,7 @@ /* * Copyright 2010-2011 Calxeda, Inc. * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . + * SPDX-License-Identifier: GPL-2.0+ */ U-boot provides a set of interfaces for creating and using simple, text @@ -25,6 +14,11 @@ the interfaces should be available. Menus are composed of items. Each item has a key used to identify it in the menu, and an opaque pointer to data controlled by the consumer. +If you want to show a menu, instead starting the shell, define +CONFIG_MENU_SHOW. You have to code the int menu_show(int bootdelay) +function, which handle your menu. This function returns the remaining +bootdelay. + Interfaces ---------- #include "menu.h" @@ -46,7 +40,9 @@ struct menu; * menu_create() - Creates a menu handle with default settings */ struct menu *menu_create(char *title, int timeout, int prompt, - void (*item_data_print)(void *)); + void (*item_data_print)(void *), + char *(*item_choice)(void *), + void *item_choice_data); /* * menu_item_add() - Adds or replaces a menu item @@ -58,6 +54,11 @@ int menu_item_add(struct menu *m, char *item_key, void *item_data); */ int menu_default_set(struct menu *m, char *item_key); +/* + * menu_default_choice() - Set *choice to point to the default item's data + */ +int menu_default_choice(struct menu *m, void **choice); + /* * menu_get_choice() - Returns the user's selected menu entry, or the * default if the menu is set to not prompt or the timeout expires. @@ -69,6 +70,11 @@ int menu_get_choice(struct menu *m, void **choice); */ int menu_destroy(struct menu *m); +/* + * menu_display_statusline(struct menu *m); + * shows a statusline for every menu_display call. + */ +void menu_display_statusline(struct menu *m); Example Code ------------