scsi.h revision cfe98b337c617c4749f73b4b3ce98204d8d349e4
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * VirtualBox - SCSI declarations.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * available from http://www.virtualbox.org. This file is free software;
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * you can redistribute it and/or modify it under the terms of the GNU
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * General Public License (GPL) as published by the Free Software
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * The contents of this file may alternatively be used under the terms
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * of the Common Development and Distribution License Version 1.0
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * VirtualBox OSE distribution, in which case the provisions of the
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * CDDL are applicable instead of those of the GPL.
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync * You may elect to license modified versions of this file under the
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * terms and conditions of either the GPL or the CDDL or both.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * additional information or have any questions.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync * SCSI command opcode identifiers.
4bfa7b58e362a1bca0628643c352c137900bf01avboxsync * SCSI-3, so far for CD/DVD Logical Units, from Table 49 of the MMC-3 draft standard.
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Inquiry command. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Read(10) command. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Read Capacity(6) command. */
aed81459e71ba16e05b7155dc0ef77e644951807vboxsync /** Synchronize Cache command. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Write(10) command. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Mode Sekect(6) command */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Mode Sense(6) command */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Report LUNs command. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync /** Rezero Unit command. Obsolete for ages now, but used by cdrecord. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync/* Mode page codes for mode sense/select commands. */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync/* Page control codes. */
e14391f78ef5b4888eab64068347691a4c290cd8vboxsync/* Status codes */
e14391f78ef5b4888eab64068347691a4c290cd8vboxsync/* Sense keys */
e14391f78ef5b4888eab64068347691a4c290cd8vboxsync/* additional sense keys */
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync#define SCSI_ASC_SAVING_PARAMETERS_NOT_SUPPORTED 0x39
18e02d8d60d50fb098bbf009186f36bfb430a780vboxsync#define SCSI_ASC_LOGICAL_UNIT_DOES_NOT_RESPOND_TO_SELECTION 0x00
97935332ee43e27b4b0448a9fab59374e4ed148avboxsync/** @name SCSI_INQUIRY
c618f4d0eeea6061ff8270e8f7023a999bd0bb91vboxsync unsigned u5PeripheralDeviceType : 5; /**< 0x00 / 00 */
c618f4d0eeea6061ff8270e8f7023a999bd0bb91vboxsync uint8_t abVendorSpecific[20]; /**< 0x24/36 - Optional it seems. */
c618f4d0eeea6061ff8270e8f7023a999bd0bb91vboxsync uint8_t abVendorSpecificParameters[1]; /**< 0x60/96 - Variable size. */
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_QUALIFIER_CONNECTED 0x00
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_QUALIFIER_NOT_CONNECTED_BUT_SUPPORTED 0x01
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_QUALIFIER_NOT_CONNECTED_NOT_SUPPORTED 0x03
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_DEVICE_TYPE_DIRECT_ACCESS 0x00
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_DEVICE_TYPE_SEQUENTIAL_ACCESS 0x01
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_DEVICE_TYPE_CD_DVD 0x05
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#define SCSI_INQUIRY_DATA_PERIPHERAL_DEVICE_TYPE_UNKNOWN 0x1f
6a553ebb57b0b277305d2b7f4c7e734c203ed83cvboxsync#if defined(IN_RING3) && (defined(LOG_ENABLED) || defined(RT_STRICT))