Lines Matching defs:rf
75 struct rsyncfile *rf;
79 rf = xmalloc(sizeof(*rf));
82 free(rf);
85 rf->fsize = st.st_size;
87 rf->fd = open(path, rdonly ? O_RDONLY : O_RDWR);
88 if (rf->fd < 0) {
89 free(rf);
92 rf->buf = mmap(0, rf->fsize, PROT_READ, MAP_SHARED, rf->fd, 0);
93 if (rf->buf == MAP_FAILED) {
94 free(rf);
97 rf->start = rf->buf;
98 rf->end = rf->buf + rf->fsize;
99 rf->blocksize = (blocksize == 0 ? rsync_chooseblocksize(rf->fsize) :
101 rf->blockptr = rf->buf;
102 rf->blocknum = 0;
103 return (rf);
108 rsync_close(struct rsyncfile *rf)
112 error = munmap(rf->buf, rf->fsize);
115 close(rf->fd);
116 free(rf);
154 rsync_nextblock(struct rsyncfile *rf)
159 if (rf->blockptr >= rf->end)
161 blocksize = min((size_t)(rf->end - rf->blockptr), rf->blocksize);
164 MD5_Update(&ctx, rf->blockptr, blocksize);
165 MD5_End(rf->blockmd5, &ctx);
167 rf->rsum = rsync_rollsum(rf->blockptr, blocksize);
168 snprintf(rf->rsumstr, RSUM_SIZE, "%x", rf->rsum);
169 rf->blocknum++;
170 rf->blockptr += blocksize;
195 rsync_rsum(struct rsyncfile *rf)
198 return (rf->rsumstr);
203 rsync_blockmd5(struct rsyncfile *rf)
206 return (rf->blockmd5);
211 rsync_blocksize(struct rsyncfile *rf)
214 return (rf->blocksize);
219 rsync_filesize(struct rsyncfile *rf)
222 return (rf->fsize);