* file named AUTHORS, in the root directory of this distribution.
*/
/*
- * $Id: server_util.h,v 1.8.2.1 2006/04/23 18:52:04 martinea Exp $
+ * $Id: server_util.h,v 1.11 2006/05/25 01:47:20 johnfranks Exp $
*
*/
#ifndef SERVER_UTIL_H
#define SERVER_UTIL_H
#include "util.h"
+#include "diskfile.h"
#define MAX_ARGS 32
-typedef enum {
+/*
+ * Some lints are confused by: typedef enum (...) xxx_t;
+ * So here we use an equivalent of type int and an unnamed enum for constants.
+ */
+typedef int cmd_t;
+enum {
BOGUS, QUIT, QUITTING, DONE, PARTIAL,
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,
LAST_TOK
-} cmd_t;
+};
extern const char *cmdstr[];
struct cmdargs {
+ cmd_t cmd;
int argc;
- char *argv[MAX_ARGS + 1];
+ char **argv;
};
-cmd_t getcmd P((struct cmdargs *cmdargs));
-void putresult P((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,
+ char *mesg);
+
+struct dumper_s;
+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);
#endif /* SERVER_UTIL_H */