-/*
- * Bacula JCR Structure definition for Daemons and the Library
- * This definition consists of a "Global" definition common
- * to all daemons and used by the library routines, and a
- * daemon specific part that is enabled with #defines.
- *
- * Kern Sibbald, Nov MM
- *
- * Version $Id$
- */
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2007 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.
This program is Free Software; you can redistribute it and/or
modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
*/
+/*
+ * Bacula JCR Structure definition for Daemons and the Library
+ * This definition consists of a "Global" definition common
+ * to all daemons and used by the library routines, and a
+ * daemon specific part that is enabled with #defines.
+ *
+ * Kern Sibbald, Nov MM
+ *
+ * Version $Id$
+ */
#ifndef __JCR_H_
#define JS_WaitMaxJobs 'd' /* Waiting for maximum jobs */
#define JS_WaitStartTime 't' /* Waiting for start time */
#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 */
/* Migration selection types */
enum {
MSGS *jcr_msgs; /* Copy of message resource -- actually used */
uint32_t ClientId; /* Client associated with Job */
char *where; /* prefix to restore files to */
+ char *RegexWhere; /* file relocation in restore */
+ alist *where_bregexp; /* BREGEXP alist for path manipulation */
int cached_pnl; /* cached path length */
POOLMEM *cached_path; /* cached path */
bool prefix_links; /* Prefix links with Where path */
bool cached_attribute; /* set if attribute is cached */
POOLMEM *attr; /* Attribute string from SD */
B_DB *db; /* database pointer */
+ 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 */
+
+ void *plugin_ctx;
/* Daemon specific part of JCR */
/* This should be empty in the library */
int replace; /* Replace option */
int NumVols; /* Number of Volume used in pool */
int reschedule_count; /* Number of times rescheduled */
+ 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 */
bool term_wait_inited; /* Set when cond var inited */
uint32_t StartBlock;
uint32_t EndBlock;
pthread_t heartbeat_id; /* id of heartbeat thread */
- volatile BSOCK *hb_bsock; /* duped SD socket */
- volatile BSOCK *hb_dir_bsock; /* duped DIR socket */
+ 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? */
int32_t pki_session_encoded_size; /* Size of DER-encoded pki_session */
POOLMEM *crypto_buf; /* Encryption/Decryption buffer */
DIRRES* director; /* Director resource */
- bool runscript_after; /* Don't run After Script twice */
+ bool VSS; /* VSS used by FD */
#endif /* FILE_DAEMON */
/* Storage Daemon specific part of JCR */
JCR *next_dev; /* next JCR attached to device */
JCR *prev_dev; /* previous JCR attached to device */
+ char *dir_auth_key; /* Dir auth key */
pthread_cond_t job_start_wait; /* Wait for FD to start Job */
int type;
DCR *read_dcr; /* device context for reading */
bool ignore_label_errors; /* ignore Volume label errors */
bool spool_attributes; /* set if spooling attributes */
bool no_attributes; /* set if no attributes wanted */
+ int64_t spool_size; /* Spool size for this job */
bool spool_data; /* set to spool data */
int CurVol; /* Current Volume count */
DIRRES* director; /* Director resource */