2 Bacula(R) - The Network Backup Solution
4 Copyright (C) 2000-2017 Kern Sibbald
6 The original author of Bacula is Kern Sibbald, with contributions
7 from many others, a complete list can be found in the file AUTHORS.
9 You may use this file and others of this release according to the
10 license defined in the LICENSE file, which includes the Affero General
11 Public License, v3.0 ("AGPLv3") and some additional permissions and
12 terms pursuant to its AGPLv3 Section 7.
14 This notice must be preserved when any source code is
15 conveyed and/or propagated.
17 Bacula(R) is a registered trademark of Kern Sibbald.
20 * Prototypes for finlib directory of Bacula
25 bool check_directory_acl(char **last_dir, alist *dir_acl, const char *path);
27 void encode_stat (char *buf, struct stat *statp, int stat_size, int32_t LinkFI, int data_stream);
28 int decode_stat (char *buf, struct stat *statp, int stat_size, int32_t *LinkFI);
29 int32_t decode_LinkFI (char *buf, struct stat *statp, int stat_size);
30 int encode_attribsEx (JCR *jcr, char *attribsEx, FF_PKT *ff_pkt);
31 bool set_attributes (JCR *jcr, ATTR *attr, BFILE *ofd);
32 int select_data_stream(FF_PKT *ff_pkt);
34 /* from create_file.c */
35 int create_file (JCR *jcr, ATTR *attr, BFILE *ofd, int replace);
38 FF_PKT *init_find_files();
39 void set_find_snapshot_function(FF_PKT *ff,
40 bool convert_path(JCR *jcr, FF_PKT *ff, dlist *filelist, dlistString *node));
41 void set_find_options(FF_PKT *ff, int incremental, time_t mtime);
42 void set_find_changed_function(FF_PKT *ff, bool check_fct(JCR *jcr, FF_PKT *ff));
43 int find_files(JCR *jcr, FF_PKT *ff, int file_sub(JCR *, FF_PKT *ff_pkt, bool),
44 int plugin_sub(JCR *, FF_PKT *ff_pkt, bool));
45 int match_files(JCR *jcr, FF_PKT *ff, int sub(JCR *, FF_PKT *ff_pkt, bool));
46 int term_find_files(FF_PKT *ff);
47 bool is_in_fileset(FF_PKT *ff);
48 bool accept_file(FF_PKT *ff);
51 void init_include_exclude_files(FF_PKT *ff);
52 void term_include_exclude_files(FF_PKT *ff);
53 void add_fname_to_include_list(FF_PKT *ff, int prefixed, const char *fname);
54 void add_fname_to_exclude_list(FF_PKT *ff, const char *fname);
55 int file_is_excluded(FF_PKT *ff, const char *file);
56 int file_is_included(FF_PKT *ff, const char *file);
57 struct s_included_file *get_next_included_file(FF_PKT *ff,
58 struct s_included_file *inc);
61 int find_one_file(JCR *jcr, FF_PKT *ff,
62 int handle_file(JCR *jcr, FF_PKT *ff_pkt, bool top_level),
63 char *p, dev_t parent_device, bool top_level);
64 int term_find_one(FF_PKT *ff);
65 bool has_file_changed(JCR *jcr, FF_PKT *ff_pkt);
66 bool check_changes(JCR *jcr, FF_PKT *ff_pkt);
67 void ff_pkt_set_link_digest(FF_PKT *ff_pkt,
68 int32_t digest_stream, const char *digest, uint32_t len);
71 int enable_backup_privileges(JCR *jcr, int ignore_errors);
75 bool makepath(ATTR *attr, const char *path, mode_t mode,
76 mode_t parent_mode, uid_t owner, gid_t group,
78 void free_path_list(JCR *jcr);
79 bool path_list_lookup(JCR *jcr, char *fname);
80 bool path_list_add(JCR *jcr, uint32_t len, char *fname);
84 bool fstype(FF_PKT *ff_pkt, char *fs, int fslen);
85 bool fstype_cmp(FF_PKT *ff_pkt, const char *fstype_name);
87 /* from drivetype.c */
88 bool drivetype(const char *fname, char *fs, int fslen);
90 /* from bfile.c -- see bfile.h */
91 /* from namedpipe.c -- see namedpipe.h */