]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/dird_conf.h
Last major change for 1.27 code -- see kes13Nov02
[bacula/bacula] / bacula / src / dird / dird_conf.h
index 34e6944638ec3ef1655fe2e15713e856de9dc197..e036a3c6386c5b122e02ceed684b37b13de17c56 100644 (file)
 /*
  * Resource codes -- they must be sequential for indexing   
  */
-#define R_FIRST                      1001
-
-#define R_DIRECTOR                   1001
-#define R_CLIENT                     1002
-#define R_JOB                        1003
-#define R_STORAGE                    1004
-#define R_CATALOG                    1005
-#define R_SCHEDULE                   1006
-#define R_FILESET                    1007
-#define R_GROUP                      1008
-#define R_POOL                       1009
-#define R_MSGS                       1010
-#define R_COUNTER                    1011
-
-#define R_LAST                       R_COUNTER
+#define R_FIRST                       1001
+
+#define R_DIRECTOR                    1001
+#define R_CLIENT                      1002
+#define R_JOB                         1003
+#define R_STORAGE                     1004
+#define R_CATALOG                     1005
+#define R_SCHEDULE                    1006
+#define R_FILESET                     1007
+#define R_GROUP                       1008
+#define R_POOL                        1009
+#define R_MSGS                        1010
+#define R_COUNTER                     1011
+
+#define R_LAST                        R_COUNTER
 
 /*
  * Some resource attributes
  */
-#define R_NAME                       1020
-#define R_ADDRESS                    1021
-#define R_PASSWORD                   1022
-#define R_TYPE                       1023
-#define R_BACKUP                     1024
+#define R_NAME                        1020
+#define R_ADDRESS                     1021
+#define R_PASSWORD                    1022
+#define R_TYPE                        1023
+#define R_BACKUP                      1024
 
 
 /* Used for certain KeyWord tables */
-struct s_kw {      
+struct s_kw {       
    char *name;
-   int token;  
+   int token;   
 };
 
 /* Job Level keyword structure */
 struct s_jl {
-   char *level_name;                 /* level keyword */
-   int level;                        /* level */
-   int job_type;                     /* JobType permitting this level */
+   char *level_name;                  /* level keyword */
+   int  level;                        /* level */
+   int  job_type;                     /* JobType permitting this level */
 };
 
 /* Job Type keyword structure */
@@ -78,22 +78,22 @@ struct s_jt {
 /* Definition of the contents of each Resource */
 
 /* 
- *   Director Resource 
+ *   Director Resource  
  *
  */
 struct s_res_dir {
-   RES  hdr;
-   int  DIRport;                     /* where we listen -- UA port server port */
-   char *DIRaddr;                    /* bind address */
-   char *password;                   /* Password for UA access */
-   char *query_file;                 /* SQL query file */
-   char *working_directory;          /* WorkingDirectory */
-   char *pid_directory;              /* PidDirectory */
-   char *subsys_directory;           /* SubsysDirectory */
+   RES   hdr;
+   int   DIRport;                     /* where we listen -- UA port server port */
+   char *DIRaddr;                     /* bind address */
+   char *password;                    /* Password for UA access */
+   char *query_file;                  /* SQL query file */
+   char *working_directory;           /* WorkingDirectory */
+   char *pid_directory;               /* PidDirectory */
+   char *subsys_directory;            /* SubsysDirectory */
    struct s_res_msgs *messages;       /* Daemon message handler */
-   int  MaxConcurrentJobs;
-   btime_t FDConnectTimeout;         /* timeout for connect in seconds */
-   btime_t SDConnectTimeout;         /* timeout in seconds */
+   int   MaxConcurrentJobs;
+   utime_t FDConnectTimeout;          /* timeout for connect in seconds */
+   utime_t SDConnectTimeout;          /* timeout in seconds */
 };
 typedef struct s_res_dir DIRRES;
 
@@ -102,12 +102,12 @@ typedef struct s_res_dir DIRRES;
  *
  */
 struct s_res_client {
-   RES  hdr;
+   RES   hdr;
 
-   int  FDport;                      /* Where File daemon listens */
-   int  AutoPrune;                   /* Do automatic pruning? */
-   btime_t FileRetention;            /* file retention period in seconds */
-   btime_t JobRetention;             /* job retention period in seconds */
+   int   FDport;                      /* Where File daemon listens */
+   int   AutoPrune;                   /* Do automatic pruning? */
+   utime_t FileRetention;             /* file retention period in seconds */
+   utime_t JobRetention;              /* job retention period in seconds */
    char *address;
    char *password;
    struct s_res_cat    *catalog;       /* Catalog resource */
@@ -119,15 +119,15 @@ typedef struct s_res_client CLIENT;
  * 
  */
 struct s_res_store {
-   RES  hdr;
+   RES   hdr;
 
-   int  SDport;                      /* port where Directors connect */
-   int  SDDport;                     /* data port for File daemon */
+   int   SDport;                      /* port where Directors connect */
+   int   SDDport;                     /* data port for File daemon */
    char *address;
    char *password;
    char *media_type;
    char *dev_name;   
-   int autochanger;                  /* set if autochanger */
+   int  autochanger;                  /* set if autochanger */
 };
 typedef struct s_res_store STORE;
 
@@ -136,9 +136,9 @@ typedef struct s_res_store STORE;
  *
  */
 struct s_res_cat {
-   RES  hdr;
+   RES   hdr;
 
-   int  DBport;                      /* Port -- not yet implemented */
+   int   DBport;                      /* Port -- not yet implemented */
    char *address;
    char *db_password;
    char *db_user;
@@ -151,30 +151,30 @@ typedef struct s_res_cat CAT;
  *
  */
 struct s_res_job {
-   RES  hdr;
-
-   int  JobType;                     /* job type (backup, verify, restore */
-   int  level;                       /* default backup/verify level */
-   int  RestoreJobId;                /* What -- JobId to restore */
-   char *RestoreWhere;               /* Where on disk to restore -- directory */
-   char *RestoreBootstrap;           /* Bootstrap file */
-   char *RunBeforeJob;               /* Run program before Job */
-   char *RunAfterJob;                /* Run program after Job */
-   char *WriteBootstrap;             /* Where to write bootstrap Job updates */
-   int  replace;                     /* How (overwrite, ..) */
-   btime_t MaxRunTime;               /* max run time in seconds */
-   btime_t MaxStartDelay;            /* max start delay in seconds */
-   int PruneJobs;                    /* Force pruning of Jobs */
-   int PruneFiles;                   /* Force pruning of Files */
-   int PruneVolumes;                 /* Force pruning of Volumes */
-   int SpoolAttributes;              /* Set to spool attributes in SD */
+   RES   hdr;
+
+   int   JobType;                     /* job type (backup, verify, restore */
+   int   level;                       /* default backup/verify level */
+   int   RestoreJobId;                /* What -- JobId to restore */
+   char *RestoreWhere;                /* Where on disk to restore -- directory */
+   char *RestoreBootstrap;            /* Bootstrap file */
+   char *RunBeforeJob;                /* Run program before Job */
+   char *RunAfterJob;                 /* Run program after Job */
+   char *WriteBootstrap;              /* Where to write bootstrap Job updates */
+   int   replace;                     /* How (overwrite, ..) */
+   utime_t MaxRunTime;                /* max run time in seconds */
+   utime_t MaxStartDelay;             /* max start delay in seconds */
+   int PruneJobs;                     /* Force pruning of Jobs */
+   int PruneFiles;                    /* Force pruning of Files */
+   int PruneVolumes;                  /* Force pruning of Volumes */
+   int SpoolAttributes;               /* Set to spool attributes in SD */
 
    struct s_res_msgs   *messages;     /* How and where to send messages */
    struct s_res_sch    *schedule;     /* When -- Automatic schedule */
    struct s_res_client *client;       /* Who to backup */
    struct s_res_fs     *fileset;      /* What to backup -- Fileset */
    struct s_res_store  *storage;      /* Where is device -- Storage daemon */
-   struct s_res_pool   *pool;        /* Where is media -- Media Pool */
+   struct s_res_pool   *pool;         /* Where is media -- Media Pool */
 };
 typedef struct s_res_job JOB;
 
@@ -183,7 +183,7 @@ typedef struct s_res_job JOB;
  *
  */
 struct s_res_fs {
-   RES  hdr;
+   RES   hdr;
 
    char **include_array;
    int num_includes;
@@ -191,9 +191,9 @@ struct s_res_fs {
    char **exclude_array;
    int num_excludes;
    int exclude_size;
-   int have_MD5;                     /* set if MD5 initialized */
-   struct MD5Context md5c;           /* MD5 of include/exclude */
-   char MD5[50];                     /* base 64 representation of MD5 */
+   int have_MD5;                      /* set if MD5 initialized */
+   struct MD5Context md5c;            /* MD5 of include/exclude */
+   char MD5[50];                      /* base 64 representation of MD5 */
 };
 typedef struct s_res_fs FILESET;
  
@@ -203,7 +203,7 @@ typedef struct s_res_fs FILESET;
  *
  */
 struct s_res_sch {
-   RES  hdr;
+   RES   hdr;
 
    struct s_run *run;
 };
@@ -214,7 +214,7 @@ typedef struct s_res_sch SCHED;
  *
  */
 struct s_res_group {
-   RES  hdr;
+   RES   hdr;
 };
 typedef struct s_res_group GROUP;
 
@@ -222,12 +222,12 @@ typedef struct s_res_group GROUP;
  *   Counter Resource
  */
 struct s_res_counter {
-   RES  hdr;
+   RES   hdr;
 
-   int32_t MinValue;                 /* Minimum value */
-   int32_t MaxValue;                 /* Maximum value */
-   int    Global;                    /* global/local */
-   char  *WrapCounter;               /* Wrap counter name */
+   int32_t MinValue;                  /* Minimum value */
+   int32_t MaxValue;                  /* Maximum value */
+   int     Global;                    /* global/local */
+   char  *WrapCounter;                /* Wrap counter name */
 };
 typedef struct s_res_counter COUNTER;
 
@@ -236,19 +236,21 @@ typedef struct s_res_counter COUNTER;
  *
  */
 struct s_res_pool {
-   RES  hdr;
+   RES   hdr;
 
    struct s_res_counter counter;      /* Counter resources */
-   char *pool_type;                  /* Pool type */
-   char *label_format;               /* Label format string */
-   int  use_catalog;                 /* maintain catalog for media */
-   int  catalog_files;               /* maintain file entries in catalog */
-   int  use_volume_once;             /* write on volume only once */
-   int  accept_any_volume;           /* accept any volume */
-   int  max_volumes;                 /* max number of volumes */
-   btime_t VolRetention;             /* volume retention period in seconds */
-   int  AutoPrune;                   /* default for pool auto prune */
-   int  Recycle;                     /* default for media recycle yes/no */
+   char *pool_type;                   /* Pool type */
+   char *label_format;                /* Label format string */
+   int   use_catalog;                 /* maintain catalog for media */
+   int   catalog_files;               /* maintain file entries in catalog */
+   int   use_volume_once;             /* write on volume only once */
+   int   accept_any_volume;           /* accept any volume */
+   int   max_volumes;                 /* max number of volumes */
+   utime_t VolRetention;              /* volume retention period in seconds */
+   utime_t VolUseDuration;            /* duration volume can be used */
+   uint32_t MaxVolumeJobs;            /* Maximum jobs on the volume */
+   int   AutoPrune;                   /* default for pool auto prune */
+   int   Recycle;                     /* default for media recycle yes/no */
 };
 typedef struct s_res_pool POOL;
 
@@ -257,16 +259,16 @@ typedef struct s_res_pool POOL;
  * resource structure definitions.
  */
 union u_res {
-   struct s_res_dir    res_dir;
-   struct s_res_client res_client;
-   struct s_res_store  res_store;
-   struct s_res_cat    res_cat;
-   struct s_res_job    res_job;
-   struct s_res_fs     res_fs;
-   struct s_res_sch    res_sch;
-   struct s_res_group  res_group;
-   struct s_res_pool   res_pool;
-   struct s_res_msgs   res_msgs;
+   struct s_res_dir     res_dir;
+   struct s_res_client  res_client;
+   struct s_res_store   res_store;
+   struct s_res_cat     res_cat;
+   struct s_res_job     res_job;
+   struct s_res_fs      res_fs;
+   struct s_res_sch     res_sch;
+   struct s_res_group   res_group;
+   struct s_res_pool    res_pool;
+   struct s_res_msgs    res_msgs;
    struct s_res_counter res_counter;
    RES hdr;
 };
@@ -276,17 +278,17 @@ typedef union u_res URES;
 
 /* Run structure contained in Schedule Resource */
 struct s_run {
-   struct s_run *next;               /* points to next run record */
-   int level;                        /* level override */
+   struct s_run *next;                /* points to next run record */
+   int level;                         /* level override */
    int job_type;  
-   POOL *pool;                       /* Pool override */
-   STORE *storage;                   /* Storage override */
-   MSGS *msgs;                       /* Messages override */
+   POOL *pool;                        /* Pool override */
+   STORE *storage;                    /* Storage override */
+   MSGS *msgs;                        /* Messages override */
    char *since;
    int level_no;
-   int minute;                       /* minute to run job */
-   time_t last_run;                  /* last time run */
-   time_t next_run;                  /* next time to run */
+   int minute;                        /* minute to run job */
+   time_t last_run;                   /* last time run */
+   time_t next_run;                   /* next time to run */
    char hour[nbytes_for_bits(24)];    /* bit set for each hour */
    char mday[nbytes_for_bits(31)];    /* bit set for each day of month */
    char month[nbytes_for_bits(12)];   /* bit set for each month */