Lines Matching refs:fp

335 	struct file *fp;
347 fp = malloc(sizeof(struct file));
348 if (fp == NULL)
350 bzero(fp, sizeof(struct file));
351 f->f_fsdata = (void *)fp;
355 fp->f_fs = fs;
397 fp->f_bg = malloc(len);
401 (char *)fp->f_bg, &buf_size);
416 fp->f_nindir[i] = mult;
441 if (! S_ISDIR(fp->f_di.di_mode)) {
481 if (S_ISLNK(fp->f_di.di_mode)) {
482 int link_len = fp->f_di.di_size;
493 if (fp->f_di.di_nblk == 0) {
494 bcopy(fp->f_di.di_shortlink,
500 struct ext2fs *fs = fp->f_fs;
539 fp->f_seekp = 0;
546 if (fp->f_buf)
547 free(fp->f_buf);
548 free(fp->f_fs);
549 free(fp);
560 struct file *fp = (struct file *)f->f_fsdata;
561 struct ext2fs *fs = fp->f_fs;
573 ino_to_db(fs, fp->f_bg, inumber), fs->fs_bsize, buf, &rsize);
582 fp->f_di = dp[ino_to_bo(fs, inumber)];
586 fp->f_blkno[level] = -1;
587 fp->f_buf_blkno = -1;
588 fp->f_seekp = 0;
602 struct file *fp = (struct file *)f->f_fsdata;
603 struct ext2fs *fs = fp->f_fs;
634 *disk_block_p = fp->f_di.di_db[file_block];
647 if (file_block < fp->f_nindir[level])
649 file_block -= fp->f_nindir[level];
656 ind_block_num = fp->f_di.di_ib[level];
664 if (fp->f_blkno[level] != ind_block_num) {
665 if (fp->f_blk[level] == (char *)0)
666 fp->f_blk[level] =
670 fsb_to_db(fp->f_fs, ind_block_num), fs->fs_bsize,
671 fp->f_blk[level], &fp->f_blksize[level]);
674 if (fp->f_blksize[level] != fs->fs_bsize)
676 fp->f_blkno[level] = ind_block_num;
679 ind_p = (int32_t *)fp->f_blk[level];
682 idx = file_block / fp->f_nindir[level - 1];
683 file_block %= fp->f_nindir[level - 1];
702 struct file *fp = (struct file *)f->f_fsdata;
703 struct ext2fs *fs = fp->f_fs;
710 off = blkoff(fs, fp->f_seekp);
711 file_block = lblkno(fs, fp->f_seekp);
712 block_size = dblksize(fs, &fp->f_di, file_block);
714 if (file_block != fp->f_buf_blkno) {
719 if (fp->f_buf == (char *)0)
720 fp->f_buf = malloc(fs->fs_bsize);
723 bzero(fp->f_buf, block_size);
724 fp->f_buf_size = block_size;
729 fp->f_buf, &fp->f_buf_size);
733 fp->f_buf_blkno = file_block;
741 *buf_p = fp->f_buf + off;
747 if (*size_p > fp->f_di.di_size - fp->f_seekp)
748 *size_p = fp->f_di.di_size - fp->f_seekp;
760 struct file *fp = (struct file *)f->f_fsdata;
768 fp->f_seekp = 0;
769 while (fp->f_seekp < fp->f_di.di_size) {
788 fp->f_seekp += buf_size;
796 struct file *fp = (struct file *)f->f_fsdata;
800 if (fp == (struct file *)0)
804 if (fp->f_blk[level])
805 free(fp->f_blk[level]);
807 if (fp->f_buf)
808 free(fp->f_buf);
809 if (fp->f_bg)
810 free(fp->f_bg);
811 free(fp->f_fs);
812 free(fp);
819 struct file *fp = (struct file *)f->f_fsdata;
825 if (fp->f_seekp >= fp->f_di.di_size)
838 fp->f_seekp += csize;
850 struct file *fp = (struct file *)f->f_fsdata;
854 fp->f_seekp = offset;
857 fp->f_seekp += offset;
860 fp->f_seekp = fp->f_di.di_size - offset;
866 return (fp->f_seekp);
872 struct file *fp = (struct file *)f->f_fsdata;
875 sb->st_mode = fp->f_di.di_mode;
876 sb->st_uid = fp->f_di.di_uid;
877 sb->st_gid = fp->f_di.di_gid;
878 sb->st_size = fp->f_di.di_size;
885 struct file *fp = (struct file *)f->f_fsdata;
895 if (fp->f_seekp >= fp->f_di.di_size)
901 fp->f_seekp += ed->d_reclen;