Root/
Source at commit 2056 created 11 years 10 months ago. By cosmo1t, fixed indent and added X79 && 7 series http://forge.voodooprojects.org/p/chameleon/issues/284/ | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2001-2009 Apple Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. Please obtain a copy of the License at␊ |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this␊ |
11 | * file.␊ |
12 | * ␊ |
13 | * The Original Code and all software distributed under the License are␊ |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
18 | * Please see the License for the specific language governing rights and␊ |
19 | * limitations under the License.␊ |
20 | * ␊ |
21 | * @APPLE_LICENSE_HEADER_END@␊ |
22 | */␊ |
23 | ␊ |
24 | #ifndef _SCSI_COMMAND_OPERATION_CODES_H_␊ |
25 | #define _SCSI_COMMAND_OPERATION_CODES_H_␊ |
26 | ␊ |
27 | #pragma mark About this file␊ |
28 | /* This file contains the operation code definitions for all commands defined␊ |
29 | * by the SCSI specifications. The commands are listed in three formats:␊ |
30 | * 1) All commands are listed in alphabetical order. This list is the live␊ |
31 | * enumeration for all of the command constants.␊ |
32 | * 2) The commands are listed in ascending numerical order.␊ |
33 | * 3) The commands are grouped by Peripheral Device Type.␊ |
34 | * ␊ |
35 | * In the command listings by Peripheral Device Type, there will be a comment␊ |
36 | * following each command. This comment indentifies the section of the related␊ |
37 | * specification where the commands is defined and the requirement type of the␊ |
38 | * command, Mandatory or Optional.␊ |
39 | * If a specification redefines an optional command from SPC as mandatory,␊ |
40 | * the command will be relisted in the Peripheral Device Type command list with␊ |
41 | * the mandatory tag next to it.␊ |
42 | * All commands that are listed in SPC as Device Type Specifc will be relisted␊ |
43 | * as a comment in all specifications lists that support that command with the␊ |
44 | * appropriate Mandatory or Optional tag for that specification.␊ |
45 | *␊ |
46 | * The section number and the requirement type of the command are based on the ␊ |
47 | * version of the specification listed in the header comment for the Peripheral␊ |
48 | * Device Type. This data is provided for informational purposes only. The ␊ |
49 | * specification document and version that the device adheres to as indicated ␊ |
50 | * by the data returned in response to the INQUIRY command should be used as␊ |
51 | * the authorative source for supported and required behavior of the device.␊ |
52 | * ␊ |
53 | * The SPC set is listed before all other Peripheral Device Type commands as␊ |
54 | * this is the base document from which all of the other documents are derived. ␊ |
55 | *␊ |
56 | * The Peripheral Device Types and associated command sets as defined by SPC-2,␊ |
57 | * section 7.4.1 are as follows:␊ |
58 | * Peripheral Device Type Associated Command Specification␊ |
59 | * ------------------------------------ -----------------------------------␊ |
60 | * 0x00 Direct Access Device SBC - SCSI-3 Block Commands␊ |
61 | * 0x01 Sequential Access Device SSC - SCSI-3 Stream Commands␊ |
62 | * 0x02 Printer Device SSC - SCSI-3 Stream Commands␊ |
63 | * 0x03 Processor Device SPC - SCSI Primary Commands-2␊ |
64 | * 0x04 Write Once Device SBC - SCSI-3 Block Commands␊ |
65 | * 0x05 CD-ROM Device MMC - SCSI Multimedia Commands-2␊ |
66 | * 0x06 Scanner Device SGC - SCSI-3 Graphics Commands␊ |
67 | * 0x07 Optical Memory Device SBC - SCSI-3 Block Commands␊ |
68 | * 0x08 Medium Changer Device SMC - SCSI-3 Medium Changer Cmds␊ |
69 | * 0x09 Communications Device SSC - SCSI-3 Stream Commands␊ |
70 | * 0x0A - 0x0B Graphic Arts Prepress Dev ASC IT8␊ |
71 | * 0x0C Storage Array Controller Device SCC-2 - SCSI Controller Commands-2␊ |
72 | * 0x0D Enclosure Services SES - SCSI-3 Enclosure Services␊ |
73 | * 0x0E Simplified Direct Access Device RBC - SCSI Reduced Block Commands␊ |
74 | * 0x0F Optical Card Reader/Writer Device OCRW - SCSI Specification for ␊ |
75 | * Optical Card Reader/Writer␊ |
76 | * 0x10 Reserved ␉␉No command specification␊ |
77 | *␉0x11 Object-Based Storage Device␉␉OSD - SCSI Object Based Storage ␊ |
78 | *␉␉␉␉␉␉␉␉␉␉␉␉Device Commands␊ |
79 | * 0x12 - 0x14 Reserved No command specification␊ |
80 | * 0x15 Multimedia Media Access Engine RMC - Reduced Multimedia Commands␊ |
81 | * 0x16 - 0x1E Reserved No command specification␊ |
82 | * 0x1F Unknown or No Device No command specification␊ |
83 | */ ␊ |
84 | ␊ |
85 | #pragma mark -␊ |
86 | #pragma mark Command Definitions by Name␊ |
87 | /* All SCSI Commands listed in alphabetical order. These are the live␊ |
88 | * definitions of the commands. All other command lists are informative.␊ |
89 | */␊ |
90 | enum ␊ |
91 | {␊ |
92 | kSCSICmd_ACCESS_CONTROL_IN = 0x86,␊ |
93 | kSCSICmd_ACCESS_CONTROL_OUT = 0x87,␊ |
94 | kSCSICmd_BLANK = 0xA1,␊ |
95 | kSCSICmd_CHANGE_DEFINITION = 0x40,␊ |
96 | kSCSICmd_CLOSE_TRACK_SESSION = 0x5B,␊ |
97 | kSCSICmd_COMPARE = 0x39,␊ |
98 | kSCSICmd_COPY = 0x18,␊ |
99 | kSCSICmd_COPY_AND_VERIFY = 0x3A,␊ |
100 | kSCSICmd_ERASE_10␉␉␉␉␉␉= 0x2C,␊ |
101 | kSCSICmd_ERASE_12␉␉␉␉␉␉= 0xAC,␊ |
102 | kSCSICmd_EXTENDED_COPY = 0x83,␊ |
103 | kSCSICmd_FORMAT_UNIT = 0x04,␊ |
104 | kSCSICmd_GET_CONFIGURATION = 0x46,␊ |
105 | kSCSICmd_GET_EVENT_STATUS_NOTIFICATION = 0x4A,␊ |
106 | kSCSICmd_GET_PERFORMANCE = 0xAC,␊ |
107 | kSCSICmd_INQUIRY = 0x12,␊ |
108 | kSCSICmd_LOAD_UNLOAD_MEDIUM = 0xA6,␊ |
109 | kSCSICmd_LOCK_UNLOCK_CACHE = 0x36,␊ |
110 | kSCSICmd_LOCK_UNLOCK_CACHE_16 = 0x92,␊ |
111 | kSCSICmd_LOG_SELECT = 0x4C,␊ |
112 | kSCSICmd_LOG_SENSE = 0x4D,␊ |
113 | kSCSICmd_MAINTENANCE_IN ␉= 0xA3,␊ |
114 | kSCSICmd_MAINTENANCE_OUT = 0xA4,␊ |
115 | kSCSICmd_MECHANISM_STATUS = 0xBD,␊ |
116 | kSCSICmd_MEDIUM_SCAN = 0x38,␊ |
117 | kSCSICmd_MODE_SELECT_6 = 0x15,␊ |
118 | kSCSICmd_MODE_SELECT_10 = 0x55,␊ |
119 | kSCSICmd_MODE_SENSE_6 = 0x1A,␊ |
120 | kSCSICmd_MODE_SENSE_10 = 0x5A,␊ |
121 | kSCSICmd_MOVE_MEDIUM_ATTACHED = 0xA7,␊ |
122 | kSCSICmd_PAUSE_RESUME = 0x4B,␊ |
123 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E,␊ |
124 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F,␊ |
125 | kSCSICmd_PLAY_AUDIO_10 = 0x45,␊ |
126 | kSCSICmd_PLAY_AUDIO_12 = 0xA5,␊ |
127 | kSCSICmd_PLAY_AUDIO_MSF = 0x47,␊ |
128 | kSCSICmd_PLAY_AUDIO_TRACK_INDEX = 0x48,␊ |
129 | kSCSICmd_PLAY_CD = 0xBC,␊ |
130 | kSCSICmd_PLAY_RELATIVE_10 = 0x49,␊ |
131 | kSCSICmd_PLAY_RELATIVE_12 = 0xA9,␊ |
132 | kSCSICmd_PREFETCH = 0x34,␊ |
133 | kSCSICmd_PREFETCH_16 = 0x90,␊ |
134 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E,␊ |
135 | kSCSICmd_READ_6 = 0x08,␊ |
136 | kSCSICmd_READ_10 = 0x28,␊ |
137 | kSCSICmd_READ_12 = 0xA8,␊ |
138 | kSCSICmd_READ_16 = 0x88,␊ |
139 | kSCSICmd_READ_ATTRIBUTE = 0x8C,␊ |
140 | kSCSICmd_READ_BUFFER = 0x3C,␊ |
141 | kSCSICmd_READ_BUFFER_CAPACITY = 0x5C,␊ |
142 | kSCSICmd_READ_CAPACITY = 0x25,␊ |
143 | kSCSICmd_READ_CD = 0xBE,␊ |
144 | kSCSICmd_READ_CD_MSF = 0xB9,␊ |
145 | kSCSICmd_READ_DEFECT_DATA_10 = 0x37,␊ |
146 | kSCSICmd_READ_DEFECT_DATA_12 = 0xB7,␊ |
147 | kSCSICmd_READ_DISC_INFORMATION = 0x51,␊ |
148 | kSCSICmd_READ_DVD_STRUCTURE = 0xAD,␊ |
149 | kSCSICmd_READ_DISC_STRUCTURE = 0xAD,␊ |
150 | kSCSICmd_READ_ELEMENT_STATUS_ATTACHED = 0xB4,␊ |
151 | kSCSICmd_READ_FORMAT_CAPACITIES = 0x23,␊ |
152 | kSCSICmd_READ_GENERATION␉␉␉␉= 0x29,␊ |
153 | kSCSICmd_READ_HEADER = 0x44,␊ |
154 | kSCSICmd_READ_LONG = 0x3E,␊ |
155 | kSCSICmd_READ_MASTER_CUE = 0x59,␊ |
156 | kSCSICmd_READ_SUB_CHANNEL = 0x42,␊ |
157 | kSCSICmd_READ_TOC_PMA_ATIP = 0x43,␊ |
158 | kSCSICmd_READ_TRACK_INFORMATION = 0x52,␊ |
159 | kSCSICmd_READ_UPDATED_BLOCK_10␉␉␉= 0x2D,␊ |
160 | kSCSICmd_REASSIGN_BLOCKS = 0x07,␊ |
161 | kSCSICmd_REBUILD = 0x81,␊ |
162 | kSCSICmd_RECEIVE = 0x08,␊ |
163 | kSCSICmd_RECEIVE_COPY_RESULTS = 0x84,␊ |
164 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C,␊ |
165 | kSCSICmd_REDUNDANCY_GROUP_IN␉␉␉= 0xBA,␊ |
166 | kSCSICmd_REDUNDANCY_GROUP_OUT␉␉␉= 0xBB,␊ |
167 | kSCSICmd_REGENERATE = 0x82,␊ |
168 | kSCSICmd_RELEASE_6 = 0x17,␊ |
169 | kSCSICmd_RELEASE_10 = 0x57,␊ |
170 | kSCSICmd_REPAIR_TRACK = 0x58,␊ |
171 | kSCSICmd_REPORT_DEVICE_IDENTIFIER ␉= 0xA3,␊ |
172 | kSCSICmd_REPORT_KEY = 0xA4,␊ |
173 | kSCSICmd_REPORT_LUNS = 0xA0, ␊ |
174 | kSCSICmd_REQUEST_SENSE = 0x03,␊ |
175 | kSCSICmd_RESERVE_6 = 0x16,␊ |
176 | kSCSICmd_RESERVE_10 = 0x56,␊ |
177 | kSCSICmd_RESERVE_TRACK = 0x53,␊ |
178 | kSCSICmd_REZERO_UNIT = 0x01,␊ |
179 | kSCSICmd_SCAN_MMC = 0xBA,␊ |
180 | kSCSICmd_SEARCH_DATA_EQUAL_10 = 0x31,␊ |
181 | kSCSICmd_SEARCH_DATA_EQUAL_12 = 0xB1,␊ |
182 | kSCSICmd_SEARCH_DATA_HIGH_10 = 0x30,␊ |
183 | kSCSICmd_SEARCH_DATA_HIGH_12 = 0xB0,␊ |
184 | kSCSICmd_SEARCH_DATA_LOW_10 = 0x32,␊ |
185 | kSCSICmd_SEARCH_DATA_LOW_12 = 0xB2,␊ |
186 | kSCSICmd_SEEK_6 = 0x0B,␊ |
187 | kSCSICmd_SEEK_10 = 0x2B,␊ |
188 | kSCSICmd_SEND = 0x0A,␊ |
189 | kSCSICmd_SEND_CUE_SHEET = 0x5D,␊ |
190 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D,␊ |
191 | kSCSICmd_SEND_DVD_STRUCTURE = 0xBF,␊ |
192 | kSCSICmd_SEND_EVENT = 0xA2,␊ |
193 | kSCSICmd_SEND_KEY = 0xA3,␊ |
194 | kSCSICmd_SEND_OPC_INFORMATION = 0x54,␊ |
195 | kSCSICmd_SERVICE_ACTION_IN␉␉ = 0x9E,␊ |
196 | kSCSICmd_SERVICE_ACTION_OUT␉␉ = 0x9F,␊ |
197 | kSCSICmd_SET_CD_SPEED = 0xBB,␊ |
198 | kSCSICmd_SET_DEVICE_IDENTIFIER ␉= 0xA4,␊ |
199 | kSCSICmd_SET_LIMITS_10 = 0x33,␊ |
200 | kSCSICmd_SET_LIMITS_12 = 0xB3,␊ |
201 | kSCSICmd_SET_READ_AHEAD = 0xA7,␊ |
202 | kSCSICmd_SET_STREAMING = 0xB6,␊ |
203 | kSCSICmd_SPARE_IN␉␉ = 0xBC,␊ |
204 | kSCSICmd_SPARE_OUT␉␉ = 0xBD,␊ |
205 | kSCSICmd_START_STOP_UNIT = 0x1B,␊ |
206 | kSCSICmd_STOP_PLAY_SCAN = 0x4E,␊ |
207 | kSCSICmd_SYNCHRONIZE_CACHE = 0x35,␊ |
208 | kSCSICmd_SYNCHRONIZE_CACHE_16 = 0x91,␊ |
209 | kSCSICmd_TEST_UNIT_READY = 0x00,␊ |
210 | ␉kSCSICmd_UPDATE_BLOCK␉␉␉␉␉= 0x3D,␊ |
211 | kSCSICmd_VERIFY_10 = 0x2F,␊ |
212 | kSCSICmd_VERIFY_12 = 0xAF,␊ |
213 | kSCSICmd_VERIFY_16 = 0x8F,␊ |
214 | kSCSICmd_VOLUME_SET_IN = 0xBE,␊ |
215 | kSCSICmd_VOLUME_SET_OUT = 0xBF,␊ |
216 | kSCSICmd_WRITE_6 = 0x0A,␊ |
217 | kSCSICmd_WRITE_10 = 0x2A,␊ |
218 | kSCSICmd_WRITE_12 = 0xAA,␊ |
219 | kSCSICmd_WRITE_16 = 0x8A,␊ |
220 | kSCSICmd_WRITE_AND_VERIFY_10 = 0x2E,␊ |
221 | ␉kSCSICmd_WRITE_AND_VERIFY_12 = 0xAE,␊ |
222 | ␉kSCSICmd_WRITE_AND_VERIFY_16 = 0x8E,␊ |
223 | ␉kSCSICmd_WRITE_ATTRIBUTE␉ = 0x8D,␊ |
224 | kSCSICmd_WRITE_BUFFER = 0x3B,␊ |
225 | kSCSICmd_WRITE_LONG = 0x3F,␊ |
226 | kSCSICmd_WRITE_SAME = 0x41,␊ |
227 | kSCSICmd_WRITE_SAME_16 = 0x93,␊ |
228 | kSCSICmd_XDREAD = 0x52,␊ |
229 | kSCSICmd_XDWRITE = 0x50,␊ |
230 | kSCSICmd_XDWRITE_EXTENDED = 0x80,␊ |
231 | kSCSICmd_XDWRITEREAD_10 ␉␉= 0x53,␊ |
232 | kSCSICmd_XPWRITE = 0x51,␊ |
233 | ␊ |
234 | kSCSICmdVariableLengthCDB␉␉␉␉= 0x7F␊ |
235 | };␊ |
236 | ␊ |
237 | /* Service Action Definitions for the Variable Length CDB (7Fh) command */␊ |
238 | enum␊ |
239 | {␊ |
240 | ␉kSCSIServiceAction_READ_32␉␉␉␉= 0x0009,␊ |
241 | ␉kSCSIServiceAction_VERIFY_32␉␉␉= 0x000A,␊ |
242 | ␉kSCSIServiceAction_WRITE_32␉␉␉␉= 0x000B,␊ |
243 | ␉kSCSIServiceAction_WRITE_AND_VERIFY_32␉= 0x000C,␊ |
244 | ␉kSCSIServiceAction_WRITE_SAME_32␉␉= 0x000D,␊ |
245 | ␉kSCSIServiceAction_XDREAD_32␉␉␉= 0x0003,␊ |
246 | ␉kSCSIServiceAction_XDWRITE_32␉␉␉= 0x0004,␊ |
247 | ␉kSCSIServiceAction_XDWRITEREAD_32␉␉= 0x0007,␊ |
248 | ␉kSCSIServiceAction_XPWRITE_32␉␉␉= 0x0006␊ |
249 | };␊ |
250 | ␊ |
251 | /* Service Action Definitions for the MAINTENANCE IN (A3h) command */␊ |
252 | enum␊ |
253 | {␊ |
254 | ␉kSCSIServiceAction_REPORT_ALIASES␉␉␉␉␉␉␉␉= 0x0B,␊ |
255 | ␉kSCSIServiceAction_REPORT_DEVICE_IDENTIFIER␉␉␉␉␉␉= 0x05,␊ |
256 | ␉kSCSIServiceAction_REPORT_PRIORITY␉␉␉␉␉␉␉␉= 0x0E,␊ |
257 | ␉kSCSIServiceAction_REPORT_SUPPORTED_OPERATION_CODES␉␉␉␉= 0x0C,␊ |
258 | ␉kSCSIServiceAction_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS␉= 0x0D,␊ |
259 | ␉kSCSIServiceAction_REPORT_TARGET_PORT_GROUPS␉␉␉␉␉= 0x0A␊ |
260 | };␊ |
261 | ␊ |
262 | /* Service Action Definitions for the MAINTENANCE OUT (A4h) command */␊ |
263 | enum␊ |
264 | {␊ |
265 | ␉kSCSIServiceAction_CHANGE_ALIASES␉␉␉= 0x0B,␊ |
266 | ␉kSCSIServiceAction_SET_DEVICE_IDENTIFIER␉= 0x06,␊ |
267 | ␉kSCSIServiceAction_SET_PRIORITY␉␉␉␉= 0x0E,␊ |
268 | ␉kSCSIServiceAction_SET_TARGET_PORT_GROUPS␉= 0x0A␉␊ |
269 | };␊ |
270 | ␊ |
271 | /* Service Action Definitions for the SERVICE ACTION IN (9Eh) command */␊ |
272 | enum␊ |
273 | {␊ |
274 | ␉kSCSIServiceAction_READ_CAPACITY_16␉␉= 0x10,␊ |
275 | ␉kSCSIServiceAction_READ_LONG_16␉␉␉= 0x11␉␊ |
276 | };␊ |
277 | ␊ |
278 | /* Service Action Definitions for the SERVICE ACTION OUT (9Fh) command */␊ |
279 | enum␊ |
280 | {␊ |
281 | ␉kSCSIServiceAction_WRITE_LONG_16␉␉= 0x11␉␊ |
282 | };␊ |
283 | ␊ |
284 | #pragma mark -␊ |
285 | #pragma mark Command Definitions by Number␊ |
286 | #if 0␊ |
287 | enum ␊ |
288 | {␊ |
289 | };␊ |
290 | #endif␊ |
291 | ␊ |
292 | ␊ |
293 | #pragma mark -␊ |
294 | #pragma mark All Types SPC Commands␊ |
295 | /* Commands defined by the T10:1236-D SCSI Primary Commands-2 (SPC-2) ␊ |
296 | * command specification. The definitions and section numbers are based on␊ |
297 | * section 7 of the revision 18, 21 May 2000 version of the specification.␊ |
298 | *␊ |
299 | * These commands are defined for all devices.␊ |
300 | */␊ |
301 | #if 0␊ |
302 | enum ␊ |
303 | {␊ |
304 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
305 | kSCSICmd_COMPARE = 0x39, /* Sec. 7.2: Optional */␊ |
306 | kSCSICmd_COPY = 0x18, /* Sec. 7.3: Optional */␊ |
307 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* Sec. 7.4: Optional */␊ |
308 | kSCSICmd_EXTENDED_COPY = 0x83, /* Sec. 7.5: Optional */␊ |
309 | kSCSICmd_INQUIRY = 0x12, /* Sec. 7.6: Mandatory */␊ |
310 | kSCSICmd_LOG_SELECT = 0x4C, /* Sec. 7.7: Optional */␊ |
311 | kSCSICmd_LOG_SENSE = 0x4D, /* Sec. 7.8: Optional */␊ |
312 | kSCSICmd_MODE_SELECT_6 = 0x15, /* Sec. 7.9: Device Type␊ |
313 | * Specific */␊ |
314 | kSCSICmd_MODE_SELECT_10 = 0x55, /* Sec. 7.10: Device Type␊ |
315 | * Specific */␊ |
316 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* Sec. 7.11: Device Type␊ |
317 | * Specific */␊ |
318 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* Sec. 7.12: Device Type␊ |
319 | * Specific */␊ |
320 | kSCSICmd_MOVE_MEDIUM_ATTACHED = 0xA7, /* Defined in SMC */␊ |
321 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* Sec. 7.13: Device Type␊ |
322 | * Specific */␊ |
323 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* Sec. 7.14: Device Type␊ |
324 | * Specific */␊ |
325 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E, /* Sec. 7.15: Device Type␊ |
326 | * Specific */␊ |
327 | kSCSICmd_READ_BUFFER = 0x3C, /* Sec. 7.16: Optional */␊ |
328 | kSCSICmd_READ_ELEMENT_STATUS_ATTACHED = 0xB4, /* Defined in SMC */␊ |
329 | kSCSICmd_RECEIVE_COPY_RESULTS = 0x84, /* Sec. 7.17: Optional */␊ |
330 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* Sec. 7.18: Optional */␊ |
331 | kSCSICmd_RELEASE_10 = 0x57, /* Sec. 7.19: Device Type␊ |
332 | * Specific */␊ |
333 | kSCSICmd_RELEASE_6 = 0x17, /* Sec. 7.20: Device Type␊ |
334 | * Specific */␊ |
335 | kSCSICmd_REPORT_DEVICE_IDENTIFIER ␉= 0xA3, /* Sec. 7.21: Optional */␊ |
336 | kSCSICmd_REPORT_LUNS = 0xA0, /* Sec. 7.22: Mandatory for␊ |
337 | * LUN Supporting devices*/␊ |
338 | kSCSICmd_REQUEST_SENSE = 0x03, /* Sec. 7.23: Device Type␊ |
339 | * Specific */␊ |
340 | kSCSICmd_RESERVE_10 = 0x56, /* Sec. 7.24: Device Type␊ |
341 | * Specific */␊ |
342 | kSCSICmd_RESERVE_6 = 0x16, /* Sec. 7.25: Device Type␊ |
343 | * Specific */␊ |
344 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* Sec. 7.26: Optional */␊ |
345 | kSCSICmd_SET_DEVICE_IDENTIFIER ␉= 0xA4, /* Sec. 7.27: Optional */␊ |
346 | kSCSICmd_TEST_UNIT_READY = 0x00, /* Sec. 7.28: Mandatory */␊ |
347 | kSCSICmd_WRITE_BUFFER = 0x3B /* Sec. 7.29: Optional */␊ |
348 | };␊ |
349 | #endif␊ |
350 | ␊ |
351 | #pragma mark -␊ |
352 | #pragma mark 0x00 SBC Direct Access Commands␊ |
353 | /* Commands defined by the T10:990-D SCSI-3 Block Commands (SBC) command␊ |
354 | * specification. The definitions and section numbers are based on section 6.1␊ |
355 | * of the revision 8c, 13 November 1997 version of the specification. ␊ |
356 | */␊ |
357 | #if 0␊ |
358 | enum␊ |
359 | {␊ |
360 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
361 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
362 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
363 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional*/␊ |
364 | kSCSICmd_FORMAT_UNIT = 0x04, /* Sec. 6.1.1: Mandatory */␊ |
365 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
366 | kSCSICmd_LOCK_UNLOCK_CACHE = 0x36, /* Sec. 6.1.2: Optional */␊ |
367 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
368 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
369 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Optional */␊ |
370 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Optional */␊ |
371 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Optional */␊ |
372 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Optional */␊ |
373 | kSCSICmd_MOVE_MEDIUM_ATTACHED = 0xA7, /* SMC: Optional */␊ |
374 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* SPC: Optional */␊ |
375 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* SPC: Optional */␊ |
376 | kSCSICmd_PREFETCH = 0x34, /* Sec. 6.1.3: Optional */␊ |
377 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E, /* SPC: Optional */␊ |
378 | kSCSICmd_READ_6 = 0x08, /* Sec. 6.1.4: Mandatory */␊ |
379 | kSCSICmd_READ_10 = 0x28, /* Sec. 6.1.5: Mandatory */␊ |
380 | kSCSICmd_READ_12 = 0xA8, /* Sec. 6.2.4: Optional */␊ |
381 | kSCSICmd_READ_BUFFER = 0x3C, /* SPC: Optional */␊ |
382 | kSCSICmd_READ_CAPACITY = 0x25, /* Sec. 6.1.6: Mandatory */␊ |
383 | kSCSICmd_READ_DEFECT_DATA_10 = 0x37, /* Sec. 6.1.7: Optional */␊ |
384 | kSCSICmd_READ_DEFECT_DATA_12 = 0xB7, /* Sec. 6.2.5: Optional */␊ |
385 | kSCSICmd_READ_ELEMENT_STATUS_ATTACHED = 0xB4, /* SMC: Optional */␊ |
386 | kSCSICmd_READ_GENERATION␉␉␉␉= 0x29,␉/* Sec. 6.2.6: Optional */␊ |
387 | kSCSICmd_READ_LONG = 0x3E, /* Sec. 6.1.8: Optional */␊ |
388 | kSCSICmd_READ_UPDATED_BLOCK_10␉␉␉= 0x2D, /* Sec. 6.2.7: Optional */␊ |
389 | kSCSICmd_REASSIGN_BLOCKS = 0x07, /* Sec. 6.1.9: Optional */␊ |
390 | kSCSICmd_REBUILD = 0x81, /* Sec. 6.1.10: Optional */␊ |
391 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* SPC: Optional */␊ |
392 | kSCSICmd_REGENERATE = 0x82, /* Sec. 6.1.11: Optional */␊ |
393 | kSCSICmd_RELEASE_6 = 0x17, /* SPC: Optional */␊ |
394 | kSCSICmd_RELEASE_10 = 0x57, /* SPC: Mandatory */␊ |
395 | kSCSICmd_REPORT_LUNS = 0xA0, /* SPC: Optional */␊ |
396 | kSCSICmd_REQUEST_SENSE = 0x03, /* SPC: Mandatory */␊ |
397 | kSCSICmd_RESERVE_6 = 0x16, /* SPC: Optional */␊ |
398 | kSCSICmd_RESERVE_10 = 0x56, /* SPC: Mandatory */␊ |
399 | kSCSICmd_REZERO_UNIT = 0x01, /* Obsolete */␊ |
400 | kSCSICmd_SEARCH_DATA_EQUAL_10 = 0x31, /* Obsolete */␊ |
401 | kSCSICmd_SEARCH_DATA_HIGH_10 = 0x30, /* Obsolete */␊ |
402 | kSCSICmd_SEARCH_DATA_LOW_10 = 0x32, /* Obsolete */␊ |
403 | kSCSICmd_SEEK_6 = 0x0B, /* Obsolete */␊ |
404 | kSCSICmd_SEEK_10 = 0x2B, /* Sec. 6.1.12: Optional */␊ |
405 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* SPC: Mandatory */␊ |
406 | kSCSICmd_SET_LIMITS_10 = 0x33, /* Sec. 6.1.13: Optional */␊ |
407 | kSCSICmd_SET_LIMITS_12 = 0xB3, /* Sec. 6.2.8: Optional */␊ |
408 | kSCSICmd_START_STOP_UNIT = 0x1B, /* Sec. 6.1.14: Optional */␊ |
409 | kSCSICmd_SYNCHRONIZE_CACHE = 0x35, /* Sec. 6.1.15: Optional */␊ |
410 | kSCSICmd_TEST_UNIT_READY = 0x00, /* SPC: Mandatory */␊ |
411 | ␉kSCSICmd_UPDATE_BLOCK␉␉␉␉␉= 0x3D,␉/* Sec. 6.2.9: Optional */␊ |
412 | kSCSICmd_VERIFY_10 = 0x2F, /* Sec. 6.1.16: Optional */␊ |
413 | kSCSICmd_WRITE_6 = 0x0A, /* Sec. 6.1.17: Optional */␊ |
414 | kSCSICmd_WRITE_10 = 0x2A, /* Sec. 6.1.18: Optional */␊ |
415 | kSCSICmd_WRITE_12 = 0xAA, /* Sec. 6.2.13: Optional */␊ |
416 | kSCSICmd_WRITE_AND_VERIFY_10 = 0x2E, /* Sec. 6.1.19: Optional */␊ |
417 | kSCSICmd_WRITE_AND_VERIFY_12 = 0xAE, /* Sec. 6.2.15: Optional */␊ |
418 | kSCSICmd_WRITE_BUFFER = 0x3B, /* SPC: Optional */␊ |
419 | kSCSICmd_WRITE_LONG = 0x3F, /* Sec. 6.1.20: Optional */␊ |
420 | kSCSICmd_WRITE_SAME = 0x41, /* Sec. 6.1.21: Optional */␊ |
421 | kSCSICmd_XDREAD = 0x52, /* Sec. 6.1.22: Optional */␊ |
422 | kSCSICmd_XDWRITE = 0x50, /* Sec. 6.1.23: Optional */␊ |
423 | kSCSICmd_XDWRITE_EXTENDED = 0x80, /* Sec. 6.1.24: Optional */␊ |
424 | kSCSICmd_XPWRITE = 0x51 /* Sec. 6.1.25: Optional */␊ |
425 | };␊ |
426 | #endif␊ |
427 | ␊ |
428 | #pragma mark -␊ |
429 | #pragma mark 0x01 SSC Sequential Access Commands␊ |
430 | /* Commands defined by the T10:997-D SCSI-3 Stream Commands (SSC) command␊ |
431 | * specification. The definitions and section numbers are based on section 5␊ |
432 | * of the revision 22, January 1, 2000 version of the specification. ␊ |
433 | */␊ |
434 | #if 0␊ |
435 | enum␊ |
436 | {␊ |
437 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
438 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
439 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
440 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional */␊ |
441 | kSCSICmd_ERASE = 0x19, /* Sec. 5.3.1: Mandatory */␊ |
442 | kSCSICmd_FORMAT_MEDIUM = 0x04, /* Sec. 5.3.2: Optional */␊ |
443 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
444 | kSCSICmd_LOAD_UNLOAD = 0x1B, /* Sec. 5.3.3: Optional */␊ |
445 | kSCSICmd_LOCATE = 0x2B, /* Sec. 5.3.4: Optional */␊ |
446 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
447 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
448 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Mandatory */␊ |
449 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Optional */␊ |
450 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Mandatory */␊ |
451 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Optional */␊ |
452 | kSCSICmd_MOVE_MEDIUM = 0xA5, /* SMC: Optional */␊ |
453 | kSCSICmd_MOVE_MEDIUM_ATTACHED = 0xA7, /* SMC: Optional */␊ |
454 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* SPC: Optional */␊ |
455 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* SPC: Optional */␊ |
456 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E, /* SPC: Optional */␊ |
457 | kSCSICmd_READ_6 = 0x08, /* Sec. 5.3.5: Mandatory */␊ |
458 | kSCSICmd_READ_BLOCK_LIMITS = 0x05, /* Sec. 5.3.6: Mandatory */␊ |
459 | kSCSICmd_READ_BUFFER = 0x3C, /* SPC: Optional */␊ |
460 | kSCSICmd_READ_ELEMENT_STATUS = 0xB8, /* SMC: Optional */␊ |
461 | kSCSICmd_READ_ELEMENT_STATUS_ATTACHED = 0xB4, /* SMC: Optional */␊ |
462 | kSCSICmd_READ_POSITION = 0x34, /* Sec. 5.3.7: Mandatory */␊ |
463 | kSCSICmd_READ_REVERSE = 0x0F, /* Sec. 5.3.8: Optional */␊ |
464 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* SPC: Optional */␊ |
465 | kSCSICmd_RECOVER_BUFFERED_DATA = 0x14, /* Sec. 5.3.9: Optional */␊ |
466 | kSCSICmd_RELEASE_6 = 0x17, /* SPC: Mandatory */␊ |
467 | kSCSICmd_RELEASE_10 = 0x57, /* SPC: Mandatory */␊ |
468 | kSCSICmd_REPORT_DENSITY_SUPPORT = 0x44, /* Sec. 5.3.10: Mandatory*/␊ |
469 | kSCSICmd_REPORT_LUNS = 0xA0, /* SPC: Mandatory */␊ |
470 | kSCSICmd_REQUEST_SENSE = 0x03, /* SPC: Mandatory */␊ |
471 | kSCSICmd_RESERVE_6 = 0x16, /* SPC: Mandatory */␊ |
472 | kSCSICmd_RESERVE_10 = 0x56, /* SPC: Mandatory */␊ |
473 | kSCSICmd_REWIND = 0x01, /* Sec. 5.3.11: Mandatory*/␊ |
474 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* SPC: Mandatory */␊ |
475 | kSCSICmd_SPACE = 0x11, /* Sec. 5.3.12: Mandatory*/␊ |
476 | kSCSICmd_TEST_UNIT_READY = 0x00, /* SPC: Mandatory */␊ |
477 | kSCSICmd_VERIFY_6 = 0x13, /* Sec. 5.3.13: Optional */␊ |
478 | kSCSICmd_WRITE_6 = 0x0A, /* Sec. 5.3.14: Mandatory*/␊ |
479 | kSCSICmd_WRITE_BUFFER = 0x3B, /* SPC: Optional */␊ |
480 | kSCSICmd_WRITE_FILEMARKS = 0x10 /* Sec. 5.3.15: Mandatory*/␊ |
481 | };␊ |
482 | #endif␊ |
483 | ␊ |
484 | #pragma mark -␊ |
485 | #pragma mark 0x02 SSC Printer Commands␊ |
486 | /* Commands defined by the T10:997-D SCSI-3 Stream Commands (SSC) command␊ |
487 | * specification. The definitions and section numbers are based on section 6␊ |
488 | * of the revision 22, January 1, 2000 version of the specification. ␊ |
489 | */␊ |
490 | #if 0␊ |
491 | enum ␊ |
492 | {␊ |
493 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
494 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
495 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
496 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional */␊ |
497 | kSCSICmd_FORMAT = 0x04, /* Sec. 6.2.1: Optional */␊ |
498 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
499 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
500 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
501 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Mandatory */␊ |
502 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Optional */␊ |
503 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Mandatory */␊ |
504 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Optional */␊ |
505 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* SPC: Optional */␊ |
506 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* SPC: Optional */␊ |
507 | kSCSICmd_PRINT = 0x0A, /* Sec. 6.2.2: Mandatory */␊ |
508 | kSCSICmd_READ_BUFFER = 0x3C, /* SPC: Optional */␊ |
509 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* SPC: Optional */␊ |
510 | kSCSICmd_RECOVER_BUFFERED_DATA = 0x14, /* Sec. 6.2.3: Optional */␊ |
511 | kSCSICmd_RELEASE_6 = 0x17, /* SPC: Mandatory */␊ |
512 | kSCSICmd_RELEASE_10 = 0x57, /* SPC: Mandatory */␊ |
513 | kSCSICmd_REPORT_LUNS = 0xA0, /* SPC: Mandatory */␊ |
514 | kSCSICmd_REQUEST_SENSE = 0x03, /* SPC: Mandatory */␊ |
515 | kSCSICmd_RESERVE_6 = 0x16, /* SPC: Mandatory */␊ |
516 | kSCSICmd_RESERVE_10 = 0x56, /* SPC: Mandatory */␊ |
517 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* SPC: Mandatory */␊ |
518 | kSCSICmd_SLEW_AND_PRINT = 0x0B, /* Sec. 6.2.4: Optional */␊ |
519 | kSCSICmd_STOP_PRINT = 0x1B, /* Sec. 6.2.5: Optional */␊ |
520 | kSCSICmd_SYNCHRONIZE_BUFFER = 0x10, /* Sec. 6.2.6: Optional */␊ |
521 | kSCSICmd_TEST_UNIT_READY = 0x00, /* SPC: Mandatory */␊ |
522 | kSCSICmd_WRITE_BUFFER = 0x3B /* SPC: Optional */␊ |
523 | };␊ |
524 | #endif␊ |
525 | ␊ |
526 | #pragma mark -␊ |
527 | #pragma mark 0x03 SPC Processor Commands␊ |
528 | /* Commands defined by the T10:1236-D SCSI Primary Commands-2 (SPC-2) ␊ |
529 | * command specification. The definitions and section numbers are based on␊ |
530 | * section 9 of the revision 18, 21 May 2000 version of the specification.␊ |
531 | */␊ |
532 | #if 0␊ |
533 | enum ␊ |
534 | {␊ |
535 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
536 | kSCSICmd_COMPARE = 0x39, /* Sec. 7.2: Optional */␊ |
537 | kSCSICmd_COPY = 0x18, /* Sec. 7.3: Optional */␊ |
538 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* Sec. 7.4: Optional */␊ |
539 | kSCSICmd_EXTENDED_COPY = 0x83, /* Sec. 7.5: Optional */␊ |
540 | kSCSICmd_INQUIRY = 0x12, /* Sec. 7.6: Mandatory */␊ |
541 | kSCSICmd_LOG_SELECT = 0x4C, /* Sec. 7.7: Optional */␊ |
542 | kSCSICmd_LOG_SENSE = 0x4D, /* Sec. 7.8: Optional */␊ |
543 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* Sec. 7.13: Optional */␊ |
544 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* Sec. 7.14: Optional */␊ |
545 | kSCSICmd_READ_BUFFER = 0x3C, /* Sec. 7.16: Optional */␊ |
546 | kSCSICmd_RECEIVE = 0x08, /* Sec. 9.2: Optional */␊ |
547 | kSCSICmd_RECEIVE_COPY_RESULTS = 0x84, /* Sec. 7.17: Optional */␊ |
548 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* Sec. 7.18: Optional */␊ |
549 | kSCSICmd_RELEASE_10 = 0x57, /* Sec. 7.19: Optional */␊ |
550 | kSCSICmd_RELEASE_6 = 0x17, /* Sec. 7.20: Optional */␊ |
551 | kSCSICmd_REPORT_LUNS = 0xA0, /* Sec. 7.22: Optional */␊ |
552 | kSCSICmd_REQUEST_SENSE = 0x03, /* Sec. 7.23: Mandatory */␊ |
553 | kSCSICmd_RESERVE_10 = 0x56, /* Sec. 7.24: Optional */␊ |
554 | kSCSICmd_RESERVE_6 = 0x16, /* Sec. 7.25: Optional */␊ |
555 | kSCSICmd_SEND = 0x0A, /* Sec. 9.3: Optional */␊ |
556 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* Sec. 7.26: Mandatory */␊ |
557 | kSCSICmd_TEST_UNIT_READY = 0x00, /* Sec. 7.27: Mandatory */␊ |
558 | kSCSICmd_WRITE_BUFFER = 0x3B /* Sec. 7.29: Optional */␊ |
559 | };␊ |
560 | #endif␊ |
561 | ␊ |
562 | #pragma mark -␊ |
563 | #pragma mark 0x04 SBC Write Once Commands␊ |
564 | /* Commands defined by the T10:990-D SCSI-3 Block Commands (SBC) command␊ |
565 | * specification. The definitions and section numbers are based on section 6.3␊ |
566 | * of the revision 8c, 13 November 1997 version of the specification. ␊ |
567 | */␊ |
568 | #if 0␊ |
569 | enum␊ |
570 | {␊ |
571 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* SPC: Optional */␊ |
572 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
573 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
574 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional*/␊ |
575 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
576 | kSCSICmd_LOCK_UNLOCK_CACHE = 0x36, /* Sec. 6.1.2: Optional */␊ |
577 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
578 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
579 | kSCSICmd_MEDIUM_SCAN = 0x38, /* Sec. 6.2.3: Optional */␊ |
580 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Optional */␊ |
581 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Optional */␊ |
582 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Optional */␊ |
583 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Optional */␊ |
584 | kSCSICmd_MOVE_MEDIUM = 0xA5, /* SMC: Optional */␊ |
585 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* SPC: Optional */␊ |
586 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* SPC: Optional */␊ |
587 | kSCSICmd_PREFETCH = 0x34, /* Sec. 6.1.3: Optional */␊ |
588 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E, /* SPC: Optional */␊ |
589 | kSCSICmd_READ_6 = 0x08, /* Sec. 6.1.4: Optional */␊ |
590 | kSCSICmd_READ_10 = 0x28, /* Sec. 6.1.5: Mandatory */␊ |
591 | kSCSICmd_READ_12 = 0xA8, /* Sec. 6.2.4: Optional */␊ |
592 | kSCSICmd_READ_BUFFER = 0x3C, /* SPC: Optional */␊ |
593 | kSCSICmd_READ_CAPACITY = 0x25, /* Sec. 6.1.6: Mandatory */␊ |
594 | kSCSICmd_READ_ELEMENT_STATUS = 0xB8, /* SMC: Optional */␊ |
595 | kSCSICmd_READ_LONG = 0x3E, /* Sec. 6.1.8: Optional */␊ |
596 | kSCSICmd_REASSIGN_BLOCKS = 0x07, /* Sec. 6.1.9: Optional */␊ |
597 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* SPC: Optional */␊ |
598 | kSCSICmd_RELEASE_6 = 0x17, /* SPC: Optional */␊ |
599 | kSCSICmd_RELEASE_10 = 0x57, /* SPC: Mandatory */␊ |
600 | kSCSICmd_REQUEST_SENSE = 0x03, /* SPC: Mandatory */␊ |
601 | kSCSICmd_RESERVE_6 = 0x16, /* SPC: Optional */␊ |
602 | kSCSICmd_RESERVE_10 = 0x56, /* SPC: Mandatory */␊ |
603 | kSCSICmd_REZERO_UNIT = 0x01, /* Obsolete */␊ |
604 | kSCSICmd_SEARCH_DATA_EQUAL_10 = 0x31, /* Obsolete */␊ |
605 | kSCSICmd_SEARCH_DATA_EQUAL_12 = 0xB1, /* Obsolete */␊ |
606 | kSCSICmd_SEARCH_DATA_HIGH_10 = 0x30, /* Obsolete */␊ |
607 | kSCSICmd_SEARCH_DATA_HIGH_12 = 0xB0, /* Obsolete */␊ |
608 | kSCSICmd_SEARCH_DATA_LOW_10 = 0x32, /* Obsolete */␊ |
609 | kSCSICmd_SEARCH_DATA_LOW_12 = 0xB2, /* Obsolete */␊ |
610 | kSCSICmd_SEEK_6 = 0x0B, /* Obsolete */␊ |
611 | kSCSICmd_SEEK_10 = 0x2B, /* Sec. 6.1.12: Optional */␊ |
612 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* SPC: Mandatory */␊ |
613 | kSCSICmd_SET_LIMITS_10 = 0x33, /* Sec. 6.1.13: Optional */␊ |
614 | kSCSICmd_SET_LIMITS_12 = 0xB3, /* Sec. 6.2.8: Optional */␊ |
615 | kSCSICmd_START_STOP_UNIT = 0x1B, /* Sec. 6.1.14: Optional */␊ |
616 | kSCSICmd_SYNCHRONIZE_CACHE = 0x35, /* Sec. 6.1.15: Optional */␊ |
617 | kSCSICmd_TEST_UNIT_READY = 0x00, /* SPC: Mandatory */␊ |
618 | kSCSICmd_VERIFY_10 = 0x2F, /* Sec. 6.2.10: Optional */␊ |
619 | kSCSICmd_VERIFY_12 = 0xAF, /* Sec. 6.2.11: Optional */␊ |
620 | kSCSICmd_WRITE_6 = 0x0A, /* Sec. 6.1.17: Optional */␊ |
621 | kSCSICmd_WRITE_10 = 0x2A, /* Sec. 6.2.10: Mandatory*/␊ |
622 | kSCSICmd_WRITE_12 = 0xAA, /* Sec. 6.2.13: Optional */␊ |
623 | kSCSICmd_WRITE_AND_VERIFY_10 = 0x2E, /* Sec. 6.2.14: Optional */␊ |
624 | kSCSICmd_WRITE_AND_VERIFY_12 = 0xAE, /* Sec. 6.2.15: Optional */␊ |
625 | kSCSICmd_WRITE_BUFFER = 0x3B, /* SPC: Optional */␊ |
626 | kSCSICmd_WRITE_LONG = 0x3F /* Sec. 6.1.20: Optional */␊ |
627 | };␊ |
628 | #endif␊ |
629 | ␊ |
630 | #pragma mark -␊ |
631 | #pragma mark 0x05 MMC CD-ROM Commands␊ |
632 | /* Commands defined by the T10:1363-D SCSI Multimedia Commands-3 (MMC-3) ␊ |
633 | * specification. The definitions and section numbers are based on section 6.1␊ |
634 | * of the revision 01, March 03, 2000 version of the specification. ␊ |
635 | *␊ |
636 | * NOTE: The comments following each command may not be accurate. These are␊ |
637 | * not from the MMC-3 specification, but have been derived from the SCSI-2 and␊ |
638 | * original MMC specifications. Unlike the other SCSI command specifications,␊ |
639 | * MMC-2 and MMC-3 do not provide a command requirement type and therefore does␊ |
640 | * not relist the SPC commands with these requirements as they apply to MMC␊ |
641 | * devices. The MMC-2 and MMC-3 specifications also refer back to the SBC␊ |
642 | * specification which seems invalid since MMC devices do not represent a␊ |
643 | * Peripheral Device Type defined by SBC. It is assumed that the SBC␊ |
644 | * references refer to the Peripheral Device Type 0x00 - Direct Access Commands␊ |
645 | * definitions from that specification.␊ |
646 | */␊ |
647 | #if 0␊ |
648 | enum ␊ |
649 | {␊ |
650 | kSCSICmd_BLANK = 0xA1, /* Sec. 6.1.1: */␊ |
651 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* Obsolete */␊ |
652 | kSCSICmd_CLOSE_TRACK_SESSION = 0x5B, /* Sec. 6.1.2: */␊ |
653 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
654 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
655 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional */␊ |
656 | kSCSICmd_ERASE = 0x2C, /* SBC: */␊ |
657 | kSCSICmd_FORMAT_UNIT = 0x04, /* Sec. 6.1.3: */␊ |
658 | kSCSICmd_GET_CONFIGURATION = 0x46, /* Sec. 6.1.4: */␊ |
659 | kSCSICmd_GET_EVENT_STATUS_NOTIFICATION = 0x4A, /* Sec. 6.1.5: */␊ |
660 | kSCSICmd_GET_PERFORMANCE = 0xAC, /* Sec. 6.1.6: */␊ |
661 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
662 | kSCSICmd_LOAD_UNLOAD_MEDIUM = 0xA6, /* Sec. 6.1.7: */␊ |
663 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
664 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
665 | kSCSICmd_MECHANISM_STATUS = 0xBD, /* Sec. 6.1.8: */␊ |
666 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Mandatory */␊ |
667 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Mandatory */␊ |
668 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Mandatory */␊ |
669 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Mandatory */␊ |
670 | kSCSICmd_PAUSE_RESUME = 0x4B, /* Sec. 6.1.9: */␊ |
671 | kSCSICmd_PLAY_AUDIO_10 = 0x45, /* Sec. 6.1.10: */␊ |
672 | kSCSICmd_PLAY_AUDIO_12 = 0xA5, /* Sec. 6.1.11: */␊ |
673 | kSCSICmd_PLAY_AUDIO_MSF = 0x47, /* Sec. 6.1.12: */␊ |
674 | kSCSICmd_PLAY_AUDIO_TRACK_INDEX = 0x48, /* Obsolete */␊ |
675 | kSCSICmd_PLAY_CD = 0xBC, /* Sec. 6.1.13: */␊ |
676 | kSCSICmd_PLAY_RELATIVE_10 = 0x49, /* Obsolete */␊ |
677 | kSCSICmd_PLAY_RELATIVE_12 = 0xA9, /* Obsolete */␊ |
678 | kSCSICmd_PREFETCH = 0x34, /* Optional */␊ |
679 | kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1E, /* Optional */␊ |
680 | kSCSICmd_READ_6 = 0x08, /* Optional */␊ |
681 | kSCSICmd_READ_10 = 0x28, /* Mandatory */␊ |
682 | kSCSICmd_READ_12 = 0xA8, /* Optional */␊ |
683 | kSCSICmd_READ_BUFFER = 0x3C, /* Optional */␊ |
684 | kSCSICmd_READ_BUFFER_CAPACITY = 0x5C, /* Sec. 6.1.15: */␊ |
685 | kSCSICmd_READ_CD = 0xBE, /* Sec. 6.1.16: */␊ |
686 | kSCSICmd_READ_CD_MSF = 0xB9, /* Sec. 6.1.17: */␊ |
687 | kSCSICmd_READ_CAPACITY = 0x25, /* Sec. 6.1.18: */␊ |
688 | kSCSICmd_READ_DISC_INFORMATION = 0x51, /* Sec. 6.1.19: */␊ |
689 | kSCSICmd_READ_DVD_STRUCTURE = 0xAD, /* Sec. 6.1.20: */␊ |
690 | kSCSICmd_READ_DISC_STRUCTURE = 0xAD, /* Sec. 6.1.20: */␊ |
691 | kSCSICmd_READ_FORMAT_CAPACITIES = 0x23, /* Sec. 6.1.21: */␊ |
692 | kSCSICmd_READ_HEADER = 0x44, /* Sec. 6.1.22: */␊ |
693 | kSCSICmd_READ_LONG = 0x3E, /* Optional */␊ |
694 | kSCSICmd_READ_MASTER_CUE = 0x59, /* Sec. 6.1.23: */␊ |
695 | kSCSICmd_READ_SUB_CHANNEL = 0x42, /* Sec. 6.1.24: */␊ |
696 | kSCSICmd_READ_TOC_PMA_ATIP = 0x43, /* Sec. 6.1.25: */␊ |
697 | kSCSICmd_READ_TRACK_INFORMATION = 0x52, /* Sec. 6.1.27: */␊ |
698 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* Optional */␊ |
699 | kSCSICmd_RELEASE_6 = 0x17, /* Mandatory */␊ |
700 | kSCSICmd_RELEASE_10 = 0x57, /* Optional */␊ |
701 | kSCSICmd_REPAIR_TRACK = 0x58, /* Sec. 6.1.28: */␊ |
702 | kSCSICmd_REPORT_KEY = 0xA4, /* Sec. 6.1.29: */␊ |
703 | kSCSICmd_REQUEST_SENSE = 0x03, /* Mandatory */␊ |
704 | kSCSICmd_RESERVE_6 = 0x16, /* Mandatory */␊ |
705 | kSCSICmd_RESERVE_10 = 0x56, /* Optional */␊ |
706 | kSCSICmd_RESERVE_TRACK = 0x53, /* Sec. 6.1.30: */␊ |
707 | kSCSICmd_SCAN_MMC = 0xBA, /* Sec. 6.1.31: */␊ |
708 | kSCSICmd_SEARCH_DATA_EQUAL_10 = 0x31, /* Obsolete */␊ |
709 | kSCSICmd_SEARCH_DATA_EQUAL_12 = 0xB1, /* Obsolete */␊ |
710 | kSCSICmd_SEARCH_DATA_HIGH_10 = 0x30, /* Obsolete */␊ |
711 | kSCSICmd_SEARCH_DATA_HIGH_12 = 0xB0, /* Obsolete */␊ |
712 | kSCSICmd_SEARCH_DATA_LOW_10 = 0x32, /* Obsolete */␊ |
713 | kSCSICmd_SEARCH_DATA_LOW_12 = 0xB2, /* Obsolete */␊ |
714 | kSCSICmd_SEEK_6 = 0x0B, /* Obsolete */␊ |
715 | kSCSICmd_SEEK_10 = 0x2B, /* SBC: */␊ |
716 | kSCSICmd_SEND_CUE_SHEET = 0x5D, /* Sec. 6.1.32: */␊ |
717 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* Mandatory */␊ |
718 | kSCSICmd_SEND_DVD_STRUCTURE = 0xBF, /* Sec. 6.1.33: */␊ |
719 | kSCSICmd_SEND_EVENT = 0xA2, /* Sec. 6.1.34: */␊ |
720 | kSCSICmd_SEND_KEY = 0xA3, /* Sec. 6.1.35: */␊ |
721 | kSCSICmd_SEND_OPC_INFORMATION = 0x54, /* Sec. 6.1.36: */␊ |
722 | kSCSICmd_SET_CD_SPEED = 0xBB, /* Sec. 6.1.37: */␊ |
723 | kSCSICmd_SET_LIMITS_10 = 0x33, /* Optional */␊ |
724 | kSCSICmd_SET_LIMITS_12 = 0xB3, /* Optional */␊ |
725 | kSCSICmd_SET_READ_AHEAD = 0xA7, /* Sec. 6.1.38: */␊ |
726 | kSCSICmd_SET_STREAMING = 0xB6, /* Sec. 6.1.39: */␊ |
727 | kSCSICmd_START_STOP_UNIT = 0x1B, /* Optional */␊ |
728 | kSCSICmd_STOP_PLAY_SCAN = 0x4E, /* Sec. 6.1.40: */␊ |
729 | kSCSICmd_SYNCHRONIZE_CACHE = 0x35, /* Sec. 6.1.41: */␊ |
730 | kSCSICmd_TEST_UNIT_READY = 0x00, /* Mandatory */␊ |
731 | kSCSICmd_VERIFY_10 = 0x2F, /* Optional */␊ |
732 | kSCSICmd_VERIFY_12 = 0xAF, /* Optional */␊ |
733 | kSCSICmd_WRITE_10 = 0x2A, /* Sec. 6.1.42: */␊ |
734 | kSCSICmd_WRITE_12 = 0xAA, /* Sec. 6.1.43: */␊ |
735 | kSCSICmd_WRITE_AND_VERIFY_10 = 0x2E, /* Sec. 6.1.44: */␊ |
736 | kSCSICmd_WRITE_BUFFER = 0x3B /* Optional */␊ |
737 | };␊ |
738 | #endif␊ |
739 | ␊ |
740 | #pragma mark -␊ |
741 | #pragma mark 0x06 SGC Scanner Commands␊ |
742 | /* Commands defined by the T10:998-D SCSI-3 Graphics Commands (SGC)␊ |
743 | * specification. The definitions and section numbers are based on section 6␊ |
744 | * of the revision 0, April 1995 version of the specification. ␊ |
745 | */␊ |
746 | #if 0␊ |
747 | enum ␊ |
748 | {␊ |
749 | kSCSICmd_CHANGE_DEFINITION = 0x40, /* SPC: Optional */␊ |
750 | kSCSICmd_COMPARE = 0x39, /* SPC: Optional */␊ |
751 | kSCSICmd_COPY = 0x18, /* SPC: Optional */␊ |
752 | kSCSICmd_COPY_AND_VERIFY = 0x3A, /* SPC: Optional */␊ |
753 | kSCSICmd_GET_DATA_BUFFER_STATUS = 0x34, /* Sec. 6.1.1: Optional */␊ |
754 | kSCSICmd_GET_WINDOW = 0x25, /* Sec. 6.1.2: Optional */␊ |
755 | kSCSICmd_INQUIRY = 0x12, /* SPC: Mandatory */␊ |
756 | kSCSICmd_LOG_SELECT = 0x4C, /* SPC: Optional */␊ |
757 | kSCSICmd_LOG_SENSE = 0x4D, /* SPC: Optional */␊ |
758 | kSCSICmd_MODE_SELECT_6 = 0x15, /* SPC: Optional */␊ |
759 | kSCSICmd_MODE_SELECT_10 = 0x55, /* SPC: Optional */␊ |
760 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* SPC: Optional */␊ |
761 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* SPC: Optional */␊ |
762 | kSCSICmd_OBJECT_POSITION = 0x31, /* Sec. 6.1.3: Optional */␊ |
763 | kSCSICmd_PORT_STATUS = 0x11, /* SPC (??): Mandatory␊ |
764 | * for dual port devices */␊ |
765 | kSCSICmd_READ = 0x28, /* Sec. 6.1.4: Mandatory */␊ |
766 | kSCSICmd_READ_BUFFER = 0x3C, /* SPC: Optional */␊ |
767 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x1C, /* SPC: Optional */␊ |
768 | kSCSICmd_RELEASE_6 = 0x17, /* SPC: Mandatory */␊ |
769 | kSCSICmd_REQUEST_SENSE = 0x03, /* SPC: Mandatory */␊ |
770 | kSCSICmd_RESERVE_6 = 0x16, /* SPC: Mandatory */␊ |
771 | kSCSICmd_SCAN = 0x1B, /* Sec. 6.1.5: Optional */␊ |
772 | kSCSICmd_SEND = 0x1B, /* Sec. 6.1.6: Optional */␊ |
773 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* SPC: Mandatory */␊ |
774 | kSCSICmd_SET_WINDOW = 0x24, /* Sec. 6.1.7: Mandatory */␊ |
775 | kSCSICmd_TEST_UNIT_READY = 0x00, /* SPC: Mandatory */␊ |
776 | kSCSICmd_WRITE_BUFFER = 0x3B /* SPC: Optional */␊ |
777 | };␊ |
778 | #endif␊ |
779 | ␊ |
780 | #pragma mark -␊ |
781 | #pragma mark 0x07 SBC Optical Media Commands␊ |
782 | /* Commands defined by the T10:990-D SCSI-3 Block Commands (SBC) ␊ |
783 | * (revision 8c, 13 November 1998) command specification. ␊ |
784 | */␊ |
785 | ␊ |
786 | #pragma mark -␊ |
787 | #pragma mark 0x08 SMC Medium Changer Commands␊ |
788 | /* Commands defined by the T10:1228-D SCSI-3 Medium Changer Commands-2 (SMC-2)␊ |
789 | * (revision 0, March 16, 2000) command specification. ␊ |
790 | */␊ |
791 | #if 0␊ |
792 | enum␊ |
793 | {␊ |
794 | /* Commands For Independent Medium Changers */␊ |
795 | kSCSICmd_EXCHANGE_MEDIUM = 0xA6, /* Optional */␊ |
796 | kSCSICmd_INITIALIZE_ELEMENT_STATUS = 0x07, /* Optional */␊ |
797 | kSCSICmd_MODE_SELECT_6 = 0x15, /* Optional */␊ |
798 | kSCSICmd_MODE_SELECT_10 = 0x55, /* Optional */␊ |
799 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* Optional */␊ |
800 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* Optional */␊ |
801 | kSCSICmd_MOVE_MEDIUM = 0xA5, /* Mandatory */␊ |
802 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* Optional */␊ |
803 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* Optional */␊ |
804 | kSCSICmd_POSITION_TO_ELEMENT = 0x2B, /* Optional */␊ |
805 | kSCSICmd_READ_ELEMENT_STATUS = 0xB8, /* Mandatory */␊ |
806 | kSCSICmd_RELEASE_ELEMENT_6 = 0x16, /* Optional */␊ |
807 | kSCSICmd_RELEASE_ELEMENT_10 = 0x56, /* Optional */␊ |
808 | kSCSICmd_REQUEST_VOLUME_ELEMENT_ADDRESS = 0xB5, /* Optional */␊ |
809 | kSCSICmd_REQUEST_SENSE = 0x03, /* Mandatory */␊ |
810 | kSCSICmd_RESERVE_ELEMENT_6 = 0x16, /* Optional */␊ |
811 | kSCSICmd_RESERVE_ELEMENT_10 = 0x56 /* Optional */␊ |
812 | };␊ |
813 | #endif␊ |
814 | ␊ |
815 | #pragma mark -␊ |
816 | #pragma mark 0x09 SSC Communications Commands␊ |
817 | /* Commands defined by the T10:997-D SCSI-3 Stream Commands (SSC) ␊ |
818 | * (revision 22, January 1, 2000) command specification. ␊ |
819 | */␊ |
820 | ␊ |
821 | #pragma mark -␊ |
822 | #pragma mark 0x0A ASC IT8 Prepress Commands␊ |
823 | #pragma mark 0x0B ASC IT8 Prepress Commands␊ |
824 | /* Commands defined by the ASC IT8 <title goes here> specification␊ |
825 | * (revision xx, month day, year) command specification. ␊ |
826 | */␊ |
827 | #if 0␊ |
828 | enum␊ |
829 | {␊ |
830 | };␊ |
831 | #endif␊ |
832 | ␊ |
833 | #pragma mark -␊ |
834 | #pragma mark 0x0C SCC Array Controller Commands␊ |
835 | /* Commands defined by the ANSI NCITS.318-199x SCSI Controller␊ |
836 | * Commands (SCC-2) ratified command specification. ␊ |
837 | */␊ |
838 | #if 0␊ |
839 | enum␊ |
840 | {␊ |
841 | kSCSICmd_MAINTENANCE_IN = 0xA3, /* Mandatory */␊ |
842 | kSCSICmd_MAINTENANCE_OUT = 0xA4, /* Optional */␊ |
843 | kSCSICmd_MODE_SELECT_6 = 0x15, /* Optional */␊ |
844 | kSCSICmd_MODE_SELECT_10 = 0x55, /* Optional */␊ |
845 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* Optional */␊ |
846 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* Optional */␊ |
847 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* Optional */␊ |
848 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* Optional */␊ |
849 | kSCSICmd_PORT_STATUS = 0x1F, /* Optional */␊ |
850 | kSCSICmd_REDUNDANCY_GROUP_IN = 0xBA, /* Mandatory */␊ |
851 | kSCSICmd_REDUNDANCY_GROUP_OUT = 0xBB, /* Optional */␊ |
852 | kSCSICmd_RELEASE_6 = 0x17, /* Optional */␊ |
853 | kSCSICmd_RELEASE_10 = 0x57, /* Optional */␊ |
854 | kSCSICmd_REPORT_LUNS = 0xA0, /* Mandatory */␊ |
855 | kSCSICmd_REQUEST_SENSE = 0x03, /* Mandatory */␊ |
856 | kSCSICmd_RESERVE_6 = 0x16, /* Optional */␊ |
857 | kSCSICmd_RESERVE_10 = 0x56, /* Optional*/␊ |
858 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D, /* Optional */␊ |
859 | kSCSICmd_SPARE_IN = 0xBC, /* Mandatory */␊ |
860 | kSCSICmd_SPARE_OUT = 0xBD /* Optional */␊ |
861 | };␊ |
862 | #endif␊ |
863 | ␊ |
864 | #pragma mark -␊ |
865 | #pragma mark 0x0D SES Enclosure Services Commands␊ |
866 | /* Commands defined by the T10:1212-D SCSI-3 Enclosure Services (SES) ␊ |
867 | * (revision 8b, February 11, 1998) command specification. ␊ |
868 | */␊ |
869 | #if 0␊ |
870 | enum␊ |
871 | {␊ |
872 | kSCSICmd_MODE_SELECT_6 = 0x15, /* Optional */␊ |
873 | kSCSICmd_MODE_SELECT_10 = 0x55, /* Optional */␊ |
874 | kSCSICmd_MODE_SENSE_6 = 0x1A, /* Optional */␊ |
875 | kSCSICmd_MODE_SENSE_10 = 0x5A, /* Optional */␊ |
876 | kSCSICmd_PERSISTENT_RESERVE_IN = 0x5E, /* Optional */␊ |
877 | kSCSICmd_PERSISTENT_RESERVE_OUT = 0x5F, /* Optional */␊ |
878 | kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS = 0x17, /* Mandatory */␊ |
879 | kSCSICmd_RELEASE_6 = 0x17, /* Optional */␊ |
880 | kSCSICmd_RELEASE_10 = 0x57, /* Optional */␊ |
881 | kSCSICmd_REQUEST_SENSE = 0x03, /* Mandatory */␊ |
882 | kSCSICmd_RESERVE_6 = 0x16, /* Optional */␊ |
883 | kSCSICmd_RESERVE_10 = 0x56, /* Optional */␊ |
884 | kSCSICmd_SEND_DIAGNOSTICS = 0x1D /* Mandatory */␊ |
885 | };␊ |
886 | #endif␊ |
887 | ␊ |
888 | #pragma mark -␊ |
889 | #pragma mark 0x0E RBC Reduced Block Commands␊ |
890 | /* Commands defined by the T10:1240-D Reduced Block Commands (RBC) ␊ |
891 | * (revision 10a, August 18, 1999) command specification. ␊ |
892 | */␊ |
893 | #if 0␊ |
894 | enum␊ |
895 | {␊ |
896 | kSCSICmd_FORMAT_UNIT = 0x04, /* Optional */␊ |
897 | kSCSICmd_READ_10 = 0x28, /* Mandatory */␊ |
898 | kSCSICmd_READ_CAPACITY = 0x25, /* Mandatory */␊ |
899 | kSCSICmd_START_STOP_UNIT = 0x1B, /* Mandatory */␊ |
900 | kSCSICmd_SYNCHRONIZE_CACHE = 0x35, /* Optional */␊ |
901 | kSCSICmd_VERIFY_10 = 0x2F, /* Mandatory */␊ |
902 | kSCSICmd_WRITE_10 = 0x2A, /* Mandatory */␊ |
903 | kSCSICmd_WRITE_BUFFER = 0x3B /* Mandatory for fixed media␊ |
904 | * Optional for removable */␊ |
905 | };␊ |
906 | #endif␊ |
907 | ␊ |
908 | #pragma mark -␊ |
909 | #pragma mark 0x0F OCRW Optical Card Commands␊ |
910 | /* Commands defined by the ISO/IEC 14776-381 SCSI Specification for␊ |
911 | * Optical Card Reader/Writer (OCRW) ratified command specification. ␊ |
912 | */␊ |
913 | #if 0␊ |
914 | enum␊ |
915 | {␊ |
916 | };␊ |
917 | #endif␊ |
918 | ␊ |
919 | #pragma mark -␊ |
920 | #pragma mark 0x11 OSD Object-based Storage Commands␊ |
921 | /* Commands defined by the T10:1355-D Object-based Storage Commands (OSD) ␊ |
922 | * (revision 1, 18 May 2000) command specification. ␊ |
923 | */␊ |
924 | #if 0␊ |
925 | enum␊ |
926 | {␊ |
927 | };␊ |
928 | #endif␊ |
929 | ␊ |
930 | #pragma mark -␊ |
931 | #pragma mark 0x15 RMC Simplified Multimedia Commands␊ |
932 | /* Commands defined by the T10:1364-D Reduced Multimedia Commands (RMC) ␊ |
933 | * (revision 1, November 11, 1999) command specification. ␊ |
934 | */␊ |
935 | #if 0␊ |
936 | enum␊ |
937 | {␊ |
938 | };␊ |
939 | #endif␊ |
940 | ␊ |
941 | #endif␉/* _SCSI_COMMAND_OPERATION_CODES_H_ */␊ |
942 |