#define SERVER_UTIL_H
#include "util.h"
+#include "diskfile.h"
+#include "infofile.h"
#define MAX_ARGS 32
START, FILE_DUMP, PORT_DUMP, CONTINUE, ABORT, /* dumper cmds */
FAILED, TRYAGAIN, NO_ROOM, RQ_MORE_DISK, /* dumper results */
ABORT_FINISHED, BAD_COMMAND, /* dumper results */
- START_TAPER, FILE_WRITE, PORT_WRITE, /* taper cmds */
- PORT, TAPE_ERROR, TAPER_OK, SPLIT_NEEDNEXT, /* taper results */
- SPLIT_CONTINUE,
+ START_TAPER, FILE_WRITE, NEW_TAPE, NO_NEW_TAPE, /* taper... */
+ PARTDONE, PORT_WRITE, DUMPER_STATUS, /* ... cmds */
+ PORT, TAPE_ERROR, TAPER_OK, /* taper results */
+ REQUEST_NEW_TAPE, DIRECTTCP_PORT,
LAST_TOK
};
extern const char *cmdstr[];
struct cmdargs {
+ cmd_t cmd;
int argc;
- char *argv[MAX_ARGS + 1];
+ char **argv;
};
-cmd_t getcmd(struct cmdargs *cmdargs);
-cmd_t getresult(int fd, int show, int *result_argc, char **result_argv, int max_arg);
-void putresult(cmd_t result, const char *, ...)
- __attribute__ ((format (printf, 2, 3)));
+struct cmdargs *getcmd(void);
+struct cmdargs *get_pending_cmd(void);
+void free_cmdargs(struct cmdargs *cmdargs);
+void putresult(cmd_t result, const char *, ...) G_GNUC_PRINTF(2, 3);
int taper_cmd(cmd_t cmd, void *ptr, char *destname, int level, char *datestamp);
struct disk_s;
struct chunker_s;
-int chunker_cmd(struct chunker_s *chunker, cmd_t cmd, struct disk_s *dp);
+int chunker_cmd(struct chunker_s *chunker, cmd_t cmd, struct disk_s *dp,
+ char *mesg);
struct dumper_s;
-int dumper_cmd(struct dumper_s *dumper, cmd_t cmd, struct disk_s *dp);
+int dumper_cmd(struct dumper_s *dumper, cmd_t cmd, struct disk_s *dp,
+ char *mesg);
char *amhost_get_security_conf(char *string, void *arg);
+int check_infofile(char *infodir, disklist_t *dl, char **errmsg);
+
+void run_server_script(pp_script_t *pp_script,
+ execute_on_t execute_on,
+ char *config,
+ disk_t *dp,
+ int level);
+void run_server_scripts(execute_on_t execute_on,
+ char *config,
+ disk_t *dp,
+ int level);
+
+void run_amcleanup(char *config_name);
+char *get_master_process(char *logfile);
+
+gint64 internal_server_estimate(disk_t *dp, info_t *info,
+ int level, int *stats);
+int server_can_do_estimate(disk_t *dp, info_t *info, int level);
#endif /* SERVER_UTIL_H */