upload
struct upload;
int rsync_uploader(struct upload *, int *, struct sess *, int *);
int rsync_uploader_tail(struct upload *, struct sess *);
struct upload *upload_alloc(const char *, int, int, size_t,
void upload_free(struct upload *);
struct upload *ul = NULL;
rsync_uploader_tail(struct upload *u, struct sess *sess)
pre_symlink(struct upload *p, struct sess *sess)
pre_dev(struct upload *p, struct sess *sess)
pre_fifo(struct upload *p, struct sess *sess)
pre_sock(struct upload *p, struct sess *sess)
pre_dir(const struct upload *p, struct sess *sess)
post_dir(struct sess *sess, const struct upload *u, size_t idx)
pre_file(const struct upload *p, int *filefd, off_t *size,
struct upload *
struct upload *p;
if ((p = calloc(1, sizeof(struct upload))) == NULL) {
upload_free(struct upload *p)
rsync_uploader(struct upload *u, int *fileinfd,