1 2 static const char *ScsiOpcodeString[256] = { 3 "TEST UNIT READY\0\01", /* 00h */ 4 "REWIND\0\002" 5 "\001REZERO UNIT", /* 01h */ 6 "\0\0", /* 02h */ 7 "REQUEST SENSE\0\01", /* 03h */ 8 "FORMAT UNIT\0\03" 9 "\001FORMAT MEDIUM\0" 10 "\002FORMAT", /* 04h */ 11 "READ BLOCK LIMITS\0\1", /* 05h */ 12 "\0\0", /* 06h */ 13 "REASSIGN BLOCKS\0\02" 14 "\010INITIALIZE ELEMENT STATUS", /* 07h */ 15 "READ(06)\0\04" 16 "\001READ\0" 17 "\003RECEIVE\0" 18 "\011GET MESSAGE(06)", /* 08h */ 19 "\0\0", /* 09h */ 20 "WRITE(06)\0\05" 21 "\001WRITE\0" 22 "\002PRINT\0" 23 "\003SEND(6)\0" 24 "\011SEND MESSAGE(06)", /* 0Ah */ 25 "SEEK(06)\0\02" 26 "\003SLEW AND PRINT", /* 0Bh */ 27 "\0\0", /* 0Ch */ 28 "\0\0", /* 0Dh */ 29 "\0\0", /* 0Eh */ 30 "READ REVERSE\0\01", /* 0Fh */ 31 "WRITE FILEMARKS\0\02" 32 "\003SYNCRONIZE BUFFER", /* 10h */ 33 "SPACE(6)\0\01", /* 11h */ 34 "INQUIRY\0\01", /* 12h */ 35 "VERIFY\0\01", /* 13h */ 36 "RECOVER BUFFERED DATA\0\01", /* 14h */ 37 "MODE SELECT(06)\0\01", /* 15h */ 38 "RESERVE(06)\0\02" 39 "\010RESERVE ELEMENT(06)", /* 16h */ 40 "RELEASE(06)\0\02" 41 "\010RELEASE ELEMENT(06)", /* 17h */ 42 "COPY\0\01", /* 18h */ 43 "ERASE\0\01", /* 19h */ 44 "MODE SENSE(06)\0\01", /* 1Ah */ 45 "STOP START UNIT\0\04" 46 "\001LOAD UNLOAD\0" 47 "\002STOP PRINT\0" 48 "\006SCAN\0\002", /* 1Bh */ 49 "RECEIVE DIAGNOSTIC RESULTS\0\01", /* 1Ch */ 50 "SEND DIAGNOSTIC\0\01", /* 1Dh */ 51 "PREVENT ALLOW MEDIUM REMOVAL\0\01", /* 1Eh */ 52 "\0\0", /* 1Fh */ 53 "\0\0", /* 20h */ 54 "\0\0", /* 21h */ 55 "\0\0", /* 22h */ 56 "READ FORMAT CAPACITIES\0\01", /* 23h */ 57 "SET WINDOW\0\01", /* 24h */ 58 "READ CAPACITY\0\03" 59 "\006GET WINDOW\0" 60 "\037FREAD CARD CAPACITY", /* 25h */ 61 "\0\0", /* 26h */ 62 "\0\0", /* 27h */ 63 "READ(10)\0\02" 64 "\011GET MESSAGE(10)", /* 28h */ 65 "READ GENERATION\0\01", /* 29h */ 66 "WRITE(10)\0\03" 67 "\011SEND(10)\0" 68 "\011SEND MESSAGE(10)", /* 2Ah */ 69 "SEEK(10)\0\03" 70 "LOCATE(10)\0" 71 "POSITION TO ELEMENT", /* 2Bh */ 72 "ERASE(10)\0\01", /* 2Ch */ 73 "READ UPDATED BLOCK\0\01", /* 2Dh */ 74 "WRITE AND VERIFY(10)\0\01", /* 2Eh */ 75 "VERIFY(10)\0\01", /* 2Fh */ 76 "SEARCH DATA HIGH(10)\0\01", /* 30h */ 77 "SEARCH DATA EQUAL(10)\0\02" 78 "OBJECT POSITION", /* 31h */ 79 "SEARCH DATA LOW(10)\0\01", /* 32h */ 80 "SET LIMITS(10)\0\01", /* 33h */ 81 "PRE-FETCH(10)\0\03" 82 "READ POSITION\0" 83 "GET DATA BUFFER STATUS", /* 34h */ 84 "SYNCHRONIZE CACHE(10)\0\01", /* 35h */ 85 "LOCK UNLOCK CACHE(10)\0\01", /* 36h */ 86 "READ DEFECT DATA(10)\0\01", /* 37h */ 87 "MEDIUM SCAN\0\01", /* 38h */ 88 "COMPARE\0\01", /* 39h */ 89 "COPY AND VERIFY\0\01", /* 3Ah */ 90 "WRITE BUFFER\0\01", /* 3Bh */ 91 "READ BUFFER\0\01", /* 3Ch */ 92 "UPDATE BLOCK\0\01", /* 3Dh */ 93 "READ LONG\0\01", /* 3Eh */ 94 "WRITE LONG\0\01", /* 3Fh */ 95 "CHANGE DEFINITION\0\01", /* 40h */ 96 "WRITE SAME(10)\0\01", /* 41h */ 97 "READ SUB-CHANNEL\0\01", /* 42h */ 98 "READ TOC/PMA/ATIP\0\01", /* 43h */ 99 "REPORT DENSITY SUPPORT\0\01", /* 44h */ 100 "READ HEADER\0\01", /* 44h */ 101 "PLAY AUDIO(10)\0\01", /* 45h */ 102 "GET CONFIGURATION\0\01", /* 46h */ 103 "PLAY AUDIO MSF\0\01", /* 47h */ 104 "PLAY AUDIO TRACK INDEX\0\01", /* 48h */ 105 "PLAY TRACK RELATIVE(10)\0\01", /* 49h */ 106 "GET EVENT STATUS NOTIFICATION\0\01", /* 4Ah */ 107 "PAUSE/RESUME\0\01", /* 4Bh */ 108 "LOG SELECT\0\01", /* 4Ch */ 109 "LOG SENSE\0\01", /* 4Dh */ 110 "STOP PLAY/SCAN\0\01", /* 4Eh */ 111 "\0\0", /* 4Fh */ 112 "XDWRITE(10)\0\01", /* 50h */ 113 "XPWRITE(10)\0\02" 114 "READ DISC INFORMATION", /* 51h */ 115 "XDREAD(10)\0\01" 116 "READ TRACK INFORMATION", /* 52h */ 117 "RESERVE TRACK\0\01", /* 53h */ 118 "SEND OPC INFORMATION\0\01", /* 54h */ 119 "MODE SELECT(10)\0\01", /* 55h */ 120 "RESERVE(10)\0\02" 121 "RESERVE ELEMENT(10)", /* 56h */ 122 "RELEASE(10)\0\02" 123 "RELEASE ELEMENT(10)", /* 57h */ 124 "REPAIR TRACK\0\01", /* 58h */ 125 "READ MASTER CUE\0\01", /* 59h */ 126 "MODE SENSE(10)\0\01", /* 5Ah */ 127 "CLOSE TRACK/SESSION\0\01", /* 5Bh */ 128 "READ BUFFER CAPACITY\0\01", /* 5Ch */ 129 "SEND CUE SHEET\0\01", /* 5Dh */ 130 "PERSISTENT RESERVE IN\0\01", /* 5Eh */ 131 "PERSISTENT RESERVE OUT\0\01", /* 5Fh */ 132 "\0\0", /* 60h */ 133 "\0\0", /* 61h */ 134 "\0\0", /* 62h */ 135 "\0\0", /* 63h */ 136 "\0\0", /* 64h */ 137 "\0\0", /* 65h */ 138 "\0\0", /* 66h */ 139 "\0\0", /* 67h */ 140 "\0\0", /* 68h */ 141 "\0\0", /* 69h */ 142 "\0\0", /* 6Ah */ 143 "\0\0", /* 6Bh */ 144 "\0\0", /* 6Ch */ 145 "\0\0", /* 6Dh */ 146 "\0\0", /* 6Eh */ 147 "\0\0", /* 6Fh */ 148 "\0\0", /* 70h */ 149 "\0\0", /* 71h */ 150 "\0\0", /* 72h */ 151 "\0\0", /* 73h */ 152 "\0\0", /* 74h */ 153 "\0\0", /* 75h */ 154 "\0\0", /* 76h */ 155 "\0\0", /* 77h */ 156 "\0\0", /* 78h */ 157 "\0\0", /* 79h */ 158 "\0\0", /* 7Ah */ 159 "\0\0", /* 7Bh */ 160 "\0\0", /* 7Ch */ 161 "\0\0", /* 7Eh */ 162 "\0\0", /* 7Eh */ 163 "\0\0", /* 7Fh */ 164 "XDWRITE EXTENDED(16)\0\01", /* 80h */ 165 "REBUILD(16)\0\01", /* 81h */ 166 "REGENERATE(16)\0\01", /* 82h */ 167 "EXTENDED COPY\0\01", /* 83h */ 168 "RECEIVE COPY RESULTS\0\01", /* 84h */ 169 "ACCESS CONTROL IN [proposed]\0\01", /* 86h */ 170 "ACCESS CONTROL OUT [proposed]\0\01", /* 87h */ 171 "READ(16)\0\01", /* 88h */ 172 "DEVICE LOCKS [proposed]\0\01", /* 89h */ 173 "WRITE(16)\0\01", /* 8Ah */ 174 "\0\0", /* 8Bh */ 175 "READ ATTRIBUTES [proposed]\0\01", /* 8Ch */ 176 "WRITE ATTRIBUTES [proposed]\0\01", /* 8Dh */ 177 "WRITE AND VERIFY(16)\0\01", /* 8Eh */ 178 "VERIFY(16)\0\01", /* 8Fh */ 179 "PRE-FETCH(16)\0\01", /* 90h */ 180 "SYNCHRONIZE CACHE(16)\0\02" 181 "SPACE(16) [1]", /* 91h */ 182 "LOCK UNLOCK CACHE(16)\0\02" 183 "LOCATE(16) [1]", /* 92h */ 184 "WRITE SAME(16)\0\01", /* 93h */ 185 "[usage proposed by SCSI Socket Services project]\0\01", /* 94h */ 186 "[usage proposed by SCSI Socket Services project]\0\01", /* 95h */ 187 "[usage proposed by SCSI Socket Services project]\0\01", /* 96h */ 188 "[usage proposed by SCSI Socket Services project]\0\01", /* 97h */ 189 "MARGIN CONTROL [proposed]\0\01", /* 98h */ 190 "\0\0", /* 99h */ 191 "\0\0", /* 9Ah */ 192 "\0\0", /* 9Bh */ 193 "\0\0", /* 9Ch */ 194 "\0\0", /* 9Dh */ 195 "SERVICE ACTION IN [proposed]\0\01", /* 9Eh */ 196 "SERVICE ACTION OUT [proposed]\0\01", /* 9Fh */ 197 "REPORT LUNS\0\01", /* A0h */ 198 "BLANK\0\01", /* A1h */ 199 "SEND EVENT\0\01", /* A2h */ 200 "MAINTENANCE (IN)\0\02" 201 "SEND KEY", /* A3h */ 202 "MAINTENANCE (OUT)\0\02" 203 "REPORT KEY", /* A4h */ 204 "MOVE MEDIUM\0\02" 205 "PLAY AUDIO(12)", /* A5h */ 206 "EXCHANGE MEDIUM\0\02" 207 "LOAD/UNLOAD C/DVD", /* A6h */ 208 "MOVE MEDIUM ATTACHED\0\02" 209 "SET READ AHEAD\0\01", /* A7h */ 210 "READ(12)\0\02" 211 "GET MESSAGE(12)", /* A8h */ 212 "PLAY TRACK RELATIVE(12)\0\01", /* A9h */ 213 "WRITE(12)\0\02" 214 "SEND MESSAGE(12)", /* AAh */ 215 "\0\0", /* ABh */ 216 "ERASE(12)\0\02" 217 "GET PERFORMANCE", /* ACh */ 218 "READ DVD STRUCTURE\0\01", /* ADh */ 219 "WRITE AND VERIFY(12)\0\01", /* AEh */ 220 "VERIFY(12)\0\01", /* AFh */ 221 "SEARCH DATA HIGH(12)\0\01", /* B0h */ 222 "SEARCH DATA EQUAL(12)\0\01", /* B1h */ 223 "SEARCH DATA LOW(12)\0\01", /* B2h */ 224 "SET LIMITS(12)\0\01", /* B3h */ 225 "READ ELEMENT STATUS ATTACHED\0\01", /* B4h */ 226 "REQUEST VOLUME ELEMENT ADDRESS\0\01", /* B5h */ 227 "SEND VOLUME TAG\0\02" 228 "SET STREAMING", /* B6h */ 229 "READ DEFECT DATA(12)\0\01", /* B7h */ 230 "READ ELEMENT STATUS\0\01", /* B8h */ 231 "READ CD MSF\0\01", /* B9h */ 232 "REDUNDANCY GROUP (IN)\0\02" 233 "SCAN", /* BAh */ 234 "REDUNDANCY GROUP (OUT)\0\02" 235 "SET CD-ROM SPEED", /* BBh */ 236 "SPARE (IN)\0\02" 237 "PLAY CD", /* BCh */ 238 "SPARE (OUT)\0\02" 239 "MECHANISM STATUS", /* BDh */ 240 "VOLUME SET (IN)\0\02" 241 "READ CD", /* BEh */ 242 "VOLUME SET (OUT)\0\0\02" 243 "SEND DVD STRUCTURE", /* BFh */ 244 "\0\0", /* C0h */ 245 "\0\0", /* C1h */ 246 "\0\0", /* C2h */ 247 "\0\0", /* C3h */ 248 "\0\0", /* C4h */ 249 "\0\0", /* C5h */ 250 "\0\0", /* C6h */ 251 "\0\0", /* C7h */ 252 "\0\0", /* C8h */ 253 "\0\0", /* C9h */ 254 "\0\0", /* CAh */ 255 "\0\0", /* CBh */ 256 "\0\0", /* CCh */ 257 "\0\0", /* CDh */ 258 "\0\0", /* CEh */ 259 "\0\0", /* CFh */ 260 "\0\0", /* D0h */ 261 "\0\0", /* D1h */ 262 "\0\0", /* D2h */ 263 "\0\0", /* D3h */ 264 "\0\0", /* D4h */ 265 "\0\0", /* D5h */ 266 "\0\0", /* D6h */ 267 "\0\0", /* D7h */ 268 "\0\0", /* D8h */ 269 "\0\0", /* D9h */ 270 "\0\0", /* DAh */ 271 "\0\0", /* DBh */ 272 "\0\0", /* DCh */ 273 "\0\0", /* DEh */ 274 "\0\0", /* DEh */ 275 "\0\0", /* DFh */ 276 "\0\0", /* E0h */ 277 "\0\0", /* E1h */ 278 "\0\0", /* E2h */ 279 "\0\0", /* E3h */ 280 "\0\0", /* E4h */ 281 "\0\0", /* E5h */ 282 "\0\0", /* E6h */ 283 "\0\0", /* E7h */ 284 "\0\0", /* E8h */ 285 "\0\0", /* E9h */ 286 "\0\0", /* EAh */ 287 "\0\0", /* EBh */ 288 "\0\0", /* ECh */ 289 "\0\0", /* EDh */ 290 "\0\0", /* EEh */ 291 "\0\0", /* EFh */ 292 "\0\0", /* F0h */ 293 "\0\0", /* F1h */ 294 "\0\0", /* F2h */ 295 "\0\0", /* F3h */ 296 "\0\0", /* F4h */ 297 "\0\0", /* F5h */ 298 "\0\0", /* F6h */ 299 "\0\0", /* F7h */ 300 "\0\0", /* F8h */ 301 "\0\0", /* F9h */ 302 "\0\0", /* FAh */ 303 "\0\0", /* FBh */ 304 "\0\0", /* FEh */ 305 "\0\0", /* FEh */ 306 "\0\0", /* FEh */ 307 "\0\0" /* FFh */ 308 }; 309 310