X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Fserver_util.h;h=075447816c116d502316218ed5d51acea5ae2303;hb=HEAD;hp=8e66b90e4a9abb3f97fd69f3e00040d46b4c9d2d;hpb=3ab887b9bc819a846c75dd7f2ee5d41fac22b19f;p=debian%2Famanda diff --git a/server-src/server_util.h b/server-src/server_util.h index 8e66b90..0754478 100644 --- a/server-src/server_util.h +++ b/server-src/server_util.h @@ -1,6 +1,7 @@ /* * Amanda, The Advanced Maryland Automatic Network Disk Archiver * Copyright (c) 1991-1999 University of Maryland at College Park + * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved. * All Rights Reserved. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -24,34 +25,80 @@ * file named AUTHORS, in the root directory of this distribution. */ /* - * $Id: server_util.h,v 1.1.2.1.4.2.2.2 2002/04/13 19:24:17 jrjackson 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" +#include "infofile.h" #define MAX_ARGS 32 -typedef enum { - BOGUS, QUIT, QUITTING, DONE, - FILE_DUMP, PORT_DUMP, CONTINUE, ABORT, /* dumper cmds */ +/* + * 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, FATAL_TRYAGAIN, BAD_COMMAND, /* dumper results */ - START_TAPER, FILE_WRITE, PORT_WRITE, /* taper cmds */ + ABORT_FINISHED, BAD_COMMAND, /* dumper results */ + START_TAPER, FILE_WRITE, NEW_TAPE, NO_NEW_TAPE, /* taper... */ + PARTDONE, PORT_WRITE, DUMPER_STATUS, /* ... cmds */ PORT, TAPE_ERROR, TAPER_OK, /* taper results */ - LAST_TOK -} cmd_t; + REQUEST_NEW_TAPE, DIRECTTCP_PORT, TAKE_SCRIBE_FROM, + START_SCAN, CLOSE_VOLUME, LAST_TOK +}; 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_dle_scripts(execute_on_t execute_on, + char *config, + disk_t *dp, + int level); +void run_server_host_scripts(execute_on_t execute_on, + char *config, + am_host_t *hostp); +void run_server_global_scripts(execute_on_t execute_on, + char *config); + +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 */