2 * Amanda, The Advanced Maryland Automatic Network Disk Archiver
3 * Copyright (c) 1991-1999 University of Maryland at College Park
4 * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved.
7 * Permission to use, copy, modify, distribute, and sell this software and its
8 * documentation for any purpose is hereby granted without fee, provided that
9 * the above copyright notice appear in all copies and that both that
10 * copyright notice and this permission notice appear in supporting
11 * documentation, and that the name of U.M. not be used in advertising or
12 * publicity pertaining to distribution of the software without specific,
13 * written prior permission. U.M. makes no representations about the
14 * suitability of this software for any purpose. It is provided "as is"
15 * without express or implied warranty.
17 * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
19 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
21 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
22 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24 * Authors: the Amanda Development Team. Its members are listed in a
25 * file named AUTHORS, in the root directory of this distribution.
28 * $Id: server_util.h,v 1.11 2006/05/25 01:47:20 johnfranks Exp $
41 * Some lints are confused by: typedef enum (...) xxx_t;
42 * So here we use an equivalent of type int and an unnamed enum for constants.
46 BOGUS, QUIT, QUITTING, DONE, PARTIAL,
47 START, FILE_DUMP, PORT_DUMP, CONTINUE, ABORT, /* dumper cmds */
48 FAILED, TRYAGAIN, NO_ROOM, RQ_MORE_DISK, /* dumper results */
49 ABORT_FINISHED, BAD_COMMAND, /* dumper results */
50 START_TAPER, FILE_WRITE, NEW_TAPE, NO_NEW_TAPE, /* taper... */
51 PARTDONE, PORT_WRITE, DUMPER_STATUS, /* ... cmds */
52 PORT, TAPE_ERROR, TAPER_OK, /* taper results */
53 REQUEST_NEW_TAPE, DIRECTTCP_PORT, TAKE_SCRIBE_FROM,
54 START_SCAN, CLOSE_VOLUME, LAST_TOK
56 extern const char *cmdstr[];
64 struct cmdargs *getcmd(void);
65 struct cmdargs *get_pending_cmd(void);
66 void free_cmdargs(struct cmdargs *cmdargs);
67 void putresult(cmd_t result, const char *, ...) G_GNUC_PRINTF(2, 3);
68 int taper_cmd(cmd_t cmd, void *ptr, char *destname, int level, char *datestamp);
72 int chunker_cmd(struct chunker_s *chunker, cmd_t cmd, struct disk_s *dp,
76 int dumper_cmd(struct dumper_s *dumper, cmd_t cmd, struct disk_s *dp,
79 char *amhost_get_security_conf(char *string, void *arg);
80 int check_infofile(char *infodir, disklist_t *dl, char **errmsg);
82 void run_server_script(pp_script_t *pp_script,
83 execute_on_t execute_on,
87 void run_server_dle_scripts(execute_on_t execute_on,
91 void run_server_host_scripts(execute_on_t execute_on,
94 void run_server_global_scripts(execute_on_t execute_on,
97 void run_amcleanup(char *config_name);
98 char *get_master_process(char *logfile);
100 gint64 internal_server_estimate(disk_t *dp, info_t *info,
101 int level, int *stats);
102 int server_can_do_estimate(disk_t *dp, info_t *info, int level);
104 #endif /* SERVER_UTIL_H */