aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/README.menu25
1 files changed, 14 insertions, 11 deletions
diff --git a/doc/README.menu b/doc/README.menu
index bca44be3f..aa48b6f88 100644
--- a/doc/README.menu
+++ b/doc/README.menu
@@ -31,7 +31,7 @@ Interfaces
struct menu;
-struct menu *menu_create(char *title, int prompt,
+struct menu *menu_create(char *title, int timeout, int prompt,
void (*item_data_print)(void *));
int menu_item_add(struct menu *m, char *item_key, void *item_data);
int menu_default_set(struct menu *m, char *item_key);
@@ -44,8 +44,12 @@ menu_create() - Creates a menu handle with default settings
the list of menu items. It will be copied to internal storage, and is
safe to discard after passing to menu_create().
- prompt - If 0, don't ask for user input. If 1, the user will be ed for
- promptinput.
+ timeout - A delay in seconds to wait for user input. If 0, timeout is
+ disabled, and the default choice will be returned unless prompt is 1.
+
+ prompt - If 0, don't ask for user input unless there is an interrupted
+ timeout. If 1, the user will be prompted for input regardless of the
+ value of timeout.
item_data_print - If not NULL, will be called for each item when
the menu is displayed, with the pointer to the item's data passed
@@ -76,7 +80,7 @@ menu_item_add() - Adds or replaces a menu item
menu_default_set() - Sets the default choice for the menu. This is safe
-to call more than once.
+ to call more than once.
m - Points to a menu created by menu_create().
@@ -88,8 +92,8 @@ to call more than once.
menu_get_choice() - Returns the user's selected menu entry, or the
-default if the menu is set to not prompt. This is safe to call more than
-once.
+ default if the menu is set to not prompt or the timeout expires.
+ This is safe to call more than once.
m - Points to a menu created by menu_create().
@@ -97,9 +101,9 @@ once.
selected menu item. If no item is selected or there is an error, no
value will be written at the location it points to.
- Returns 1 if successful, -EINVAL if m or choice is NULL, -ENOENT if no
- default has been set and the menu is set to not prompt, or -EINTR if
- the user exits the menu via ctrl+c.
+ Returns 1 if successful, -EINVAL if m or choice is NULL, -ENOENT if
+ no default has been set and the menu is set to not prompt or the
+ timeout expires, or -EINTR if the user exits the menu via ctrl+c.
menu_destroy() - frees the memory used by a menu and its items.
@@ -108,7 +112,6 @@ menu_destroy() - frees the memory used by a menu and its items.
Returns 1 if successful, or -EINVAL if m is NULL.
-
Example
-------
This example creates a menu that always prompts, and allows the user
@@ -129,7 +132,7 @@ char *pick_a_tool(void)
int i;
char *tool = NULL;
- m = menu_create("Tools", 1, NULL);
+ m = menu_create("Tools", 0, 1, NULL);
for(i = 0; tools[i]; i++) {
if (menu_item_add(m, tools[i], tools[i]) != 1) {