Lines Matching refs:pi

66 int	pmon_getdisklabel(struct pmon_iodata *pi);
72 struct pmon_iodata *pi = (struct pmon_iodata *)f; in pmon_iostrategy() local
84 offs = ((daddr_t)dblk + pi->partoff) * DEV_BSIZE; in pmon_iostrategy()
85 if (offs != pi->curpos) { in pmon_iostrategy()
86 pos = pmon_lseek(pi->fd, offs, 0 /* SEEK_SET */); in pmon_iostrategy()
92 rc = pmon_read(pi->fd, buf, size); in pmon_iostrategy()
94 pi->curpos += rc; in pmon_iostrategy()
108 struct pmon_iodata *pi; in pmon_ioopen() local
113 pi = alloc(sizeof *pi); in pmon_ioopen()
114 if (pi == NULL) in pmon_ioopen()
116 bzero(pi, sizeof *pi); in pmon_ioopen()
117 f->f_devdata = pi; in pmon_ioopen()
134 pi->fd = rc; in pmon_ioopen()
140 if (pmon_getdisklabel(pi) != 0) { in pmon_ioopen()
145 if (part >= pi->label.d_npartitions) { in pmon_ioopen()
150 if (memcmp(pi->label.d_uid, zero, sizeof(pi->label.d_uid)) != 0) { in pmon_ioopen()
151 const u_char *duid = pi->label.d_uid; in pmon_ioopen()
159 pi->partoff = DL_GETPOFFSET(&pi->label.d_partitions[part]); in pmon_ioopen()
160 pi->curpos = 0; in pmon_ioopen()
168 struct pmon_iodata *pi; in pmon_ioclose() local
172 pi = (struct pmon_iodata *)f->f_devdata; in pmon_ioclose()
173 rc = pmon_close(pi->fd); in pmon_ioclose()
174 free(pi, sizeof *pi); in pmon_ioclose()
186 pmon_getdisklabel(struct pmon_iodata *pi) in pmon_getdisklabel() argument
191 struct disklabel *lp = &pi->label; in pmon_getdisklabel()
200 if (pmon_iostrategy(pi, F_READ, DOSBBSECTOR, DEV_BSIZE, buf, &rsize)) in pmon_getdisklabel()
220 if (pmon_iostrategy(pi, F_READ, sector + DOS_LABELSECTOR, DEV_BSIZE, in pmon_getdisklabel()