Home | History | Annotate | Download | only in scsipi

Lines Matching defs:si

87 	struct scsi_ioctl *si;
89 si = malloc(sizeof(struct scsi_ioctl), M_TEMP, M_WAITOK|M_ZERO);
90 buf_init(&si->si_bp);
92 LIST_INSERT_HEAD(&si_head, si, si_list);
94 return (si);
98 si_free(struct scsi_ioctl *si)
102 LIST_REMOVE(si, si_list);
104 buf_destroy(&si->si_bp);
105 free(si, M_TEMP);
111 struct scsi_ioctl *si;
114 for (si = si_head.lh_first; si != 0; si = si->si_list.le_next)
115 if (bp == &si->si_bp)
118 return (si);
133 struct scsi_ioctl *si;
145 si = si_find(bp);
147 if (si == NULL) {
154 screq = &si->si_screq;
234 struct scsi_ioctl *si;
240 si = si_find(bp);
241 if (si == NULL) {
247 screq = &si->si_screq;
248 periph = si->si_periph;
330 struct scsi_ioctl *si;
342 si = si_get();
343 si->si_screq = *screq;
344 si->si_periph = periph;
346 si->si_iov.iov_base = screq->databuf;
347 si->si_iov.iov_len = len;
348 si->si_uio.uio_iov = &si->si_iov;
349 si->si_uio.uio_iovcnt = 1;
350 si->si_uio.uio_resid = len;
351 si->si_uio.uio_offset = 0;
352 si->si_uio.uio_rw =
355 si->si_uio.uio_vmspace = l->l_proc->p_vmspace;
357 UIO_SETUP_SYSSPACE(&si->si_uio);
359 error = physio(scsistrategy, &si->si_bp, dev,
362 &si->si_uio);
365 si->si_bp.b_flags = 0;
366 si->si_bp.b_data = 0;
367 si->si_bp.b_bcount = 0;
368 si->si_bp.b_dev = dev;
369 si->si_bp.b_proc = l->l_proc;
370 scsistrategy(&si->si_bp);
371 error = si->si_bp.b_error;
373 *screq = si->si_screq;
374 si_free(si);