summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux/latest/com32/cmenu/libmenu/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux/latest/com32/cmenu/libmenu/menu.h')
-rw-r--r--contrib/syslinux/latest/com32/cmenu/libmenu/menu.h294
1 files changed, 0 insertions, 294 deletions
diff --git a/contrib/syslinux/latest/com32/cmenu/libmenu/menu.h b/contrib/syslinux/latest/com32/cmenu/libmenu/menu.h
deleted file mode 100644
index 141d2ef..0000000
--- a/contrib/syslinux/latest/com32/cmenu/libmenu/menu.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/* -*- c -*- ------------------------------------------------------------- *
- *
- * Copyright 2004-2005 Murali Krishnan Ganapathy - All Rights Reserved
- *
- * 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, Inc., 53 Temple Place Ste 330,
- * Boston MA 02111-1307, USA; either version 2 of the License, or
- * (at your option) any later version; incorporated herein by reference.
- *
- * ----------------------------------------------------------------------- */
-
-/* This program can be compiled for DOS with the OpenWatcom compiler
- * (http://www.openwatcom.org/):
- *
- * wcl -3 -osx -mt <filename>.c
- */
-
-#ifndef __MENU_H__
-#define __MENU_H__
-
-#include "com32io.h"
-#include "tui.h"
-#include "syslnx.h"
-#include <string.h>
-#include <unistd.h>
-
-// TIMEOUT PARAMETERS
-/* If no key is pressed within TIMEOUTNUMSTEPS * TIMEOUTSTEPSIZE milliseconds
- and if a timeout handler is registered, then that will be called.
- The handler should either either take control from there on, or return without
- producing any change in the current video settings.
-
- For e.g. the handler could
- * Could just quit the menu program
- * beep and return.
-
- TIMEOUTSTEPSIZE is the interval for which the program sleeps without checking for
- any keystroke. So increasing this will make the response of the system slow.
- Decreasing this will make a lot of interrupt calls using up your CPU. Default
- value of TIMEOUTSTEPSIZE of 0.1 seconds should be right in most cases.
-
- TIMEOUTNUMSTEPS of 3000 corresponds to a wait time of 300 seconds or 5 minutes
-*/
-
-#define TIMEOUTSTEPSIZE 10
-#define TIMEOUTNUMSTEPS 30000L
-
-// Attributes
-#define NORMALATTR 0x17
-#define NORMALHLITE 0x1F // Normal Highlight attribute
-#define REVERSEATTR 0x70
-#define REVERSEHLITE 0x78 // Reverse Hightlight attribute
-#define INACTATTR 0x18
-#define INACTHLITE 0x10 // Inactive Highlight attribute
-#define REVINACTATTR 0x78
-#define REVINACTHLITE 0x70 // Reverse Inactive Highlight attr
-
-#define STATUSATTR 0x74
-#define STATUSHLITE 0x7B // Status highlight
-
-#define FILLCHAR ' '
-#define FILLATTR NORMALATTR
-#define SHADOWATTR 0x00
-#define SPACECHAR ' '
-
-#define TFILLCHAR ' '
-#define TITLEATTR 0x70
-
-#define ENABLEHLITE '<' // Char which turns on highlight
-#define DISABLEHLITE '>' // Char which turns off highlight
-#define NOHLITE 0 // The offset into attrib array for non-hilite
-#define HLITE 1 // The offset for Hlite attrib
-
-#define MOREABOVE '^' // char to print when more menu items available above
-#define MOREBELOW 'v' // more items available below
-
-// Attributes of the menu system
-#define MAXMENUS 250 // Maximum number of menu's allowed
-#define MAXMENUSIZE 100 // Default value for max num of entries in each menu
-#define MAXMENUHEIGHT 20 // Maximum number of entries displayed
-#define MENUBOXTYPE BOX_SINSIN // Default box type Look at tui.h for other values
-
-// Upper bounds on lengths
-// We copy the given string, so user can reuse the space used to store incoming arguments.
-#define MENULEN 78 // Each menu entry is atmost MENULEN chars
-#define STATLEN 78 // Maximum length of status string
-#define TITLELEN 78 // Maximum length of title string
-#define ACTIONLEN 255 // Maximum length of an action string
-
-// Layout of menu
-#define MENUROW 3 // Row where menu is displayed (relative to window)
-#define MENUCOL 4 // Col where menu is displayed (relative to window)
-#define MENUPAGE 1 // show in display page 1
-#define STATLINE 24 // Line number where status line starts (relative to window)
-
-// Used for printing debugging messages
-#define DEBUGLINE 23 // debugging info goes here
-
-// Other Chars
-#define RADIOMENUCHAR '>' // > symbol for radio menu?
-#define CHECKED '\140' // Check mark
-#define UNCHECKED '\146' // Light bullet
-#define RADIOSEL '.' // Current Radio Selection
-#define RADIOUNSEL ' ' // Radio option not selected
-
-typedef unsigned char uchar;
-
-// Types of menu's
-#define NORMALMENU 1
-#define RADIOMENU 2
-
-typedef enum { OPT_INACTIVE, OPT_SUBMENU, OPT_RUN, OPT_EXITMENU, OPT_CHECKBOX,
- OPT_RADIOMENU, OPT_SEP, OPT_INVISIBLE,
- OPT_RADIOITEM
-} t_action;
-
-typedef union {
- uchar submenunum; // For submenu's
- uchar checked; // For check boxes
- uchar radiomenunum; // Item mapping to a radio menu
-} t_itemdata;
-
-struct s_menuitem;
-struct s_menu;
-struct s_menusystem;
-
-typedef struct {
- unsigned int valid:1; // Is action valid?
- unsigned int refresh:1; // Should we recompute menu stuff?
- unsigned int reserved:6; // For future expansion
-} t_handler_return;
-
-t_handler_return ACTION_VALID, ACTION_INVALID; // Specific values
-
-typedef t_handler_return(*t_item_handler) (struct s_menusystem *,
- struct s_menuitem *);
-typedef void (*t_menusystem_handler) (struct s_menusystem *,
- struct s_menuitem *);
-typedef void (*t_keys_handler) (struct s_menusystem *, struct s_menuitem *,
- unsigned int scancode);
- // Last parameter = HIGH BYTE = scan code , LOW BYTE = ASCII CODE
-
-typedef enum { HDLR_SCREEN, HDLR_KEYS } t_handler;
-// Types of handlers for menu system
-
-// TIMEOUT is the list of possible values which can be returned by the handler
-// instructing the menusystem what to do. The default is CODE_WAIT
-typedef enum { CODE_WAIT, CODE_ENTER, CODE_ESCAPE } TIMEOUTCODE;
-typedef TIMEOUTCODE(*t_timeout_handler) (void);
-
-typedef struct s_menuitem {
- char *item;
- char *status;
- char *data; // string containing kernel to run.. but...
- // for radio menu's this is a pointer to the item selected or NULL (initially)
- // for submenu's this string could be name of menu
- void *extra_data; // Any other data user can point to
- unsigned int helpid; // Used for Context sensitive help
- t_item_handler handler; // Pointer to function of type menufn
- t_action action;
- t_itemdata itemdata; // Data depends on action value
- uchar shortcut; // one of [A-Za-z0-9] shortcut for this menu item
- uchar index; // Index within the menu array
- uchar parindex; // Index of the menu in which this item appears.
-
-} t_menuitem;
-
-typedef t_menuitem *pt_menuitem; // Pointer to type menuitem
-
-typedef struct s_menu {
- pt_menuitem *items; // pointer to array of pointer to menuitems
- char *title; // Title string for menu
- char *name; // menu can be referred to by this string
- int maxmenusize; // the size of array allocated
- uchar numitems; // how many items do we actually have
- uchar menuwidth;
- uchar row, col; // Position where this menu should be displayed
- uchar menuheight; // Maximum number of items to be displayed
-} t_menu;
-
-typedef t_menu *pt_menu; // Pointer to type menu
-
-typedef struct s_menusystem {
- pt_menu menus[MAXMENUS];
- char *title;
- t_menusystem_handler handler; // Menu system handler
- t_keys_handler keys_handler; // Handler for unknown keys
- t_timeout_handler ontimeout; // Timeout handler
- unsigned long tm_numsteps;
- // Time to wait for key press=numsteps * stepsize milliseconds
- unsigned int tm_stepsize; // Timeout step size (in milliseconds)
- // Total timeout max time spent idle before we call handler
- unsigned long tm_total_timeout; // (in milli seconds)
- unsigned long tm_sofar_timeout; // All accumulated timeout
- // total timeout handler
- t_timeout_handler ontotaltimeout; // Total timeout handler
-
- int maxmenuheight;
- uchar nummenus;
- uchar normalattr[2]; // [0] is non-hlite attr, [1] is hlite attr
- uchar reverseattr[2];
- uchar inactattr[2];
- uchar revinactattr[2];
- uchar statusattr[2];
- uchar fillchar;
- uchar fillattr;
- uchar spacechar;
- uchar tfillchar;
- uchar titleattr;
- uchar shadowattr;
- uchar statline;
- uchar menupage;
- int maxrow, minrow, numrows; // Number of rows in the window
- int maxcol, mincol, numcols; // Number of columns in the window
-
- // Menu box look
- char box_horiz, box_ltrt, box_rtlt; // Some chars of the box, for redrawing portions of the box
-
-} t_menusystem;
-
-typedef t_menusystem *pt_menusystem; // Pointer to type menusystem
-
-pt_menuitem showmenus(uchar startmenu);
-
-pt_menusystem init_menusystem(const char *title);
-
-void close_menusystem(void); // Deallocate memory used
-
-void set_normal_attr(uchar normal, uchar selected, uchar inactivenormal,
- uchar inactiveselected);
-
-void set_normal_hlite(uchar normal, uchar selected, uchar inactivenormal,
- uchar inactiveselected);
-
-void set_status_info(uchar statusattr, uchar statushlite, uchar statline);
-
-void set_title_info(uchar tfillchar, uchar titleattr);
-
-void set_misc_info(uchar fillchar, uchar fillattr, uchar spacechar,
- uchar shadowattr);
-
-void set_window_size(uchar top, uchar left, uchar bot, uchar right); // Set the window which menusystem should use
-
-void set_menu_options(uchar maxmenuheight);
-// maximum height of a menu
-
-void reg_handler(t_handler htype, void *handler); // Register handler
-
-void unreg_handler(t_handler htype);
-
-void reg_ontimeout(t_timeout_handler, unsigned int numsteps,
- unsigned int stepsize);
-// Set timeout handler, set 0 for default values.
-// So stepsize=0 means numsteps is measured in centiseconds.
-void unreg_ontimeout(void);
-
-void reg_ontotaltimeout(t_timeout_handler, unsigned long numcentiseconds);
-void unreg_ontotaltimeout(void);
-
-// Find the number of the menu given the name
-// Returns -1 if not found
-uchar find_menu_num(const char *name);
-
-// Create a new menu and return its position
-uchar add_menu(const char *title, int maxmenusize);
-
-// Create a named menu and return its position
-uchar add_named_menu(const char *name, const char *title, int maxmenusize);
-
-void set_menu_pos(uchar row, uchar col); // Set the position of this menu.
-
-// Add item to the "current" menu
-pt_menuitem add_item(const char *item, const char *status, t_action action,
- const char *data, uchar itemdata);
-
-// Set shortcut key and help id
-void set_item_options(uchar shortcut, int helpid);
-
-// Set the shortcut key for the current item
-static inline void set_shortcut(uchar shortcut)
-{
- set_item_options(shortcut, 0xFFFF);
-}
-
-// Add a separator to the "current" menu
-pt_menuitem add_sep(void);
-
-// Generate string based on state of checkboxes and radioitem in given menu
-// and append string to existing contents of "line"
-// line must have enough space allocated
-void gen_append_line(const char *menu_name, char *line);
-
-#endif