#include <IOKit/scsi/spi/IOSCSIParallelControllerCharacteristics.h>

IOKit/scsi/spi/IOSCSIParallelControllerCharacteristics.h Kernel.framework

@header IOSCSIParallelControllerCharacteristics SCSI controller specific typedefs and constants used inside DriverKit environment.
3 enums · 3 typedefs · 2 macros

enumSCSIParallelFeature

When the DoesHBASupportSCSIParallelFeature() member routine of the controller child class is called, it will return true if the HBA that it controls supports the specified SCSIParallelFeature or false if it does not.
underlying type unsigned int
kSCSIParallelFeature_WideDataTransfer0The selector for support of Wide Data Transfers. Only Wide16 is supported as Wide32 has been obsoleted by the SPI-3 specification.
kSCSIParallelFeature_SynchronousDataTransfer1The selector for support of Synchronous Data Transfers.
kSCSIParallelFeature_QuickArbitrationAndSelection2The selector for support of Quick Arbitration and Selection (QAS).
kSCSIParallelFeature_DoubleTransitionDataTransfers3The selector for support of Double Transition (DT) data transfers.
kSCSIParallelFeature_InformationUnitTransfers4The selector for SPI Information Unit (IU) transfers.
kSCSIParallelFeature_TotalFeatureCount5Since the Feature selectors are zero base, this will always have the correct total.

typedefSCSIParallelFeature

typedef enum SCSIParallelFeature SCSIParallelFeature;

enumSCSIParallelFeatureRequest

underlying type unsigned int
kSCSIParallelFeature_NoNegotiation0This selector indicates that current negotiation should be used.
kSCSIParallelFeature_AttemptNegotiation1This selector indicates that the controller should attempt negotiation for the feature
kSCSIParallelFeature_ClearNegotiation2This selector indicates that the controller should clear any negotiation for the feature

typedefSCSIParallelFeatureRequest

typedef enum SCSIParallelFeatureRequest SCSIParallelFeatureRequest;

enumSCSIParallelFeatureResult

underlying type unsigned int
kSCSIParallelFeature_NegotitiationUnchanged0
kSCSIParallelFeature_NegotitiationCleared1
kSCSIParallelFeature_NegotitiationSuccess2

typedefSCSIParallelFeatureResult

typedef enum SCSIParallelFeatureResult SCSIParallelFeatureResult;

macrokIOHierarchicalLogicalUnitSupportKey

Set this key with a value of true in UserReportHBAConstraints() to indicate support for full 8-byte LUN addressing
#define kIOHierarchicalLogicalUnitSupportKey "SCSI Hierarchical Logical Unit Support"

macrokIOMinimumHBADataAlignmentMaskKey

This is the alignment mask used when allocating per-task HBA data. It allows the HBA to declare whether or not it supports 64-bit addressability and what the minimum byte alignment is for the data. E.g. By specifying 0x0000FFFFFFFFFFFEULL, the controller would be indicating that it supports 48-bits of addressability, but at a minimum of being 2-byte aligned.
#define kIOMinimumHBADataAlignmentMaskKey "HBA Data Alignment"