ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOStorageProtocolCharacteristics.h

Include Path:

<IOKit/storage/IOStorageProtocolCharacteristics.h>

Path:

/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/storage/IOStorageProtocolCharacteristics.h

Overview

This header contains definitions of keys that define the characteristics related to specific physical interconnect protocols.

For more information on how to use some of these property keys, see Working With SCSI Architecture Model Devices.



#defines


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


#define kIOPropertyFibreChannelALPAKey "AL_PA" 
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


#define kIOPropertyFibreChannelCableDescriptionCopperKey "Copper" 
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


#define kIOPropertyFibreChannelCableDescriptionFiberOpticKey "Fiber Optic" 
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


#define kIOPropertyFibreChannelCableDescriptionKey "Fibre Channel Cabling Type" 
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


#define kIOPropertyInterconnectFileKey "File" 
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


#define kIOPropertyInterconnectRAMKey "RAM" 
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


#define kIOPropertyPhysicalInterconnectTypeATA "ATA" 
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


#define kIOPropertyPhysicalInterconnectTypeATAPI "ATAPI" 
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


#define kIOPropertyPhysicalInterconnectTypeFibreChannel "Fibre Channel Interface" 
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


#define kIOPropertyPhysicalInterconnectTypeFireWire "FireWire" 
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


#define kIOPropertyPhysicalInterconnectTypeSCSIParallel "SCSI Parallel Interface" 
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


#define kIOPropertyPhysicalInterconnectTypeSerialATA "SATA" 
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


#define kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI "SAS" 
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


#define kIOPropertyPhysicalInterconnectTypeUSB "USB" 
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


#define kIOPropertyPhysicalInterconnectTypeVirtual "Virtual Interface" 
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>


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>


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>


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>


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>


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>


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


#define kIOPropertyPortStatusKey "Port Status" 
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


#define kIOPropertyPortTopologyAutomaticKey "Automatic" 
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


#define kIOPropertyPortTopologyNLPortKey "NL_Port" 
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


#define kIOPropertyPortTopologyNPortKey "N_Port" 
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>


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 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


#define kIOPropertySCSIParallelSignalingTypeSEKey "Single Ended" 
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: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2009-02-23