Mac Developer Library

Developer

IOStorageProtocolCharacteristics.h Reference

Options
Deployment Target:

On This Page

IOStorageProtocolCharacteristics.h Reference

Constants

See the Overview section above for header-level documentation.

  • Declaration

    Objective-C

    #define kIOPropertyExternalKey "External" #define kIOPropertyFibreChannelAddressIdentifierKey "Address Identifier" #define kIOPropertyFibreChannelALPAKey "AL_PA" #define kIOPropertyFibreChannelCableDescriptionCopperKey "Copper" #define kIOPropertyFibreChannelCableDescriptionFiberOpticKey "Fiber Optic" #define kIOPropertyFibreChannelCableDescriptionKey "Fibre Channel Cabling Type" #define kIOPropertyFibreChannelNodeWorldWideNameKey "Node World Wide Name" #define kIOPropertyFibreChannelPortWorldWideNameKey "Port World Wide Name" #define kIOPropertyInterconnectFileKey "File" #define kIOPropertyInterconnectRAMKey "RAM" #define kIOPropertyInternalExternalKey "Internal/External" #define kIOPropertyInternalKey "Internal" #define kIOPropertyPhysicalInterconnectLocationKey "Physical Interconnect Location" #define kIOPropertyPhysicalInterconnectTypeATA "ATA" #define kIOPropertyPhysicalInterconnectTypeATAPI "ATAPI" #define kIOPropertyPhysicalInterconnectTypeFibreChannel "Fibre Channel Interface" #define kIOPropertyPhysicalInterconnectTypeFireWire "FireWire" #define kIOPropertyPhysicalInterconnectTypeKey "Physical Interconnect" #define kIOPropertyPhysicalInterconnectTypePCI "PCI" #define kIOPropertyPhysicalInterconnectTypeSCSIParallel "SCSI Parallel Interface" #define kIOPropertyPhysicalInterconnectTypeSecureDigital "Secure Digital" #define kIOPropertyPhysicalInterconnectTypeSerialATA "SATA" #define kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI "SAS" #define kIOPropertyPhysicalInterconnectTypeUSB "USB" #define kIOPropertyPhysicalInterconnectTypeVirtual "Virtual Interface" #define kIOPropertyPortDescriptionKey "Port Description" #define kIOPropertyPortSpeed10GigabitKey "10 Gigabit" #define kIOPropertyPortSpeed12GigabitKey "12 Gigabit" #define kIOPropertyPortSpeed16GigabitKey "16 Gigabit" #define kIOPropertyPortSpeed1_5GigabitKey "1.5 Gigabit" #define kIOPropertyPortSpeed1GigabitKey "1 Gigabit" #define kIOPropertyPortSpeed2GigabitKey "2 Gigabit" #define kIOPropertyPortSpeed3GigabitKey "3 Gigabit" #define kIOPropertyPortSpeed40GigabitKey "40 Gigabit" #define kIOPropertyPortSpeed4GigabitKey "4 Gigabit" #define kIOPropertyPortSpeed6GigabitKey "6 Gigabit" #define kIOPropertyPortSpeed8GigabitKey "8 Gigabit" #define kIOPropertyPortSpeedAutomatic10GigabitKey "Automatic (10 Gigabit)" #define kIOPropertyPortSpeedAutomatic1_5GigabitKey "Automatic (1.5 Gigabit)" #define kIOPropertyPortSpeedAutomatic1GigabitKey "Automatic (1 Gigabit)" #define kIOPropertyPortSpeedAutomatic2GigabitKey "Automatic (2 Gigabit)" #define kIOPropertyPortSpeedAutomatic3GigabitKey "Automatic (3 Gigabit)" #define kIOPropertyPortSpeedAutomatic4GigabitKey "Automatic (4 Gigabit)" #define kIOPropertyPortSpeedAutomatic6GigabitKey "Automatic (6 Gigabit)" #define kIOPropertyPortSpeedAutomatic8GigabitKey "Automatic (8 Gigabit)" #define kIOPropertyPortSpeedAutomaticKey "Automatic" #define kIOPropertyPortSpeedKey "Port Speed" #define kIOPropertyPortStatusKey "Port Status" #define kIOPropertyPortStatusLinkEstablishedKey "Link Established" #define kIOPropertyPortStatusLinkFailedKey "Link Failed" #define kIOPropertyPortStatusNoLinkEstablishedKey "No Link Established" #define kIOPropertyPortTopologyAutomaticKey "Automatic" #define kIOPropertyPortTopologyAutomaticNLPortKey "Automatic (NL_Port)" #define kIOPropertyPortTopologyAutomaticNPortKey "Automatic (N_Port)" #define kIOPropertyPortTopologyKey "Port Topology" #define kIOPropertyPortTopologyNLPortKey "NL_Port" #define kIOPropertyPortTopologyNPortKey "N_Port" #define kIOPropertyProtocolCharacteristicsKey "Protocol Characteristics" #define kIOPropertySASAddressKey "SAS Address" #define kIOPropertySCSIDomainIdentifierKey "SCSI Domain Identifier" #define kIOPropertySCSIInitiatorIdentifierKey "SCSI Initiator Identifier" #define kIOPropertySCSILogicalUnitNumberKey "SCSI Logical Unit Number" #define kIOPropertySCSIParallelSignalingTypeHVDKey "High Voltage Differential" #define kIOPropertySCSIParallelSignalingTypeKey "SCSI Parallel Signaling Type" #define kIOPropertySCSIParallelSignalingTypeLVDKey "Low Voltage Differential" #define kIOPropertySCSIParallelSignalingTypeSEKey "Single Ended" #define kIOPropertySCSIPortIdentifierKey "Unique SCSI Port Identifier" #define kIOPropertySCSIProtocolMultiInitKey "Multiple Initiators" #define kIOPropertySCSITargetIdentifierKey "SCSI Target Identifier"

    Constants

    • kIOPropertyExternalKey

      kIOPropertyExternalKey

      This key defines the value of External for the key kIOPropertyPhysicalInterconnectLocationKey. If the device is connected to an external bus, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertyFibreChannelAddressIdentifierKey

      kIOPropertyFibreChannelAddressIdentifierKey

      This key is the 24-bit Address Identifier (S_ID or D_ID) as defined in the FC-FS specification. It contains the address identifier of the source or destination Nx_Port.

      Note: This value can change. It is not a static value.

      Requirement: Optional (only necessary for Fibre Channel Interface).

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>Address Identifier</key>
      • <data>001122</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Address Identifier</key>
      • <data>001122</data>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelALPAKey

      kIOPropertyFibreChannelALPAKey

      This key is the 8-bit Arbitrated Loop Physical Address (AL_PA) value as defined in the FC-AL-2 specification.

      Note: This value can change. It is not a static value.

      Requirement: Optional (only necessary for Fibre Channel Interface).

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>AL_PA</key>
      • <data>04</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>AL_PA</key>
      • <data>04</data>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelCableDescriptionCopperKey

      kIOPropertyFibreChannelCableDescriptionCopperKey

      This key defines the value of Copper for the key kIOPropertyFibreChannelCableDescriptionKey. If the cabling is Copper, this key should be used.

      Requirement: Optional for Fibre Channel Interface interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Fibre Channel Cabling Type</key>
      • <string>Copper</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelCableDescriptionFiberOpticKey

      kIOPropertyFibreChannelCableDescriptionFiberOpticKey

      This key defines the value of Fiber Optic for the key kIOPropertyFibreChannelCableDescriptionKey. If the cabling is Fiber Optic, this key should be used.

      Requirement: Optional for Fibre Channel Interface interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Fibre Channel Cabling Type</key>
      • <string>Fiber Optic</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelCableDescriptionKey

      kIOPropertyFibreChannelCableDescriptionKey

      This key is associated with the cabling type used for this Fibre Channel port. Valid values include "Copper" and "Fiber Optic".

      Requirement: Optional for Fibre Channel Interface. Not defined for any other physical interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Fibre Channel Cabling Type</key>
      • <string>Copper</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelNodeWorldWideNameKey

      kIOPropertyFibreChannelNodeWorldWideNameKey

      This key is the unique 64-bit World Wide Name for the device server node located at this port, or for the initiating host port.

      Requirement: Mandatory for Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>Node World Wide Name</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Node World Wide Name</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyFibreChannelPortWorldWideNameKey

      kIOPropertyFibreChannelPortWorldWideNameKey

      This key is the unique 64-bit World Wide Name for the port.

      Requirement: Mandatory for Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>Port World Wide Name</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port World Wide Name</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyInterconnectFileKey

      kIOPropertyInterconnectFileKey

      This key defines the value of File for the key kIOPropertyPhysicalInterconnectLocationKey. If the device is a file that is being represented as a storage device, this key should be set.

      NOTE: This key should only be used when the Physical Interconnect is set to Virtual Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Virtual Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>File</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyInterconnectRAMKey

      kIOPropertyInterconnectRAMKey

      This key defines the value of RAM for the key kIOPropertyPhysicalInterconnectLocationKey. If the device is system memory that is being represented as a storage device, this key should be set.

      NOTE: This key should only be used when the Physical Interconnect is set to Virtual Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Virtual Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>RAM</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyInternalExternalKey

      kIOPropertyInternalExternalKey

      This key defines the value of Internal/External for the key kIOPropertyPhysicalInterconnectLocationKey. If the device is connected to a bus and it is indeterminate whether it is internal or external, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal/External</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertyInternalKey

      kIOPropertyInternalKey

      This key defines the value of Internal for the key kIOPropertyPhysicalInterconnectLocationKey. If the device is connected to an internal bus, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>ATA</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertyPhysicalInterconnectLocationKey

      kIOPropertyPhysicalInterconnectLocationKey

      This key is used to define the Physical Interconnect Location.

      Requirement: Mandatory.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertyPhysicalInterconnectTypeATA

      kIOPropertyPhysicalInterconnectTypeATA

      This key defines the value of ATA for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to an ATA bus, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>ATA</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeATAPI

      kIOPropertyPhysicalInterconnectTypeATAPI

      This key defines the value of ATAPI for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to an ATA bus and follows the ATAPI command specification, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>ATAPI</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeFibreChannel

      kIOPropertyPhysicalInterconnectTypeFibreChannel

      This key defines the value of Fibre Channel Interface for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a Fibre Channel port, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeFireWire

      kIOPropertyPhysicalInterconnectTypeFireWire

      This key defines the value of USB for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a FireWire port, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>FireWire</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeKey

      kIOPropertyPhysicalInterconnectTypeKey

      This key is used to define the Physical Interconnect to which a device is attached.

      Requirement: Mandatory.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertyPhysicalInterconnectTypePCI

      kIOPropertyPhysicalInterconnectTypePCI

      This key defines the value of PCI for the key kIOPropertyPhysicalInterconnectTypePCI. If the device is connected via PCI, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>PCI</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.9 and later.

    • kIOPropertyPhysicalInterconnectTypeSCSIParallel

      kIOPropertyPhysicalInterconnectTypeSCSIParallel

      This key defines the value of SCSI Parallel Interface for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a SCSI Parallel port, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeSecureDigital

      kIOPropertyPhysicalInterconnectTypeSecureDigital

      This key defines the value of Secure Digital for the key kIOPropertyPhysicalInterconnectTypeSecureDigital. If the device is connected to a Secure Digital port and follows the Secure Digital specification, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Secure Digital</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.7 and later.

    • kIOPropertyPhysicalInterconnectTypeSerialATA

      kIOPropertyPhysicalInterconnectTypeSerialATA

      This key defines the value of SATA for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a SATA bus, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SATA</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI

      kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI

      This key defines the value of SAS for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a SAS bus, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SAS</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeUSB

      kIOPropertyPhysicalInterconnectTypeUSB

      This key defines the value of USB for the key kIOPropertyPhysicalInterconnectTypeKey. If the device is connected to a USB port, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>USB</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPhysicalInterconnectTypeVirtual

      kIOPropertyPhysicalInterconnectTypeVirtual

      This key defines the value of Virtual Interface for the key kIOPropertyPhysicalInterconnectTypeVirtual. If the device is being made to look like a storage device, but is not such in actuality, such as a File or RAM, this key should be set.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Virtual Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>File</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortDescriptionKey

      kIOPropertyPortDescriptionKey

      This key is associated with an human readable port description. Examples include "Channel A", "Port 1", etc.

      Requirement: Optional for all interconnects.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Description</key>
      • <string>Channel A</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeed10GigabitKey

      kIOPropertyPortSpeed10GigabitKey

      This key defines the value of 10 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 10 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>10 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeed12GigabitKey

      kIOPropertyPortSpeed12GigabitKey

      This key defines the value of 12 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 12 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>12 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.8 and later.

    • kIOPropertyPortSpeed16GigabitKey

      kIOPropertyPortSpeed16GigabitKey

      This key defines the value of 16 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 16 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>16 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.8 and later.

    • kIOPropertyPortSpeed1_5GigabitKey

      kIOPropertyPortSpeed1_5GigabitKey

      This key defines the value of 1.5 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 1.5 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>1.5 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeed1GigabitKey

      kIOPropertyPortSpeed1GigabitKey

      This key defines the value of 1 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 1 Gigabit per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>1 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeed2GigabitKey

      kIOPropertyPortSpeed2GigabitKey

      This key defines the value of 2 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 2 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>2 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeed3GigabitKey

      kIOPropertyPortSpeed3GigabitKey

      This key defines the value of 3 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 3 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>3 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeed40GigabitKey

      kIOPropertyPortSpeed40GigabitKey

      This key defines the value of 40 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 40 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>40 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.8 and later.

    • kIOPropertyPortSpeed4GigabitKey

      kIOPropertyPortSpeed4GigabitKey

      This key defines the value of 4 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 4 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>4 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeed6GigabitKey

      kIOPropertyPortSpeed6GigabitKey

      This key defines the value of 6 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 6 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>6 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeed8GigabitKey

      kIOPropertyPortSpeed8GigabitKey

      This key defines the value of 8 Gigabit for the key kIOPropertyPortSpeedKey. If the speed of the port is 8 Gigabits per second and is not automatically determined (i.e. the user configured the port to be exactly this speed), this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>8 Gigabit</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeedAutomatic10GigabitKey

      kIOPropertyPortSpeedAutomatic10GigabitKey

      This key defines the value of Automatic (10 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 10 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (10 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeedAutomatic1_5GigabitKey

      kIOPropertyPortSpeedAutomatic1_5GigabitKey

      This key defines the value of Automatic (1.5 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 1.5 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (1.5 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeedAutomatic1GigabitKey

      kIOPropertyPortSpeedAutomatic1GigabitKey

      This key defines the value of Automatic (1 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 1 Gigabit per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (1 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeedAutomatic2GigabitKey

      kIOPropertyPortSpeedAutomatic2GigabitKey

      This key defines the value of Automatic (2 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 2 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (2 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeedAutomatic3GigabitKey

      kIOPropertyPortSpeedAutomatic3GigabitKey

      This key defines the value of Automatic (3 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 3 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (3 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeedAutomatic4GigabitKey

      kIOPropertyPortSpeedAutomatic4GigabitKey

      This key defines the value of Automatic (4 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 4 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (4 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeedAutomatic6GigabitKey

      kIOPropertyPortSpeedAutomatic6GigabitKey

      This key defines the value of Automatic (6 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 6 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (6 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeedAutomatic8GigabitKey

      kIOPropertyPortSpeedAutomatic8GigabitKey

      This key defines the value of Automatic (8 Gigabit) for the key kIOPropertyPortSpeedKey. If the speed of the port is 8 Gigabits per second and is automatically determined by host software, this key should be used. Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (8 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertyPortSpeedAutomaticKey

      kIOPropertyPortSpeedAutomaticKey

      This key defines the value of Automatic for the key kIOPropertyPortSpeedKey. If the speed of the port is automatically adjusted by the host/device and a definitive speed is not known, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortSpeedKey

      kIOPropertyPortSpeedKey

      This key is associated with the current port speed. The port speed can be any valid speed for the interconnect.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Speed</key>
      • <string>Automatic (1 Gigabit)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortStatusKey

      kIOPropertyPortStatusKey

      This key is associated with the current port status of the physical link. The port status is either "Link Established", "No Link Established", or "Link Failed".

      Note: This value can change when the port status changes. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Status</key>
      • <string>Link Established</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortStatusLinkEstablishedKey

      kIOPropertyPortStatusLinkEstablishedKey

      This key defines the value of Link Established for the key kIOPropertyPortStatusKey.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Status</key>
      • <string>Link Established</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortStatusLinkFailedKey

      kIOPropertyPortStatusLinkFailedKey

      This key defines the value of Link Failed for the key kIOPropertyPortStatusKey.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Status</key>
      • <string>Link Failed</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortStatusNoLinkEstablishedKey

      kIOPropertyPortStatusNoLinkEstablishedKey

      This key defines the value of No Link Established for the key kIOPropertyPortStatusKey.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Status</key>
      • <string>No Link Established</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyAutomaticKey

      kIOPropertyPortTopologyAutomaticKey

      This key defines the value of Automatic for the key kIOPropertyPortTopologyKey. If the topology of the port is automatically adjusted by the host/device and a definitive topology is not known, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>Automatic</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyAutomaticNLPortKey

      kIOPropertyPortTopologyAutomaticNLPortKey

      This key defines the value of Automatic (NL_Port) for the key kIOPropertyPortTopologyKey. If the topology of the port is NL_Port and is automatically determined by host software, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>Automatic (NL_Port)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyAutomaticNPortKey

      kIOPropertyPortTopologyAutomaticNPortKey

      This key defines the value of Automatic (N_Port) for the key kIOPropertyPortTopologyKey. If the topology of the port is N_Port and is automatically determined by host software, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>Automatic (N_Port)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyKey

      kIOPropertyPortTopologyKey

      This key is associated with the current port topology. The port topology can be any valid topology for the interconnect.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>Automatic (N_Port)</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyNLPortKey

      kIOPropertyPortTopologyNLPortKey

      This key defines the value of NL_Port for the key kIOPropertyPortTopologyKey. If the topology of the port is an NL_Port, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>NL_Port</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyPortTopologyNPortKey

      kIOPropertyPortTopologyNPortKey

      This key defines the value of N_Port for the key kIOPropertyPortTopologyKey. If the topology of the port is an N_Port, this key should be used.

      Note: This value can change. It is not a static value.

      Requirement: Optional for any interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Port Topology</key>
      • <string>N_Port</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertyProtocolCharacteristicsKey

      kIOPropertyProtocolCharacteristicsKey

      This key is used to define Protocol Characteristics for a particular protocol and it has an associated dictionary which lists the protocol characteristics.

      Requirement: Mandatory

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>ATAPI</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • </dict>
      • </dict>

      Available in OS X v10.1 and later.

    • kIOPropertySASAddressKey

      kIOPropertySASAddressKey

      This key is the unique 64-bit SAS Address for the device server node located at this port, or for the initiating host port.

      Requirement: Mandatory for SAS.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SAS</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>SAS Address</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>SAS Address</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Available in OS X v10.4 and later.

    • kIOPropertySCSIDomainIdentifierKey

      kIOPropertySCSIDomainIdentifierKey

      An identifier that will uniquely identify this SCSI Domain for the Physical Interconnect type. This identifier is only guaranteed to be unique for any given Physical Interconnect and is not guaranteed to be the same across restarts or shutdowns.

      Requirement: Mandatory for SCSI Parallel Interface and Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • <key>SCSI Domain Identifier</key>
      • <integer>0</integer>
      • </dict>
      • </dict>

      Available in OS X v10.2 and later.

    • kIOPropertySCSIInitiatorIdentifierKey

      kIOPropertySCSIInitiatorIdentifierKey

      An identifier that will uniquely identify this SCSI Initiator for the SCSI Domain.

      Requirement: Mandatory for SCSI Parallel Interface, SAS, and Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • <key>SCSI Initiator Identifier</key>
      • <integer>7</integer>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertySCSILogicalUnitNumberKey

      kIOPropertySCSILogicalUnitNumberKey

      This key is the SCSI Logical Unit Number for the device server controlled by the driver.

      Requirement: Mandatory for SCSI Parallel Interface, SAS, and Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • <key>SCSI Logical Unit Number</key>
      • <integer>2</integer>
      • </dict>
      • </dict>

      Available in OS X v10.2 and later.

    • kIOPropertySCSIParallelSignalingTypeHVDKey

      kIOPropertySCSIParallelSignalingTypeHVDKey

      This key defines the value of High Voltage Differential for the key kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is High Voltage Differential, this key should be used.

      Requirement: Optional for SCSI Parallel Interface interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>SCSI Parallel Signaling Type</key>
      • <string>High Voltage Differential</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertySCSIParallelSignalingTypeKey

      kIOPropertySCSIParallelSignalingTypeKey

      This key is associated with the signaling type used for this SCSI Parallel bus. Valid values include "High Voltage Differential", "Low Voltage Differential", and "Single Ended".

      Requirement: Optional for SCSI Parallel Interface. Not defined for any other physical interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>SCSI Parallel Signaling Type</key>
      • <string>High Voltage Differential</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertySCSIParallelSignalingTypeLVDKey

      kIOPropertySCSIParallelSignalingTypeLVDKey

      This key defines the value of Low Voltage Differential for the key kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is Low Voltage Differential, this key should be used.

      Requirement: Optional for SCSI Parallel Interface interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>SCSI Parallel Signaling Type</key>
      • <string>Low Voltage Differential</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertySCSIParallelSignalingTypeSEKey

      kIOPropertySCSIParallelSignalingTypeSEKey

      This key defines the value of Single Ended for the key kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is Single Ended, this key should be used.

      Requirement: Optional for SCSI Parallel Interface interconnect.

      Example:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>SCSI Parallel Signaling Type</key>
      • <string>Single Ended</string>
      • </dict>
      • </dict>

      Available in OS X v10.3 and later.

    • kIOPropertySCSIPortIdentifierKey

      kIOPropertySCSIPortIdentifierKey

      This key is the unique port identifier for the device server node located at this port, or for the initiating host port. The format for this data is allowed to be vendor-specific, as long as it is guaranteed to be unique. Length is arbitrary, to allow for itnerfaces with non-standard identifier rules. It is recommended to have this be a copy of an existing standard unique identifier for this port, should one already exist for your interface type

      Requirement: Mandatory.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>Node World Wide Name</key>
      • <data>0011223344556677</data>
      • <key>Unique SCSI Port Identifier</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Example2:

      • <dict>
      • <key>Controller Characteristics</key>
      • <dict>
      • <key>Unique SCSI Port Identifier</key>
      • <data>0011223344556677</data>
      • </dict>
      • </dict>

      Available in OS X v10.7 and later.

    • kIOPropertySCSIProtocolMultiInitKey

      kIOPropertySCSIProtocolMultiInitKey

      This protocol characteristics key is used to inform the system that the protocol supports having multiple devices that act as initiators.

      Requirement: Optional.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>Fibre Channel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>External</string>
      • <key>Multiple Initiators</key>
      • <string>True</string>
      • </dict>
      • </dict>

      Available in OS X v10.2 and later.

    • kIOPropertySCSITargetIdentifierKey

      kIOPropertySCSITargetIdentifierKey

      This is the SCSI Target Identifier for a given SCSI Target Device.

      Requirement: Mandatory for SCSI Parallel Interface and Fibre Channel Interface.

      Example:

      • <dict>
      • <key>Protocol Characteristics</key>
      • <dict>
      • <key>Physical Interconnect</key>
      • <string>SCSI Parallel Interface</string>
      • <key>Physical Interconnect Location</key>
      • <string>Internal</string>
      • <key>SCSI Target Identifier</key>
      • <integer>3</integer>
      • </dict>
      • </dict>

      Available in OS X v10.2 and later.

    Import Statement