Lines Matching refs:ctio
454 struct ccb_scsiio *ctio;
459 ctio = (struct ccb_scsiio *)events[i].udata;
461 ctio->ccb_h.targ_descr;
464 queue_io(ctio);
584 struct ccb_scsiio *ctio;
587 ctio = &ccb->ctio;
588 c_descr = (struct ctio_descr *)ctio->ccb_h.targ_descr;
591 queue_io(ctio);
613 struct ccb_scsiio *ctio;
625 ctio = get_ctio();
626 if (ctio == NULL) {
630 ctio->ccb_h.flags = a_descr->flags;
631 ctio->tag_id = atio->tag_id;
632 ctio->init_id = atio->init_id;
634 c_descr = (struct ctio_descr *)ctio->ccb_h.targ_descr;
655 tcmd_sense(ctio->init_id, ctio, sense->flags,
657 send_ccb((union ccb *)ctio, /*priority*/1);
664 ret = tcmd_handle(atio, ctio, ATIO_WORK);
684 queue_io(struct ccb_scsiio *ctio)
690 c_descr = (struct ctio_descr *)ctio->ccb_h.targ_descr;
692 errx(1, "CTIO %p has NULL ATIO", ctio);
697 TAILQ_INSERT_HEAD(ioq, &ctio->ccb_h, periph_links.tqe);
710 TAILQ_INSERT_AFTER(ioq, ccb_h, &ctio->ccb_h, periph_links.tqe);
712 TAILQ_INSERT_HEAD(ioq, &ctio->ccb_h, periph_links.tqe);
733 struct ccb_scsiio *ctio;
736 ctio = (struct ccb_scsiio *)ccb_h;
737 c_descr = (struct ctio_descr *)ctio->ccb_h.targ_descr;
739 if (ctio->ccb_h.status == CAM_REQ_ABORTED) {
742 free_ccb((union ccb *)ctio);
757 tcmd_handle(atio, ctio, c_descr->event);
767 "aio" : "ctio");
845 struct ccb_scsiio *ctio;
854 ctio = (struct ccb_scsiio *)malloc(sizeof(*ctio));
855 if (ctio == NULL) {
861 free(ctio);
868 free(ctio);
875 ctio->ccb_h.func_code = XPT_CONT_TARGET_IO;
876 ctio->ccb_h.retry_count = 2;
877 ctio->ccb_h.timeout = CAM_TIME_INFINITY;
878 ctio->data_ptr = c_descr->buf;
879 ctio->ccb_h.targ_descr = c_descr;
885 se->sigev_value.sival_ptr = ctio;
887 return (ctio);