X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Fdiskfile.h;h=f4ee1faaa6ad365ca0cecac689193dbf0bef3aa2;hb=1acdcb09344331b50f1b8a11fac40966118ce829;hp=78a49efed844ce77dbbbacd5fec955d4ffa7a690;hpb=ac973066bc508cb82728e46eaf499e9424d4e0f1;p=debian%2Famanda diff --git a/server-src/diskfile.h b/server-src/diskfile.h index 78a49ef..f4ee1fa 100644 --- a/server-src/diskfile.h +++ b/server-src/diskfile.h @@ -36,16 +36,24 @@ #include "conffile.h" #include "amfeatures.h" +typedef struct netif_s { + struct netif_s *next; + interface_t *config; + unsigned long curusage; +} netif_t; + typedef struct amhost_s { struct amhost_s *next; /* next host */ char *hostname; /* name of host */ struct disk_s *disks; /* linked list of disk records */ int inprogress; /* # dumps in progress */ int maxdumps; /* maximum dumps in parallel */ - interface_t *netif; /* network interface this host is on */ + netif_t *netif; /* network interface this host is on */ time_t start_t; /* start dump after this time */ char *up; /* generic user pointer */ am_feature_t *features; /* feature set */ + int pre_script; + int post_script; } am_host_t; typedef struct disk_s { @@ -97,7 +105,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 ? */ @@ -106,6 +114,8 @@ typedef struct disk_s { int spindle; /* spindle # - for parallel dumps */ int inprogress; /* being dumped now? */ int todo; + application_t *application; + pp_scriptlist_t pp_scriptlist; void *up; /* generic user pointer */ } disk_t; @@ -115,8 +125,9 @@ typedef struct disklist_s { #define empty(dlist) ((dlist).head == NULL) - -int read_diskfile(const char *, disklist_t *); +/* This function is integrated with the conffile.c error-handling; handle its return + * value just as you would the return of config_init() */ +cfgerr_level_t read_diskfile(const char *, disklist_t *); am_host_t *lookup_host(const char *hostname); disk_t *lookup_disk(const char *hostname, const char *diskname); @@ -135,7 +146,21 @@ void dump_queue(char *str, disklist_t q, int npr, FILE *f); char *optionstr(disk_t *dp, am_feature_t *their_features, FILE *fdout); +/* xml_optionstr() + * to_server must be set to 1 if the result is sent to another server + * application, eg. driver to dumper. + * It must be set to 0 if the result is sent to the client. + */ +char *xml_optionstr(disk_t *dp, am_feature_t *their_features, FILE *fdout, + int to_server); +char *clean_dle_str_for_client(char *dle_str); +char *xml_application(application_t *application, + am_feature_t *their_features); +char *xml_scripts(pp_scriptlist_t pp_scriptlist, am_feature_t *their_features); + char *match_disklist(disklist_t *origqp, int sargc, char **sargv); void free_disklist(disklist_t *dl); +netif_t *disklist_netifs(void); + #endif /* ! DISKFILE_H */