*
*/
/*
- Copyright (C) 2000-2004 Kern Sibbald and John Walker
+ Bacula® - The Network Backup Solution
- 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.
+ Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
+ 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.
+
+ 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.
+ 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
- */
+ Bacula® is a registered trademark of John Walker.
+ The licensor of Bacula is the Free Software Foundation Europe
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf@fsfeurope.org.
+*/
#ifndef __BSR_H
/*
* List of Volume names to be read by Storage daemon.
- * Formed by Storage daemon from BSR
+ * Formed by Storage daemon from BSR
*/
struct VOL_LIST {
VOL_LIST *next;
char VolumeName[MAX_NAME_LENGTH];
- int Slot;
+ char MediaType[MAX_NAME_LENGTH];
+ char device[MAX_NAME_LENGTH]; /* ***FIXME*** use alist here */
+ int Slot;
uint32_t start_file;
};
struct BSR_VOLUME {
BSR_VOLUME *next;
char VolumeName[MAX_NAME_LENGTH];
-};
+ char MediaType[MAX_NAME_LENGTH];
+ char device[MAX_NAME_LENGTH]; /* ***FIXME*** use alist here */
+ int32_t Slot; /* Slot */
+};
struct BSR_CLIENT {
BSR_CLIENT *next;
char ClientName[MAX_NAME_LENGTH];
-};
+};
struct BSR_SESSID {
BSR_SESSID *next;
BSR_SESSTIME *next;
uint32_t sesstime;
bool done; /* local done */
-};
+};
struct BSR_VOLFILE {
BSR_VOLFILE *next;
uint32_t sblock; /* start block */
uint32_t eblock; /* end block */
bool done; /* local done */
-};
+};
struct BSR_FINDEX {
int32_t findex; /* start file index */
int32_t findex2; /* end file index */
bool done; /* local done */
-};
+};
struct BSR_JOBID {
BSR_JOBID *next;
uint32_t JobId;
uint32_t JobId2;
-};
+};
struct BSR_JOBTYPE {
BSR_JOBTYPE *next;
uint32_t JobType;
-};
+};
struct BSR_JOBLEVEL {
BSR_JOBLEVEL *next;
uint32_t JobLevel;
-};
+};
struct BSR_JOB {
BSR_JOB *next;
struct BSR_STREAM {
BSR_STREAM *next;
int32_t stream; /* stream desired */
-};
+};
struct BSR {
BSR *next; /* pointer to next one */
bool use_fast_rejection; /* set if fast rejection can be used */
bool use_positioning; /* set if we can position the archive */
BSR_VOLUME *volume;
- int32_t Slot; /* Slot */
uint32_t count; /* count of files to restore this bsr */
uint32_t found; /* count of restored files this bsr */
BSR_VOLFILE *volfile;