Lines Matching refs:menu
30 struct bootmenu_data *menu; /* this bootmenu */ member
62 int reverse = (entry->menu->active == entry->num); in bootmenu_print_entry()
81 static void bootmenu_autoboot_loop(struct bootmenu_data *menu, in bootmenu_autoboot_loop() argument
86 if (menu->delay > 0) { in bootmenu_autoboot_loop()
87 printf(ANSI_CURSOR_POSITION, menu->count + 5, 1); in bootmenu_autoboot_loop()
88 printf(" Hit any key to stop autoboot: %2d ", menu->delay); in bootmenu_autoboot_loop()
91 while (menu->delay > 0) { in bootmenu_autoboot_loop()
99 menu->delay = -1; in bootmenu_autoboot_loop()
118 if (menu->delay < 0) in bootmenu_autoboot_loop()
121 --menu->delay; in bootmenu_autoboot_loop()
122 printf("\b\b\b%2d ", menu->delay); in bootmenu_autoboot_loop()
125 printf(ANSI_CURSOR_POSITION, menu->count + 5, 1); in bootmenu_autoboot_loop()
128 if (menu->delay == 0) in bootmenu_autoboot_loop()
132 static void bootmenu_loop(struct bootmenu_data *menu, in bootmenu_loop() argument
192 struct bootmenu_data *menu = data; in bootmenu_choice_entry() local
199 if (menu->delay >= 0) { in bootmenu_choice_entry()
201 bootmenu_autoboot_loop(menu, &key, &esc); in bootmenu_choice_entry()
204 bootmenu_loop(menu, &key, &esc); in bootmenu_choice_entry()
209 if (menu->active > 0) in bootmenu_choice_entry()
210 --menu->active; in bootmenu_choice_entry()
214 if (menu->active < menu->count - 1) in bootmenu_choice_entry()
215 ++menu->active; in bootmenu_choice_entry()
219 iter = menu->first; in bootmenu_choice_entry()
220 for (i = 0; i < menu->active; ++i) in bootmenu_choice_entry()
233 static void bootmenu_destroy(struct bootmenu_data *menu) in bootmenu_destroy() argument
235 struct bootmenu_entry *iter = menu->first; in bootmenu_destroy()
245 free(menu); in bootmenu_destroy()
252 struct bootmenu_data *menu; in bootmenu_create() local
259 menu = malloc(sizeof(struct bootmenu_data)); in bootmenu_create()
260 if (!menu) in bootmenu_create()
263 menu->delay = delay; in bootmenu_create()
264 menu->active = 0; in bootmenu_create()
265 menu->first = NULL; in bootmenu_create()
300 entry->menu = menu; in bootmenu_create()
304 menu->first = entry; in bootmenu_create()
337 entry->menu = menu; in bootmenu_create()
341 menu->first = entry; in bootmenu_create()
349 menu->count = i; in bootmenu_create()
350 return menu; in bootmenu_create()
353 bootmenu_destroy(menu); in bootmenu_create()
363 struct menu *menu; in bootmenu_show() local
388 menu = menu_create(NULL, bootmenu->delay, 1, bootmenu_print_entry, in bootmenu_show()
390 if (!menu) { in bootmenu_show()
396 if (!menu_item_add(menu, iter->key, iter)) in bootmenu_show()
401 menu_default_set(menu, "0"); in bootmenu_show()
409 if (menu_get_choice(menu, &choice)) { in bootmenu_show()
416 menu_destroy(menu); in bootmenu_show()
437 void menu_display_statusline(struct menu *m) in menu_display_statusline()
440 struct bootmenu_data *menu; in menu_display_statusline() local
445 menu = entry->menu; in menu_display_statusline()
456 printf(ANSI_CURSOR_POSITION, menu->count + 5, 1); in menu_display_statusline()
458 printf(ANSI_CURSOR_POSITION, menu->count + 6, 1); in menu_display_statusline()
461 printf(ANSI_CURSOR_POSITION, menu->count + 7, 1); in menu_display_statusline()