/*
- *
- * Bootstrap Record header file
- *
- * BSR (bootstrap record) handling routines split from
- * ua_restore.c July MMIII
- *
- * Kern Sibbald, July MMII
- *
- * Version $Id$
- */
+ Bacula(R) - The Network Backup Solution
-/*
- Copyright (C) 2002-2004 Kern Sibbald and John Walker
+ Copyright (C) 2000-2017 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.
+ The original author of Bacula is Kern Sibbald, with contributions
+ from many others, a complete list can be found in the file AUTHORS.
- 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 may use this file and others of this release according to the
+ license defined in the LICENSE file, which includes the Affero General
+ Public License, v3.0 ("AGPLv3") and some additional permissions and
+ terms pursuant to its AGPLv3 Section 7.
- 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.
+ This notice must be preserved when any source code is
+ conveyed and/or propagated.
+ Bacula(R) is a registered trademark of Kern Sibbald.
+*/
+/*
+ * Bootstrap Record header file
+ *
+ * BSR (bootstrap record) handling routines split from
+ * ua_restore.c July MMIII
+ *
+ * Kern Sibbald, July MMII
*/
+
/* FileIndex entry in restore bootstrap record */
struct RBSR_FINDEX {
- RBSR_FINDEX *next;
+ rblink link;
int32_t findex;
int32_t findex2;
};
* on which the Job is stored to the BSR.
*/
struct RBSR {
- RBSR *next; /* next JobId */
- uint32_t JobId; /* JobId this bsr */
+ rblink link;
+ JobId_t JobId; /* JobId this bsr */
uint32_t VolSessionId;
uint32_t VolSessionTime;
- int VolCount; /* Volume parameter count */
- VOL_PARAMS *VolParams; /* Volume, start/end file/blocks */
- RBSR_FINDEX *fi; /* File indexes this JobId */
+ int VolCount; /* Volume parameter count */
+ VOL_PARAMS *VolParams; /* Volume, start/end file/blocks */
+ rblist *fi_list; /* File indexes this JobId */
+ char *fileregex; /* Only restore files matching regex */
+
+ /* If we extend an existing fi, keep the memory for the next insert */
+ RBSR_FINDEX *m_fi;
};