summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h')
-rw-r--r--contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h b/contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h
new file mode 100644
index 0000000..1eb6899
--- /dev/null
+++ b/contrib/syslinux-4.02/gpxe/src/include/cmdlinelib.h
@@ -0,0 +1,99 @@
+/* Command line library */
+#ifndef CMDLINELIB_H
+#define CMDLINELIB_H
+
+#define CMDL_BUFFER_SIZE 256
+//#define CMDL_OUTPUT_SIZE 256
+#define CMDL_PROMPT_SIZE 8
+#define CMDL_MAX_TAB_COMPLETE_RESULT 256
+
+typedef int (*cmdl_putchar_t)(int);
+typedef int (*cmdl_printf_t)( const char *format, ... );
+typedef int (*cmdl_getchar_t)();
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+enum{
+ CMDL_LEFT,
+ CMDL_RIGHT
+};
+
+enum{
+ CMDLK_FW=6,
+ CMDLK_BW=2,
+ CMDLK_BS=8,
+ CMDLK_HOME=2,
+ CMDLK_END=5,
+ CMDLK_DELTOEND=11,
+ CMDLK_DELARG=23,
+ CMDLK_ENTER=0x0d,
+ CMDLK_RETURN=0x0a,
+ CMDLK_TAB=9
+};
+
+typedef struct{
+
+ // buffers
+
+ //char* output;
+ char* buffer;
+ char* prompt;
+
+ // options and values
+
+ int cursor;
+ //int has_output;
+ int exit;
+ int refresh;
+ int tabstate;
+ int insert;
+
+ // callbacks
+
+ cmdl_putchar_t putchar;
+ cmdl_getchar_t getchar;
+ cmdl_printf_t printf;
+
+}cmd_line;
+
+typedef struct{
+ int argc;
+ char **argv;
+}cmdl_param_list;
+
+void cmdl_setputchar(cmd_line* cmd, cmdl_putchar_t in);
+void cmdl_setgetchar(cmd_line* cmd, cmdl_getchar_t in);
+void cmdl_setprintf(cmd_line* cmd, cmdl_printf_t in);
+
+//void cmdl_builtin_help(cmd_line* cmd, char* command);
+
+void cmdl_parsechar(cmd_line* cmd, char in);
+
+void cmdl_addreplace(cmd_line* cmd, char in);
+void cmdl_addinsert(cmd_line* cmd, char in);
+void cmdl_enterloop(cmd_line* cmd);
+void cmdl_exec(cmd_line* cmd);
+void cmdl_setexit(cmd_line* cmd, int exit);
+int cmdl_getexit(cmd_line* cmd);
+void cmdl_clearoutput(cmd_line* cmd);
+void cmdl_clearbuffer(cmd_line* cmd);
+int cmdl_printf(cmd_line* cmd, const char *format, ...);
+char* cmdl_getoutput(cmd_line* cmd);
+//void cmdl_addoutput_str(cmd_line* cmd, char output[CMDL_OUTPUT_SIZE]);
+void cmdl_addstr(cmd_line* cmd, char* str);
+int cmdl_movecursor(cmd_line* cmd, int direction);
+char* cmdl_getbuffer(cmd_line* cmd);
+void cmdl_addchar(cmd_line* cmd, char in);
+int cmdl_check(cmd_line* cmd);
+void cmdl_del(cmd_line* cmd);
+cmd_line* cmdl_create();
+void cmdl_free(cmd_line* cmd);
+char *cmdl_getprompt(cmd_line* cmd);
+void cmdl_setpropmt(cmd_line* cmd, char prompt[CMDL_PROMPT_SIZE]);
+cmdl_param_list* cmdl_getparams(const char* command);
+void cmdl_tabcomplete(cmd_line *cmd);
+
+#endif
+