176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef CLI_H
276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define CLI_H
376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define MAX_CMD_HISTORY 64
576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define COMMAND_DELIM		" \t\n"	// Whitespace delimiters
676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define MAX_COMMAND_ARGS	40
776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstruct cli_command {
976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman    struct list_head list;
1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman    char *command;
1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman};
1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern void clear_screen(void);
1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern int mygetkey(clock_t timeout);
1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern const char *edit_cmdline(const char *input, int top /*, int width */ ,
1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman				int (*pDraw_Menu) (int, int, int),
1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman				void (*show_fkey) (int), bool *);
1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern struct menu *root_menu, *start_menu, *hide_menu, *menu_list, *default_menu;
2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif
21