+/* in lcd.c */
+extern int do_lcd (const char *cmd, int argc, char *argv[]);
+
+/* in glob.c */
+extern int do_glob (const char *cmd, int argc, char *argv[]);
+
+/* in more.c */
+extern int do_more (const char *cmd, int argc, char *argv[]);
+
+/* in rc.c (remote control) */
+extern void rc_listen (void) __attribute__((noreturn));
+extern int rc_remote (int pid, const char *cmd, int argc, char *argv[],
+ int exit_on_error);
+
+/* in reopen.c */
+extern int do_reopen (const char *cmd, int argc, char *argv[]);
+
+/* in time.c */
+extern int do_time (const char *cmd, int argc, char *argv[]);
+
+/* in tilde.c */
+extern char *try_tilde_expansion (char *path);
+
+/* This should just list all the built-in commands so they can
+ * be added to the generated auto-completion code.
+ */
+#define BUILTIN_COMMANDS_FOR_COMPLETION \
+ "help", \
+ "quit", "exit", "q", \
+ "alloc", "allocate", \
+ "echo", \
+ "edit", "vi", "emacs", \
+ "lcd", \
+ "glob", \
+ "more", "less", \
+ "reopen", \
+ "time"
+
+static inline char *
+bad_cast (char const *s)
+{
+ return (char *) s;
+}
+