| | 390 | /** @name SCSI_INQUIRY |
|---|
| | 391 | * @{ |
|---|
| | 392 | */ |
|---|
| | 393 | #pragma pack(1) |
|---|
| | 394 | typedef 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() |
|---|
| | 406 | AssertCompileSize(SCSIINQUIRYCDB, 6); |
|---|
| | 407 | typedef SCSIINQUIRYCDB PSCSIINQUIRYCDB; |
|---|
| | 408 | typedef const SCSIINQUIRYCDB *PCSCSIINQUIRYCDB; |
|---|
| | 409 | |
|---|
| | 410 | #pragma pack(1) |
|---|
| | 411 | typedef 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() |
|---|
| | 443 | AssertCompileSize(SCSIINQUIRYDATA, 97); |
|---|
| | 444 | typedef SCSIINQUIRYDATA PSCSIINQUIRYDATA; |
|---|
| | 445 | typedef const SCSIINQUIRYDATA *PCSCSIINQUIRYDATA; |
|---|
| | 446 | /** @} */ |
|---|
| | 447 | |
|---|