IOSCSICommand_Reference.h
Typedefs
typedef struct SCSICDBInfo {
UInt32 cdbFlags;
UInt32 cdbTagMsg;
UInt32 cdbTag;
UInt32 cdbAbortMsg;
UInt32 cdbLength;
UInt8 cdb[16];
UInt32 reserved[16];
} SCSICDBInfo;
Fields specified here are set by IOSCSIDevice client, while others
are set by the IOSCSIController class for use by the host adapter
driver. The client should zero all fields of the structure prior
to use.
Fields
Name | Description |
cdbFlags | See enum SCSICDBFlags for flag definitions. |
cdbTagMsg | This field should be set to zero by the IOSCSIDevice client. If the
SCSI device supports tag queuing then the IOSCSIController class
will set this field to select simple (unordered) tags. |
cdbTag | This field is set by the IOSCSIController class to tell the host
adapter driver the SCSI tag value to assign to this IOSCSICommand. |
cdbLength | Set by the IOSCSIDevice client to the length of the Command Descriptor
Block (CDB). |
cdb | Set by the IOSCSIDevice client to command descriptor block the client
wishes the target to execute. |
typedef struct SCSIResults {
IOReturn returnCode;
UInt32 bytesTransferred;
UInt32 adapterStatus;
UInt8 scsiStatus;
bool requestSenseDone;
UInt32 requestSenseLength;
} SCSIResults;
Fields
Name | Description |
returnCode | The overall return code for the command. See iokit/iokit/IOReturn.h.
This value is also returned as the getResults() return value.
Note: The exact subset of return codes a SCSI command will return is
currently under review. |
bytesTransferred | The total number of bytes transferred to/from the target device. |
adapterStatus | This field provides additional adapter reported error information. The SCSI
Family uses this information to determine whether the target rejected a
negotiation attempt (either/or) wide or synchronous. |
scsiStatus | The SCSI Status byte returned from the target device. |
requestSenseDone | A boolean indicating whether sense data was obtained from the target
device. |
requestSenseLength | The number of sense data bytes returned from the target device. |
Structs
typedef struct SCSITargetLun {
UInt8 target;
UInt8 lun;
UInt8 reserved[2];
} SCSITargetLun;
Fields
Name | Description |
target | The SCSI Id for the SCSI device being selected. |
lun | The SCSI Lun for the SCSI device being selected. |
© 2000 Apple Computer, Inc. (Last Updated 2/23/2000)