IOStorageProtocolCharacteristics.h

Overview

Use the links in the table of contents to the left to access the documentation.



Macro Definitions

kIOPropertyExternalKey
kIOPropertyFibreChannelAddressIdentifierKey
kIOPropertyFibreChannelALPAKey
kIOPropertyFibreChannelCableDescriptionCopperKey
kIOPropertyFibreChannelCableDescriptionFiberOpticKey
kIOPropertyFibreChannelCableDescriptionKey
kIOPropertyFibreChannelNodeWorldWideNameKey
kIOPropertyFibreChannelPortWorldWideNameKey
kIOPropertyInterconnectFileKey
kIOPropertyInterconnectRAMKey
kIOPropertyInternalExternalKey
kIOPropertyInternalKey
kIOPropertyPhysicalInterconnectLocationKey
kIOPropertyPhysicalInterconnectTypeATA
kIOPropertyPhysicalInterconnectTypeATAPI
kIOPropertyPhysicalInterconnectTypeFibreChannel
kIOPropertyPhysicalInterconnectTypeFireWire
kIOPropertyPhysicalInterconnectTypeKey
kIOPropertyPhysicalInterconnectTypeSCSIParallel
kIOPropertyPhysicalInterconnectTypeSerialATA
kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI
kIOPropertyPhysicalInterconnectTypeUSB
kIOPropertyPhysicalInterconnectTypeVirtual
kIOPropertyPortDescriptionKey
kIOPropertyPortSpeed10GigabitKey
kIOPropertyPortSpeed1_5GigabitKey
kIOPropertyPortSpeed1GigabitKey
kIOPropertyPortSpeed2GigabitKey
kIOPropertyPortSpeed3GigabitKey
kIOPropertyPortSpeed4GigabitKey
kIOPropertyPortSpeed6GigabitKey
kIOPropertyPortSpeed8GigabitKey
kIOPropertyPortSpeedAutomatic10GigabitKey
kIOPropertyPortSpeedAutomatic1_5GigabitKey
kIOPropertyPortSpeedAutomatic1GigabitKey
kIOPropertyPortSpeedAutomatic2GigabitKey
kIOPropertyPortSpeedAutomatic3GigabitKey
kIOPropertyPortSpeedAutomatic4GigabitKey
kIOPropertyPortSpeedAutomatic6GigabitKey
kIOPropertyPortSpeedAutomatic8GigabitKey
kIOPropertyPortSpeedAutomaticKey
kIOPropertyPortSpeedKey
kIOPropertyPortStatusKey
kIOPropertyPortStatusLinkEstablishedKey
kIOPropertyPortStatusLinkFailedKey
kIOPropertyPortStatusNoLinkEstablishedKey
kIOPropertyPortTopologyAutomaticKey
kIOPropertyPortTopologyAutomaticNLPortKey
kIOPropertyPortTopologyAutomaticNPortKey
kIOPropertyPortTopologyKey
kIOPropertyPortTopologyNLPortKey
kIOPropertyPortTopologyNPortKey
kIOPropertyProtocolCharacteristicsKey
kIOPropertySASAddressKey
kIOPropertySCSIDomainIdentifierKey
kIOPropertySCSIInitiatorIdentifierKey
kIOPropertySCSILogicalUnitNumberKey
kIOPropertySCSIParallelSignalingTypeHVDKey
kIOPropertySCSIParallelSignalingTypeKey
kIOPropertySCSIParallelSignalingTypeLVDKey
kIOPropertySCSIParallelSignalingTypeSEKey
kIOPropertySCSIProtocolMultiInitKey
kIOPropertySCSITargetIdentifierKey

kIOPropertyExternalKey


#define kIOPropertyExternalKey "External" 
Discussion

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>


kIOPropertyFibreChannelAddressIdentifierKey


#define kIOPropertyFibreChannelAddressIdentifierKey "Address Identifier" 
Discussion

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>


kIOPropertyFibreChannelALPAKey


Discussion

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>


kIOPropertyFibreChannelCableDescriptionCopperKey


Discussion

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>


kIOPropertyFibreChannelCableDescriptionFiberOpticKey


Discussion

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>


kIOPropertyFibreChannelCableDescriptionKey


Discussion

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>


kIOPropertyFibreChannelNodeWorldWideNameKey


#define kIOPropertyFibreChannelNodeWorldWideNameKey "Node World Wide Name" 
Discussion

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>


kIOPropertyFibreChannelPortWorldWideNameKey


#define kIOPropertyFibreChannelPortWorldWideNameKey "Port World Wide Name" 
Discussion

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>


kIOPropertyInterconnectFileKey


Discussion

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>


kIOPropertyInterconnectRAMKey


Discussion

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>


kIOPropertyInternalExternalKey


#define kIOPropertyInternalExternalKey "Internal/External" 
Discussion

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>


kIOPropertyInternalKey


#define kIOPropertyInternalKey "Internal" 
Discussion

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>


kIOPropertyPhysicalInterconnectLocationKey


#define kIOPropertyPhysicalInterconnectLocationKey "Physical Interconnect Location" 
Discussion

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>


kIOPropertyPhysicalInterconnectTypeATA


Discussion

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>


kIOPropertyPhysicalInterconnectTypeATAPI


Discussion

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>


kIOPropertyPhysicalInterconnectTypeFibreChannel


Discussion

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>


kIOPropertyPhysicalInterconnectTypeFireWire


Discussion

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>


kIOPropertyPhysicalInterconnectTypeKey


#define kIOPropertyPhysicalInterconnectTypeKey "Physical Interconnect" 
Discussion

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>


kIOPropertyPhysicalInterconnectTypeSCSIParallel


Discussion

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>


kIOPropertyPhysicalInterconnectTypeSerialATA


Discussion

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>


kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI


Discussion

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>


kIOPropertyPhysicalInterconnectTypeUSB


Discussion

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>


kIOPropertyPhysicalInterconnectTypeVirtual


Discussion

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>


kIOPropertyPortDescriptionKey


#define kIOPropertyPortDescriptionKey "Port Description" 
Discussion

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>


kIOPropertyPortSpeed10GigabitKey


#define kIOPropertyPortSpeed10GigabitKey "10 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed1_5GigabitKey


#define kIOPropertyPortSpeed1_5GigabitKey "1.5 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed1GigabitKey


#define kIOPropertyPortSpeed1GigabitKey "1 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed2GigabitKey


#define kIOPropertyPortSpeed2GigabitKey "2 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed3GigabitKey


#define kIOPropertyPortSpeed3GigabitKey "3 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed4GigabitKey


#define kIOPropertyPortSpeed4GigabitKey "4 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed6GigabitKey


#define kIOPropertyPortSpeed6GigabitKey "6 Gigabit" 
Discussion

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>


kIOPropertyPortSpeed8GigabitKey


#define kIOPropertyPortSpeed8GigabitKey "8 Gigabit" 
Discussion

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>


kIOPropertyPortSpeedAutomatic10GigabitKey


#define kIOPropertyPortSpeedAutomatic10GigabitKey "Automatic (10 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic1_5GigabitKey


#define kIOPropertyPortSpeedAutomatic1_5GigabitKey "Automatic (1.5 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic1GigabitKey


#define kIOPropertyPortSpeedAutomatic1GigabitKey "Automatic (1 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic2GigabitKey


#define kIOPropertyPortSpeedAutomatic2GigabitKey "Automatic (2 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic3GigabitKey


#define kIOPropertyPortSpeedAutomatic3GigabitKey "Automatic (3 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic4GigabitKey


#define kIOPropertyPortSpeedAutomatic4GigabitKey "Automatic (4 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic6GigabitKey


#define kIOPropertyPortSpeedAutomatic6GigabitKey "Automatic (6 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomatic8GigabitKey


#define kIOPropertyPortSpeedAutomatic8GigabitKey "Automatic (8 Gigabit)" 
Discussion

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>


kIOPropertyPortSpeedAutomaticKey


#define kIOPropertyPortSpeedAutomaticKey "Automatic" 
Discussion

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>


kIOPropertyPortSpeedKey


#define kIOPropertyPortSpeedKey "Port Speed" 
Discussion

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>


kIOPropertyPortStatusKey


Discussion

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>


kIOPropertyPortStatusLinkEstablishedKey


#define kIOPropertyPortStatusLinkEstablishedKey "Link Established" 
Discussion

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>


kIOPropertyPortStatusLinkFailedKey


#define kIOPropertyPortStatusLinkFailedKey "Link Failed" 
Discussion

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>


kIOPropertyPortStatusNoLinkEstablishedKey


#define kIOPropertyPortStatusNoLinkEstablishedKey "No Link Established" 
Discussion

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>


kIOPropertyPortTopologyAutomaticKey


Discussion

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>


kIOPropertyPortTopologyAutomaticNLPortKey


#define kIOPropertyPortTopologyAutomaticNLPortKey "Automatic (NL_Port)" 
Discussion

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>


kIOPropertyPortTopologyAutomaticNPortKey


#define kIOPropertyPortTopologyAutomaticNPortKey "Automatic (N_Port)" 
Discussion

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>


kIOPropertyPortTopologyKey


#define kIOPropertyPortTopologyKey "Port Topology" 
Discussion

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>


kIOPropertyPortTopologyNLPortKey


Discussion

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>


kIOPropertyPortTopologyNPortKey


Discussion

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>


kIOPropertyProtocolCharacteristicsKey


#define kIOPropertyProtocolCharacteristicsKey "Protocol Characteristics" 
Discussion

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>


kIOPropertySASAddressKey


#define kIOPropertySASAddressKey "SAS Address" 
Discussion

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>


kIOPropertySCSIDomainIdentifierKey


#define kIOPropertySCSIDomainIdentifierKey "SCSI Domain Identifier" 
Discussion

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>


kIOPropertySCSIInitiatorIdentifierKey


#define kIOPropertySCSIInitiatorIdentifierKey "SCSI Initiator Identifier" 
Discussion

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>


kIOPropertySCSILogicalUnitNumberKey


#define kIOPropertySCSILogicalUnitNumberKey "SCSI Logical Unit Number" 
Discussion

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>


kIOPropertySCSIParallelSignalingTypeHVDKey


#define kIOPropertySCSIParallelSignalingTypeHVDKey "High Voltage Differential" 
Discussion

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>


kIOPropertySCSIParallelSignalingTypeKey


#define kIOPropertySCSIParallelSignalingTypeKey "SCSI Parallel Signaling Type" 
Discussion

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>


kIOPropertySCSIParallelSignalingTypeLVDKey


#define kIOPropertySCSIParallelSignalingTypeLVDKey "Low Voltage Differential" 
Discussion

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>


kIOPropertySCSIParallelSignalingTypeSEKey


Discussion

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>


kIOPropertySCSIProtocolMultiInitKey


#define kIOPropertySCSIProtocolMultiInitKey "Multiple Initiators" 
Discussion

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>


kIOPropertySCSITargetIdentifierKey


#define kIOPropertySCSITargetIdentifierKey "SCSI Target Identifier" 
Discussion

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>

 

Did this document help you? Yes It's good, but... Not helpful...

 

Last Updated: 2009-10-15