Lines Matching refs:cmd

37 	scsi_cmd_prevent_allow cmd;
41 memset(&cmd, 0, sizeof(cmd));
42 cmd.opcode = SCSI_OP_PREVENT_ALLOW;
43 cmd.prevent = prevent;
45 return periph_simple_exec(device, (uint8 *)&cmd, sizeof(cmd), NULL, 0,
52 raw_command(scsi_periph_device_info *device, raw_device_command *cmd)
64 if (cmd->flags & B_RAW_DEVICE_DATA_IN)
66 else if (cmd->data_length)
71 request->data = (uint8*)cmd->data;
73 request->data_length = cmd->data_length;
75 request->timeout = cmd->timeout;
77 memcpy(request->cdb, cmd->command, SCSI_MAX_CDB_SIZE);
78 request->cdb_length = cmd->command_length;
85 cmd->cam_status = request->subsys_status;
86 cmd->scsi_status = request->device_status;
88 if ((request->subsys_status & SCSI_AUTOSNS_VALID) != 0 && cmd->sense_data) {
89 memcpy(cmd->sense_data, request->sense, min_c(cmd->sense_data_length,
93 if ((cmd->flags & B_RAW_DEVICE_REPORT_RESIDUAL) != 0) {
97 cmd->data_length = cmd->data_length - request->data_resid;
98 cmd->sense_data_length = SCSI_MAX_SENSE_SIZE - request->sense_resid;
168 scsi_cmd_rw_6 *cmd = (scsi_cmd_rw_6 *)request->cdb;
172 memset(cmd, 0, sizeof(*cmd));
173 cmd->opcode = isWrite ? SCSI_OP_WRITE_6 : SCSI_OP_READ_6;
174 cmd->high_lba = (pos >> 16) & 0x1f;
175 cmd->mid_lba = (pos >> 8) & 0xff;
176 cmd->low_lba = pos & 0xff;
177 cmd->length = numBlocks;
179 request->cdb_length = sizeof(*cmd);
181 scsi_cmd_rw_10 *cmd = (scsi_cmd_rw_10 *)request->cdb;
185 memset(cmd, 0, sizeof(*cmd));
186 cmd->opcode = isWrite ? SCSI_OP_WRITE_10 : SCSI_OP_READ_10;
187 cmd->relative_address = 0;
188 cmd->force_unit_access = 0;
189 cmd->disable_page_out = 0;
190 cmd->lba = B_HOST_TO_BENDIAN_INT32(pos);
191 cmd->length = B_HOST_TO_BENDIAN_INT16(numBlocks);
193 request->cdb_length = sizeof(*cmd);
195 scsi_cmd_rw_12 *cmd = (scsi_cmd_rw_12 *)request->cdb;
197 memset(cmd, 0, sizeof(*cmd));
198 cmd->opcode = isWrite ? SCSI_OP_WRITE_12 : SCSI_OP_READ_12;
199 cmd->relative_address = 0;
200 cmd->force_unit_access = 0;
201 cmd->disable_page_out = 0;
202 cmd->lba = B_HOST_TO_BENDIAN_INT32(pos);
203 cmd->length = B_HOST_TO_BENDIAN_INT32(numBlocks);
205 request->cdb_length = sizeof(*cmd);
207 scsi_cmd_rw_16 *cmd = (scsi_cmd_rw_16 *)request->cdb;
209 memset(cmd, 0, sizeof(*cmd));
210 cmd->opcode = isWrite ? SCSI_OP_WRITE_16 : SCSI_OP_READ_16;
211 cmd->force_unit_access_non_volatile = 0;
212 cmd->force_unit_access = 0;
213 cmd->disable_page_out = 0;
214 cmd->lba = B_HOST_TO_BENDIAN_INT64(offset);
215 cmd->length = B_HOST_TO_BENDIAN_INT32(numBlocks);
217 request->cdb_length = sizeof(*cmd);