1 |
1275 |
phoenix |
|
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 |
|
|
|