Lines Matching defs:uscsi

88 #include <sys/scsi/impl/uscsi.h>
5929 * Implemented the USCSICMD uscsi(7I) ioctl. This ioctl is converted to
5937 struct uscsi_cmd uscsi;
5951 uscsi_cmd32touscsi_cmd((&uscsi32), (&uscsi));
5953 if (ddi_copyin(arg, &uscsi, sizeof (struct uscsi_cmd),
5958 /* a uscsi reset is converted to a VD_OP_RESET operation */
5959 if (uscsi.uscsi_flags & (USCSI_RESET | USCSI_RESET_LUN |
5967 cdb_len = uscsi.uscsi_cdblen;
5970 if (uscsi.uscsi_flags & USCSI_READ) {
5971 datain_len = uscsi.uscsi_buflen;
5975 dataout_len = uscsi.uscsi_buflen;
5979 if (uscsi.uscsi_flags & USCSI_RQENABLE)
5980 sense_len = uscsi.uscsi_rqlen;
5993 if ((uscsi.uscsi_flags & USCSI_ISOLATE) ||
5994 (uscsi.uscsi_flags & USCSI_DIAGNOSE))
5998 if (uscsi.uscsi_flags & USCSI_NOTAG) {
6001 if (uscsi.uscsi_flags & USCSI_HEAD)
6003 else if (uscsi.uscsi_flags & USCSI_HTAG)
6005 else if (uscsi.uscsi_flags & USCSI_OTAG)
6012 vd_scsi->timeout = uscsi.uscsi_timeout;
6016 if (ddi_copyin(uscsi.uscsi_cdb, cdb, cdb_len, mode) != 0) {
6029 if (!(uscsi.uscsi_flags & USCSI_READ)) {
6030 if (ddi_copyin(uscsi.uscsi_bufaddr, dataout, dataout_len,
6045 uscsi.uscsi_status = vd_scsi->cmd_status;
6048 if ((uscsi.uscsi_flags & USCSI_RQENABLE) &&
6049 (uscsi.uscsi_status == STATUS_CHECK ||
6050 uscsi.uscsi_status == STATUS_TERMINATED)) {
6052 uscsi.uscsi_rqstatus = vd_scsi->sense_status;
6054 if (uscsi.uscsi_rqstatus == STATUS_GOOD) {
6055 uscsi.uscsi_rqresid = uscsi.uscsi_rqlen -
6057 if (ddi_copyout(sense, uscsi.uscsi_rqbuf,
6066 if (uscsi.uscsi_status == STATUS_GOOD) {
6067 if (uscsi.uscsi_flags & USCSI_READ) {
6068 uscsi.uscsi_resid = uscsi.uscsi_buflen -
6070 if (ddi_copyout(datain, uscsi.uscsi_bufaddr,
6076 uscsi.uscsi_resid = uscsi.uscsi_buflen -
6083 uscsi_cmdtouscsi_cmd32((&uscsi), (&uscsi32));
6090 if (ddi_copyout(&uscsi, arg, sizeof (struct uscsi_cmd),
6099 !(uscsi.uscsi_flags & USCSI_SILENT));