summaryrefslogtreecommitdiff
path: root/shell/cmdedit.h
diff options
context:
space:
mode:
Diffstat (limited to 'shell/cmdedit.h')
-rw-r--r--shell/cmdedit.h46
1 files changed, 32 insertions, 14 deletions
diff --git a/shell/cmdedit.h b/shell/cmdedit.h
index 843a740..0e465e5 100644
--- a/shell/cmdedit.h
+++ b/shell/cmdedit.h
@@ -1,17 +1,35 @@
-/*
- * Termios command line History and Editting for NetBSD sh (ash)
- * Copyright (c) 1999
- * Main code: Adam Rogoyski <rogoyski@cs.utexas.edu>
- * Etc: Dave Cinege <dcinege@psychosis.com>
- * Adjusted for busybox: Erik Andersen <andersee@debian.org>
- *
- * You may use this code as you wish, so long as the original author(s)
- * are attributed in any redistributions of the source code.
- * This code is 'as is' with no warranty.
- * This code may safely be consumed by a BSD or GPL license.
- *
+#ifndef GETLINE_H
+#define GETLINE_H
+
+/* unix systems can #define POSIX to use termios, otherwise
+ * the bsd or sysv interface will be used
*/
-extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd, char command[BUFSIZ]);
-extern void cmdedit_init(void);
+#ifdef __STDC__
+#include <stddef.h>
+
+typedef size_t (*cmdedit_strwidth_proc)(char *);
+
+void cmdedit_read_input(char* promptStr, char* command); /* read a line of input */
+void cmdedit_setwidth(int); /* specify width of screen */
+void cmdedit_histadd(char *); /* adds entries to hist */
+void cmdedit_strwidth(cmdedit_strwidth_proc); /* to bind cmdedit_strlen */
+
+extern int (*cmdedit_in_hook)(char *);
+extern int (*cmdedit_out_hook)(char *);
+extern int (*cmdedit_tab_hook)(char *, int, int *);
+
+#else /* not __STDC__ */
+
+void cmdedit_read_input(char* promptStr, char* command);
+void cmdedit_setwidth();
+void cmdedit_histadd();
+void cmdedit_strwidth();
+
+extern int (*cmdedit_in_hook)();
+extern int (*cmdedit_out_hook)();
+extern int (*cmdedit_tab_hook)();
+
+#endif /* __STDC__ */
+#endif /* GETLINE_H */