X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Fdiskfile.h;h=5d744609c82f493ecfffab8b895e274b0f929bb7;hb=HEAD;hp=b04247561552c73fef65777c7dba5846b290f4d7;hpb=fd48f3e498442f0cbff5f3606c7c403d0566150e;p=debian%2Famanda diff --git a/server-src/diskfile.h b/server-src/diskfile.h index b042475..5d74460 100644 --- a/server-src/diskfile.h +++ b/server-src/diskfile.h @@ -1,6 +1,7 @@ /* * Amanda, The Advanced Maryland Automatic Network Disk Archiver * Copyright (c) 1991-1998 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 @@ -34,6 +35,7 @@ #include "amanda.h" #include "conffile.h" +#include "fileheader.h" #include "amfeatures.h" typedef struct netif_s { @@ -58,6 +60,7 @@ typedef struct amhost_s { typedef struct disk_s { int line; /* line number of last definition */ + char *filename; /* the filename where it is read */ struct disk_s *prev, *next; /* doubly linked disk list */ am_host_t *host; /* host list */ @@ -67,6 +70,7 @@ typedef struct disk_s { char *name; /* label name for disk */ char *device; /* device name for disk, eg "sd0g" */ char *dtype_name; /* name of dump type */ + dumptype_t *config; /* pointer to the dumptype config */ char *program; /* dump program, eg DUMP, STAR, GNUTAR */ char *srvcompprog; /* custom compression server filter */ char *clntcompprog; /* custom compression client filter */ @@ -76,16 +80,19 @@ typedef struct disk_s { char *client_username; /* username to connect on the client */ char *client_port; /* port to connect on the client */ char *ssh_keys; /* ssh_key file to use */ - sl_t *exclude_file; /* file exclude spec */ - sl_t *exclude_list; /* exclude list */ - sl_t *include_file; /* file include spec */ - sl_t *include_list; /* include list */ + am_sl_t *exclude_file; /* file exclude spec */ + am_sl_t *exclude_list; /* exclude list */ + am_sl_t *include_file; /* file include spec */ + am_sl_t *include_list; /* include list */ int exclude_optional; /* exclude list are optional */ int include_optional; /* include list are optional */ int priority; /* priority of disk */ - off_t tape_splitsize; /* size of dumpfile chunks on tape */ - char *split_diskbuffer; /* place where we can buffer PORT-WRITE dumps other than RAM */ - off_t fallback_splitsize; /* size for in-RAM PORT-WRITE buffers */ + int allow_split; + int max_warnings; + off_t splitsize; + off_t tape_splitsize; /* size of dumpfile chunks on tape */ + char *split_diskbuffer; /* place where we can buffer PORT-WRITE dumps other than RAM */ + off_t fallback_splitsize; /* size for in-RAM PORT-WRITE buffers */ int dumpcycle; /* days between fulls */ long frequency; /* XXX - not used */ char *auth; /* type of authentication (per disk) */ @@ -106,7 +113,7 @@ typedef struct disk_s { char *clnt_decrypt_opt; /* client-side decryption option parameter to use */ double comprate[2]; /* default compression rates */ /* flag options */ - int record; /* record dump in /etc/dumpdates ? */ + int record; /* record dump in /var/lib/dumpdates ? */ int skip_incr; /* incs done externally ? */ int skip_full; /* fulls done externally ? */ int to_holdingdisk; /* use holding disk ? */ @@ -119,6 +126,7 @@ typedef struct disk_s { int todo; char *application; identlist_t pp_scriptlist; + host_limit_t *dump_limit; void *up; /* generic user pointer */ } disk_t; @@ -132,6 +140,7 @@ typedef struct disklist_s { * value just as you would the return of config_init() */ cfgerr_level_t read_diskfile(const char *, disklist_t *); +am_host_t *get_hostlist(void); am_host_t *lookup_host(const char *hostname); disk_t *lookup_disk(const char *hostname, const char *diskname); @@ -157,10 +166,11 @@ char *optionstr(disk_t *dp); GPtrArray *validate_optionstr(disk_t *dp); char *xml_optionstr(disk_t *dp, int to_server); char *xml_estimate(estimatelist_t estimatelist, am_feature_t *their_features); -char *clean_dle_str_for_client(char *dle_str); +char *clean_dle_str_for_client(char *dle_str, am_feature_t *their_features); char *xml_application(disk_t *dp, application_t *application, am_feature_t *their_features); char *xml_scripts(identlist_t pp_scriptlist, am_feature_t *their_features); +char *xml_dumptype_properties(disk_t *dp); /* disable_skip_disk() set the db->todo flag to 0 for each dle with 'ignore' * 'strategy skip'. It is useful for all programs that want to skip them,i @@ -169,7 +179,10 @@ char *xml_scripts(identlist_t pp_scriptlist, am_feature_t *their_features); */ void disable_skip_disk(disklist_t *origqp); -char *match_disklist(disklist_t *origqp, int sargc, char **sargv); +char *match_disklist(disklist_t *origqp, gboolean exact_match, int sargc, + char **sargv); +gboolean match_dumpfile(dumpfile_t *file, gboolean exact_match, int sargc, + char **sargv); void free_disklist(disklist_t *dl); netif_t *disklist_netifs(void);