+/* in inspect.c */
+extern void inspect_mount (void);
+extern void print_inspect_prompt (void);
+
+/* 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 man.c */
+extern int do_man (const char *cmd, int argc, char *argv[]);
+
+/* in more.c */
+extern int do_more (const char *cmd, int argc, char *argv[]);
+
+/* in prep.c */
+struct prep_data {
+ const struct prep *prep;
+ const char *orig_type_string;
+ const char **params;
+};
+typedef struct prep_data prep_data;
+extern void list_prepared_drives (void);
+extern prep_data *create_prepared_file (const char *type_string,
+ const char *filename);
+extern void prepare_drive (const char *filename, prep_data *data,
+ const char *device);
+extern void prep_error (prep_data *data, const char *filename, const char *fs, ...) __attribute__((noreturn, format (printf,3,4)));
+
+/* in prep_lv.c */
+extern int vg_lv_parse (const char *device, char **vg, char **lv);
+
+/* in progress.c */
+extern void reset_progress_bar (void);
+extern void progress_callback (guestfs_h *g, void *data, int proc_nr, int serial, uint64_t position, uint64_t total);
+
+/* 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 supported.c */
+extern int do_supported (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);
+
+/* in virt.c */
+extern int add_libvirt_drives (const char *guest);
+
+/* 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", \
+ "man", "manual", \
+ "more", "less", \
+ "reopen", \
+ "sparse", \
+ "supported", \
+ "time"
+
+static inline char *
+bad_cast (char const *s)
+{
+ return (char *) s;
+}
+