]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/stored/bsr.h
kes15Jun02
[bacula/bacula] / bacula / src / stored / bsr.h
1 /*
2  * BootStrap record definition -- for restoring files.
3  *
4  *    Kern Sibbald, June 2002
5  *
6  *   Version $Id$
7  *
8  */
9 /*
10    Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
11
12    This program is free software; you can redistribute it and/or
13    modify it under the terms of the GNU General Public License as
14    published by the Free Software Foundation; either version 2 of
15    the License, or (at your option) any later version.
16
17    This program is distributed in the hope that it will be useful,
18    but WITHOUT ANY WARRANTY; without even the implied warranty of
19    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20    General Public License for more details.
21
22    You should have received a copy of the GNU General Public
23    License along with this program; if not, write to the Free
24    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
25    MA 02111-1307, USA.
26
27  */
28
29
30 #ifndef __BSR_H
31 #define __BSR_H 1
32
33 #include "findlib/find.h"
34
35 /*
36  * !!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
37  * !!!                                               !!!
38  * !!!   All records must have a pointer to          !!!
39  * !!!   the next item as the first item defined.    !!!
40  * !!!                                               !!!
41  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
42  */
43
44 typedef struct s_bsr_client {
45    struct s_bsr_client *next;
46    char *ClientName;
47 } BSR_CLIENT;
48
49 typedef struct s_bsr_sessid {
50    struct s_bsr_sessid *next;
51    int type;
52    uint32_t sessid1;
53    uint32_t sessid2;
54    int found;
55 } BSR_SESSID;
56
57 typedef struct s_bsr_sesstime {
58    struct s_bsr_sesstime *next;
59    uint32_t sesstime;
60    int found;
61 } BSR_SESSTIME;
62
63 typedef struct s_bsr_findex {
64    struct s_bsr_findex *next;
65    int32_t FileIndex;
66    int found;
67 } BSR_FINDEX;
68
69 typedef struct s_bsr_jobid {
70    struct s_bsr_jobid *next;
71    uint32_t JobId;
72    int found;
73 } BSR_JOBID;
74
75 typedef struct s_bsr_jobtype {
76    struct s_bsr_jobtype *next;
77    uint32_t JobType;
78 } BSR_JOBTYPE;
79
80 typedef struct s_bsr_joblevel {
81    struct s_bsr_joblevel *next;
82    uint32_t JobLevel;
83 } BSR_JOBLEVEL;
84
85 typedef struct s_bsr_job {
86    struct s_bsr_job *next;
87    char *Job;
88    int found;
89 } BSR_JOB;
90
91
92 typedef struct s_bsr {
93    struct s_bsr *next;                /* pointer to next one */
94    int           done;                /* set when everything found */
95    char         *VolumeName;
96    BSR_CLIENT   *client;
97    BSR_JOB      *job;
98    BSR_SESSID   *sessid;
99    BSR_SESSTIME *sesstime;
100    BSR_FINDEX   *FileIndex;
101    BSR_JOBID    *JobId;
102    BSR_JOBTYPE  *JobType;
103    BSR_JOBLEVEL *JobLevel;
104    FF_PKT *ff;                        /* include/exclude */
105 } BSR;
106
107
108 #endif