48 #define RS_MAX_INT_BYTES 8 66 rs_byte_t buf[RS_MAX_INT_BYTES];
69 assert(len <= RS_MAX_INT_BYTES);
71 for (i = len - 1; i >= 0; i--) {
100 assert(len <= RS_MAX_INT_BYTES);
103 for (i = 0; i < len; i++)
104 *val = *val << 8 | buf[i];
114 if ((result = rs_suck_netint(job, &buf, 4)) ==
RS_DONE)
119 int rs_int_len(rs_long_t val)
122 if (!(val & ~(rs_long_t)0xff))
124 if (!(val & ~(rs_long_t)0xffff))
126 if (!(val & ~(rs_long_t)0xffffffff))
128 assert(!(val & ~(rs_long_t)0xffffffffffffffff));
rs_result rs_squirt_byte(rs_job_t *job, rs_byte_t val)
Write a single byte to a stream output.
Public header for librsync.
rs_result
Return codes from nonblocking rsync operations.
rs_result rs_scoop_read(rs_job_t *job, size_t len, void **ptr)
Read LEN bytes if possible, and remove them from the input scoop.
rs_result rs_squirt_netint(rs_job_t *job, rs_long_t val, int len)
Write a variable-length integer to a stream.
void rs_tube_write(rs_job_t *job, const void *buf, size_t len)
Push some data into the tube for storage.
The contents of this structure are private.