Lines Matching refs:cf
170 struct cb_file *cf; in cb_open() local
174 cf = NULL; in cb_open()
202 cf = malloc(sizeof(struct cb_file)); in cb_open()
203 if (cf == NULL) { in cb_open()
208 cf->cf_stat = sb; in cb_open()
209 cf->cf_size = cf->cf_stat.st_size; in cb_open()
211 if (S_ISDIR(cf->cf_stat.st_mode)) { in cb_open()
212 cf->cf_isdir = 1; in cb_open()
213 cf->cf_u.dir = fdopendir(fd); in cb_open()
214 if (cf->cf_u.dir == NULL) { in cb_open()
216 free(cf); in cb_open()
220 assert(S_ISREG(cf->cf_stat.st_mode)); in cb_open()
221 cf->cf_isdir = 0; in cb_open()
222 cf->cf_u.fd = fd; in cb_open()
224 *hp = cf; in cb_open()
231 struct cb_file *cf = h; in cb_close() local
233 if (cf->cf_isdir) in cb_close()
234 closedir(cf->cf_u.dir); in cb_close()
236 close(cf->cf_u.fd); in cb_close()
237 free(cf); in cb_close()
245 struct cb_file *cf = h; in cb_isdir() local
247 return (cf->cf_isdir); in cb_isdir()
253 struct cb_file *cf = h; in cb_read() local
256 if (cf->cf_isdir) in cb_read()
258 sz = read(cf->cf_u.fd, buf, size); in cb_read()
269 struct cb_file *cf = h; in cb_readdir() local
272 if (!cf->cf_isdir) in cb_readdir()
275 dp = readdir(cf->cf_u.dir); in cb_readdir()
295 struct cb_file *cf = h; in cb_seek() local
297 if (cf->cf_isdir) in cb_seek()
299 if (lseek(cf->cf_u.fd, offset, whence) < 0) in cb_seek()
307 struct cb_file *cf = h; in cb_stat() local
310 sbp->st_mode = cf->cf_stat.st_mode; in cb_stat()
311 sbp->st_uid = cf->cf_stat.st_uid; in cb_stat()
312 sbp->st_gid = cf->cf_stat.st_gid; in cb_stat()
313 sbp->st_size = cf->cf_stat.st_size; in cb_stat()
314 sbp->st_mtime = cf->cf_stat.st_mtime; in cb_stat()
315 sbp->st_dev = cf->cf_stat.st_dev; in cb_stat()
316 sbp->st_ino = cf->cf_stat.st_ino; in cb_stat()