VirtualBox

Changeset 5958 in vbox


Ignore:
Timestamp:
Dec 5, 2007 2:23:42 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
26528
Message:

Added CDB and DATA structures for the INQUERY command.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/scsi.h

    r4071 r5958  
    1717#ifndef ___VBox_scsi_h
    1818#define ___VBox_scsi_h
     19
     20#include <iprt/assert.h>
    1921
    2022
     
    386388
    387389
     390/** @name SCSI_INQUIRY
     391 * @{
     392 */
     393#pragma pack(1)
     394typedef struct SCSIINQUIRYCDB
     395{
     396    unsigned u8Cmd : 8;
     397    unsigned fEVPD : 1;
     398    unsigned u4Reserved : 4;
     399    unsigned u3LUN : 3;
     400    unsigned u8PageCode : 8;
     401    unsigned u8Reserved : 8;
     402    uint8_t cbAlloc;
     403    uint8_t u8Control;
     404} SCSIINQUIRYCDB;
     405#pragma pack()
     406AssertCompileSize(SCSIINQUIRYCDB, 6);
     407typedef SCSIINQUIRYCDB PSCSIINQUIRYCDB;
     408typedef const SCSIINQUIRYCDB *PCSCSIINQUIRYCDB;
     409
     410#pragma pack(1)
     411typedef struct SCSIINQUIRYDATA
     412{
     413    unsigned u5PeripherialDeviceType : 5;   /**< 0x00 / 00 */
     414    unsigned u3PeripherialQualifier : 3;
     415    unsigned u6DeviceTypeModifier : 7;      /**< 0x01 */
     416    unsigned fRMB : 1;
     417    unsigned u3AnsiVersion : 3;             /**< 0x02 */
     418    unsigned u3EcmaVersion : 3;
     419    unsigned u2IsoVersion : 2;
     420    unsigned u4ResponseDataFormat : 4;      /**< 0x03 */
     421    unsigned u2Reserved0 : 2;
     422    unsigned fTrmlOP : 1;
     423    unsigned fAEC : 1;
     424    unsigned cbAdditional : 8;              /**< 0x04 */
     425    unsigned u8Reserved1 : 8;               /**< 0x05 */
     426    unsigned u8Reserved2 : 8;               /**< 0x06 */
     427    unsigned fSftRe : 1;                    /**< 0x07 */
     428    unsigned fCmdQue : 1;
     429    unsigned fReserved3 : 1;
     430    unsigned fLinked : 1;
     431    unsigned fSync : 1;
     432    unsigned fWBus16 : 1;
     433    unsigned fWBus32 : 1;
     434    unsigned fRelAdr : 1;
     435    int8_t achVendorId[8];                  /**< 0x08 */
     436    int8_t achProductId[16];                /**< 0x10 */
     437    int8_t achProductLevel[4];              /**< 0x20 */
     438    uint8_t abVendorSpecific[20];           /**< 0x24/36 - Optional it seems. */
     439    uint8_t abReserved4[40];
     440    uint8_t abVendorSpecificParameters[1];  /**< 0x60/96 - Variable size. */
     441} SCSIINQUIRYDATA;
     442#pragma pack()
     443AssertCompileSize(SCSIINQUIRYDATA, 97);
     444typedef SCSIINQUIRYDATA PSCSIINQUIRYDATA;
     445typedef const SCSIINQUIRYDATA *PCSCSIINQUIRYDATA;
     446/** @} */
     447
    388448#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette