From 351b882cbbe4ca57d4de16a434bde2a1bd45ed92 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sat, 22 Apr 2006 10:00:05 +0000 Subject: add the spc commands to the smc and ssc tables svn path=/trunk/; revision=17955 --- epan/dissectors/packet-scsi.c | 120 +++++++++++++++++++++++++----------------- 1 file changed, 73 insertions(+), 47 deletions(-) diff --git a/epan/dissectors/packet-scsi.c b/epan/dissectors/packet-scsi.c index 1a25bac06c..1d012f09cf 100644 --- a/epan/dissectors/packet-scsi.c +++ b/epan/dissectors/packet-scsi.c @@ -691,16 +691,33 @@ static const value_string scsi_smc2_val[] = { {SCSI_SMC2_INITIALIZE_ELEMENT_STATUS , "Initialize Element Status"}, {SCSI_SMC2_INITIALIZE_ELEMENT_STATUS_RANGE, "Initialize Element Status With Range"}, {SCSI_SPC2_INQUIRY , "Inquiry"}, + {SCSI_SPC2_LOGSELECT , "Log Select"}, + {SCSI_SPC2_LOGSENSE , "Log Sense"}, + {SCSI_SPC2_MODESELECT6 , "Mode Select(6)"}, + {SCSI_SPC2_MODESELECT10 , "Mode Select(10)"}, + {SCSI_SPC2_MODESENSE6 , "Mode Sense(6)"}, + {SCSI_SPC2_MODESENSE10 , "Mode Sense(10)"}, {SCSI_SMC2_MOVE_MEDIUM , "Move Medium"}, {SCSI_SMC2_MOVE_MEDIUM_ATTACHED , "Move Medium Attached"}, + {SCSI_SPC2_PERSRESVIN , "Persistent Reserve In"}, + {SCSI_SPC2_PERSRESVOUT , "Persistent Reserve Out"}, {SCSI_SMC2_POSITION_TO_ELEMENT , "Position To Element"}, + {SCSI_SPC2_PREVMEDREMOVAL , "Prevent/Allow Medium Removal"}, {SCSI_SMC2_READ_ATTRIBUTE , "Read Attribute"}, {SCSI_SMC2_READ_ELEMENT_STATUS , "Read Element Status"}, {SCSI_SMC2_READ_ELEMENT_STATUS_ATTACHED , "Read Element Status Attached"}, + {SCSI_SPC2_RELEASE6 , "Release(6)"}, + {SCSI_SPC2_RELEASE10 , "Release(10)"}, + {SCSI_SPC2_REPORTLUNS , "Report LUNs"}, + {SCSI_SPC2_REQSENSE , "Request Sense"}, {SCSI_SMC2_REQUEST_VOLUME_ELEMENT_ADDRESS , "Request Volume Element Address"}, + {SCSI_SPC2_RESERVE6 , "Reserve(6)"}, + {SCSI_SPC2_RESERVE10 , "Reserve(10)"}, {SCSI_SMC2_SEND_VOLUME_TAG , "Send Volume Tag"}, - {SCSI_SPC2_TESTUNITRDY , "Test Unit Ready"}, + {SCSI_SPC2_SENDDIAG , "Send Diagnostic"}, + {SCSI_SPC2_TESTUNITRDY , "Test Unit Ready"}, {SCSI_SMC2_WRITE_ATTRIBUTE , "Write Attribute"}, + {SCSI_SPC2_WRITEBUFFER , "Write Buffer"}, {0, NULL}, }; @@ -731,42 +748,51 @@ static const value_string scsi_smc2_val[] = { #define SCSI_SSC2_LOCATE_16 0x92 #define SCSI_SSC2_ERASE_16 0x93 -/* For commands from SPC we have automatic fallback, for all - * commands not in SSC and not from SPC we must add them to this - * value string for proper prettyprinting. - */ static const value_string scsi_ssc2_val[] = { + {SCSI_SSC2_ERASE_6 , "Erase(6)"}, {SCSI_SSC2_ERASE_16 , "Erase(16)"}, + {SCSI_SPC2_EXTCOPY , "Extended Copy"}, {SCSI_SSC2_FORMAT_MEDIUM , "Format Medium"}, {SCSI_SPC2_INQUIRY , "Inquiry"}, {SCSI_SSC2_LOAD_UNLOAD , "Load Unload"}, + {SCSI_SSC2_LOCATE_10 , "Locate(10)"}, {SCSI_SSC2_LOCATE_16 , "Locate(16)"}, + {SCSI_SPC2_LOGSELECT , "Log Select"}, + {SCSI_SPC2_LOGSENSE , "Log Sense"}, + {SCSI_SPC2_MODESELECT6 , "Mode Select(6)"}, + {SCSI_SPC2_MODESELECT10 , "Mode Select(10)"}, + {SCSI_SPC2_MODESENSE6 , "Mode Sense(6)"}, + {SCSI_SPC2_MODESENSE10 , "Mode Sense(10)"}, + {SCSI_SMC2_MOVE_MEDIUM , "Move Medium"}, + {SCSI_SMC2_MOVE_MEDIUM_ATTACHED , "Move Medium Attached"}, + {SCSI_SPC2_PERSRESVIN , "Persistent Reserve In"}, + {SCSI_SPC2_PERSRESVOUT , "Persistent Reserve Out"}, + {SCSI_SPC2_PREVMEDREMOVAL , "Prevent/Allow Medium Removal"}, + {SCSI_SSC2_READ6 , "Read(6)"}, {SCSI_SSC2_READ_16 , "Read(16)"}, {SCSI_SSC2_READ_BLOCK_LIMITS , "Read Block Limits"}, + {SCSI_SMC2_READ_ELEMENT_STATUS , "Read Element Status"}, + {SCSI_SMC2_READ_ELEMENT_STATUS_ATTACHED, "Read Element Status Attached"}, {SCSI_SSC2_READ_POSITION , "Read Position"}, + {SCSI_SSC2_READ_REVERSE_6 , "Read Reverse(6)"}, {SCSI_SSC2_READ_REVERSE_16 , "Read Reverse(16)"}, {SCSI_SSC2_RECOVER_BUFFERED_DATA , "Recover Buffered Data"}, {SCSI_SSC2_REPORT_DENSITY_SUPPORT , "Report Density Support"}, + {SCSI_SPC2_REPORTLUNS , "Report LUNs"}, + {SCSI_SPC2_REQSENSE , "Request Sense"}, {SCSI_SSC2_REWIND , "Rewind"}, + {SCSI_SPC2_SENDDIAG , "Send Diagnostic"}, {SCSI_SSC2_SET_CAPACITY , "Set Capacity"}, - {SCSI_SSC2_SPACE_16 , "Space(16)"}, - {SCSI_SSC2_VERIFY_16 , "Verify(16)"}, - {SCSI_SSC2_WRITE_16 , "Write(16)"}, - {SCSI_SSC2_WRITE_FILEMARKS_16 , "Write Filemarks(16)"}, - {SCSI_SSC2_ERASE_6 , "Erase(6)"}, - {SCSI_SSC2_LOCATE_10 , "Locate(10)"}, - {SCSI_SSC2_LOCATE_16 , "Locate(16)"}, - {SCSI_SSC2_READ6 , "Read(6)"}, - {SCSI_SSC2_READ_REVERSE_6 , "Read Reverse(6)"}, {SCSI_SSC2_SPACE_6 , "Space(6)"}, + {SCSI_SSC2_SPACE_16 , "Space(16)"}, {SCSI_SPC2_TESTUNITRDY , "Test Unit Ready"}, {SCSI_SSC2_VERIFY_6 , "Verify(6)"}, + {SCSI_SSC2_VERIFY_16 , "Verify(16)"}, {SCSI_SSC2_WRITE6 , "Write(6)"}, + {SCSI_SSC2_WRITE_16 , "Write(16)"}, + {SCSI_SPC2_WRITEBUFFER , "Write Buffer"}, + {SCSI_SSC2_WRITE_FILEMARKS_16 , "Write Filemarks(16)"}, {SCSI_SSC2_WRITE_FILEMARKS_6 , "Write Filemarks(6)"}, - {SCSI_SMC2_MOVE_MEDIUM , "Move Medium"}, - {SCSI_SMC2_MOVE_MEDIUM_ATTACHED , "Move Medium Attached"}, - {SCSI_SMC2_READ_ELEMENT_STATUS , "Read Element Status"}, - {SCSI_SMC2_READ_ELEMENT_STATUS_ATTACHED, "Read Element Status Attached"}, {0, NULL}, }; @@ -6870,7 +6896,7 @@ static scsi_cdb_table_t ssc[256] = { /*SPC 0x00*/{dissect_spc3_testunitready}, /*SSC 0x01*/{dissect_ssc2_rewind}, /*SSC 0x02*/{NULL}, -/*SSC 0x03*/{NULL}, +/*SPC 0x03*/{dissect_spc3_requestsense}, /*SSC 0x04*/{dissect_ssc2_formatmedium}, /*SSC 0x05*/{dissect_ssc2_readblocklimits}, /*SSC 0x06*/{NULL}, @@ -6888,15 +6914,15 @@ static scsi_cdb_table_t ssc[256] = { /*SPC 0x12*/{dissect_spc3_inquiry}, /*SSC 0x13*/{NULL}, /*SSC 0x14*/{NULL}, -/*SSC 0x15*/{NULL}, +/*SPC 0x15*/{dissect_spc3_modeselect6}, /*SSC 0x16*/{NULL}, /*SSC 0x17*/{NULL}, /*SSC 0x18*/{NULL}, /*SSC 0x19*/{dissect_ssc2_erase6}, -/*SSC 0x1a*/{NULL}, +/*SPC 0x1a*/{dissect_spc3_modesense6}, /*SSC 0x1b*/{dissect_ssc2_loadunload}, /*SSC 0x1c*/{NULL}, -/*SSC 0x1d*/{NULL}, +/*SPC 0x1d*/{dissect_spc3_senddiagnostic}, /*SSC 0x1e*/{dissect_spc3_preventallowmediaremoval}, /*SSC 0x1f*/{NULL}, /*SSC 0x20*/{NULL}, @@ -6926,7 +6952,7 @@ static scsi_cdb_table_t ssc[256] = { /*SSC 0x38*/{NULL}, /*SSC 0x39*/{NULL}, /*SSC 0x3a*/{NULL}, -/*SSC 0x3b*/{NULL}, +/*SPC 0x3b*/{dissect_spc3_writebuffer}, /*SSC 0x3c*/{NULL}, /*SSC 0x3d*/{NULL}, /*SSC 0x3e*/{NULL}, @@ -6943,8 +6969,8 @@ static scsi_cdb_table_t ssc[256] = { /*SSC 0x49*/{NULL}, /*SSC 0x4a*/{NULL}, /*SSC 0x4b*/{NULL}, -/*SSC 0x4c*/{NULL}, -/*SSC 0x4d*/{NULL}, +/*SPC 0x4c*/{dissect_spc3_logselect}, +/*SPC 0x4d*/{dissect_spc3_logsense}, /*SSC 0x4e*/{NULL}, /*SSC 0x4f*/{NULL}, /*SSC 0x50*/{NULL}, @@ -6952,17 +6978,17 @@ static scsi_cdb_table_t ssc[256] = { /*SSC 0x52*/{NULL}, /*SSC 0x53*/{NULL}, /*SSC 0x54*/{NULL}, -/*SSC 0x55*/{NULL}, +/*SPC 0x55*/{dissect_spc3_modeselect10}, /*SSC 0x56*/{NULL}, /*SSC 0x57*/{NULL}, /*SSC 0x58*/{NULL}, /*SSC 0x59*/{NULL}, -/*SSC 0x5a*/{NULL}, +/*SPC 0x5a*/{dissect_spc3_modesense10}, /*SSC 0x5b*/{NULL}, /*SSC 0x5c*/{NULL}, /*SSC 0x5d*/{NULL}, -/*SSC 0x5e*/{NULL}, -/*SSC 0x5f*/{NULL}, +/*SPC 0x5e*/{dissect_spc3_persistentreservein}, +/*SPC 0x5f*/{dissect_spc3_persistentreserveout}, /*SSC 0x60*/{NULL}, /*SSC 0x61*/{NULL}, /*SSC 0x62*/{NULL}, @@ -6998,7 +7024,7 @@ static scsi_cdb_table_t ssc[256] = { /*SSC 0x80*/{NULL}, /*SSC 0x81*/{NULL}, /*SSC 0x82*/{NULL}, -/*SSC 0x83*/{NULL}, +/*SPC 0x83*/{dissect_spc3_extcopy}, /*SSC 0x84*/{NULL}, /*SSC 0x85*/{NULL}, /*SSC 0x86*/{NULL}, @@ -7027,7 +7053,7 @@ static scsi_cdb_table_t ssc[256] = { /*SSC 0x9d*/{NULL}, /*SSC 0x9e*/{NULL}, /*SSC 0x9f*/{NULL}, -/*SSC 0xa0*/{NULL}, +/*SPC 0xa0*/{dissect_spc3_reportluns}, /*SSC 0xa1*/{NULL}, /*SSC 0xa2*/{NULL}, /*SSC 0xa3*/{NULL}, @@ -7129,7 +7155,7 @@ static scsi_cdb_table_t smc[256] = { /*SPC 0x00*/{dissect_spc3_testunitready}, /*SMC 0x01*/{NULL}, /*SMC 0x02*/{NULL}, -/*SMC 0x03*/{NULL}, +/*SPC 0x03*/{dissect_spc3_requestsense}, /*SMC 0x04*/{NULL}, /*SMC 0x05*/{NULL}, /*SMC 0x06*/{NULL}, @@ -7147,15 +7173,15 @@ static scsi_cdb_table_t smc[256] = { /*SPC 0x12*/{dissect_spc3_inquiry}, /*SMC 0x13*/{NULL}, /*SMC 0x14*/{NULL}, -/*SMC 0x15*/{NULL}, -/*SMC 0x16*/{NULL}, -/*SMC 0x17*/{NULL}, +/*SPC 0x15*/{dissect_spc3_modeselect6}, +/*SPC 0x16*/{dissect_spc2_reserve6}, +/*SPC 0x17*/{dissect_spc2_release6}, /*SMC 0x18*/{NULL}, /*SMC 0x19*/{NULL}, -/*SMC 0x1a*/{NULL}, +/*SPC 0x1a*/{dissect_spc3_modesense6}, /*SMC 0x1b*/{NULL}, /*SMC 0x1c*/{NULL}, -/*SMC 0x1d*/{NULL}, +/*SPC 0x1d*/{dissect_spc3_senddiagnostic}, /*SMC 0x1e*/{dissect_spc3_preventallowmediaremoval}, /*SMC 0x1f*/{NULL}, /*SMC 0x20*/{NULL}, @@ -7185,7 +7211,7 @@ static scsi_cdb_table_t smc[256] = { /*SMC 0x38*/{NULL}, /*SMC 0x39*/{NULL}, /*SMC 0x3a*/{NULL}, -/*SMC 0x3b*/{NULL}, +/*SPC 0x3b*/{dissect_spc3_writebuffer}, /*SMC 0x3c*/{NULL}, /*SMC 0x3d*/{NULL}, /*SMC 0x3e*/{NULL}, @@ -7202,8 +7228,8 @@ static scsi_cdb_table_t smc[256] = { /*SMC 0x49*/{NULL}, /*SMC 0x4a*/{NULL}, /*SMC 0x4b*/{NULL}, -/*SMC 0x4c*/{NULL}, -/*SMC 0x4d*/{NULL}, +/*SPC 0x4c*/{dissect_spc3_logselect}, +/*SPC 0x4d*/{dissect_spc3_logsense}, /*SMC 0x4e*/{NULL}, /*SMC 0x4f*/{NULL}, /*SMC 0x50*/{NULL}, @@ -7211,17 +7237,17 @@ static scsi_cdb_table_t smc[256] = { /*SMC 0x52*/{NULL}, /*SMC 0x53*/{NULL}, /*SMC 0x54*/{NULL}, -/*SMC 0x55*/{NULL}, -/*SMC 0x56*/{NULL}, -/*SMC 0x57*/{NULL}, +/*SPC 0x55*/{dissect_spc3_modeselect10}, +/*SPC 0x56*/{dissect_spc2_reserve10}, +/*SPC 0x57*/{dissect_spc2_release10}, /*SMC 0x58*/{NULL}, /*SMC 0x59*/{NULL}, -/*SMC 0x5a*/{NULL}, +/*SPC 0x5a*/{dissect_spc3_modesense10}, /*SMC 0x5b*/{NULL}, /*SMC 0x5c*/{NULL}, /*SMC 0x5d*/{NULL}, -/*SMC 0x5e*/{NULL}, -/*SMC 0x5f*/{NULL}, +/*SPC 0x5e*/{dissect_spc3_persistentreservein}, +/*SPC 0x5f*/{dissect_spc3_persistentreserveout}, /*SMC 0x60*/{NULL}, /*SMC 0x61*/{NULL}, /*SMC 0x62*/{NULL}, @@ -7286,7 +7312,7 @@ static scsi_cdb_table_t smc[256] = { /*SMC 0x9d*/{NULL}, /*SMC 0x9e*/{NULL}, /*SMC 0x9f*/{NULL}, -/*SMC 0xa0*/{NULL}, +/*SPC 0xa0*/{dissect_spc3_reportluns}, /*SMC 0xa1*/{NULL}, /*SMC 0xa2*/{NULL}, /*SMC 0xa3*/{NULL}, -- cgit v1.2.3