+extern int run_action (const char *cmd, int argc, char *argv[]);
+
+/* in completion.c (auto-generated) */
+extern char **do_completion (const char *text, int start, int end);
+
+/* in destpaths.c */
+extern int complete_dest_paths;
+extern char *complete_dest_paths_generator (const char *text, int state);
+
+/* in alloc.c */
+extern int do_alloc (const char *cmd, int argc, char *argv[]);
+
+/* in echo.c */
+extern int do_echo (const char *cmd, int argc, char *argv[]);
+
+/* in edit.c */
+extern int do_edit (const char *cmd, int argc, char *argv[]);
+
+/* 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[]);
+
+/* 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"