*
* Version $Id$
*/
-
/*
Copyright (C) 2000-2005 Kern Sibbald
This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
+ modify it under the terms of the GNU General Public License
+ version 2 as ammended with additional clauses defined in the
+ file LICENSE in the main source directory.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with this program; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ the file LICENSE for additional details.
*/
+
#ifndef __JCR_H_
#define __JCR_H_ 1
#define SD_APPEND 1
#define SD_READ 0
-
+/* Forward referenced structures */
struct JCR;
+struct FF_PKT;
+
typedef void (JCR_free_HANDLER)(JCR *jcr);
/* Job Control Record (JCR) */
POOLMEM *VolumeName; /* Volume name desired -- pool_memory */
POOLMEM *errmsg; /* edited error message */
char Job[MAX_NAME_LENGTH]; /* Unique name of this Job */
+ char event[MAX_NAME_LENGTH]; /* Current event */
uint32_t JobId; /* Director's JobId */
uint32_t VolSessionId;
uint32_t VolSessionTime;
bool prefix_links; /* Prefix links with Where path */
bool gui; /* set if gui using console */
bool authenticated; /* set when client authenticated */
+ void *Python_job; /* Python Job Object */
+ void *Python_events; /* Python Events Object */
+
+ bool cached_attribute; /* set if attribute is cached */
+ POOLMEM *attr; /* Attribute string from SD */
/* Daemon specific part of JCR */
/* This should be empty in the library */
bool write_part_after_job; /* Write part after job in SD */
bool needs_sd; /* set if SD needed by Job */
bool cloned; /* set if cloned */
+ bool unlink_bsr; /* Unlink bsr file created */
+ ATTR_DBR ar; /* DB attribute record */
#endif /* DIRECTOR_DAEMON */
int32_t compress_buf_size; /* Length of compression buffer */
int replace; /* Replace options */
int buf_size; /* length of buffer */
- void *ff; /* Find Files packet */
+ FF_PKT *ff; /* Find Files packet */
char stored_addr[MAX_NAME_LENGTH]; /* storage daemon address */
uint32_t StartFile;
uint32_t EndFile;
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 */
POOLMEM *RunAfterJob; /* Command to run after job */
DIRRES* director; /* Director resource */
#endif /* FILE_DAEMON */
int type;
DCR *dcr; /* device context record */
alist *dcrs; /* list of dcrs open */
-// DEVRES *device; /* device resource to use */
POOLMEM *job_name; /* base Job name (not unique) */
POOLMEM *fileset_name; /* FileSet */
POOLMEM *fileset_md5; /* MD5 for FileSet */
int CurVol; /* Current Volume count */
DIRRES* director; /* Director resource */
bool write_part_after_job; /* Set to write part after job */
+ bool NewVolEachJob; /* Allow using new volume */
uint32_t FileId; /* Last file id inserted */