123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- static int sel_max = 0;
- static int sel = 0;
- void toggle(int ndx, int value, char *str) {
- set_attr(sel == ndx ? 0x70 : 0x07);
- if (value) {
- print_(" [X] ");
- } else {
- print_(" [ ] ");
- }
- print_(str);
- if (x < 40) {
- while (x < 39) {
- print_(" ");
- }
- x = 40;
- } else {
- print_("\n");
- }
- }
- struct option {
- int * value;
- char * title;
- char * description_1;
- char * description_2;
- } boot_options[20] = {{0}}; /* can't really hold more than that */
- static int _boot_offset = 0;
- #define BOOT_OPTION(_value, default_val, option, d1, d2) \
- int _value = default_val;\
- boot_options[_boot_offset].value = &_value; \
- boot_options[_boot_offset].title = option; \
- boot_options[_boot_offset].description_1 = d1; \
- boot_options[_boot_offset].description_2 = d2; \
- _boot_offset++
- struct bootmode {
- int index;
- char * key;
- char * title;
- };
- #define BASE_SEL ((sizeof(boot_mode_names)/sizeof(*boot_mode_names))-1)
|