#include <IOKit/scsi/SCSICmds_MODE_Definitions.h>
IOKit/scsi/SCSICmds_MODE_Definitions.h
-----------------------------------------------------------------------------
structSPCModeParameterHeader6
@struct SPCModeParameterHeader6
@discussion Mode Parameter Header for the MODE_SENSE_6 command.
| UInt8 | MODE_DATA_LENGTH | |
| UInt8 | MEDIUM_TYPE | |
| UInt8 | DEVICE_SPECIFIC_PARAMETER | |
| UInt8 | BLOCK_DESCRIPTOR_LENGTH |
typedefSPCModeParameterHeader6
typedef struct SPCModeParameterHeader6 SPCModeParameterHeader6;
structSPCModeParameterHeader10
@struct SPCModeParameterHeader10
@discussion Mode Parameter Header for the MODE_SENSE_10 command.
| UInt16 | MODE_DATA_LENGTH | |
| UInt8 | MEDIUM_TYPE | |
| UInt8 | DEVICE_SPECIFIC_PARAMETER | |
| UInt8 | LONGLBA | |
| UInt8 | RESERVED | |
| UInt16 | BLOCK_DESCRIPTOR_LENGTH |
typedefSPCModeParameterHeader10
typedef struct SPCModeParameterHeader10 SPCModeParameterHeader10;
enum(anonymous)
@enum Long LBA Bitfield definitions
@discussion Long LBA Bitfield definitions for Mode Parameter Header
for MODE_SENSE_10 command.
@constant kModeSenseParameterHeader10_LongLBABit
Bit to indicate Long LBA block descriptors follow.
@constant kModeSenseParameterHeader10_LongLBAMask
Mask to test for kModeSenseParameterHeader10_LongLBABit.
| kModeSenseParameterHeader10_LongLBABit | 0 | |
| kModeSenseParameterHeader10_LongLBAMask | 1 |
enum(anonymous)
@enum Device Specific Parameter Bitfield definitions
@discussion SBC definitions for Device Specific Parameter in the
Mode Sense Header Block.
@constant kModeSenseSBCDeviceSpecific_DPOFUABit
Bit to indicate DPO and FUA bits are accepted by the device server.
@constant kModeSenseSBCDeviceSpecific_WriteProtectBit
Bit to indicate medium is write protected.
@constant kModeSenseSBCDeviceSpecific_DPOFUAMask
Mask to test for kModeSenseSBCDeviceSpecific_DPOFUABit.
@constant kModeSenseSBCDeviceSpecific_WriteProtectMask
Mask to test for kModeSenseSBCDeviceSpecific_WriteProtectBit.
| kModeSenseSBCDeviceSpecific_DPOFUABit | 4 | |
| kModeSenseSBCDeviceSpecific_WriteProtectBit | 7 | |
| kModeSenseSBCDeviceSpecific_DPOFUAMask | 16 | |
| kModeSenseSBCDeviceSpecific_WriteProtectMask | 128 |
structModeParameterBlockDescriptor
@struct ModeParameterBlockDescriptor
@discussion General mode parameter block descriptor.
| UInt8 | DENSITY_CODE | |
| UInt8[3] | NUMBER_OF_BLOCKS | |
| UInt8 | RESERVED | |
| UInt8[3] | BLOCK_LENGTH |
typedefModeParameterBlockDescriptor
typedef struct ModeParameterBlockDescriptor ModeParameterBlockDescriptor;
structDASDModeParameterBlockDescriptor
@struct DASDModeParameterBlockDescriptor
@discussion Direct Access Storage Device mode parameter block descriptor.
| UInt32 | NUMBER_OF_BLOCKS | |
| UInt8 | DENSITY_CODE | |
| UInt8[3] | BLOCK_LENGTH |
typedefDASDModeParameterBlockDescriptor
typedef struct DASDModeParameterBlockDescriptor DASDModeParameterBlockDescriptor;
structLongLBAModeParameterBlockDescriptor
@struct LongLBAModeParameterBlockDescriptor
@discussion Long LBA mode parameter block descriptor.
| UInt64 | NUMBER_OF_BLOCKS | |
| UInt8 | DENSITY_CODE | |
| UInt8[3] | RESERVED | |
| UInt32 | BLOCK_LENGTH |
typedefLongLBAModeParameterBlockDescriptor
typedef struct LongLBAModeParameterBlockDescriptor LongLBAModeParameterBlockDescriptor;
structModePageFormatHeader
@struct ModePageFormatHeader
@discussion Mode Page format header.
| UInt8 | PS_PAGE_CODE | |
| UInt8 | PAGE_LENGTH |
typedefModePageFormatHeader
typedef struct ModePageFormatHeader ModePageFormatHeader;
enum(anonymous)
@enum Mode Page Format bit definitions
@discussion Mode Page Format bit definitions.
@constant kModePageFormat_PS_Bit
Bit to indicate Parameters Saveable.
@constant kModePageFormat_PAGE_CODE_Mask
Mask to obtain the PAGE_CODE from the PS_PAGE_CODE field.
@constant kModePageFormat_PS_Mask
Mask to test for kModePageFormat_PS_Bit.
| kModePageFormat_PS_Bit | 7 | |
| kModePageFormat_PAGE_CODE_Mask | 63 | |
| kModePageFormat_PS_Mask | 128 |
enum(anonymous)
@enum SPC Mode Pages
@discussion SPC Mode Page definitions.
@constant kSPCModePagePowerConditionCode
Power Conditions Mode Page value.
@constant kSPCModePageAllPagesCode
All Mode Pages value.
| kSPCModePagePowerConditionCode | 26 | |
| kSPCModePageAllPagesCode | 63 |
structSPCModePagePowerCondition
@struct SPCModePagePowerCondition
@discussion Power Conditions Mode Page (PAGE CODE 0x1A) format.
| ModePageFormatHeader | header | |
| UInt8 | RESERVED | |
| UInt8 | IDLE_STANDBY | |
| UInt32 | IDLE_CONDITION_TIMER | |
| UInt32 | STANDBY_CONDITION_TIMER |
typedefSPCModePagePowerCondition
typedef struct SPCModePagePowerCondition SPCModePagePowerCondition;
enum(anonymous)
@enum SBC Mode Pages
@discussion SBC Mode Page definitions.
@constant kSBCModePageFormatDeviceCode
Format Device Mode Page value.
@constant kSBCModePageRigidDiskGeometryCode
Rigid Disk Geometry Page value.
@constant kSBCModePageFlexibleDiskCode
Flexible Disk Page value.
@constant kSBCModePageCachingCode
Caching Page value.
| kSBCModePageFormatDeviceCode | 3 | |
| kSBCModePageRigidDiskGeometryCode | 4 | |
| kSBCModePageFlexibleDiskCode | 5 | |
| kSBCModePageCachingCode | 8 |
structSBCModePageFormatDevice
@struct SBCModePageFormatDevice
@discussion Format Device Mode Page (PAGE CODE 0x03) format.
| ModePageFormatHeader | header | |
| UInt16 | TRACKS_PER_ZONE | |
| UInt16 | ALTERNATE_SECTORS_PER_ZONE | |
| UInt16 | ALTERNATE_TRACKS_PER_ZONE | |
| UInt16 | ALTERNATE_TRACKS_PER_LOGICAL_UNIT | |
| UInt16 | SECTORS_PER_TRACK | |
| UInt16 | DATA_BYTES_PER_PHYSICAL_SECTOR | |
| UInt16 | INTERLEAVE | |
| UInt16 | TRACK_SKEW_FACTOR | |
| UInt16 | CYLINDER_SKEW_FACTOR | |
| UInt8 | SSEC_HSEC_RMB_SURF | |
| UInt8[3] | RESERVED |
typedefSBCModePageFormatDevice
typedef struct SBCModePageFormatDevice SBCModePageFormatDevice;
structSBCModePageRigidDiskGeometry
@struct SBCModePageRigidDiskGeometry
@discussion Rigid Disk Geometry Mode Page (PAGE CODE 0x04) format.
| ModePageFormatHeader | header | |
| UInt8[3] | NUMBER_OF_CYLINDERS | |
| UInt8 | NUMBER_OF_HEADS | |
| UInt8[3] | STARTING_CYLINDER_WRITE_PRECOMPENSATION | |
| UInt8[3] | STARTING_CYLINDER_REDUCED_WRITE_CURRENT | |
| UInt16 | DEVICE_STEP_RATE | |
| UInt8[3] | LANDING_ZONE_CYLINDER | |
| UInt8 | RPL | |
| UInt8 | ROTATIONAL_OFFSET | |
| UInt8 | RESERVED | |
| UInt16 | MEDIUM_ROTATION_RATE | |
| UInt8[2] | RESERVED1 |
typedefSBCModePageRigidDiskGeometry
typedef struct SBCModePageRigidDiskGeometry SBCModePageRigidDiskGeometry;
enum(anonymous)
@enum Rigid Disk Geometry bitfields
@discussion Bit field masks for Rigid Disk Geometry structure fields.
@constant kSBCModePageRigidDiskGeometry_RPL_Mask
Mask for use with the RPL field.
| kSBCModePageRigidDiskGeometry_RPL_Mask | 3 |
structSBCModePageFlexibleDisk
@struct SBCModePageFlexibleDisk
@discussion Flexible Disk Mode Page (PAGE CODE 0x05) format.
| ModePageFormatHeader | header | |
| UInt16 | TRANSFER_RATE | |
| UInt8 | NUMBER_OF_HEADS | |
| UInt8 | SECTORS_PER_TRACK | |
| UInt16 | DATA_BYTES_PER_SECTOR | |
| UInt16 | NUMBER_OF_CYLINDERS | |
| UInt16 | STARTING_CYLINDER_WRITE_PRECOMPENSATION | |
| UInt16 | STARTING_CYLINDER_REDUCED_WRITE_CURRENT | |
| UInt16 | DEVICE_STEP_RATE | |
| UInt8 | DEVICE_STEP_PULSE_WIDTH | |
| UInt16 | HEAD_SETTLE_DELAY | |
| UInt8 | MOTOR_ON_DELAY | |
| UInt8 | MOTOR_OFF_DELAY | |
| UInt8 | TRDY_SSN_MO | |
| UInt8 | SPC | |
| UInt8 | WRITE_COMPENSATION | |
| UInt8 | HEAD_LOAD_DELAY | |
| UInt8 | HEAD_UNLOAD_DELAY | |
| UInt8 | PIN_34_PIN_2 | |
| UInt8 | PIN_4_PIN_1 | |
| UInt16 | MEDIUM_ROTATION_RATE | |
| UInt8[2] | RESERVED |
typedefSBCModePageFlexibleDisk
typedef struct SBCModePageFlexibleDisk SBCModePageFlexibleDisk;
enum(anonymous)
@enum TRDY_SSN_MO bitfields
@discussion Bit field definitions and masks for Flexible Disk TRDY_SSN_MO field.
@constant kSBCModePageFlexibleDisk_MO_Bit
MO Bit definition.
@constant kSBCModePageFlexibleDisk_SSN_Bit
SSN Bit definition.
@constant kSBCModePageFlexibleDisk_TRDY_Bit
TRDY Bit definition.
@constant kSBCModePageFlexibleDisk_MO_Mask
Mask for use with TRDY_SSN_MO field.
@constant kSBCModePageFlexibleDisk_SSN_Mask
Mask for use with TRDY_SSN_MO field.
@constant kSBCModePageFlexibleDisk_TRDY_Mask
Mask for use with TRDY_SSN_MO field.
| kSBCModePageFlexibleDisk_MO_Bit | 5 | Bits 0:4 Reserved |
| kSBCModePageFlexibleDisk_SSN_Bit | 6 | |
| kSBCModePageFlexibleDisk_TRDY_Bit | 7 | |
| kSBCModePageFlexibleDisk_MO_Mask | 32 | |
| kSBCModePageFlexibleDisk_SSN_Mask | 64 | |
| kSBCModePageFlexibleDisk_TRDY_Mask | 128 |
enum(anonymous)
@enum SPC bitfields
@discussion Bit field definitions and masks for Flexible Disk SPC field.
@constant kSBCModePageFlexibleDisk_SPC_Mask
Mask for use with SPC field.
| kSBCModePageFlexibleDisk_SPC_Mask | 15 |
enum(anonymous)
@enum PIN_34_PIN_2 bitfields
@discussion Bit field definitions and masks for Flexible Disk PIN_34_PIN_2 field.
@constant kSBCModePageFlexibleDisk_PIN_2_Mask
Mask for use with PIN_34_PIN_2 field.
@constant kSBCModePageFlexibleDisk_PIN_34_Mask
Mask for use with PIN_34_PIN_2 field.
| kSBCModePageFlexibleDisk_PIN_2_Mask | 15 | |
| kSBCModePageFlexibleDisk_PIN_34_Mask | 240 |
enum(anonymous)
@enum PIN_4_PIN_1 bitfields
@discussion Bit field definitions and masks for Flexible Disk PIN_4_PIN_1 field.
@constant kSBCModePageFlexibleDisk_PIN_1_Mask
Mask for use with PIN_4_PIN_1 field.
@constant kSBCModePageFlexibleDisk_PIN_4_Mask
Mask for use with PIN_4_PIN_1 field.
| kSBCModePageFlexibleDisk_PIN_1_Mask | 15 | |
| kSBCModePageFlexibleDisk_PIN_4_Mask | 240 |
structSBCModePageCaching
@struct SBCModePageCaching
@discussion Caching Mode Page (PAGE CODE 0x08) format.
| ModePageFormatHeader | header | |
| UInt8 | flags | |
| UInt8 | DEMAND_READ_WRITE_RETENTION_PRIORITY | |
| UInt16 | DISABLE_PREFETCH_TRANSFER_LENGTH | |
| UInt16 | MINIMUM_PREFETCH | |
| UInt16 | MAXIMUM_PREFETCH | |
| UInt16 | MAXIMUM_PREFETCH_CEILING | |
| UInt8 | flags2 | |
| UInt8 | NUMBER_OF_CACHE_SEGMENTS | |
| UInt16 | CACHE_SEGMENT_SIZE | |
| UInt8 | RESERVED | |
| UInt8[3] | NON_CACHE_SEGMENT_SIZE |
typedefSBCModePageCaching
typedef struct SBCModePageCaching SBCModePageCaching;
enum(anonymous)
@enum Caching flags bitfields
@discussion Bit field definitions and masks for Caching flags field.
@constant kSBCModePageCaching_RCD_Bit
RCD Bit definition.
@constant kSBCModePageCaching_MF_Bit
MF Bit definition.
@constant kSBCModePageCaching_WCE_Bit
WCE Bit definition.
@constant kSBCModePageCaching_SIZE_Bit
SIZE Bit definition.
@constant kSBCModePageCaching_DISC_Bit
DISC Bit definition.
@constant kSBCModePageCaching_CAP_Bit
CAP Bit definition.
@constant kSBCModePageCaching_ABPF_Bit
ABPF Bit definition.
@constant kSBCModePageCaching_IC_Bit
IC Bit definition.
@constant kSBCModePageCaching_RCD_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_MF_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_WCE_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_SIZE_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_DISC_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_CAP_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_ABPF_Mask
Mask for use with flags field.
@constant kSBCModePageCaching_IC_Mask
Mask for use with flags field.
| kSBCModePageCaching_RCD_Bit | 0 | |
| kSBCModePageCaching_MF_Bit | 1 | |
| kSBCModePageCaching_WCE_Bit | 2 | |
| kSBCModePageCaching_SIZE_Bit | 3 | |
| kSBCModePageCaching_DISC_Bit | 4 | |
| kSBCModePageCaching_CAP_Bit | 5 | |
| kSBCModePageCaching_ABPF_Bit | 6 | |
| kSBCModePageCaching_IC_Bit | 7 | |
| kSBCModePageCaching_RCD_Mask | 1 | |
| kSBCModePageCaching_MF_Mask | 2 | |
| kSBCModePageCaching_WCE_Mask | 4 | |
| kSBCModePageCaching_SIZE_Mask | 8 | |
| kSBCModePageCaching_DISC_Mask | 16 | |
| kSBCModePageCaching_CAP_Mask | 32 | |
| kSBCModePageCaching_ABPF_Mask | 64 | |
| kSBCModePageCaching_IC_Mask | 128 |
enum(anonymous)
@enum Demand Read/Write Retention masks
@discussion Demand Read/Write Retention masks.
@constant kSBCModePageCaching_DEMAND_WRITE_Mask
Mask for the DEMAND_READ_WRITE_RETENTION_PRIORITY field.
@constant kSBCModePageCaching_DEMAND_READ_Mask
Mask for the DEMAND_READ_WRITE_RETENTION_PRIORITY field.
| kSBCModePageCaching_DEMAND_WRITE_Mask | 255 | |
| kSBCModePageCaching_DEMAND_READ_Mask | 65280 |
enum(anonymous)
@enum Caching flags2 bitfields
@discussion Bit field definitions and masks for Caching flags2 field.
@constant kSBCModePageCaching_VS1_Bit
VS1 Bit definition.
@constant kSBCModePageCaching_VS2_Bit
VS2 Bit definition.
@constant kSBCModePageCaching_DRA_Bit
DRA Bit definition.
@constant kSBCModePageCaching_LBCSS_Bit
LBCSS Bit definition.
@constant kSBCModePageCaching_FSW_Bit
FSW Bit definition.
@constant kSBCModePageCaching_VS1_Mask
Mask for use with flags2 field.
@constant kSBCModePageCaching_VS2_Mask
Mask for use with flags2 field.
@constant kSBCModePageCaching_DRA_Mask
Mask for use with flags2 field.
@constant kSBCModePageCaching_LBCSS_Mask
Mask for use with flags2 field.
@constant kSBCModePageCaching_FSW_Mask
Mask for use with flags2 field.
| kSBCModePageCaching_VS1_Bit | 3 | Bits 0:2 Reserved |
| kSBCModePageCaching_VS2_Bit | 4 | |
| kSBCModePageCaching_DRA_Bit | 5 | |
| kSBCModePageCaching_LBCSS_Bit | 6 | |
| kSBCModePageCaching_FSW_Bit | 7 | |
| kSBCModePageCaching_VS1_Mask | 8 | |
| kSBCModePageCaching_VS2_Mask | 16 | |
| kSBCModePageCaching_DRA_Mask | 32 | |
| kSBCModePageCaching_LBCSS_Mask | 64 | |
| kSBCModePageCaching_FSW_Mask | 128 |