#define JS_FatalError 'f' /* Fatal error */
#define JS_Differences 'D' /* Verify differences */
#define JS_Canceled 'A' /* canceled by user */
+#define JS_Incomplete 'I' /* Incomplete Job */
#define JS_WaitFD 'F' /* waiting on File daemon */
#define JS_WaitSD 'S' /* waiting on the Storage daemon */
#define JS_WaitMedia 'm' /* waiting for new media */
#define job_canceled(jcr) \
(jcr->JobStatus == JS_Canceled || \
jcr->JobStatus == JS_ErrorTerminated || \
- jcr->JobStatus == JS_FatalError)
+ jcr->JobStatus == JS_FatalError || \
+ jcr->JobStatus == JS_Incomplete \
+ )
#define job_waiting(jcr) \
(jcr->JobStatus == JS_WaitFD || \
void init_mutex(void) {pthread_mutex_init(&mutex, NULL); };
void destroy_mutex(void) {pthread_mutex_destroy(&mutex); };
bool is_job_canceled() {return job_canceled(this); };
+ void set_JobLevel(int32_t JobLevel) { m_JobLevel = JobLevel; };
+ void setJobLevel(int32_t JobLevel) { m_JobLevel = JobLevel; };
+ void set_JobType(int32_t JobType) { m_JobType = JobType; };
+ void setJobType(int32_t JobType) { m_JobType = JobType; };
int32_t get_JobType() { return m_JobType; };
int32_t getJobType() { return m_JobType; };
int32_t get_JobLevel() { return m_JobLevel; };
};
const char *get_OperationName(); /* in lib/jcr.c */
const char *get_ActionName(bool past); /* in lib/jcr.c */
- void set_JobLevel(int32_t JobLevel); /* in lib/jcr.c */
- void setJobLevel(int32_t JobLevel); /* in lib/jcr.c */
- void set_JobType(int32_t JobType); /* in lib/jcr.c */
- void setJobType(int32_t JobType); /* in lib/jcr.c */
void setJobStatus(int JobStatus); /* in lib/jcr.c */
bool JobReads(); /* in lib/jcr.c */
bool Encrypt; /* Encryption used by FD */
bool stats_enabled; /* Keep all job records in a table for long term statistics */
bool no_maxtime; /* Don't check Max*Time for this JCR */
+ bool keep_sd_auth_key; /* Clear or not the SD auth key after connection*/
#endif /* DIRECTOR_DAEMON */
POOLMEM *last_fname; /* last file saved/verified */
POOLMEM *acl_data; /* data with ACLs for backup/restore */
uint32_t acl_data_len; /* length of acl data buffer */
+ uint32_t total_acl_errors; /* numbers of errors encountered for acl backup/restore */
POOLMEM *xattr_data; /* data with Extended Attributes for backup/restore */
uint32_t xattr_data_len; /* length of xattr_data buffer */
+ uint32_t total_xattr_errors; /* numbers of errors encountered for xattr backup/restore */
int32_t last_type; /* type of last file saved/verified */
int incremental; /* set if incremental for SINCE */
utime_t mtime; /* begin time for SINCE */
CRYPTO_CTX crypto; /* Crypto ctx */
DIRRES* director; /* Director resource */
bool VSS; /* VSS used by FD */
+ bool multi_restore; /* Dir can do multiple storage restore */
htable *file_list; /* Previous file list (accurate mode) */
#endif /* FILE_DAEMON */
/* The following routines are found in lib/jcr.c */
+extern int get_next_jobid_from_list(char **p, uint32_t *JobId);
extern bool init_jcr_subsystem(void);
extern JCR *new_jcr(int size, JCR_free_HANDLER *daemon_free_jcr);
extern JCR *get_jcr_by_id(uint32_t JobId);