1/* This file is automatically generated with "make proto". DO NOT EDIT */
2
3int allow_access(char *addr, char *host, char *allow_list, char *deny_list);
4void base64_encode(char *buf, int len, char *out, int pad);
5char *auth_server(int f_in, int f_out, int module, char *host, char *addr,
6		  char *leader);
7void auth_client(int fd, char *user, char *challenge);
8char *get_backup_name(char *fname);
9int make_backup(char *fname);
10void write_stream_flags(int fd);
11void read_stream_flags(int fd);
12void write_batch_shell_file(int argc, char *argv[], int file_arg_cnt);
13uint32 get_checksum1(char *buf1, int32 len);
14void get_checksum2(char *buf, int32 len, char *sum);
15void file_checksum(char *fname,char *sum,OFF_T size);
16void sum_init(int seed);
17void sum_update(char *p, int32 len);
18void sum_end(char *sum);
19struct chmod_mode_struct *parse_chmod(const char *modestr,
20				      struct chmod_mode_struct **root_mode_ptr);
21int tweak_mode(int mode, struct chmod_mode_struct *chmod_modes);
22int free_chmod_mode(struct chmod_mode_struct *chmod_modes);
23void close_all(void);
24NORETURN void _exit_cleanup(int code, const char *file, int line);
25void cleanup_disable(void);
26void cleanup_set(char *fnametmp, char *fname, struct file_struct *file,
27		 int fd_r, int fd_w);
28void cleanup_set_pid(pid_t pid);
29char *client_addr(int fd);
30char *client_name(int fd);
31void client_sockaddr(int fd,
32		     struct sockaddr_storage *ss,
33		     socklen_t *ss_len);
34int lookup_name(int fd, const struct sockaddr_storage *ss,
35		socklen_t ss_len,
36		char *name_buf, size_t name_buf_size,
37		char *port_buf, size_t port_buf_size);
38int compare_addrinfo_sockaddr(const struct addrinfo *ai,
39			      const struct sockaddr_storage *ss);
40int check_name(int fd,
41	       const struct sockaddr_storage *ss,
42	       char *name_buf, size_t name_buf_size);
43int start_socket_client(char *host, char *path, int argc, char *argv[]);
44int start_inband_exchange(char *user, char *path, int f_in, int f_out,
45			  int argc);
46int start_daemon(int f_in, int f_out);
47int daemon_main(void);
48void setup_protocol(int f_out,int f_in);
49int claim_connection(char *fname,int max_connections);
50void set_filter_dir(const char *dir, unsigned int dirlen);
51void *push_local_filters(const char *dir, unsigned int dirlen);
52void pop_local_filters(void *mem);
53int check_filter(struct filter_list_struct *listp, char *name, int name_is_dir);
54void parse_rule(struct filter_list_struct *listp, const char *pattern,
55		uint32 mflags, int xflags);
56void parse_filter_file(struct filter_list_struct *listp, const char *fname,
57		       uint32 mflags, int xflags);
58char *get_rule_prefix(int match_flags, const char *pat, int for_xfer,
59		      unsigned int *plen_ptr);
60void send_filter_list(int f_out);
61void recv_filter_list(int f_in);
62int sparse_end(int f);
63int flush_write_file(int f);
64int write_file(int f,char *buf,size_t len);
65struct map_struct *map_file(int fd, OFF_T len, int32 read_size,
66			    int32 blk_size);
67char *map_ptr(struct map_struct *map, OFF_T offset, int32 len);
68int unmap_file(struct map_struct *map);
69void init_flist(void);
70void show_flist_stats(void);
71int link_stat(const char *path, STRUCT_STAT *stp, int follow_dirlinks);
72void flist_expand(struct file_list *flist);
73struct file_struct *make_file(char *fname, struct file_list *flist,
74			      STRUCT_STAT *stp, unsigned short flags,
75			      int filter_level);
76struct file_list *send_file_list(int f, int argc, char *argv[]);
77struct file_list *recv_file_list(int f);
78int flist_find(struct file_list *flist, struct file_struct *f);
79void clear_file(struct file_struct *file, struct file_list *flist);
80struct file_list *flist_new(int with_hlink, char *msg);
81void flist_free(struct file_list *flist);
82int f_name_cmp(struct file_struct *f1, struct file_struct *f2);
83char *f_name(struct file_struct *f, char *fbuf);
84struct file_list *get_dirlist(char *dirname, int dlen,
85			      int ignore_filter_rules);
86int unchanged_attrs(struct file_struct *file, STRUCT_STAT *st);
87void itemize(struct file_struct *file, int ndx, int statret, STRUCT_STAT *st,
88	     int32 iflags, uchar fnamecmp_type, char *xname);
89int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st);
90void check_for_finished_hlinks(int itemizing, enum logcode code);
91void generate_files(int f_out, struct file_list *flist, char *local_name);
92void init_hard_links(void);
93int hard_link_check(struct file_struct *file, int ndx, char *fname,
94		    int statret, STRUCT_STAT *st, int itemizing,
95		    enum logcode code, int skip);
96int hard_link_one(struct file_struct *file, int ndx, char *fname,
97		  int statret, STRUCT_STAT *st, char *toname, int terse,
98		  int itemizing, enum logcode code);
99void hard_link_cluster(struct file_struct *file, int master, int itemizing,
100		       enum logcode code);
101void io_set_sock_fds(int f_in, int f_out);
102void set_io_timeout(int secs);
103void set_msg_fd_in(int fd);
104void set_msg_fd_out(int fd);
105void increment_active_files(int ndx, int itemizing, enum logcode code);
106void decrement_active_files(int ndx);
107int send_msg(enum msgcode code, char *buf, int len);
108int get_redo_num(int itemizing, enum logcode code);
109int get_hlink_num(void);
110void io_set_filesfrom_fds(int f_in, int f_out);
111int read_filesfrom_line(int fd, char *fname);
112void io_start_buffering_out(void);
113void io_start_buffering_in(void);
114void io_end_buffering(void);
115void maybe_flush_socket(void);
116void maybe_send_keepalive(void);
117int read_shortint(int f);
118int32 read_int(int f);
119int64 read_longint(int f);
120void read_buf(int f,char *buf,size_t len);
121void read_sbuf(int f,char *buf,size_t len);
122uchar read_byte(int f);
123int read_vstring(int f, char *buf, int bufsize);
124void read_sum_head(int f, struct sum_struct *sum);
125void write_sum_head(int f, struct sum_struct *sum);
126void io_flush(int flush_it_all);
127void write_shortint(int f, int x);
128void write_int(int f,int32 x);
129void write_longint(int f, int64 x);
130void write_buf(int f,char *buf,size_t len);
131void write_sbuf(int f, char *buf);
132void write_byte(int f, uchar c);
133void write_vstring(int f, char *str, int len);
134int read_line(int f, char *buf, size_t maxlen);
135void io_printf(int fd, const char *format, ...);
136void io_start_multiplex_out(void);
137void io_start_multiplex_in(void);
138int io_multiplex_write(enum msgcode code, char *buf, size_t len);
139void close_multiplexing_in(void);
140void close_multiplexing_out(void);
141void start_write_batch(int fd);
142void stop_write_batch(void);
143char *lp_bind_address(void);
144char *lp_motd_file(void);
145char *lp_pid_file(void);
146char *lp_socket_options(void);
147int lp_rsync_port(void);
148char *lp_auth_users(int );
149char *lp_comment(int );
150char *lp_dont_compress(int );
151char *lp_exclude(int );
152char *lp_exclude_from(int );
153char *lp_filter(int );
154char *lp_gid(int );
155char *lp_hosts_allow(int );
156char *lp_hosts_deny(int );
157char *lp_include(int );
158char *lp_include_from(int );
159char *lp_incoming_chmod(int );
160char *lp_lock_file(int );
161char *lp_log_file(int );
162char *lp_log_format(int );
163char *lp_name(int );
164char *lp_outgoing_chmod(int );
165char *lp_path(int );
166char *lp_postxfer_exec(int );
167char *lp_prexfer_exec(int );
168char *lp_refuse_options(int );
169char *lp_secrets_file(int );
170int lp_syslog_facility(int );
171char *lp_temp_dir(int );
172char *lp_uid(int );
173int lp_max_connections(int );
174int lp_max_verbosity(int );
175int lp_timeout(int );
176BOOL lp_ignore_errors(int );
177BOOL lp_ignore_nonreadable(int );
178BOOL lp_list(int );
179BOOL lp_munge_symlinks(int );
180BOOL lp_read_only(int );
181BOOL lp_strict_modes(int );
182BOOL lp_transfer_logging(int );
183BOOL lp_use_chroot(int );
184BOOL lp_write_only(int );
185BOOL lp_load(char *pszFname, int globals_only);
186int lp_numservices(void);
187int lp_number(char *name);
188void log_init(int restart);
189void logfile_close(void);
190void logfile_reopen(void);
191void rwrite(enum logcode code, char *buf, int len);
192void rprintf(enum logcode code, const char *format, ...);
193void rsyserr(enum logcode code, int errcode, const char *format, ...);
194void rflush(enum logcode code);
195int log_format_has(const char *format, char esc);
196void log_item(enum logcode code, struct file_struct *file,
197	      struct stats *initial_stats, int iflags, char *hlink);
198void maybe_log_item(struct file_struct *file, int iflags, int itemizing,
199		    char *buf);
200void log_delete(char *fname, int mode);
201void log_exit(int code, const char *file, int line);
202pid_t wait_process(pid_t pid, int *status_ptr, int flags);
203int child_main(int argc, char *argv[]);
204void start_server(int f_in, int f_out, int argc, char *argv[]);
205int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[]);
206RETSIGTYPE remember_children(UNUSED(int val));
207const char *get_panic_action(void);
208int main(int argc,char *argv[]);
209void match_sums(int f, struct sum_struct *s, struct map_struct *buf, OFF_T len);
210void match_report(void);
211void usage(enum logcode F);
212void option_error(void);
213int parse_arguments(int *argc, const char ***argv, int frommain);
214void server_options(char **args,int *argc);
215char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr);
216BOOL pm_process( char *FileName,
217                 BOOL (*sfunc)(char *),
218                 BOOL (*pfunc)(char *, char *) );
219pid_t piped_child(char **command, int *f_in, int *f_out);
220pid_t local_child(int argc, char **argv, int *f_in, int *f_out,
221		  int (*child_main)(int, char*[]));
222void end_progress(OFF_T size);
223void show_progress(OFF_T ofs, OFF_T size);
224int recv_files(int f_in, struct file_list *flist, char *local_name);
225void setup_iconv();
226void free_sums(struct sum_struct *s);
227mode_t dest_mode(mode_t flist_mode, mode_t stat_mode, int exists);
228int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st,
229		   int flags);
230RETSIGTYPE sig_int(UNUSED(int val));
231void finish_transfer(char *fname, char *fnametmp, char *partialptr,
232		     struct file_struct *file, int ok_to_set_time,
233		     int overwriting_basis);
234const char *who_am_i(void);
235void successful_send(int ndx);
236int read_item_attrs(int f_in, int f_out, int ndx, uchar *type_ptr,
237		    char *buf, int *len_ptr);
238void send_files(struct file_list *flist, int f_out, int f_in);
239int try_bind_local(int s, int ai_family, int ai_socktype,
240		   const char *bind_addr);
241int open_socket_out(char *host, int port, const char *bind_addr,
242		    int af_hint);
243int open_socket_out_wrapped(char *host, int port, const char *bind_addr,
244			    int af_hint);
245int is_a_socket(int fd);
246void start_accept_loop(int port, int (*fn)(int, int));
247void set_socket_options(int fd, char *options);
248void become_daemon(void);
249int sock_exec(const char *prog);
250int do_unlink(const char *fname);
251int do_symlink(const char *fname1, const char *fname2);
252int do_link(const char *fname1, const char *fname2);
253int do_lchown(const char *path, uid_t owner, gid_t group);
254int do_mknod(char *pathname, mode_t mode, dev_t dev);
255int do_rmdir(const char *pathname);
256int do_open(const char *pathname, int flags, mode_t mode);
257int do_chmod(const char *path, mode_t mode);
258int do_rename(const char *fname1, const char *fname2);
259void trim_trailing_slashes(char *name);
260int do_mkdir(char *fname, mode_t mode);
261int do_mkstemp(char *template, mode_t perms);
262int do_stat(const char *fname, STRUCT_STAT *st);
263int do_lstat(const char *fname, STRUCT_STAT *st);
264int do_fstat(int fd, STRUCT_STAT *st);
265OFF_T do_lseek(int fd, OFF_T offset, int whence);
266char *d_name(struct dirent *di);
267void set_compression(char *fname);
268void send_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
269		int32 n, int32 toklen);
270int32 recv_token(int f, char **data);
271void see_token(char *data, int32 toklen);
272void add_uid(uid_t uid);
273void add_gid(gid_t gid);
274void send_uid_list(int f);
275void recv_uid_list(int f, struct file_list *flist);
276void set_nonblocking(int fd);
277void set_blocking(int fd);
278int fd_pair(int fd[2]);
279void print_child_argv(char **cmd);
280NORETURN void out_of_memory(char *str);
281NORETURN void overflow_exit(char *str);
282int set_modtime(char *fname, time_t modtime, mode_t mode);
283int mkdir_defmode(char *fname);
284int create_directory_path(char *fname);
285int full_write(int desc, char *ptr, size_t len);
286int copy_file(const char *source, const char *dest, mode_t mode);
287int robust_unlink(const char *fname);
288int robust_rename(char *from, char *to, char *partialptr,
289		  int mode);
290pid_t do_fork(void);
291void kill_all(int sig);
292int name_to_uid(char *name, uid_t *uid);
293int name_to_gid(char *name, gid_t *gid);
294int lock_range(int fd, int offset, int len);
295void glob_expand(char *base1, char ***argv_ptr, int *argc_ptr, int *maxargs_ptr);
296void strlower(char *s);
297size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2);
298size_t stringjoin(char *dest, size_t destsize, ...);
299int count_dir_elements(const char *p);
300unsigned int clean_fname(char *name, BOOL collapse_dot_dot);
301char *sanitize_path(char *dest, const char *p, const char *rootdir, int depth,
302		    const char *symlink);
303int push_dir(char *dir, int set_path_only);
304int pop_dir(char *dir);
305char *full_fname(const char *fn);
306char *partial_dir_fname(const char *fname);
307int handle_partial_dir(const char *fname, int create);
308int unsafe_symlink(const char *dest, const char *src);
309char *human_num(int64 num);
310char *human_dnum(double dnum, int decimal_digits);
311char *timestring(time_t t);
312int msleep(int t);
313int cmp_time(time_t file1, time_t file2);
314int _Insure_trap_error(int a1, int a2, int a3, int a4, int a5, int a6);
315void *_new_array(unsigned int size, unsigned long num);
316void *_realloc_array(void *ptr, unsigned int size, unsigned long num);
317const char *find_filename_suffix(const char *fn, int fn_len, int *len_ptr);
318uint32 fuzzy_distance(const char *s1, int len1, const char *s2, int len2);
319struct bitbag *bitbag_create(int max_ndx);
320void bitbag_set_bit(struct bitbag *bb, int ndx);
321void bitbag_clear_bit(struct bitbag *bb, int ndx);
322int bitbag_check_bit(struct bitbag *bb, int ndx);
323int bitbag_next_bit(struct bitbag *bb, int after);
324int sys_gettimeofday(struct timeval *tv);
325int get_tmpname(char *fnametmp, char *fname);
326