VirtualBox

Changeset 5958

Show
Ignore:
Timestamp:
12/05/07 03:23:42 (1 year ago)
Author:
vboxsync
Message:

Added CDB and DATA structures for the INQUERY command.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy