]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/protos.h
First cut restore GUI
[bacula/bacula] / bacula / src / dird / protos.h
index f65d8c8671adcc0178a825323c9ef0fa8ce170b1..b217a678ac9e43ccb41f6a67a1403df111cba172 100644 (file)
 /* authenticate.c */
 extern int authenticate_storage_daemon(JCR *jcr);
 extern int authenticate_file_daemon(JCR *jcr);
-extern int authenticate_user_agent(BSOCK *ua);
+extern int authenticate_user_agent(UAContext *ua);
 
 /* autoprune.c */
 extern int do_autoprune(JCR *jcr);
 extern int prune_volumes(JCR *jcr);
-void create_ua_context(JCR *jcr, UAContext *ua);
-void free_ua_context(UAContext *ua);
 
 /* autorecycle.c */
-extern int recycle_oldest_purged_volume(JCR *jcr, MEDIA_DBR *mr);
-extern int find_recycled_volume(JCR *jcr, MEDIA_DBR *mr);
+extern int recycle_oldest_purged_volume(JCR *jcr, bool InChanger, MEDIA_DBR *mr);
+extern int recycle_volume(JCR *jcr, MEDIA_DBR *mr);
+extern int find_recycled_volume(JCR *jcr, bool InChanger, MEDIA_DBR *mr);
 
 /* backup.c */
 extern int wait_for_job_termination(JCR *jcr);
@@ -47,6 +46,7 @@ void free_bsr(RBSR *bsr);
 int complete_bsr(UAContext *ua, RBSR *bsr);
 int write_bsr_file(UAContext *ua, RBSR *bsr);
 void add_findex(RBSR *bsr, uint32_t JobId, int32_t findex);
+RBSR_FINDEX *new_findex();
 
 
 /* catreq.c */
@@ -56,15 +56,23 @@ extern void catalog_update(JCR *jcr, BSOCK *bs, char *buf);
 /* dird_conf.c */
 extern char *level_to_str(int level);
 
+/* expand.c */
+int variable_expansion(JCR *jcr, char *inp, POOLMEM **exp);
+
+
 /* fd_cmds.c */
 extern int connect_to_file_daemon(JCR *jcr, int retry_interval,
-                                 int max_retry_time, int verbose);
+                                  int max_retry_time, int verbose);
 extern int send_include_list(JCR *jcr);
 extern int send_exclude_list(JCR *jcr);
+extern int send_bootstrap_file(JCR *jcr);
+extern int send_level_command(JCR *jcr);
 extern int get_attributes_and_put_in_catalog(JCR *jcr);
 extern int get_attributes_and_compare_to_catalog(JCR *jcr, JobId_t JobId);
 extern int put_file_into_catalog(JCR *jcr, long file_index, char *fname, 
-                         char *link, char *attr, int stream);
+                          char *link, char *attr, int stream);
+extern void get_level_since_time(JCR *jcr, char *since, int since_len);
+extern int send_run_before_and_after_commands(JCR *jcr);
 
 /* getmsg.c */
 enum e_prtmsg {
@@ -78,21 +86,32 @@ extern void set_jcr_defaults(JCR *jcr, JOB *job);
 extern void create_unique_job_name(JCR *jcr, char *base_name);
 extern void update_job_end_record(JCR *jcr);
 extern int get_or_create_client_record(JCR *jcr);
+extern void run_job(JCR *jcr);
+extern int cancel_job(UAContext *ua, JCR *jcr);
 
 /* mountreq.c */
 extern void mount_request(JCR *jcr, BSOCK *bs, char *buf);
 
 /* msgchan.c */
 extern int connect_to_storage_daemon(JCR *jcr, int retry_interval,    
-                             int max_retry_time, int verbose);
+                              int max_retry_time, int verbose);
 extern int start_storage_daemon_job(JCR *jcr);
 extern int start_storage_daemon_message_thread(JCR *jcr);
 extern int bget_dirmsg(BSOCK *bs);
 extern void wait_for_storage_daemon_termination(JCR *jcr);
 
+/* next_vol.c */
+int find_next_volume_for_append(JCR *jcr, MEDIA_DBR *mr, int create);
+bool has_volume_expired(JCR *jcr, MEDIA_DBR *mr);
+void check_if_volume_valid_or_recyclable(JCR *jcr, MEDIA_DBR *mr, char **reason);
+
 /* newvol.c */
 int newVolume(JCR *jcr, MEDIA_DBR *mr);
 
+/* ua_acl.c */
+bool acl_access_ok(UAContext *ua, int acl, char *item);
+bool acl_access_ok(UAContext *ua, int acl, char *item, int len);
+
 /* ua_cmds.c */
 int do_a_command(UAContext *ua, char *cmd);
 int do_a_dot_command(UAContext *ua, char *cmd);
@@ -117,33 +136,38 @@ int is_volume_name_legal(UAContext *ua, char *name);
 
 /* ua_output.c */
 void prtit(void *ctx, 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_server.c */
 void bsendmsg(void *sock, char *fmt, ...);
+UAContext *new_ua_context(JCR *jcr);
+JCR *new_control_jcr(char *base_name, int job_type);
+void free_ua_context(UAContext *ua);
 
 /* ua_select.c */
-STORE  *select_storage_resource(UAContext *ua);
-JOB    *select_job_resource(UAContext *ua);
-JOB    *select_restore_job_resource(UAContext *ua);
-CLIENT *select_client_resource(UAContext *ua);
+STORE   *select_storage_resource(UAContext *ua);
+JOB     *select_job_resource(UAContext *ua);
+JOB     *select_restore_job_resource(UAContext *ua);
+CLIENT  *select_client_resource(UAContext *ua);
 FILESET *select_fileset_resource(UAContext *ua);
-int    select_pool_and_media_dbr(UAContext *ua, POOL_DBR *pr, MEDIA_DBR *mr);
-int    select_media_dbr(UAContext *ua, MEDIA_DBR *mr);
-int    select_pool_dbr(UAContext *ua, POOL_DBR *pr);
-int    select_client_dbr(UAContext *ua, CLIENT_DBR *cr);
-
-void   start_prompt(UAContext *ua, char *msg);
-void   add_prompt(UAContext *ua, char *prompt);
-int    do_prompt(UAContext *ua, char *automsg, char *msg, char *prompt, int max_prompt);
-CAT    *get_catalog_resource(UAContext *ua);          
+int     select_pool_and_media_dbr(UAContext *ua, POOL_DBR *pr, MEDIA_DBR *mr);
+int     select_media_dbr(UAContext *ua, MEDIA_DBR *mr);
+int     select_pool_dbr(UAContext *ua, POOL_DBR *pr);
+int     select_client_dbr(UAContext *ua, CLIENT_DBR *cr);
+
+void    start_prompt(UAContext *ua, char *msg);
+void    add_prompt(UAContext *ua, char *prompt);
+int     do_prompt(UAContext *ua, char *automsg, char *msg, char *prompt, int max_prompt);
+CAT    *get_catalog_resource(UAContext *ua);           
 STORE  *get_storage_resource(UAContext *ua, int use_default);
-int    get_media_type(UAContext *ua, char *MediaType, int max_media);
-int    get_pool_dbr(UAContext *ua, POOL_DBR *pr);
-int    get_client_dbr(UAContext *ua, CLIENT_DBR *cr);
+int     get_media_type(UAContext *ua, char *MediaType, int max_media);
+int     get_pool_dbr(UAContext *ua, POOL_DBR *pr);
+int     get_client_dbr(UAContext *ua, CLIENT_DBR *cr);
 POOL   *get_pool_resource(UAContext *ua);
 POOL   *select_pool_resource(UAContext *ua);
 CLIENT *get_client_resource(UAContext *ua);
-int    get_job_dbr(UAContext *ua, JOB_DBR *jr);
+int     get_job_dbr(UAContext *ua, JOB_DBR *jr);
 
 int find_arg_keyword(UAContext *ua, char **list);
 int find_arg(UAContext *ua, char *keyword);
@@ -152,13 +176,13 @@ int do_keyword_prompt(UAContext *ua, char *msg, char **list);
 int confirm_retention(UAContext *ua, utime_t *ret, char *msg);
 
 /* ua_tree.c */
-void user_select_files_from_tree(TREE_CTX *tree);
+bool user_select_files_from_tree(TREE_CTX *tree);
 int insert_tree_handler(void *ctx, int num_fields, char **row);
 
 /* ua_prune.c */
 int prune_files(UAContext *ua, CLIENT *client);
 int prune_jobs(UAContext *ua, CLIENT *client, int JobType);
-int prune_volume(UAContext *ua, POOL_DBR *pr, MEDIA_DBR *mr);
+int prune_volume(UAContext *ua, MEDIA_DBR *mr);
 
 /* ua_purge.c */
 int purge_jobs_from_volume(UAContext *ua, MEDIA_DBR *mr);