Enumerations



SCSIAdapterStatus

enum  SCSIAdapterStatus  {
  kSCSIAdapterStatusSuccess  =  0,
  kSCSIAdapterStatusMsgReject,
  kSCSIAdapterStatusParityError,
};

Defines the values of the adapterStatus field of the SCSIResults structure.

Constants

NameDescription
kSCSIAdapterStatusSuccessRequest completed with no adapter reported errors.
kSCSIAdapterStatusMsgRejectAdapter received a msg reject from the target device.
kSCSIAdapterStatusParityErrorAdapter detected, or target reported a parity error during the IOSCSICommand.

SCSICDBFlags

enum  SCSICDBFlags  {
  kCDBFNoDisconnect  =  0x00000001,

/*
  *  Note:  These  flags  are  for  IOSCSIController  subclasses  only
  */
  kCDBFlagsDisableParity  =  0x08000000,
  kCDBFlagsNoDisconnect  =  0x10000000,
  kCDBFlagsNegotiateSDTR  =  0x20000000,
  kCDBFlagsNegotiateWDTR  =  0x40000000,
};

Defines values for the cdbFlags field in the SCSICDBInfo structure.

Constants

NameDescription
kCDBFNoDisconnectSet by the IOSCSIDevice client to indicate the target may not disconnect during the execution of this IOSCSICommand.
kCDBFlagsDisableParitySet by the IOSCSIController class to tell the host adapter driver to disable parity checking during the execution of this CDB.
kCDBFlagsNoDisconnectSet by the IOSCSIController class to tell the host adapter driver that the target may not disconnect during the execution of this IOSCSICommand.
kCDBFlagsNegotiateSDTRSet by the IOSCSIController class to tell the host adapter driver that it should initiate synchronous data transfer negotiation during this IOSCSICommand.
kCDBFlagsNegotiateWDTRSet by the IOSCSIController class to tell the host adapter driver that it should initiate wide data transfer negotiation during this IOSCSICommand.

SCSIQueuePosition

enum  SCSIQueuePosition  {
  kQPositionTail  =  0,
  kQPositionHead  =  1,
};

Indicates whether a IOSCSICommand should be added to the head or tail of the queue selected.

Constants

NameDescription
kQPositionTailQueue request at the tail (end) of the selected queue.
kQPositionHeadQueue request at the head (front) of the selected queue.

SCSIQueueType

enum  SCSIQueueType  {
  kQTypeNormalQ  =  0,
  kQTypeBypassQ  =  1,
};

Each IOSCSIDevice has two queues, a normal Q and a bypass Q. The treatment of the queues is essentially identical except that the bypass Q is given preference whenever it has commands available.

Usually, the client will use the normal Q for regular I/O commands and the bypass Q to send error recovery commands to the device.

Constants

NameDescription
kQTypeNormalQIndicates command applies to the normal IOSCSIDevice queue.
kQTypeBypassQIndicates command applies to the bypass IOSCSIDevice queue.

© 2000 Apple Computer, Inc. — (Last Updated 2/23/2000)