]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/jcr.h
Make cd accept wildcards
[bacula/bacula] / bacula / src / jcr.h
index 0bdf0a389baf9769afb508729821eb0c1537a03e..10a40c14dc0086da1696cd8fdb786537f4b52974 100644 (file)
 #define JS_DataDespooling        'l'  /* Doing data despooling */
 #define JS_WaitMedia             'm'  /* waiting for new media */
 #define JS_WaitPriority          'p'  /* Waiting for higher priority jobs to finish */
+#define JS_WaitDevice            'q'  /* Queued waiting for device */
 #define JS_WaitStoreRes          's'  /* Waiting for storage resource */
 #define JS_WaitStartTime         't'  /* Waiting for start time */ 
 
+
 /* Migration selection types */
 enum {
    MT_SMALLEST_VOL = 1,
@@ -127,6 +129,7 @@ enum {
    jcr->JobStatus == JS_WaitPriority || \
    jcr->SDJobStatus == JS_WaitMedia  || \
    jcr->SDJobStatus == JS_WaitMount  || \
+   jcr->SDJobStatus == JS_WaitDevice || \
    jcr->SDJobStatus == JS_WaitMaxJobs)
 
 
@@ -141,10 +144,11 @@ enum {
 
 /* Forward referenced structures */
 class JCR;
+class BSOCK;
 struct FF_PKT;
 class  B_DB;
 struct ATTR_DBR;
-struct Plugin;
+class Plugin;
 struct save_pkt;
 struct bpContext;
 struct xattr_private_data_t;
@@ -204,7 +208,9 @@ public:
    };
    const char *get_OperationName();       /* in lib/jcr.c */
    const char *get_ActionName(bool past); /* in lib/jcr.c */
-   void setJobStatus(int JobStatus);      /* in lib/jcr.c */
+   void setJobStatus(int newJobStatus);   /* in lib/jcr.c */
+   bool sendJobStatus();                  /* in lib/jcr.c */
+   bool sendJobStatus(int newJobStatus);  /* in lib/jcr.c */
    bool JobReads();                       /* in lib/jcr.c */
    void my_thread_send_signal(int sig);   /* in lib/jcr.c */
    void set_killable(bool killable);      /* in lib/jcr.c */
@@ -262,6 +268,7 @@ public:
    bool cached_attribute;             /* set if attribute is cached */
    bool batch_started;                /* is batch mode already started ? */
    bool cmd_plugin;                   /* Set when processing a command Plugin = */
+   bool opt_plugin;                   /* Set when processing an option Plugin = */
    bool keep_path_list;               /* Keep newly created path in a hash */
    bool accurate;                     /* true if job is accurate */
    bool HasBase;                      /* True if job use base jobs */
@@ -295,7 +302,6 @@ public:
    pthread_t SD_msg_chan;             /* Message channel thread id */
    pthread_cond_t term_wait;          /* Wait for job termination */
    workq_ele_t *work_item;            /* Work queue item if scheduled */
-   volatile bool sd_msg_thread_done;  /* Set when Storage message thread done */
    BSOCK *ua;                         /* User agent */
    JOB *job;                          /* Job resource */
    JOB *verify_job;                   /* Job resource of verify previous job */
@@ -320,6 +326,7 @@ public:
    uint32_t ExpectedFiles;            /* Expected restore files */
    uint32_t MediaId;                  /* DB record IDs associated with this job */
    uint32_t FileIndex;                /* Last FileIndex processed */
+   utime_t MaxRunSchedTime;           /* max run time in seconds from Scheduled time*/
    POOLMEM *fname;                    /* name to put into catalog */
    JOB_DBR jr;                        /* Job DB record for current job */
    JOB_DBR previous_jr;               /* previous job database record */
@@ -327,6 +334,7 @@ public:
    JCR *mig_jcr;                      /* JCR for migration/copy job */
    char FSCreateTime[MAX_TIME_LENGTH]; /* FileSet CreateTime as returned from DB */
    char since[MAX_TIME_LENGTH];       /* since time */
+   char PrevJob[MAX_NAME_LENGTH];     /* Previous job name assiciated with since time */
    union {
       JobId_t RestoreJobId;           /* Id specified by UA */
       JobId_t MigrateJobId;
@@ -342,7 +350,9 @@ public:
    int32_t reschedule_count;          /* Number of times rescheduled */
    int32_t FDVersion;                 /* File daemon version number */
    int64_t spool_size;                /* Spool size for this job */
+   volatile bool sd_msg_thread_done;  /* Set when Storage message thread done */
    bool wasVirtualFull;               /* set if job was VirtualFull */
+   bool IgnoreDuplicateJobChecking;   /* set in migration jobs */
    bool spool_data;                   /* Spool data in SD */
    bool acquired_resource_locks;      /* set if resource locks acquired */
    bool term_wait_inited;             /* Set when cond var inited */
@@ -362,6 +372,7 @@ public:
    bool run_inc_pool_override;
    bool run_diff_pool_override;
    bool sd_canceled;                  /* set if SD canceled */
+   bool RescheduleIncompleteJobs;     /* set if incomplete can be rescheduled */
 #endif /* DIRECTOR_DAEMON */
 
 
@@ -381,10 +392,12 @@ public:
    POOLMEM *compress_buf;             /* Compression buffer */
    int32_t compress_buf_size;         /* Length of compression buffer */
    void *pZLIB_compress_workset;      /* zlib compression session data */
+   void *LZO_compress_workset;        /* lzo compression session data */
    int32_t replace;                   /* Replace options */
    int32_t buf_size;                  /* length of buffer */
    FF_PKT *ff;                        /* Find Files packet */
    char stored_addr[MAX_NAME_LENGTH]; /* storage daemon address */
+   char PrevJob[MAX_NAME_LENGTH];     /* Previous job name assiciated with since time */
    uint32_t StartFile;
    uint32_t EndFile;
    uint32_t StartBlock;