]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/bsr.h
Update doc, default working directory bscan
[bacula/bacula] / bacula / src / stored / bsr.h
index 6e08841214f47a1907ea3c164f2d9b6a7850f5b0..39acdd562450dd5a416c4673720ed5fffddd78ef 100644 (file)
 
 #include "findlib/find.h"
 
+/*
+ * List of Volume names to be read by Storage daemon.
+ *  Formed by Storage daemon from BSR  
+ */
+struct s_vol_list {
+   struct s_vol_list *next;
+   char VolumeName[MAX_NAME_LENGTH];
+   int Slot; 
+   int start_file;
+};
+typedef struct s_vol_list VOL_LIST;
+
+
 /*
  * !!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- * !!!                                               !!!
- * !!!   All records must have a pointer to          !!!
- * !!!   the next item as the first item defined.    !!!
- * !!!                                               !!!
+ * !!!                                              !!!
+ * !!!  All records must have a pointer to          !!!
+ * !!!  the next item as the first item defined.    !!!
+ * !!!                                              !!!
  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  */
 
+typedef struct s_bsr_volume {
+   struct s_bsr_volume *next;
+   char VolumeName[MAX_NAME_LENGTH];
+} BSR_VOLUME;
+
 typedef struct s_bsr_client {
    struct s_bsr_client *next;
-   char *ClientName;
+   char ClientName[MAX_NAME_LENGTH];
 } BSR_CLIENT;
 
 typedef struct s_bsr_sessid {
    struct s_bsr_sessid *next;
    uint32_t sessid;
    uint32_t sessid2;
-   int found;
+   int done;                         /* local done */
 } BSR_SESSID;
 
+typedef struct s_bsr_sesstime {
+   struct s_bsr_sesstime *next;
+   uint32_t sesstime;
+   int done;                         /* local done */
+} BSR_SESSTIME;
+
 typedef struct s_bsr_volfile {
    struct s_bsr_volfile *next;
-   uint32_t sfile;                    /* start file */
-   uint32_t efile;                    /* end file */
-   int found;
+   uint32_t sfile;                   /* start file */
+   uint32_t efile;                   /* end file */
+   int done;                         /* local done */
 } BSR_VOLFILE;
 
+typedef struct s_bsr_volblock {
+   struct s_bsr_volblock *next;
+   uint32_t sblock;                  /* start block */
+   uint32_t eblock;                  /* end block */
+   int done;                         /* local done */
+} BSR_VOLBLOCK;
 
-typedef struct s_bsr_sesstime {
-   struct s_bsr_sesstime *next;
-   uint32_t sesstime;
-   int found;
-} BSR_SESSTIME;
 
 typedef struct s_bsr_findex {
    struct s_bsr_findex *next;
-   int32_t findex;                    /* start file index */
-   int32_t findex2;                   /* end file index */
-   int found;
+   int32_t findex;                   /* start file index */
+   int32_t findex2;                  /* end file index */
+   int done;                         /* local done */
 } BSR_FINDEX;
 
 typedef struct s_bsr_jobid {
    struct s_bsr_jobid *next;
    uint32_t JobId;
    uint32_t JobId2;
-   int found;
 } BSR_JOBID;
 
 typedef struct s_bsr_jobtype {
@@ -93,25 +117,34 @@ typedef struct s_bsr_joblevel {
 
 typedef struct s_bsr_job {
    struct s_bsr_job *next;
-   char *Job;
-   int found;
+   char Job[MAX_NAME_LENGTH];
+   int done;
 } BSR_JOB;
 
+typedef struct s_bsr_stream {
+   struct s_bsr_stream *next;
+   int32_t stream;                   /* stream desired */
+} BSR_STREAM;
 
 typedef struct s_bsr {
-   struct s_bsr *next;                /* pointer to next one */
-   int           done;                /* set when everything found */
-   char         *VolumeName;
-   BSR_CLIENT   *client;
-   BSR_JOB      *job;
-   BSR_SESSID   *sessid;
+   struct s_bsr *next;               /* pointer to next one */
+   int          done;                /* set when everything found */
+   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;
+   BSR_VOLBLOCK *volblock;
    BSR_SESSTIME *sesstime;
-   BSR_FINDEX   *FileIndex;
-   BSR_JOBID    *JobId;
-   BSR_JOBTYPE  *JobType;
+   BSR_SESSID  *sessid;
+   BSR_JOBID   *JobId;
+   BSR_JOB     *job;
+   BSR_CLIENT  *client;
+   BSR_FINDEX  *FileIndex;
+   BSR_JOBTYPE *JobType;
    BSR_JOBLEVEL *JobLevel;
-   BSR_VOLFILE  *volfile;
-   FF_PKT *ff;                        /* include/exclude */
+   BSR_STREAM  *stream;
+// FF_PKT *ff;                       /* include/exclude */
 } BSR;