2 Bacula® - The Network Backup Solution
4 Copyright (C) 2002-2014 Free Software Foundation Europe e.V.
6 The main author of Bacula is Kern Sibbald, with contributions from many
7 others, a complete list can be found in the file AUTHORS.
9 You may use this file and others of this release according to the
10 license defined in the LICENSE file, which includes the Affero General
11 Public License, v3.0 ("AGPLv3") and some additional permissions and
12 terms pursuant to its AGPLv3 Section 7.
14 Bacula® is a registered trademark of Kern Sibbald.
17 * BootStrap record definition -- for restoring files.
19 * Kern Sibbald, June 2002
30 #include "lib/bregex.h"
36 * List of Volume names to be read by Storage daemon.
37 * Formed by Storage daemon from BSR
41 char VolumeName[MAX_NAME_LENGTH];
42 char MediaType[MAX_NAME_LENGTH];
43 char device[MAX_NAME_LENGTH]; /* ***FIXME*** use alist here */
50 * !!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
52 * !!! All records must have a pointer to !!!
53 * !!! the next item as the first item defined. !!!
55 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
60 char VolumeName[MAX_NAME_LENGTH];
61 char MediaType[MAX_NAME_LENGTH];
62 char device[MAX_NAME_LENGTH]; /* ***FIXME*** use alist here */
63 int32_t Slot; /* Slot */
68 char ClientName[MAX_NAME_LENGTH];
80 bool done; /* local done */
85 uint32_t sfile; /* start file */
86 uint32_t efile; /* end file */
87 bool done; /* local done */
92 uint32_t sblock; /* start block */
93 uint32_t eblock; /* end block */
94 bool done; /* local done */
99 uint64_t saddr; /* start address */
100 uint64_t eaddr; /* end address */
101 bool done; /* local done */
106 int32_t findex; /* start file index */
107 int32_t findex2; /* end file index */
108 bool done; /* local done */
122 struct BSR_JOBLEVEL {
129 char Job[MAX_NAME_LENGTH];
130 bool done; /* local done */
135 int32_t stream; /* stream desired */
139 /* NOTE!!! next must be the first item */
140 BSR *next; /* pointer to next one */
141 BSR *prev; /* pointer to previous one */
142 BSR *root; /* root bsr */
143 bool reposition; /* set when any bsr is marked done */
144 bool mount_next_volume; /* set when next volume should be mounted */
145 bool done; /* set when everything found for this bsr */
146 bool use_fast_rejection; /* set if fast rejection can be used */
147 bool use_positioning; /* set if we can position the archive */
148 bool skip_file; /* skip all records for current file */
150 uint32_t count; /* count of files to restore this bsr */
151 uint32_t found; /* count of restored files this bsr */
152 BSR_VOLFILE *volfile;
153 BSR_VOLBLOCK *volblock;
154 BSR_VOLADDR *voladdr;
155 BSR_SESSTIME *sesstime;
160 BSR_FINDEX *FileIndex;
161 BSR_JOBTYPE *JobType;
162 BSR_JOBLEVEL *JobLevel;
164 char *fileregex; /* set if restore is filtered on filename */
165 regex_t *fileregex_re;
166 ATTR *attr; /* scratch space for unpacking */