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