]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/jcr.h
Oops. When I changed the contents of the field earlier, I forgot to make this change
[bacula/bacula] / bacula / src / jcr.h
index 58b92d2ab2e2ecc9665164bd9cd1dfe4a8caff8c..36494a89f81edbcdefc59232f648e28e4193e50d 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -89,6 +89,8 @@
 #define JS_WaitPriority          'p'  /* Waiting for higher priority jobs to finish */
 #define JS_AttrDespooling        'a'  /* SD despooling attributes */
 #define JS_AttrInserting         'i'  /* Doing batch insert file records */
+#define JS_DataDespooling        'l'  /* Doing data despooling */
+#define JS_DataCommitting        'L'  /* Committing data (last despool) */
 
 /* Migration selection types */
 enum {
@@ -117,9 +119,27 @@ enum {
 
 /* Forward referenced structures */
 class JCR;
+class htable;
 struct FF_PKT;
 struct B_DB;
 struct ATTR_DBR;
+struct Plugin;
+struct save_pkt;
+
+#ifdef FILE_DAEMON
+struct CRYPTO_CTX {
+   bool pki_sign;                     /* Enable PKI Signatures? */
+   bool pki_encrypt;                  /* Enable PKI Encryption? */
+   DIGEST *digest;                    /* Last file's digest context */
+   X509_KEYPAIR *pki_keypair;         /* Encryption key pair */
+   alist *pki_signers;                /* Trusted Signers */
+   alist *pki_recipients;             /* Trusted Recipients */
+   CRYPTO_SESSION *pki_session;       /* PKE Public Keys + Symmetric Session Keys */
+   POOLMEM *pki_session_encoded;      /* Cached DER-encoded copy of pki_session */
+   int32_t pki_session_encoded_size;  /* Size of DER-encoded pki_session */
+   POOLMEM *crypto_buf;               /* Encryption/Decryption buffer */
+};
+#endif
 
 typedef void (JCR_free_HANDLER)(JCR *jcr);
 
@@ -191,6 +211,13 @@ public:
    B_DB *db_batch;                    /* database pointer for batch insert */
    ATTR_DBR *ar;                      /* DB attribute record */
    guid_list *id_list;                /* User/group id to name list */
+   bool accurate;                     /* true if job is accurate */
+
+   void *plugin_ctx_list;             /* list of contexts for plugins */
+   void *plugin_ctx;                  /* current plugin context */
+   Plugin *plugin;                    /* plugin instance */
+   save_pkt *plugin_sp;               /* plugin save packet */
+   char *plugin_options;              /* user set options for plugin */
 
    /* Daemon specific part of JCR */
    /* This should be empty in the library */
@@ -246,9 +273,11 @@ public:
    POOLMEM *rpool_source;             /* Where migrate read pool came from */
    POOLMEM *rstore_source;            /* Where read storage came from */
    POOLMEM *wstore_source;            /* Where write storage came from */
+   POOLMEM *catalog_source;           /* Where catalog came from */
    int replace;                       /* Replace option */
    int NumVols;                       /* Number of Volume used in pool */
    int reschedule_count;              /* Number of times rescheduled */
+   int FDVersion;                     /* File daemon version number */
    int64_t spool_size;                /* Spool size for this job */
    bool spool_data;                   /* Spool data in SD */
    bool acquired_resource_locks;      /* set if resource locks acquired */
@@ -290,17 +319,10 @@ public:
    BSOCK *hb_bsock;                   /* duped SD socket */
    BSOCK *hb_dir_bsock;               /* duped DIR socket */
    alist *RunScripts;                 /* Commands to run before and after job */
-   bool pki_sign;                     /* Enable PKI Signatures? */
-   bool pki_encrypt;                  /* Enable PKI Encryption? */
-   DIGEST *digest;                    /* Last file's digest context */
-   X509_KEYPAIR *pki_keypair;         /* Encryption key pair */
-   alist *pki_signers;                /* Trusted Signers */
-   alist *pki_recipients;             /* Trusted Recipients */
-   CRYPTO_SESSION *pki_session;       /* PKE Public Keys + Symmetric Session Keys */
-   uint8_t *pki_session_encoded;      /* Cached DER-encoded copy of pki_session */
-   int32_t pki_session_encoded_size;  /* Size of DER-encoded pki_session */
-   POOLMEM *crypto_buf;               /* Encryption/Decryption buffer */
+   CRYPTO_CTX crypto;                 /* Crypto ctx */
    DIRRES* director;                  /* Director resource */
+   bool VSS;                          /* VSS used by FD */
+   htable *file_list;                 /* Previous file list (accurate mode) */
 #endif /* FILE_DAEMON */