Some enhancements I've been working on over the weekend,
 -Erik
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 */