Lines Matching defs:hdr
383 struct sg_header hdr;
398 struct sg_io_hdr hdr;
1896 rp->sgdata.cdb.hdr.pack_len);
1898 if (nwritten != rp->sgdata.cdb.hdr.pack_len)
1920 ret = ioctl(rp->fd, SG_IO, &rp->sgdata.sg3.hdr);
1960 if (nwritten != rp->sgdata.cdb.hdr.pack_len)
1962 if ((sg_version < 30000 && nwritten != rp->sgdata.cdb.hdr.pack_len)
2035 req->sgdata.cdb.hdr.reply_len);
2038 len = read (fd, &req->sgdata.sg3.hdr, sizeof (Sg_io_hdr));
2126 memset (&req->sgdata.cdb.hdr, 0, sizeof (req->sgdata.cdb.hdr));
2127 req->sgdata.cdb.hdr.pack_id = pack_id++;
2128 req->sgdata.cdb.hdr.pack_len = cmd_size + src_size
2129 + sizeof (req->sgdata.cdb.hdr);
2130 req->sgdata.cdb.hdr.reply_len = (dst_size ? *dst_size : 0)
2131 + sizeof (req->sgdata.cdb.hdr);
2146 memset (&req->sgdata.sg3.hdr, 0, sizeof (req->sgdata.sg3.hdr));
2147 req->sgdata.sg3.hdr.interface_id = 'S';
2148 req->sgdata.sg3.hdr.cmd_len = cmd_size;
2149 req->sgdata.sg3.hdr.iovec_count = 0;
2150 req->sgdata.sg3.hdr.mx_sb_len = SENSE_MAX;
2154 req->sgdata.sg3.hdr.dxfer_direction = SG_DXFER_FROM_DEV;
2155 req->sgdata.sg3.hdr.dxfer_len = *dst_size;
2156 req->sgdata.sg3.hdr.dxferp = dst;
2160 req->sgdata.sg3.hdr.dxfer_direction = SG_DXFER_TO_DEV;
2169 req->sgdata.sg3.hdr.dxfer_len = src_size;
2171 req->sgdata.sg3.hdr.dxferp = &req->sgdata.sg3.data[MAX_CDB];
2175 req->sgdata.sg3.hdr.dxfer_direction = SG_DXFER_NONE;
2185 req->sgdata.sg3.hdr.cmdp = req->sgdata.sg3.data;
2186 req->sgdata.sg3.hdr.sbp = &(req->sgdata.sg3.sense_buffer[0]);
2187 req->sgdata.sg3.hdr.timeout = 1000 * sane_scsicmd_timeout;
2194 req->sgdata.sg3.hdr.flags = SG_FLAG_DIRECT_IO;
2196 req->sgdata.sg3.hdr.flags = 0;
2198 req->sgdata.sg3.hdr.pack_id = pack_id++;
2199 req->sgdata.sg3.hdr.usr_ptr = 0;
2254 req->sgdata.cdb.hdr.reply_len);
2291 nread -= sizeof (req->sgdata.cdb.hdr);
2294 if ((req->sgdata.cdb.hdr.result != 0) ||
2295 (((req->sgdata.cdb.hdr.sense_buffer[0] & 0x7f) != 0)
2302 && (req->sgdata.cdb.hdr.driver_status & DRIVER_SENSE)
2312 strerror (req->sgdata.cdb.hdr.result));
2316 req->sgdata.cdb.hdr.sense_buffer[0],
2317 req->sgdata.cdb.hdr.sense_buffer[1],
2318 req->sgdata.cdb.hdr.sense_buffer[2],
2319 req->sgdata.cdb.hdr.sense_buffer[3],
2320 req->sgdata.cdb.hdr.sense_buffer[4],
2321 req->sgdata.cdb.hdr.sense_buffer[5],
2322 req->sgdata.cdb.hdr.sense_buffer[6],
2323 req->sgdata.cdb.hdr.sense_buffer[7],
2324 req->sgdata.cdb.hdr.sense_buffer[8],
2325 req->sgdata.cdb.hdr.sense_buffer[9],
2326 req->sgdata.cdb.hdr.sense_buffer[10],
2327 req->sgdata.cdb.hdr.sense_buffer[11],
2328 req->sgdata.cdb.hdr.sense_buffer[12],
2329 req->sgdata.cdb.hdr.sense_buffer[13],
2330 req->sgdata.cdb.hdr.sense_buffer[14],
2331 req->sgdata.cdb.hdr.sense_buffer[15]);
2338 req->sgdata.cdb.hdr.target_status,
2339 req->sgdata.cdb.hdr.host_status,
2340 req->sgdata.cdb.hdr.driver_status);
2342 if (req->sgdata.cdb.hdr.host_status == DID_NO_CONNECT || req->sgdata.cdb.hdr.host_status == DID_BUS_BUSY || req->sgdata.cdb.hdr.host_status == DID_TIME_OUT || req->sgdata.cdb.hdr.driver_status == DRIVER_BUSY || req->sgdata.cdb.hdr.target_status == 0x04) /* BUSY */
2344 if (req->sgdata.cdb.hdr.result == EBUSY)
2351 (*handler) (req->fd, req->sgdata.cdb.hdr.sense_buffer,
2371 if (((req->sgdata.sg3.hdr.info & SG_INFO_CHECK) != 0)
2372 || ((req->sgdata.sg3.hdr.sb_len_wr > 0)
2374 && (req->sgdata.sg3.hdr.
2405 " driver status: %04x\n", req->sgdata.sg3.hdr.status,
2406 req->sgdata.sg3.hdr.host_status,
2407 req->sgdata.sg3.hdr.driver_status);
2413 if (req->sgdata.sg3.hdr.host_status == SG_ERR_DID_NO_CONNECT || req->sgdata.sg3.hdr.host_status == SG_ERR_DID_BUS_BUSY || req->sgdata.sg3.hdr.host_status == SG_ERR_DID_TIME_OUT || req->sgdata.sg3.hdr.driver_status == DRIVER_BUSY || req->sgdata.sg3.hdr.masked_status == 0x04) /* BUSY */
2415 else if (handler && req->sgdata.sg3.hdr.sb_len_wr)
2425 else if (((req->sgdata.sg3.hdr.status & 0x2a) == 0)
2426 && (req->sgdata.sg3.hdr.host_status ==
2429 ((req->sgdata.sg3.hdr.
2446 *req->dst_len -= req->sgdata.sg3.hdr.resid;
2450 if (req->sgdata.sg3.hdr.resid)
2454 req->sgdata.sg3.hdr.resid);
3164 static int scsireq_enter (int fd, scsireq_t * hdr)
3166 return ioctl (fd, SCIOCCOMMAND, hdr);
3178 scsireq_t hdr;
3185 memset (&hdr, 0, sizeof (hdr));
3186 memcpy (hdr.cmd, cmd, cmd_size);
3191 hdr.flags = SCCMD_READ;
3192 hdr.databuf = dst;
3193 hdr.datalen = *dst_size;
3199 hdr.flags = SCCMD_WRITE;
3201 hdr.databuf = (char *) src + cdb_size;
3202 hdr.datalen = src_size;
3205 hdr.databuf = (char *) src;
3206 hdr.datalen = src_size;
3208 hdr.timeout = sane_scsicmd_timeout * 1000;
3209 hdr.cmdlen = cmd_size;
3210 hdr.senselen = sizeof (hdr.sense);
3212 result = scsireq_enter (fd, &hdr);
3219 if (hdr.retsts != SCCMD_OK)
3223 DBG (1, "sanei_scsi_cmd: scsi returned with status %d\n", hdr.retsts);
3224 switch (hdr.retsts)
3233 return (*handler) (fd, &hdr.sense[0],
3242 *dst_size = hdr.datalen_used;
3547 struct sctl_io hdr;
3553 memset (&hdr, 0, sizeof (hdr));
3554 memcpy (hdr.cdb, cmd, cmd_size);
3559 hdr.flags = SCTL_READ;
3560 hdr.data = dst;
3561 hdr.data_length = *dst_size;
3567 hdr.data = (char *) src;
3568 hdr.data_length = src_size;
3570 hdr.cdb_length = cmd_size;
3571 hdr.max_msecs = sane_scsicmd_timeout * 1000;
3572 if (ioctl (fd, SIOC_IO, &hdr) < 0)
3578 if (hdr.cdb_status)
3580 hdr.cdb_status);
3582 *dst_size = hdr.data_xfer;
3584 if (hdr.sense_xfer > 0 && (hdr.sense[0] & 0x80)
3586 return (*fd_info[fd].sense_handler) (fd, hdr.sense,
3600 struct scsi_req hdr;
3606 memset (&hdr, 0, sizeof (hdr));
3607 memcpy (&hdr.sr_cdb, cmd, cmd_size);
3608 hdr.sr_cdb_length = cmd_size;
3614 hdr.sr_dma_dir = SR_DMA_RD;
3615 hdr.sr_addr = dst;
3616 hdr.sr_dma_max = *dst_size;
3622 hdr.sr_dma_dir = SR_DMA_WR;
3623 hdr.sr_addr = (char *) src;
3624 hdr.sr_dma_max = src_size;
3626 hdr.sr_ioto = sane_scsicmd_timeout;
3628 if (ioctl (fd, SGIOCREQ, &hdr) == -1)
3634 if (hdr.sr_io_status != 1)
3636 hdr.sr_io_status);
3638 if (hdr.sr_io_status == SR_IOST_CHKSNV)
3677 if (hdr.sr_scsi_status == SR_IOST_CHKSV && fd_info[fd].sense_handler)
3678 return (*fd_info[fd].sense_handler) (fd, (u_char *) & hdr.sr_esense,
3681 *dst_size = hdr.sr_dma_xfr;
3695 UAGT_CAM_CCB hdr;
3734 memset (&hdr, 0, sizeof (hdr));
3735 hdr.uagt_ccb = (CCB_HEADER *) & ccb;
3736 hdr.uagt_ccblen = sizeof (ccb);
3737 hdr.uagt_buffer = ccb.cam_data_ptr;
3738 hdr.uagt_buflen = ccb.cam_dxfer_len;
3739 hdr.uagt_snsbuf = sense;
3740 hdr.uagt_snslen = sizeof (sense);
3741 hdr.uagt_cdb = 0; /* indicate that CDB is in CCB */
3742 hdr.uagt_cdblen = 0;
3744 if (ioctl (cam_fd, UAGT_CAM_IO, &hdr) < 0)