]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/stored_conf.h
- Modified detection of largefiles to always set all flags regardless
[bacula/bacula] / bacula / src / stored / stored_conf.h
index 6c2f94610746e0cad2a65aeb9a10151d45010fbb..2c4bc74bc756c4e8511880f9955c40148c9e69ae 100644 (file)
@@ -4,7 +4,7 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
+   Copyright (C) 2000-2004 Kern Sibbald and John Walker
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
 
  */
 
-#define R_FIRST                      3001
-
-#define R_DIRECTOR                   3001
-#define R_STORAGE                    3002
-#define R_DEVICE                     3003
-#define R_MSGS                       3004
-
-#define R_LAST                       R_MSGS
-
+enum {
+   R_DIRECTOR = 3001,
+   R_STORAGE,
+   R_DEVICE,
+   R_MSGS,
+   R_FIRST = R_DIRECTOR,
+   R_LAST  = R_MSGS                   /* keep this updated */
+};
 
-#define R_NAME                       3020
-#define R_ADDRESS                    3021
-#define R_PASSWORD                   3022
-#define R_TYPE                       3023
-#define R_BACKUP                     3024
+enum {
+   R_NAME = 3020,
+   R_ADDRESS,
+   R_PASSWORD,
+   R_TYPE,
+   R_BACKUP
+};
 
-#define STORAGE_DAEMON 1
 
 /* Definition of the contents of each Resource */
-struct s_res_dir {
-   RES  hdr;
+struct DIRRES {
+   RES   hdr;
 
-   char *password;                   /* Director password */
-   char *address;                    /* Director IP address or zero */
+   char *password;                    /* Director password */
+   char *address;                     /* Director IP address or zero */
+   int enable_ssl;                    /* Use SSL with this Director */
+   int monitor;                       /* Have only access to status and .status functions */
 };
-typedef struct s_res_dir DIRRES;
 
 
 /* Storage daemon "global" definitions */
 struct s_res_store {
-   RES  hdr;
+   RES   hdr;
 
-   char *address;
-   int  SDport;                      /* Where we listen for Directors */
-   int   SDDport;                     /* "Data" port where we listen for File daemons */
-   char *working_directory;          /* working directory for checkpoints */
+   dlist *sdaddrs;
+   dlist *sddaddrs;
+   char *working_directory;           /* working directory for checkpoints */
    char *pid_directory;
    char *subsys_directory;
+   int require_ssl;                   /* Require SSL on all connections */
    uint32_t max_concurrent_jobs;      /* maximum concurrent jobs to run */
-   struct s_res_msgs *messages;       /* Daemon message handler */
+   MSGS *messages;                    /* Daemon message handler */
+   utime_t heartbeat_interval;        /* Interval to send hb to FD */
 };
 typedef struct s_res_store STORES;
 
 /* Device specific definitions */
-struct s_res_dev {
-   RES  hdr;
-
-   char *media_type;
-   char *device_name;
-   int cap_bits;
-   uint32_t max_rewind_wait;         /* maximum secs to wait for rewind */
-   uint32_t min_block_size;          /* min block size */
-   uint32_t max_block_size;          /* max block size */
-   uint32_t max_volume_jobs;         /* max jobs to put on one volume */
-   int64_t max_volume_files;         /* max files to put on one volume */
-   int64_t max_volume_size;          /* max bytes to put on one volume */
-   int64_t max_file_size;            /* max file size in bytes */
-   int64_t volume_capacity;          /* advisory capacity */
-   DEVICE *dev;
+struct DEVRES {
+   RES   hdr;
+
+   char *media_type;                  /* User assigned media type */
+   char *device_name;                 /* Archive device name */
+   char *changer_name;                /* Changer device name */
+   char *changer_command;             /* Changer command  -- external program */
+   char *alert_command;               /* Alert command -- external program */
+   char *spool_directory;             /* Spool file directory */
+   uint32_t drive_index;              /* Autochanger drive index */
+   uint32_t cap_bits;                 /* Capabilities of this device */
+   uint32_t max_changer_wait;         /* Changer timeout */
+   uint32_t max_rewind_wait;          /* maximum secs to wait for rewind */
+   uint32_t max_open_wait;            /* maximum secs to wait for open */
+   uint32_t max_open_vols;            /* maximum simultaneous open volumes */
+   uint32_t min_block_size;           /* min block size */
+   uint32_t max_block_size;           /* max block size */
+   uint32_t max_volume_jobs;          /* max jobs to put on one volume */
+   uint32_t max_network_buffer_size;  /* max network buf size */
+   utime_t  vol_poll_interval;        /* interval between polling volume during mount */
+   int64_t max_volume_files;          /* max files to put on one volume */
+   int64_t max_volume_size;           /* max bytes to put on one volume */
+   int64_t max_file_size;             /* max file size in bytes */
+   int64_t volume_capacity;           /* advisory capacity */
+   int64_t max_spool_size;            /* Max spool size for all jobs */
+   int64_t max_job_spool_size;        /* Max spool size for any single job */
+   DEVICE *dev;                       /* Pointer to phyical dev -- set at runtime */
 };
-typedef struct s_res_dev DEVRES;
 
-union u_res {
-   struct s_res_dir    res_dir;
-   struct s_res_store  res_store;
-   struct s_res_dev    res_dev;
-   struct s_res_msgs   res_msgs;
-   RES hdr;
+union URES {
+   DIRRES res_dir;
+   STORES res_store;
+   DEVRES res_dev;
+   MSGS   res_msgs;
+   RES    hdr;
 };
-typedef union u_res URES;