]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/bsr.h
Apply Preben 'Peppe' Guldberg <peppe@wielders.org>
[bacula/bacula] / bacula / src / dird / bsr.h
1 /*
2  *
3  *   Bootstrap Record header file
4  *
5  *      BSR (bootstrap record) handling routines split from
6  *        ua_restore.c July MMIII
7  *
8  *     Kern Sibbald, July MMII
9  *
10  *   Version $Id$
11  */
12
13 /*
14    Copyright (C) 2002-2004 Kern Sibbald and John Walker
15
16    This program is free software; you can redistribute it and/or
17    modify it under the terms of the GNU General Public License as
18    published by the Free Software Foundation; either version 2 of
19    the License, or (at your option) any later version.
20
21    This program is distributed in the hope that it will be useful,
22    but WITHOUT ANY WARRANTY; without even the implied warranty of
23    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24    General Public License for more details.
25
26    You should have received a copy of the GNU General Public
27    License along with this program; if not, write to the Free
28    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
29    MA 02111-1307, USA.
30
31  */
32
33
34 /* FileIndex entry in restore bootstrap record */
35 struct RBSR_FINDEX {
36    RBSR_FINDEX *next;
37    int32_t findex;
38    int32_t findex2;
39 };
40
41 /*
42  * Restore bootstrap record -- not the real one, but useful here
43  *  The restore bsr is a chain of BSR records (linked by next).
44  *  Each BSR represents a single JobId, and within it, it
45  *    contains a linked list of file indexes for that JobId.
46  *    The complete_bsr() routine, will then add all the volumes
47  *    on which the Job is stored to the BSR.
48  */
49 struct RBSR {
50    RBSR *next;                        /* next JobId */
51    uint32_t JobId;                    /* JobId this bsr */
52    uint32_t VolSessionId;
53    uint32_t VolSessionTime;
54    int      VolCount;                 /* Volume parameter count */
55    VOL_PARAMS *VolParams;             /* Volume, start/end file/blocks */
56    RBSR_FINDEX *fi;                   /* File indexes this JobId */
57 };