Lines Matching refs:io_hdr
195 struct scsi_sg_io_hdr io_hdr;
203 memset(&io_hdr, 0, sizeof(struct scsi_sg_io_hdr));
239 io_hdr.cmd_len = SG_ATA_16_LEN;
249 io_hdr.cmd_len = SG_ATA_12_LEN;
252 io_hdr.interface_id = 'S';
253 io_hdr.mx_sb_len = sizeof(sb);
254 io_hdr.dxfer_direction = data ? (rw ? SG_DXFER_TO_DEV : SG_DXFER_FROM_DEV) : SG_DXFER_NONE;
255 io_hdr.dxfer_len = data ? data_bytes : 0;
256 io_hdr.dxferp = data;
257 io_hdr.cmdp = cdb;
258 io_hdr.sbp = sb;
259 io_hdr.pack_id = tf_to_lba(tf);
260 io_hdr.timeout = (timeout_secs ? timeout_secs : default_timeout_secs) * 1000; /* msecs */
268 if (ioctl(fd, SG_IO, &io_hdr) == -1) {
276 io_hdr.cmd_len, io_hdr.status, io_hdr.host_status, io_hdr.driver_status);
278 if (io_hdr.status && io_hdr.status != SG_CHECK_CONDITION) {
280 fprintf(stderr, "SG_IO: bad status: 0x%x\n", io_hdr.status);
284 if (io_hdr.host_status) {
286 fprintf(stderr, "SG_IO: bad host status: 0x%x\n", io_hdr.host_status);
296 if (io_hdr.driver_status && (io_hdr.driver_status != SG_DRIVER_SENSE)) {
298 fprintf(stderr, "SG_IO: bad driver status: 0x%x\n", io_hdr.driver_status);
304 if (io_hdr.driver_status != SG_DRIVER_SENSE) {
348 io_hdr.cmd_len, tf->status, tf->error, tf->lob.nsect, tf->lob.lbal, tf->lob.lbam, tf->lob.lbah, tf->dev);