diff options
| -rw-r--r-- | board/MAI/menu/menu.c | 66 | ||||
| -rw-r--r-- | board/MAI/menu/menu.h | 162 | 
2 files changed, 0 insertions, 228 deletions
| diff --git a/board/MAI/menu/menu.c b/board/MAI/menu/menu.c deleted file mode 100644 index c0c63a89d..000000000 --- a/board/MAI/menu/menu.c +++ /dev/null @@ -1,66 +0,0 @@ -#include "menu.h" - -#define SINGLE_BOX 0 -#define DOUBLE_BOX 1 - -void video_draw_box(int style, int attr, char *title, int separate, int x, int y, int w, int h); -void video_draw_text(int x, int y, int attr, char *text); -void video_save_rect(int x, int y, int w, int h, void *save_area, int clearchar, int clearattr); -void video_restore_rect(int x, int y, int w, int h, void *save_area); -int  video_rows(void); -int  video_cols(void); - -#define MAX_MENU_OPTIONS 200 - -typedef struct -{ -    int used;                  /* flag if this entry is used */ -    int entry_x;               /* Character column of the menu entry */ -    int entry_y;               /* Character line of the entry */ -    int option_x;              /* Character colum of the option (entry is same) */ -} option_data_t; - -option_data_t odata[MAX_MENU_OPTIONS]; - -int normal_attr = 0x0F; -int select_attr = 0x2F; -int disabled_attr = 0x07; - -menu_t *root_menu; - -int menu_init (menu_t *root) -{ -    char *s; -    int i; - -    s = getenv("menu_normal"); -    if (s) normal_attr = atoi(s); - -    s = getenv("menu_select"); -    if (s) select_attr = atoi(s); - -    s = getenv("menu_disabled"); -    if (s) disabled_attr = atoi(s); - -    for (i=0; i<MAX_MENU_OPTIONS; i++) odata[i].used = 0; - -    root_menu = root; -} - -option_data_t *menu_alloc_odata(void) -{ -    int i; -    for (int i=0; i<MAX_MENU_OPTIONS; i++) -    { -	if (odata[i].used == 0) return &odata[i]; -    } -    return NULL; -} - -void menu_free_odata(option_data_t *odata) -{ -    odata->used = 0; -} - -void menu_layout (menu_t *menu) -{ diff --git a/board/MAI/menu/menu.h b/board/MAI/menu/menu.h deleted file mode 100644 index 23d89a706..000000000 --- a/board/MAI/menu/menu.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef MENU_H -#define MENU_H - -/* A single menu */ -typedef void (*menu_finish_callback)(struct menu_s *menu); - -typedef struct menu_s { -	char *name;		/* Menu name */ -	int num_options;	/* Number of options in this menu */ -	int flags;		/* Various flags - see below */ -	int option_align;	/* Aligns options to a field width of this much characters if != 0 */ - -	struct menu_option_s **options;	/* Pointer to this menu's options */ -	menu_finish_callback callback;	/* Called when the menu closes */ -} menu_t; - -/* - * type: Type of the option (see below) - * name: Name to display for this option - * help: Optional help string - * id  : optional id number - * sys : pointer for system-specific data, init to NULL and don't touch - */ - -#define OPTION_PREAMBLE		\ -	int type;		\ -	char *name;		\ -	char *help;		\ -	int id;			\ -	void *sys; - -/* - * Menu option types. - * There are a number of different layouts for menu options depending - * on their types. Currently there are the following possibilities: - * - * Submenu: - *   This entry links to a new menu. - * - * Boolean: - *   A simple on/off toggle entry. Booleans can be either yes/no, 0/1 or on/off. - *   Optionally, this entry can enable/disable a set of other options. An example would - *   be to enable/disable on-board USB, and if enabled give access to further options like - *   irq settings, base address etc. - * - * Text: - *   A single line/limited number of characters text entry box. Text can be restricted - *   to a certain charset (digits/hex digits/all/custom). Result is also available as an - *   int if numeric. - * - * Selection: - *   One-of-many type of selection entry. User may choose on of a set of strings, which - *   maps to a specific value for the variable. - * - * Routine: - *   Selecting this calls an entry-specific routine. This can be used for saving contents etc. - * - * Custom: - *   Display and behaviour of this entry is defined by a set of callbacks. - */ - -#define MENU_SUBMENU_TYPE 0 -typedef struct menu_submenu_s -{ -    OPTION_PREAMBLE - -    menu_t *   submenu;            /* Pointer to the submenu */ -} menu_submenu_t; - -#define MENU_BOOLEAN_TYPE 1 -typedef struct menu_boolean_s -{ -    OPTION_PREAMBLE - -    char *variable;                /* Name of the variable to getenv()/setenv() */ -    int subtype;                   /* Subtype (on/off, 0/1, yes/no, enable/disable), see below */ -    int mutex;                     /* Bit mask of options to enable/disable. Bit 0 is the option -				      immediately following this one, bit 1 is the next one etc. -				      bit 7 = 0 means to disable when this option is off, -				      bit 7 = 1 means to disable when this option is on. -				      An option is disabled when the type field's upper bit is set */ -} menu_boolean_t; - -/* BOOLEAN Menu flags */ -#define MENU_BOOLEAN_ONOFF         0x01 -#define MENU_BOOLEAN_01            0x02 -#define MENU_BOOLEAN_YESNO         0x03 -#define MENU_BOOLEAN_ENDIS         0x04 -#define MENU_BOOLEAN_TYPE_MASK     0x07 - - -#define MENU_TEXT_TYPE 2 -typedef struct menu_text_s -{ -    OPTION_PREAMBLE - -    char *variable;                /* Name of the variable to getenv()/setenv() */ -    int maxchars;                  /* Max number of characters */ -    char *charset;                 /* Optional charset to use */ -    int flags;                     /* Flags - see below */ -} menu_text_t; - -/* TEXT entry menu flags */ -#define MENU_TEXT_NUMERIC         0x01 -#define MENU_TEXT_HEXADECIMAL     0x02 -#define MENU_TEXT_FREE            0x03 -#define MENU_TEXT_TYPE_MASK       0x07 - - -#define MENU_SELECTION_TYPE 3 -typedef struct menu_select_option_s { -	char *map_from;		/* Map this variable contents ... */ -	char *map_to;		/* ... to this menu text and vice versa */ -} menu_select_option_t; - -typedef struct menu_select_s { -	OPTION_PREAMBLE int num_options;	/* Number of mappings */ -	menu_select_option_t **options; -	/* Option list array */ -} menu_select_t; - - -#define MENU_ROUTINE_TYPE 4 -typedef void (*menu_routine_callback) (struct menu_routine_s *); - -typedef struct menu_routine_s { -	OPTION_PREAMBLE menu_routine_callback callback; -	/* routine to be called */ -	void *user_data;	/* User data, don't care for system */ -} menu_routine_t; - - -#define MENU_CUSTOM_TYPE 5 -typedef void (*menu_custom_draw) (struct menu_custom_s *); -typedef void (*menu_custom_key) (struct menu_custom_s *, int); - -typedef struct menu_custom_s { -	OPTION_PREAMBLE menu_custom_draw drawfunc; -	menu_custom_key keyfunc; -	void *user_data; -} menu_custom_t; - -/* - * The menu option superstructure - */ -typedef struct menu_option_s { -	union { -		menu_submenu_t m_sub_menu; -		menu_boolean_t m_boolean; -		menu_text_t m_text; -		menu_select_t m_select; -		menu_routine_t m_routine; -	}; -} menu_option_t; - -/* Init the menu system. Returns <0 on error */ -int menu_init(menu_t *root); - -/* Execute a single menu. Returns <0 on error */ -int menu_do(menu_t *menu); - -#endif |