Lines Matching refs:fp

77 sm_io_seek(fp, timeout, offset, whence)  in sm_io_seek()  argument
78 register SM_FILE_T *fp; in sm_io_seek()
91 SM_REQUIRE_ISA(fp, SmFileMagic);
98 if ((seekfn = fp->f_seek) == NULL)
105 timeout = fp->f_timeout;
145 sm_flush(fp, (int *) &timeout);
147 if (fp->f_flags & SMOFF)
148 curoff = fp->f_lseekoff;
151 curoff = (*seekfn)(fp, (off_t) 0, SM_IO_SEEK_CUR);
158 if (fp->f_flags & SMRD)
160 curoff -= fp->f_r;
161 if (HASUB(fp))
162 curoff -= fp->f_ur;
164 else if (fp->f_flags & SMWR && fp->f_p != NULL)
165 curoff += fp->f_p - fp->f_bf.smb_base;
193 if (fp->f_bf.smb_base == NULL)
194 sm_makebuf(fp);
195 if (fp->f_flags & (SMWR | SMRW | SMNBF | SMNPT))
197 if ((fp->f_flags & SMOPT) == 0)
200 fp->f_file < 0 || fstat(fp->f_file, &st) ||
203 fp->f_flags |= SMNPT;
206 fp->f_blksize = st.st_blksize;
207 fp->f_flags |= SMOPT;
219 if (fstat(fp->f_file, &st))
226 if (fp->f_flags & SMOFF)
227 curoff = fp->f_lseekoff;
230 curoff = (*seekfn)(fp, (off_t) 0, SM_IO_SEEK_CUR);
234 curoff -= fp->f_r;
235 if (HASUB(fp))
236 curoff -= fp->f_ur;
246 if (HASUB(fp))
248 curoff += fp->f_r; /* kill off ungetc */
249 n = fp->f_up - fp->f_bf.smb_base;
251 n += fp->f_ur;
255 n = fp->f_p - fp->f_bf.smb_base;
257 n += fp->f_r;
271 fp->f_p = fp->f_bf.smb_base + o;
272 fp->f_r = n - o;
273 if (HASUB(fp))
274 FREEUB(fp);
275 fp->f_flags &= ~SMFEOF;
289 curoff = target & ~(fp->f_blksize - 1);
290 if ((*seekfn)(fp, curoff, SM_IO_SEEK_SET) == POS_ERR)
292 fp->f_r = 0;
293 fp->f_p = fp->f_bf.smb_base;
294 if (HASUB(fp))
295 FREEUB(fp);
296 fp->f_flags &= ~SMFEOF;
301 if (sm_refill(fp, SM_TIME_FOREVER) || fp->f_r < (int) n)
303 fp->f_p += n;
304 fp->f_r -= n;
321 if (sm_flush(fp, &ret) != 0 ||
322 (*seekfn)(fp, (off_t) offset, whence) == POS_ERR)
329 if (HASUB(fp))
330 FREEUB(fp);
331 fp->f_p = fp->f_bf.smb_base;
332 fp->f_r = 0;
333 fp->f_flags &= ~SMFEOF;