]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/protos.h
Fix out of order volumes during restore.
[bacula/bacula] / bacula / src / dird / protos.h
index b6a3513de2f923dba906b6e82eecceb00f9b55fd..8917124961b5cf028fbad1418b2f3b32036d7ece 100644 (file)
@@ -48,7 +48,7 @@ extern void backup_cleanup(JCR *jcr, int TermCode);
 RBSR *new_bsr();
 void free_bsr(RBSR *bsr);
 bool complete_bsr(UAContext *ua, RBSR *bsr);
-uint32_t write_bsr_file(UAContext *ua, RBSR *bsr);
+uint32_t write_bsr_file(UAContext *ua, RESTORE_CTX &rx);
 void add_findex(RBSR *bsr, uint32_t JobId, int32_t findex);
 void add_findex_all(RBSR *bsr, uint32_t JobId);
 RBSR_FINDEX *new_findex();
@@ -92,7 +92,7 @@ extern void set_jcr_defaults(JCR *jcr, JOB *job);
 extern void create_unique_job_name(JCR *jcr, const char *base_name);
 extern void update_job_end_record(JCR *jcr);
 extern bool get_or_create_client_record(JCR *jcr);
-extern bool get_or_create_fileset_record(JCR *jcr, FILESET_DBR *fsr);
+extern bool get_or_create_fileset_record(JCR *jcr);
 extern JobId_t run_job(JCR *jcr);
 extern bool cancel_job(UAContext *ua, JCR *jcr);
 extern void init_jcr_job_record(JCR *jcr);
@@ -165,6 +165,9 @@ void prtit(void *ctx, const char *msg);
 int complete_jcr_for_job(JCR *jcr, JOB *job, POOL *pool);
 RUN *find_next_run(RUN *run, JOB *job, time_t &runtime);
 
+/* ua_restore.c */
+int get_next_jobid_from_list(char **p, JobId_t *JobId);
+
 /* ua_server.c */
 void bsendmsg(void *sock, const char *fmt, ...);
 UAContext *new_ua_context(JCR *jcr);
@@ -187,6 +190,7 @@ void    add_prompt(UAContext *ua, const char *prompt);
 int     do_prompt(UAContext *ua, const char *automsg, const char *msg, char *prompt, int max_prompt);
 CAT    *get_catalog_resource(UAContext *ua);
 STORE  *get_storage_resource(UAContext *ua, bool use_default);
+int     get_storage_drive(UAContext *ua, STORE *store);
 int     get_media_type(UAContext *ua, char *MediaType, int max_media);
 bool    get_pool_dbr(UAContext *ua, POOL_DBR *pr);
 int     get_client_dbr(UAContext *ua, CLIENT_DBR *cr);
@@ -212,7 +216,11 @@ int prune_jobs(UAContext *ua, CLIENT *client, int JobType);
 int prune_volume(UAContext *ua, MEDIA_DBR *mr);
 
 /* ua_purge.c */
+bool mark_media_purged(UAContext *ua, MEDIA_DBR *mr);
+void purge_files_from_volume(UAContext *ua, MEDIA_DBR *mr );
 int purge_jobs_from_volume(UAContext *ua, MEDIA_DBR *mr);
+void purge_files_from_job(UAContext *ua, JOB_DBR *jr);
+
 
 /* ua_run.c */
 extern int run_cmd(UAContext *ua, const char *cmd);