X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fbsr.h;h=6267a37f1f16c1191deb8ac36fa51cb90ea0712b;hb=667f720ce438b1eff42f93ca46c366cd3e6e1201;hp=8dcaf57f0eb2d360d307b66201cf5cc2de6c4054;hpb=71025c877b28da7326d650dd3598b9bd64d00e23;p=bacula%2Fbacula diff --git a/bacula/src/stored/bsr.h b/bacula/src/stored/bsr.h index 8dcaf57f0e..6267a37f1f 100644 --- a/bacula/src/stored/bsr.h +++ b/bacula/src/stored/bsr.h @@ -7,24 +7,32 @@ * */ /* - Copyright (C) 2000-2003 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 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 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 @@ -32,13 +40,15 @@ /* * 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; - int start_file; + char MediaType[MAX_NAME_LENGTH]; + char device[MAX_NAME_LENGTH]; /* ***FIXME*** use alist here */ + int Slot; + uint32_t start_file; }; @@ -54,80 +64,86 @@ struct VOL_LIST { 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; uint32_t sessid; uint32_t sessid2; - int done; /* local done */ }; struct BSR_SESSTIME { BSR_SESSTIME *next; uint32_t sesstime; - int done; /* local done */ -}; + bool done; /* local done */ +}; struct BSR_VOLFILE { BSR_VOLFILE *next; uint32_t sfile; /* start file */ uint32_t efile; /* end file */ - int done; /* local done */ + bool done; /* local done */ }; struct BSR_VOLBLOCK { BSR_VOLBLOCK *next; uint32_t sblock; /* start block */ uint32_t eblock; /* end block */ - int done; /* local done */ -}; + bool done; /* local done */ +}; struct BSR_FINDEX { BSR_FINDEX *next; int32_t findex; /* start file index */ int32_t findex2; /* end file index */ - int done; /* local done */ -}; + 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; char Job[MAX_NAME_LENGTH]; - int done; + bool done; /* local done */ }; struct BSR_STREAM { BSR_STREAM *next; int32_t stream; /* stream desired */ -}; +}; struct BSR { BSR *next; /* pointer to next one */ - int done; /* set when everything found */ + BSR *root; /* root bsr */ + bool reposition; /* set when any bsr is marked done */ + bool mount_next_volume; /* set when next volume should be mounted */ + bool done; /* set when everything found for this bsr */ + 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;