summaryrefslogtreecommitdiff
path: root/hw/scsi.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-07-10 15:02:55 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2012-07-26 17:44:10 +0200
commit380feaffb0fcc8e5f615ed8e86d2e93717a6f2c6 (patch)
tree7bafb79756a33ea78c6dff98de22f7d3faaf728d /hw/scsi.h
parent4f588b151127a2556ad0c52158f98cfe1a9c0cfa (diff)
downloadqemu-380feaffb0fcc8e5f615ed8e86d2e93717a6f2c6.tar.gz
qemu-380feaffb0fcc8e5f615ed8e86d2e93717a6f2c6.tar.bz2
qemu-380feaffb0fcc8e5f615ed8e86d2e93717a6f2c6.zip
scsi-disk: parse MODE SELECT commands and parameters
This adds the bulk of the parsing code for MODE SELECT, including breaking out changes to different mode pages, and checking that only changeable values are modified. In order to report errors correctly two passes are made through the parameters; the first only looks for errors, the second actually applies the changes to the mode page. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/scsi.h')
-rw-r--r--hw/scsi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/scsi.h b/hw/scsi.h
index ea8a15567d..e2fb8a4870 100644
--- a/hw/scsi.h
+++ b/hw/scsi.h
@@ -180,6 +180,10 @@ extern const struct SCSISense sense_code_INVALID_OPCODE;
extern const struct SCSISense sense_code_LBA_OUT_OF_RANGE;
/* Illegal request, Invalid field in CDB */
extern const struct SCSISense sense_code_INVALID_FIELD;
+/* Illegal request, Invalid field in parameter list */
+extern const struct SCSISense sense_code_INVALID_PARAM;
+/* Illegal request, Parameter list length error */
+extern const struct SCSISense sense_code_INVALID_PARAM_LEN;
/* Illegal request, LUN not supported */
extern const struct SCSISense sense_code_LUN_NOT_SUPPORTED;
/* Illegal request, Saving parameters not supported */