Root/
Source at commit 1580 created 12 years 9 months ago. By blackosx, Attempted to enable 'exclusive' choices in auto generated boot options, but it's not working at present. I've added notes to remind me to look again at some point. | |
---|---|
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 |