extern int issue_command (const char *cmd, char *argv[], const char *pipe);
extern void pod2text (const char *name, const char *shortdesc, const char *body);
extern void list_builtin_commands (void);
-extern void display_builtin_command (const char *cmd);
+extern int display_builtin_command (const char *cmd);
extern void free_strings (char **argv);
extern int count_strings (char *const *argv);
extern void print_strings (char *const *argv);
/* in cmds.c (auto-generated) */
extern void list_commands (void);
-extern void display_command (const char *cmd);
-extern int run_action (const char *cmd, int argc, char *argv[]);
+extern int display_command (const char *cmd);
+extern int run_action (const char *cmd, size_t argc, char *argv[]);
/* in completion.c (auto-generated) */
extern char **do_completion (const char *text, int start, int end);
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[]);
-extern int do_sparse (const char *cmd, int argc, char *argv[]);
+extern int do_alloc (const char *cmd, size_t argc, char *argv[]);
+extern int do_sparse (const char *cmd, size_t argc, char *argv[]);
extern int alloc_disk (const char *filename, const char *size,
int add, int sparse);
/* in echo.c */
-extern int do_echo (const char *cmd, int argc, char *argv[]);
+extern int do_echo (const char *cmd, size_t argc, char *argv[]);
/* in edit.c */
-extern int do_edit (const char *cmd, int argc, char *argv[]);
+extern int do_edit (const char *cmd, size_t argc, char *argv[]);
/* in lcd.c */
-extern int do_lcd (const char *cmd, int argc, char *argv[]);
+extern int do_lcd (const char *cmd, size_t argc, char *argv[]);
/* in glob.c */
-extern int do_glob (const char *cmd, int argc, char *argv[]);
+extern int do_glob (const char *cmd, size_t argc, char *argv[]);
/* in man.c */
-extern int do_man (const char *cmd, int argc, char *argv[]);
+extern int do_man (const char *cmd, size_t argc, char *argv[]);
/* in more.c */
-extern int do_more (const char *cmd, int argc, char *argv[]);
+extern int do_more (const char *cmd, size_t 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 rc.c (remote control) */
extern void rc_listen (void) __attribute__((noreturn));
-extern int rc_remote (int pid, const char *cmd, int argc, char *argv[],
+extern int rc_remote (int pid, const char *cmd, size_t argc, char *argv[],
int exit_on_error);
/* in reopen.c */
-extern int do_reopen (const char *cmd, int argc, char *argv[]);
+extern int do_reopen (const char *cmd, size_t argc, char *argv[]);
+
+/* in supported.c */
+extern int do_supported (const char *cmd, size_t argc, char *argv[]);
/* in time.c */
-extern int do_time (const char *cmd, int argc, char *argv[]);
+extern int do_time (const char *cmd, size_t argc, char *argv[]);
/* in tilde.c */
extern char *try_tilde_expansion (char *path);
"more", "less", \
"reopen", \
"sparse", \
+ "supported", \
"time"
static inline char *