Lines Matching defs:cdb
413 struct scsi_per_res_out *cdb,
1512 memcpy(io->scsiio.cdb, msg->scsi.cdb,
2473 bcopy(io->scsiio.cdb, entry->cdb, io->scsiio.cdb_len);
5295 struct scsi_start_stop_unit *cdb;
5300 cdb = (struct scsi_start_stop_unit *)ctsio->cdb;
5302 if ((cdb->how & SSS_PC_MASK) == 0) {
5304 (cdb->how & SSS_START) == 0) {
5316 if ((cdb->how & SSS_LOEJ) &&
5328 if ((cdb->how & SSS_START) == 0 && (cdb->how & SSS_LOEJ) &&
5348 struct scsi_prevent *cdb;
5354 cdb = (struct scsi_prevent *)ctsio->cdb;
5364 if ((cdb->how & PR_PREVENT) &&
5368 } else if ((cdb->how & PR_PREVENT) == 0 &&
5398 switch (ctsio->cdb[0]) {
5400 struct scsi_sync_cache *cdb;
5401 cdb = (struct scsi_sync_cache *)ctsio->cdb;
5403 starting_lba = scsi_4btoul(cdb->begin_lba);
5404 block_count = scsi_2btoul(cdb->lb_count);
5405 byte2 = cdb->byte2;
5409 struct scsi_sync_cache_16 *cdb;
5410 cdb = (struct scsi_sync_cache_16 *)ctsio->cdb;
5412 starting_lba = scsi_8btou64(cdb->begin_lba);
5413 block_count = scsi_4btoul(cdb->lb_count);
5414 byte2 = cdb->byte2;
5450 struct scsi_format *cdb;
5455 cdb = (struct scsi_format *)ctsio->cdb;
5458 if (cdb->byte2 & SF_FMTDATA) {
5459 if (cdb->byte2 & SF_LONGLIST)
5481 if (cdb->byte2 & SF_FMTDATA) {
5482 if (cdb->byte2 & SF_LONGLIST) {
5541 switch (ctsio->cdb[0]) {
5543 struct scsi_read_buffer *cdb;
5545 cdb = (struct scsi_read_buffer *)ctsio->cdb;
5546 buffer_offset = scsi_3btoul(cdb->offset);
5547 len = scsi_3btoul(cdb->length);
5548 byte2 = cdb->byte2;
5552 struct scsi_read_buffer_16 *cdb;
5554 cdb = (struct scsi_read_buffer_16 *)ctsio->cdb;
5555 buffer_offset = scsi_8btou64(cdb->offset);
5556 len = scsi_4btoul(cdb->length);
5557 byte2 = cdb->byte2;
5607 struct scsi_write_buffer *cdb;
5612 cdb = (struct scsi_write_buffer *)ctsio->cdb;
5614 len = scsi_3btoul(cdb->length);
5615 buffer_offset = scsi_3btoul(cdb->offset);
5695 switch (ctsio->cdb[0]) {
5697 struct scsi_write_same_10 *cdb;
5699 cdb = (struct scsi_write_same_10 *)ctsio->cdb;
5701 lba = scsi_4btoul(cdb->addr);
5702 num_blocks = scsi_2btoul(cdb->length);
5703 byte2 = cdb->byte2;
5707 struct scsi_write_same_16 *cdb;
5709 cdb = (struct scsi_write_same_16 *)ctsio->cdb;
5711 lba = scsi_8btou64(cdb->addr);
5712 num_blocks = scsi_4btoul(cdb->length);
5713 byte2 = cdb->byte2;
5760 /*field*/ ctsio->cdb[0] == WRITE_SAME_10 ? 7 : 10,
5806 struct scsi_unmap *cdb;
5817 cdb = (struct scsi_unmap *)ctsio->cdb;
5818 len = scsi_2btoul(cdb->length);
5819 byte2 = cdb->byte2;
6232 switch (ctsio->cdb[0]) {
6234 struct scsi_mode_select_6 *cdb;
6236 cdb = (struct scsi_mode_select_6 *)ctsio->cdb;
6238 rtd = (cdb->byte2 & SMS_RTD) ? 1 : 0;
6239 param_len = cdb->length;
6244 struct scsi_mode_select_10 *cdb;
6246 cdb = (struct scsi_mode_select_10 *)ctsio->cdb;
6248 rtd = (cdb->byte2 & SMS_RTD) ? 1 : 0;
6249 param_len = scsi_2btoul(cdb->length);
6323 switch (ctsio->cdb[0]) {
6339 panic("%s: Invalid CDB type %#x", __func__, ctsio->cdb[0]);
6380 switch (ctsio->cdb[0]) {
6382 struct scsi_mode_sense_6 *cdb;
6384 cdb = (struct scsi_mode_sense_6 *)ctsio->cdb;
6387 if (cdb->byte2 & SMS_DBD)
6393 pc = (cdb->page & SMS_PAGE_CTRL_MASK) >> 6;
6394 page_code = cdb->page & SMS_PAGE_CODE;
6395 subpage = cdb->subpage;
6396 alloc_len = cdb->length;
6400 struct scsi_mode_sense_10 *cdb;
6402 cdb = (struct scsi_mode_sense_10 *)ctsio->cdb;
6405 if (cdb->byte2 & SMS_DBD) {
6408 if (cdb->byte2 & SMS10_LLBAA) {
6417 pc = (cdb->page & SMS_PAGE_CTRL_MASK) >> 6;
6418 page_code = cdb->page & SMS_PAGE_CODE;
6419 subpage = cdb->subpage;
6420 alloc_len = scsi_2btoul(cdb->length);
6536 switch (ctsio->cdb[0]) {
6574 panic("%s: Invalid CDB type %#x", __func__, ctsio->cdb[0]);
6885 struct scsi_log_sense *cdb;
6890 cdb = (struct scsi_log_sense *)ctsio->cdb;
6891 pc = (cdb->page & SLS_PAGE_CTRL_MASK) >> 6;
6892 page_code = cdb->page & SLS_PAGE_CODE;
6893 subpage = cdb->subpage;
6894 alloc_len = scsi_2btoul(cdb->length);
6959 struct scsi_read_capacity *cdb;
6965 cdb = (struct scsi_read_capacity *)ctsio->cdb;
6967 lba = scsi_4btoul(cdb->addr);
6968 if (((cdb->pmi & SRC_PMI) == 0)
7013 struct scsi_read_capacity_16 *cdb;
7020 cdb = (struct scsi_read_capacity_16 *)ctsio->cdb;
7022 alloc_len = scsi_4btoul(cdb->alloc_len);
7023 lba = scsi_8btou64(cdb->addr);
7025 if ((cdb->reladr & SRC16_PMI)
7063 struct scsi_get_lba_status *cdb;
7072 cdb = (struct scsi_get_lba_status *)ctsio->cdb;
7073 lba = scsi_8btou64(cdb->addr);
7074 alloc_len = scsi_4btoul(cdb->alloc_len);
7121 if (ctsio->cdb[0] == READ_DEFECT_DATA_10) {
7122 ccb10 = (struct scsi_read_defect_data_10 *)&ctsio->cdb;
7127 ccb12 = (struct scsi_read_defect_data_12 *)&ctsio->cdb;
7144 if (ctsio->cdb[0] == READ_DEFECT_DATA_10) {
7168 struct scsi_report_ident_info *cdb;
7176 cdb = (struct scsi_report_ident_info *)ctsio->cdb;
7180 switch (cdb->type) {
7207 alloc_len = scsi_4btoul(cdb->length);
7216 switch (cdb->type) {
7251 struct scsi_maintenance_in *cdb;
7262 cdb = (struct scsi_maintenance_in *)ctsio->cdb;
7265 switch (cdb->byte2 & STG_PDF_MASK) {
7306 alloc_len = scsi_4btoul(cdb->length);
7419 struct scsi_report_supported_opcodes *cdb;
7430 cdb = (struct scsi_report_supported_opcodes *)ctsio->cdb;
7433 opcode = cdb->requested_opcode;
7434 service_action = scsi_2btoul(cdb->requested_service_action);
7435 switch (cdb->options & RSO_OPTIONS_MASK) {
7493 alloc_len = scsi_4btoul(cdb->length);
7501 switch (cdb->options & RSO_OPTIONS_MASK) {
7582 struct scsi_report_supported_tmf *cdb;
7589 cdb = (struct scsi_report_supported_tmf *)ctsio->cdb;
7593 if (cdb->options & RST_REPD)
7597 alloc_len = scsi_4btoul(cdb->length);
7621 struct scsi_report_timestamp *cdb;
7630 cdb = (struct scsi_report_timestamp *)ctsio->cdb;
7635 alloc_len = scsi_4btoul(cdb->length);
7663 struct scsi_per_res_in *cdb;
7670 cdb = (struct scsi_per_res_in *)ctsio->cdb;
7672 alloc_len = scsi_2btoul(cdb->length);
7676 switch (cdb->action) {
7697 panic("%s: Invalid PR type %#x", __func__, cdb->action);
7708 switch (cdb->action) {
7883 panic("%s: Invalid PR type %#x", __func__, cdb->action);
7901 struct ctl_scsiio *ctsio, struct scsi_per_res_out *cdb,
7911 if ((cdb->scope_type & SPR_SCOPE_MASK) !=
8041 if ((cdb->scope_type & SPR_SCOPE_MASK) !=
8229 struct scsi_per_res_out *cdb;
8239 cdb = (struct scsi_per_res_out *)ctsio->cdb;
8248 type = cdb->scope_type & SPR_TYPE_MASK;
8249 if ((cdb->action == SPRO_RESERVE)
8250 || (cdb->action == SPRO_RELEASE)) {
8251 if ((cdb->scope_type & SPR_SCOPE_MASK) != SPR_LU_SCOPE) {
8274 param_len = scsi_4btoul(cdb->length);
8311 if ((cdb->action & SPRO_ACTION_MASK) != SPRO_REG_IGNO) {
8326 } else if ((cdb->action & SPRO_ACTION_MASK) != SPRO_REGISTER) {
8349 switch (cdb->action & SPRO_ACTION_MASK) {
8388 && (cdb->action & SPRO_ACTION_MASK) == SPRO_REGISTER)
8389 || ((cdb->action & SPRO_ACTION_MASK) == SPRO_REG_IGNO
8592 residx, ctsio, cdb, param);
8598 panic("%s: Invalid PR type %#x", __func__, cdb->action);
8746 CTL_DEBUG_PRINT(("ctl_read_write: command: %#x\n", ctsio->cdb[0]));
8749 isread = ctsio->cdb[0] == READ_6 || ctsio->cdb[0] == READ_10
8750 || ctsio->cdb[0] == READ_12 || ctsio->cdb[0] == READ_16;
8751 switch (ctsio->cdb[0]) {
8754 struct scsi_rw_6 *cdb;
8756 cdb = (struct scsi_rw_6 *)ctsio->cdb;
8758 lba = scsi_3btoul(cdb->addr);
8761 num_blocks = cdb->length;
8771 struct scsi_rw_10 *cdb;
8773 cdb = (struct scsi_rw_10 *)ctsio->cdb;
8774 if (cdb->byte2 & SRW10_FUA)
8776 if (cdb->byte2 & SRW10_DPO)
8778 lba = scsi_4btoul(cdb->addr);
8779 num_blocks = scsi_2btoul(cdb->length);
8783 struct scsi_write_verify_10 *cdb;
8785 cdb = (struct scsi_write_verify_10 *)ctsio->cdb;
8787 if (cdb->byte2 & SWV_DPO)
8789 lba = scsi_4btoul(cdb->addr);
8790 num_blocks = scsi_2btoul(cdb->length);
8795 struct scsi_rw_12 *cdb;
8797 cdb = (struct scsi_rw_12 *)ctsio->cdb;
8798 if (cdb->byte2 & SRW12_FUA)
8800 if (cdb->byte2 & SRW12_DPO)
8802 lba = scsi_4btoul(cdb->addr);
8803 num_blocks = scsi_4btoul(cdb->length);
8807 struct scsi_write_verify_12 *cdb;
8809 cdb = (struct scsi_write_verify_12 *)ctsio->cdb;
8811 if (cdb->byte2 & SWV_DPO)
8813 lba = scsi_4btoul(cdb->addr);
8814 num_blocks = scsi_4btoul(cdb->length);
8819 struct scsi_rw_16 *cdb;
8821 cdb = (struct scsi_rw_16 *)ctsio->cdb;
8822 if (cdb->byte2 & SRW12_FUA)
8824 if (cdb->byte2 & SRW12_DPO)
8826 lba = scsi_8btou64(cdb->addr);
8827 num_blocks = scsi_4btoul(cdb->length);
8831 struct scsi_write_atomic_16 *cdb;
8839 cdb = (struct scsi_write_atomic_16 *)ctsio->cdb;
8840 if (cdb->byte2 & SRW12_FUA)
8842 if (cdb->byte2 & SRW12_DPO)
8844 lba = scsi_8btou64(cdb->addr);
8845 num_blocks = scsi_2btoul(cdb->length);
8856 struct scsi_write_verify_16 *cdb;
8858 cdb = (struct scsi_write_verify_16 *)ctsio->cdb;
8860 if (cdb->byte2 & SWV_DPO)
8862 lba = scsi_8btou64(cdb->addr);
8863 num_blocks = scsi_4btoul(cdb->length);
8959 CTL_DEBUG_PRINT(("ctl_cnw: command: %#x\n", ctsio->cdb[0]));
8962 switch (ctsio->cdb[0]) {
8964 struct scsi_compare_and_write *cdb;
8966 cdb = (struct scsi_compare_and_write *)ctsio->cdb;
8967 if (cdb->byte2 & SRW10_FUA)
8969 if (cdb->byte2 & SRW10_DPO)
8971 lba = scsi_8btou64(cdb->addr);
8972 num_blocks = cdb->length;
9046 CTL_DEBUG_PRINT(("ctl_verify: command: %#x\n", ctsio->cdb[0]));
9050 switch (ctsio->cdb[0]) {
9052 struct scsi_verify_10 *cdb;
9054 cdb = (struct scsi_verify_10 *)ctsio->cdb;
9055 if (cdb->byte2 & SVFY_BYTCHK)
9057 if (cdb->byte2 & SVFY_DPO)
9059 lba = scsi_4btoul(cdb->addr);
9060 num_blocks = scsi_2btoul(cdb->length);
9064 struct scsi_verify_12 *cdb;
9066 cdb = (struct scsi_verify_12 *)ctsio->cdb;
9067 if (cdb->byte2 & SVFY_BYTCHK)
9069 if (cdb->byte2 & SVFY_DPO)
9071 lba = scsi_4btoul(cdb->addr);
9072 num_blocks = scsi_4btoul(cdb->length);
9076 struct scsi_rw_16 *cdb;
9078 cdb = (struct scsi_rw_16 *)ctsio->cdb;
9079 if (cdb->byte2 & SVFY_BYTCHK)
9081 if (cdb->byte2 & SVFY_DPO)
9083 lba = scsi_8btou64(cdb->addr);
9084 num_blocks = scsi_4btoul(cdb->length);
9144 struct scsi_report_luns *cdb;
9151 cdb = (struct scsi_report_luns *)ctsio->cdb;
9164 switch (cdb->select_report) {
9186 alloc_len = scsi_4btoul(cdb->length);
9287 struct scsi_request_sense *cdb;
9296 cdb = (struct scsi_request_sense *)ctsio->cdb;
9303 if (cdb->byte2 & SRS_DESC)
9313 MIN(cdb->length, sizeof(*sense_ptr));
10079 struct scsi_inquiry *cdb;
10082 cdb = (struct scsi_inquiry *)ctsio->cdb;
10083 alloc_len = scsi_2btoul(cdb->length);
10085 switch (cdb->page_code) {
10151 struct scsi_inquiry *cdb;
10160 cdb = (struct scsi_inquiry *)ctsio->cdb;
10161 alloc_len = scsi_2btoul(cdb->length);
10341 struct scsi_inquiry *cdb;
10346 cdb = (struct scsi_inquiry *)ctsio->cdb;
10347 if (cdb->byte2 & SI_EVPD)
10349 else if (cdb->page_code == 0)
10371 struct scsi_get_config *cdb;
10375 cdb = (struct scsi_get_config *)ctsio->cdb;
10376 rt = (cdb->rt & SGC_RT_MASK);
10377 starting = scsi_2btoul(cdb->starting_feature);
10378 alloc_len = scsi_2btoul(cdb->length);
10576 struct scsi_get_event_status *cdb;
10579 cdb = (struct scsi_get_event_status *)ctsio->cdb;
10580 if ((cdb->byte2 & SGESN_POLLED) == 0) {
10586 alloc_len = scsi_2btoul(cdb->length);
10611 struct scsi_mechanism_status *cdb;
10614 cdb = (struct scsi_mechanism_status *)ctsio->cdb;
10615 alloc_len = scsi_2btoul(cdb->length);
10655 struct scsi_read_toc *cdb;
10659 cdb = (struct scsi_read_toc *)ctsio->cdb;
10660 msf = (cdb->byte2 & CD_MSF) != 0;
10661 format = cdb->format;
10662 alloc_len = scsi_2btoul(cdb->data_len);
11442 switch (io->scsiio.cdb[0]) {
11444 struct scsi_compare_and_write *cdb;
11446 cdb = (struct scsi_compare_and_write *)io->scsiio.cdb;
11448 *lba = scsi_8btou64(cdb->addr);
11449 *len = cdb->length;
11454 struct scsi_rw_6 *cdb;
11456 cdb = (struct scsi_rw_6 *)io->scsiio.cdb;
11458 *lba = scsi_3btoul(cdb->addr);
11461 *len = cdb->length;
11466 struct scsi_rw_10 *cdb;
11468 cdb = (struct scsi_rw_10 *)io->scsiio.cdb;
11470 *lba = scsi_4btoul(cdb->addr);
11471 *len = scsi_2btoul(cdb->length);
11475 struct scsi_write_verify_10 *cdb;
11477 cdb = (struct scsi_write_verify_10 *)io->scsiio.cdb;
11479 *lba = scsi_4btoul(cdb->addr);
11480 *len = scsi_2btoul(cdb->length);
11485 struct scsi_rw_12 *cdb;
11487 cdb = (struct scsi_rw_12 *)io->scsiio.cdb;
11489 *lba = scsi_4btoul(cdb->addr);
11490 *len = scsi_4btoul(cdb->length);
11494 struct scsi_write_verify_12 *cdb;
11496 cdb = (struct scsi_write_verify_12 *)io->scsiio.cdb;
11498 *lba = scsi_4btoul(cdb->addr);
11499 *len = scsi_4btoul(cdb->length);
11504 struct scsi_rw_16 *cdb;
11506 cdb = (struct scsi_rw_16 *)io->scsiio.cdb;
11508 *lba = scsi_8btou64(cdb->addr);
11509 *len = scsi_4btoul(cdb->length);
11513 struct scsi_write_atomic_16 *cdb;
11515 cdb = (struct scsi_write_atomic_16 *)io->scsiio.cdb;
11517 *lba = scsi_8btou64(cdb->addr);
11518 *len = scsi_2btoul(cdb->length);
11522 struct scsi_write_verify_16 *cdb;
11524 cdb = (struct scsi_write_verify_16 *)io->scsiio.cdb;
11526 *lba = scsi_8btou64(cdb->addr);
11527 *len = scsi_4btoul(cdb->length);
11531 struct scsi_write_same_10 *cdb;
11533 cdb = (struct scsi_write_same_10 *)io->scsiio.cdb;
11535 *lba = scsi_4btoul(cdb->addr);
11536 *len = scsi_2btoul(cdb->length);
11540 struct scsi_write_same_16 *cdb;
11542 cdb = (struct scsi_write_same_16 *)io->scsiio.cdb;
11544 *lba = scsi_8btou64(cdb->addr);
11545 *len = scsi_4btoul(cdb->length);
11549 struct scsi_verify_10 *cdb;
11551 cdb = (struct scsi_verify_10 *)io->scsiio.cdb;
11553 *lba = scsi_4btoul(cdb->addr);
11554 *len = scsi_2btoul(cdb->length);
11558 struct scsi_verify_12 *cdb;
11560 cdb = (struct scsi_verify_12 *)io->scsiio.cdb;
11562 *lba = scsi_4btoul(cdb->addr);
11563 *len = scsi_4btoul(cdb->length);
11567 struct scsi_verify_16 *cdb;
11569 cdb = (struct scsi_verify_16 *)io->scsiio.cdb;
11571 *lba = scsi_8btou64(cdb->addr);
11572 *len = scsi_4btoul(cdb->length);
11581 struct scsi_get_lba_status *cdb;
11583 cdb = (struct scsi_get_lba_status *)io->scsiio.cdb;
11584 *lba = scsi_8btou64(cdb->addr);
11623 if (io->scsiio.cdb[0] != UNMAP)
12345 if (ctsio->cdb[0] != REQUEST_SENSE) {
12422 memcpy(msg_info.scsi.cdb, ctsio->cdb, CTL_MAX_CDBLEN);
12473 entry = &ctl_cmd_table[ctsio->cdb[0]];
12477 service_action = ctsio->cdb[1] & SERVICE_ACTION_MASK;
12508 ctsio->cdb[0], ctsio->cdb[1]));
12510 diff = ctsio->cdb[i] & ~entry->usage[i - 1];
12556 CTL_DEBUG_PRINT(("ctl_scsiio cdb[0]=%02X\n", ctsio->cdb[0]));
14101 CTL_DEBUG_PRINT(("ctl_queue cdb[0]=%02X\n", io->scsiio.cdb[0]));
14146 CTL_DEBUG_PRINT(("ctl_run cdb[0]=%02X\n", io->scsiio.cdb[0]));
14220 printf("%s: type %d msg %d cdb %x iptl: "
14226 io->scsiio.cdb[0],