# #include /* */ int seekrow(fd, area, row, whence) int fd, /* Input file descriptor */ row, /* Row to seek to */ whence; /* 0 if row is absolute, 1 if an offset */ struct cvl_p *area; { long lseek(); long offset; /* offset to be passed to lseek */ int rowsize; if ((row > area->cv_rows) || (row < 0)) /* out of picture */ return (-1); rowsize = (area->cv_cols * area->cv_bp + 7) / 8; offset = row * rowsize; if (whence == 0) offset += sizeof (struct cvl_p) + area->cv_lcom; if ((offset = lseek(fd, offset, whence)) == -1) return (-1); else return ((offset-sizeof(struct cvl_p)-area->cv_lcom)/rowsize); }