1/* 2 * Copyright (c) 1998-2013 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24#ifndef _IOKIT_IO_STORAGE_PROTOCOL_CHARACTERISTICS_H_ 25#define _IOKIT_IO_STORAGE_PROTOCOL_CHARACTERISTICS_H_ 26 27 28/* 29 * Protocol Characteristics - Characteristics defined for protocols. 30 */ 31 32 33/*! 34@defined kIOPropertyProtocolCharacteristicsKey 35@discussion This key is used to define Protocol Characteristics for a particular 36protocol and it has an associated dictionary which lists the 37protocol characteristics. 38 39Requirement: Mandatory 40 41Example: 42<pre> 43@textblock 44<dict> 45 <key>Protocol Characteristics</key> 46 <dict> 47 <key>Physical Interconnect</key> 48 <string>ATAPI</string> 49 <key>Physical Interconnect Location</key> 50 <string>Internal</string> 51 </dict> 52</dict> 53@/textblock 54</pre> 55*/ 56#define kIOPropertyProtocolCharacteristicsKey "Protocol Characteristics" 57 58 59/*! 60@defined kIOPropertySCSIInitiatorIdentifierKey 61@discussion An identifier that will uniquely identify this SCSI Initiator for the 62SCSI Domain. 63 64Requirement: Mandatory for SCSI Parallel Interface, SAS, 65and Fibre Channel Interface. 66 67Example: 68<pre> 69@textblock 70<dict> 71 <key>Protocol Characteristics</key> 72 <dict> 73 <key>Physical Interconnect</key> 74 <string>SCSI Parallel Interface</string> 75 <key>Physical Interconnect Location</key> 76 <string>Internal</string> 77 <key>SCSI Initiator Identifier</key> 78 <integer>7</integer> 79 </dict> 80</dict> 81@/textblock 82</pre> 83*/ 84#define kIOPropertySCSIInitiatorIdentifierKey "SCSI Initiator Identifier" 85 86 87/*! 88@defined kIOPropertySCSIDomainIdentifierKey 89@discussion An identifier that will uniquely identify this SCSI Domain for the 90Physical Interconnect type. This identifier is only guaranteed to be unique for 91any given Physical Interconnect and is not guaranteed to be the same across 92restarts or shutdowns. 93 94Requirement: Mandatory for SCSI Parallel Interface and Fibre Channel Interface. 95 96Example: 97<pre> 98@textblock 99<dict> 100 <key>Protocol Characteristics</key> 101 <dict> 102 <key>Physical Interconnect</key> 103 <string>SCSI Parallel Interface</string> 104 <key>Physical Interconnect Location</key> 105 <string>Internal</string> 106 <key>SCSI Domain Identifier</key> 107 <integer>0</integer> 108 </dict> 109</dict> 110@/textblock 111</pre> 112*/ 113#define kIOPropertySCSIDomainIdentifierKey "SCSI Domain Identifier" 114 115 116/*! 117@defined kIOPropertySCSITargetIdentifierKey 118@discussion This is the SCSI Target Identifier for a given SCSI Target Device. 119 120Requirement: Mandatory for SCSI Parallel Interface and Fibre Channel Interface. 121 122Example: 123<pre> 124@textblock 125<dict> 126 <key>Protocol Characteristics</key> 127 <dict> 128 <key>Physical Interconnect</key> 129 <string>SCSI Parallel Interface</string> 130 <key>Physical Interconnect Location</key> 131 <string>Internal</string> 132 <key>SCSI Target Identifier</key> 133 <integer>3</integer> 134 </dict> 135</dict> 136@/textblock 137</pre> 138*/ 139#define kIOPropertySCSITargetIdentifierKey "SCSI Target Identifier" 140 141 142/*! 143@defined kIOPropertySCSILogicalUnitNumberKey 144@discussion This key is the SCSI Logical Unit Number for the device server 145controlled by the driver. 146 147Requirement: Mandatory for SCSI Parallel Interface, SAS, and Fibre Channel Interface. 148 149Example: 150<pre> 151@textblock 152<dict> 153 <key>Protocol Characteristics</key> 154 <dict> 155 <key>Physical Interconnect</key> 156 <string>SCSI Parallel Interface</string> 157 <key>Physical Interconnect Location</key> 158 <string>Internal</string> 159 <key>SCSI Logical Unit Number</key> 160 <integer>2</integer> 161 </dict> 162</dict> 163@/textblock 164</pre> 165*/ 166#define kIOPropertySCSILogicalUnitNumberKey "SCSI Logical Unit Number" 167 168 169/*! 170@defined kIOPropertySASAddressKey 171@discussion This key is the unique 64-bit SAS Address for the device server 172node located at this port, or for the initiating host port. 173 174Requirement: Mandatory for SAS. 175 176Example: 177<pre> 178@textblock 179<dict> 180 <key>Protocol Characteristics</key> 181 <dict> 182 <key>Physical Interconnect</key> 183 <string>SAS</string> 184 <key>Physical Interconnect Location</key> 185 <string>External</string> 186 <key>SAS Address</key> 187 <data>0011223344556677</data> 188 </dict> 189</dict> 190@/textblock 191</pre> 192 193Example2: 194<pre> 195@textblock 196<dict> 197 <key>Controller Characteristics</key> 198 <dict> 199 <key>SAS Address</key> 200 <data>0011223344556677</data> 201 </dict> 202</dict> 203@/textblock 204</pre> 205*/ 206#define kIOPropertySASAddressKey "SAS Address" 207 208 209/*! 210@defined kIOPropertySCSIPortIdentifierKey 211@discussion This key is the unique port identifier for the device server 212node located at this port, or for the initiating host port. The format for 213this data is allowed to be vendor-specific, as long as it is guaranteed to 214be unique. Length is arbitrary, to allow for itnerfaces with non-standard 215identifier rules. It is recommended to have this be a copy of an existing 216standard unique identifier for this port, should one already exist for your 217interface type 218 219Requirement: Mandatory. 220 221Example: 222<pre> 223@textblock 224<dict> 225 <key>Protocol Characteristics</key> 226 <dict> 227 <key>Physical Interconnect</key> 228 <string>Fibre Channel Interface</string> 229 <key>Physical Interconnect Location</key> 230 <string>External</string> 231 <key>Node World Wide Name</key> 232 <data>0011223344556677</data> 233 <key>Unique SCSI Port Identifier</key> 234 <data>0011223344556677</data> 235 </dict> 236</dict> 237@/textblock 238</pre> 239 240Example2: 241<pre> 242@textblock 243<dict> 244 <key>Controller Characteristics</key> 245 <dict> 246 <key>Unique SCSI Port Identifier</key> 247 <data>0011223344556677</data> 248 </dict> 249</dict> 250@/textblock 251</pre> 252*/ 253#define kIOPropertySCSIPortIdentifierKey "Unique SCSI Port Identifier" 254 255 256/*! 257@defined kIOPropertyFibreChannelNodeWorldWideNameKey 258@discussion This key is the unique 64-bit World Wide Name for the device server 259node located at this port, or for the initiating host port. 260 261Requirement: Mandatory for Fibre Channel Interface. 262 263Example: 264<pre> 265@textblock 266<dict> 267 <key>Protocol Characteristics</key> 268 <dict> 269 <key>Physical Interconnect</key> 270 <string>Fibre Channel Interface</string> 271 <key>Physical Interconnect Location</key> 272 <string>External</string> 273 <key>Node World Wide Name</key> 274 <data>0011223344556677</data> 275 </dict> 276</dict> 277@/textblock 278</pre> 279 280Example2: 281<pre> 282@textblock 283<dict> 284 <key>Controller Characteristics</key> 285 <dict> 286 <key>Node World Wide Name</key> 287 <data>0011223344556677</data> 288 </dict> 289</dict> 290@/textblock 291</pre> 292*/ 293#define kIOPropertyFibreChannelNodeWorldWideNameKey "Node World Wide Name" 294 295 296/*! 297@defined kIOPropertyFibreChannelPortWorldWideNameKey 298@discussion This key is the unique 64-bit World Wide Name for the port. 299 300Requirement: Mandatory for Fibre Channel Interface. 301 302Example: 303<pre> 304@textblock 305<dict> 306 <key>Protocol Characteristics</key> 307 <dict> 308 <key>Physical Interconnect</key> 309 <string>Fibre Channel Interface</string> 310 <key>Physical Interconnect Location</key> 311 <string>External</string> 312 <key>Port World Wide Name</key> 313 <data>0011223344556677</data> 314 </dict> 315</dict> 316@/textblock 317</pre> 318 319Example2: 320<pre> 321@textblock 322<dict> 323 <key>Controller Characteristics</key> 324 <dict> 325 <key>Port World Wide Name</key> 326 <data>0011223344556677</data> 327 </dict> 328</dict> 329@/textblock 330</pre> 331*/ 332#define kIOPropertyFibreChannelPortWorldWideNameKey "Port World Wide Name" 333 334 335/*! 336@defined kIOPropertyFibreChannelAddressIdentifierKey 337@discussion This key is the 24-bit Address Identifier (S_ID or D_ID) as 338defined in the FC-FS specification. It contains the address identifier 339of the source or destination Nx_Port. 340 341Note: This value can change. It is not a static value. 342 343Requirement: Optional (only necessary for Fibre Channel Interface). 344 345Example: 346<pre> 347@textblock 348<dict> 349 <key>Protocol Characteristics</key> 350 <dict> 351 <key>Physical Interconnect</key> 352 <string>Fibre Channel Interface</string> 353 <key>Physical Interconnect Location</key> 354 <string>External</string> 355 <key>Address Identifier</key> 356 <data>001122</data> 357 </dict> 358</dict> 359@/textblock 360</pre> 361 362Example2: 363<pre> 364@textblock 365<dict> 366 <key>Controller Characteristics</key> 367 <dict> 368 <key>Address Identifier</key> 369 <data>001122</data> 370 </dict> 371</dict> 372@/textblock 373</pre> 374*/ 375#define kIOPropertyFibreChannelAddressIdentifierKey "Address Identifier" 376 377 378/*! 379@defined kIOPropertyFibreChannelALPAKey 380@discussion This key is the 8-bit Arbitrated Loop Physical Address 381(AL_PA) value as defined in the FC-AL-2 specification. 382 383Note: This value can change. It is not a static value. 384 385Requirement: Optional (only necessary for Fibre Channel Interface). 386 387Example: 388<pre> 389@textblock 390<dict> 391 <key>Protocol Characteristics</key> 392 <dict> 393 <key>Physical Interconnect</key> 394 <string>Fibre Channel Interface</string> 395 <key>Physical Interconnect Location</key> 396 <string>External</string> 397 <key>AL_PA</key> 398 <data>04</data> 399 </dict> 400</dict> 401@/textblock 402</pre> 403 404Example2: 405<pre> 406@textblock 407<dict> 408 <key>Controller Characteristics</key> 409 <dict> 410 <key>AL_PA</key> 411 <data>04</data> 412 </dict> 413</dict> 414@/textblock 415</pre> 416*/ 417#define kIOPropertyFibreChannelALPAKey "AL_PA" 418 419 420/*! 421@defined kIOPropertyPortStatusKey 422@discussion This key is associated with the current port 423status of the physical link. The port status is either 424"Link Established", "No Link Established", or "Link Failed". 425 426Note: This value can change when the port status changes. It 427is not a static value. 428 429Requirement: Optional for any interconnect. 430 431Example: 432<pre> 433@textblock 434<dict> 435 <key>Controller Characteristics</key> 436 <dict> 437 <key>Port Status</key> 438 <string>Link Established</string> 439 </dict> 440</dict> 441@/textblock 442</pre> 443*/ 444#define kIOPropertyPortStatusKey "Port Status" 445 446 447/*! 448@defined kIOPropertyPortSpeedKey 449@discussion This key is associated with the current port 450speed. The port speed can be any valid speed for the interconnect. 451 452Note: This value can change. It is not a static value. 453 454Requirement: Optional for any interconnect. 455 456Example: 457<pre> 458@textblock 459<dict> 460 <key>Controller Characteristics</key> 461 <dict> 462 <key>Port Speed</key> 463 <string>Automatic (1 Gigabit)</string> 464 </dict> 465</dict> 466@/textblock 467</pre> 468*/ 469#define kIOPropertyPortSpeedKey "Port Speed" 470 471 472/*! 473@defined kIOPropertyPortTopologyKey 474@discussion This key is associated with the current port 475topology. The port topology can be any valid topology for the interconnect. 476 477Note: This value can change. It is not a static value. 478 479Requirement: Optional for any interconnect. 480 481Example: 482<pre> 483@textblock 484<dict> 485 <key>Controller Characteristics</key> 486 <dict> 487 <key>Port Topology</key> 488 <string>Automatic (N_Port)</string> 489 </dict> 490</dict> 491@/textblock 492</pre> 493*/ 494#define kIOPropertyPortTopologyKey "Port Topology" 495 496 497/*! 498@defined kIOPropertyPortDescriptionKey 499@discussion This key is associated with an human 500readable port description. Examples include 501"Channel A", "Port 1", etc. 502 503Requirement: Optional for all interconnects. 504 505Example: 506<pre> 507@textblock 508<dict> 509 <key>Controller Characteristics</key> 510 <dict> 511 <key>Port Description</key> 512 <string>Channel A</string> 513 </dict> 514</dict> 515@/textblock 516</pre> 517*/ 518#define kIOPropertyPortDescriptionKey "Port Description" 519 520 521/*! 522@defined kIOPropertySCSIParallelSignalingTypeKey 523@discussion This key is associated with the signaling type 524used for this SCSI Parallel bus. Valid values include 525"High Voltage Differential", "Low Voltage Differential", 526and "Single Ended". 527 528Requirement: Optional for SCSI Parallel Interface. Not 529defined for any other physical interconnect. 530 531Example: 532<pre> 533@textblock 534<dict> 535 <key>Controller Characteristics</key> 536 <dict> 537 <key>SCSI Parallel Signaling Type</key> 538 <string>High Voltage Differential</string> 539 </dict> 540</dict> 541@/textblock 542</pre> 543*/ 544#define kIOPropertySCSIParallelSignalingTypeKey "SCSI Parallel Signaling Type" 545 546 547/*! 548@defined kIOPropertyFibreChannelCableDescriptionKey 549@discussion This key is associated with the cabling type 550used for this Fibre Channel port. Valid values include 551"Copper" and "Fiber Optic". 552 553Requirement: Optional for Fibre Channel Interface. Not 554defined for any other physical interconnect. 555 556Example: 557<pre> 558@textblock 559<dict> 560 <key>Controller Characteristics</key> 561 <dict> 562 <key>Fibre Channel Cabling Type</key> 563 <string>Copper</string> 564 </dict> 565</dict> 566@/textblock 567</pre> 568*/ 569#define kIOPropertyFibreChannelCableDescriptionKey "Fibre Channel Cabling Type" 570 571 572/*! 573@defined kIOPropertyPhysicalInterconnectTypeKey 574@discussion This key is used to define the Physical Interconnect to which 575a device is attached. 576 577Requirement: Mandatory. 578 579Example: 580<pre> 581@textblock 582<dict> 583 <key>Protocol Characteristics</key> 584 <dict> 585 <key>Physical Interconnect</key> 586 <string>SCSI Parallel Interface</string> 587 <key>Physical Interconnect Location</key> 588 <string>Internal</string> 589 </dict> 590</dict> 591@/textblock 592</pre> 593*/ 594#define kIOPropertyPhysicalInterconnectTypeKey "Physical Interconnect" 595 596 597/*! 598@defined kIOPropertyPhysicalInterconnectLocationKey 599@discussion This key is used to define the Physical Interconnect 600Location. 601 602Requirement: Mandatory. 603 604Example: 605<pre> 606@textblock 607<dict> 608 <key>Protocol Characteristics</key> 609 <dict> 610 <key>Physical Interconnect</key> 611 <string>SCSI Parallel Interface</string> 612 <key>Physical Interconnect Location</key> 613 <string>Internal</string> 614 </dict> 615</dict> 616@/textblock 617</pre> 618*/ 619#define kIOPropertyPhysicalInterconnectLocationKey "Physical Interconnect Location" 620 621 622/*! 623@defined kIOPropertySCSIProtocolMultiInitKey 624@discussion This protocol characteristics key is used to inform the system 625that the protocol supports having multiple devices that act as initiators. 626 627Requirement: Optional. 628 629Example: 630<pre> 631@textblock 632<dict> 633 <key>Protocol Characteristics</key> 634 <dict> 635 <key>Physical Interconnect</key> 636 <string>Fibre Channel Interface</string> 637 <key>Physical Interconnect Location</key> 638 <string>External</string> 639 <key>Multiple Initiators</key> 640 <string>True</string> 641 </dict> 642</dict> 643@/textblock 644</pre> 645*/ 646#define kIOPropertySCSIProtocolMultiInitKey "Multiple Initiators" 647 648 649/* 650 * Values - Values for the characteristics defined above. 651 */ 652 653 654/*! 655@defined kIOPropertyInternalKey 656@discussion This key defines the value of Internal for the key 657kIOPropertyPhysicalInterconnectLocationKey. If the device is 658connected to an internal bus, this key should be set. 659 660Example: 661<pre> 662@textblock 663<dict> 664 <key>Protocol Characteristics</key> 665 <dict> 666 <key>Physical Interconnect</key> 667 <string>ATA</string> 668 <key>Physical Interconnect Location</key> 669 <string>Internal</string> 670 </dict> 671</dict> 672@/textblock 673</pre> 674*/ 675#define kIOPropertyInternalKey "Internal" 676 677 678/*! 679@defined kIOPropertyExternalKey 680@discussion This key defines the value of External for the key 681kIOPropertyPhysicalInterconnectLocationKey. If the device is 682connected to an external bus, this key should be set. 683 684Example: 685<pre> 686@textblock 687<dict> 688 <key>Protocol Characteristics</key> 689 <dict> 690 <key>Physical Interconnect</key> 691 <string>Fibre Channel Interface</string> 692 <key>Physical Interconnect Location</key> 693 <string>External</string> 694 </dict> 695</dict> 696@/textblock 697</pre> 698*/ 699#define kIOPropertyExternalKey "External" 700 701 702/*! 703@defined kIOPropertyInternalExternalKey 704@discussion This key defines the value of Internal/External for the key 705kIOPropertyPhysicalInterconnectLocationKey. If the device is connected 706to a bus and it is indeterminate whether it is internal or external, 707this key should be set. 708 709Example: 710<pre> 711@textblock 712<dict> 713 <key>Protocol Characteristics</key> 714 <dict> 715 <key>Physical Interconnect</key> 716 <string>SCSI Parallel Interface</string> 717 <key>Physical Interconnect Location</key> 718 <string>Internal/External</string> 719 </dict> 720</dict> 721@/textblock 722</pre> 723*/ 724#define kIOPropertyInternalExternalKey "Internal/External" 725 726 727/*! 728@defined kIOPropertyInterconnectFileKey 729@discussion This key defines the value of File for the key 730kIOPropertyPhysicalInterconnectLocationKey. If the device is a file 731that is being represented as a storage device, this key should be set. 732 733NOTE: This key should only be used when the Physical Interconnect is set to 734Virtual Interface. 735 736Example: 737<pre> 738@textblock 739<dict> 740 <key>Protocol Characteristics</key> 741 <dict> 742 <key>Physical Interconnect</key> 743 <string>Virtual Interface</string> 744 <key>Physical Interconnect Location</key> 745 <string>File</string> 746 </dict> 747</dict> 748@/textblock 749</pre> 750*/ 751#define kIOPropertyInterconnectFileKey "File" 752 753 754/*! 755@defined kIOPropertyInterconnectRAMKey 756@discussion This key defines the value of RAM for the key 757kIOPropertyPhysicalInterconnectLocationKey. If the device is system memory 758that is being represented as a storage device, this key should be set. 759 760NOTE: This key should only be used when the Physical Interconnect is set to 761Virtual Interface. 762 763Example: 764<pre> 765@textblock 766<dict> 767 <key>Protocol Characteristics</key> 768 <dict> 769 <key>Physical Interconnect</key> 770 <string>Virtual Interface</string> 771 <key>Physical Interconnect Location</key> 772 <string>RAM</string> 773 </dict> 774</dict> 775@/textblock 776</pre> 777*/ 778#define kIOPropertyInterconnectRAMKey "RAM" 779 780 781/*! 782@defined kIOPropertyPhysicalInterconnectTypeATA 783@discussion This key defines the value of ATA for the key 784kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 785to an ATA bus, this key should be set. 786 787Example: 788<pre> 789@textblock 790<dict> 791 <key>Protocol Characteristics</key> 792 <dict> 793 <key>Physical Interconnect</key> 794 <string>ATA</string> 795 <key>Physical Interconnect Location</key> 796 <string>Internal</string> 797 </dict> 798</dict> 799@/textblock 800</pre> 801*/ 802#define kIOPropertyPhysicalInterconnectTypeATA "ATA" 803 804 805/*! 806@defined kIOPropertyPhysicalInterconnectTypeSerialATA 807@discussion This key defines the value of SATA for the key 808kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 809to a SATA bus, this key should be set. 810 811Example: 812<pre> 813@textblock 814<dict> 815 <key>Protocol Characteristics</key> 816 <dict> 817 <key>Physical Interconnect</key> 818 <string>SATA</string> 819 <key>Physical Interconnect Location</key> 820 <string>Internal</string> 821 </dict> 822</dict> 823@/textblock 824</pre> 825*/ 826#define kIOPropertyPhysicalInterconnectTypeSerialATA "SATA" 827 828 829/*! 830@defined kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI 831@discussion This key defines the value of SAS for the key 832kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 833to a SAS bus, this key should be set. 834 835Example: 836<pre> 837@textblock 838<dict> 839 <key>Protocol Characteristics</key> 840 <dict> 841 <key>Physical Interconnect</key> 842 <string>SAS</string> 843 <key>Physical Interconnect Location</key> 844 <string>External</string> 845 </dict> 846</dict> 847@/textblock 848</pre> 849*/ 850#define kIOPropertyPhysicalInterconnectTypeSerialAttachedSCSI "SAS" 851 852 853/*! 854@defined kIOPropertyPhysicalInterconnectTypeATAPI 855@discussion This key defines the value of ATAPI for the key 856kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 857to an ATA bus and follows the ATAPI command specification, this key 858should be set. 859 860Example: 861<pre> 862@textblock 863<dict> 864 <key>Protocol Characteristics</key> 865 <dict> 866 <key>Physical Interconnect</key> 867 <string>ATAPI</string> 868 <key>Physical Interconnect Location</key> 869 <string>Internal</string> 870 </dict> 871</dict> 872@/textblock 873</pre> 874*/ 875#define kIOPropertyPhysicalInterconnectTypeATAPI "ATAPI" 876 877 878/*! 879@defined kIOPropertyPhysicalInterconnectTypeUSB 880@discussion This key defines the value of USB for the key 881kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 882to a USB port, this key should be set. 883 884Example: 885<pre> 886@textblock 887<dict> 888 <key>Protocol Characteristics</key> 889 <dict> 890 <key>Physical Interconnect</key> 891 <string>USB</string> 892 <key>Physical Interconnect Location</key> 893 <string>External</string> 894 </dict> 895</dict> 896@/textblock 897</pre> 898*/ 899#define kIOPropertyPhysicalInterconnectTypeUSB "USB" 900 901 902/*! 903@defined kIOPropertyPhysicalInterconnectTypeFireWire 904@discussion This key defines the value of USB for the key 905kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 906to a FireWire port, this key should be set. 907 908Example: 909<pre> 910@textblock 911<dict> 912 <key>Protocol Characteristics</key> 913 <dict> 914 <key>Physical Interconnect</key> 915 <string>FireWire</string> 916 <key>Physical Interconnect Location</key> 917 <string>External</string> 918 </dict> 919</dict> 920@/textblock 921</pre> 922*/ 923#define kIOPropertyPhysicalInterconnectTypeFireWire "FireWire" 924 925 926/*! 927 @defined kIOPropertyPhysicalInterconnectTypeSecureDigital 928 @discussion This key defines the value of Secure Digital for the key 929 kIOPropertyPhysicalInterconnectTypeSecureDigital. If the device is 930 connected to a Secure Digital port and follows the Secure Digital 931 specification, this key should be set. 932 933 Example: 934 <pre> 935 @textblock 936 <dict> 937 <key>Protocol Characteristics</key> 938 <dict> 939 <key>Physical Interconnect</key> 940 <string>Secure Digital</string> 941 <key>Physical Interconnect Location</key> 942 <string>Internal</string> 943 </dict> 944 </dict> 945 @/textblock 946 </pre> 947 */ 948#define kIOPropertyPhysicalInterconnectTypeSecureDigital "Secure Digital" 949 950 951/*! 952@defined kIOPropertyPhysicalInterconnectTypeSCSIParallel 953@discussion This key defines the value of SCSI Parallel Interface for the key 954kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 955to a SCSI Parallel port, this key should be set. 956 957Example: 958<pre> 959@textblock 960<dict> 961 <key>Protocol Characteristics</key> 962 <dict> 963 <key>Physical Interconnect</key> 964 <string>SCSI Parallel Interface</string> 965 <key>Physical Interconnect Location</key> 966 <string>External</string> 967 </dict> 968</dict> 969@/textblock 970</pre> 971*/ 972#define kIOPropertyPhysicalInterconnectTypeSCSIParallel "SCSI Parallel Interface" 973 974 975/*! 976@defined kIOPropertyPhysicalInterconnectTypeFibreChannel 977@discussion This key defines the value of Fibre Channel Interface for the key 978kIOPropertyPhysicalInterconnectTypeKey. If the device is connected 979to a Fibre Channel port, this key should be set. 980 981Example: 982<pre> 983@textblock 984<dict> 985 <key>Protocol Characteristics</key> 986 <dict> 987 <key>Physical Interconnect</key> 988 <string>Fibre Channel Interface</string> 989 <key>Physical Interconnect Location</key> 990 <string>External</string> 991 </dict> 992</dict> 993@/textblock 994</pre> 995*/ 996#define kIOPropertyPhysicalInterconnectTypeFibreChannel "Fibre Channel Interface" 997 998 999/*! 1000@defined kIOPropertyPhysicalInterconnectTypeVirtual 1001@discussion This key defines the value of Virtual Interface for the key 1002kIOPropertyPhysicalInterconnectTypeVirtual. If the device is being made to look 1003like a storage device, but is not such in actuality, such as a File or RAM, this 1004key should be set. 1005 1006Example: 1007<pre> 1008@textblock 1009<dict> 1010 <key>Protocol Characteristics</key> 1011 <dict> 1012 <key>Physical Interconnect</key> 1013 <string>Virtual Interface</string> 1014 <key>Physical Interconnect Location</key> 1015 <string>File</string> 1016 </dict> 1017</dict> 1018@/textblock 1019</pre> 1020*/ 1021#define kIOPropertyPhysicalInterconnectTypeVirtual "Virtual Interface" 1022 1023 1024/*! 1025@defined kIOPropertyPhysicalInterconnectTypePCI 1026@discussion This key defines the value of PCI for the key 1027kIOPropertyPhysicalInterconnectTypePCI. If the device is connected 1028via PCI, this key should be set. 1029 1030Example: 1031<pre> 1032@textblock 1033<dict> 1034 <key>Protocol Characteristics</key> 1035 <dict> 1036 <key>Physical Interconnect</key> 1037 <string>PCI</string> 1038 <key>Physical Interconnect Location</key> 1039 <string>Internal</string> 1040 </dict> 1041</dict> 1042@/textblock 1043</pre> 1044*/ 1045#define kIOPropertyPhysicalInterconnectTypePCI "PCI" 1046 1047 1048/*! 1049@defined kIOPropertyPortStatusLinkEstablishedKey 1050@discussion This key defines the value of Link Established for the key 1051kIOPropertyPortStatusKey. 1052 1053Example: 1054<pre> 1055@textblock 1056<dict> 1057 <key>Controller Characteristics</key> 1058 <dict> 1059 <key>Port Status</key> 1060 <string>Link Established</string> 1061 </dict> 1062</dict> 1063@/textblock 1064</pre> 1065*/ 1066#define kIOPropertyPortStatusLinkEstablishedKey "Link Established" 1067 1068 1069/*! 1070@defined kIOPropertyPortStatusNoLinkEstablishedKey 1071@discussion This key defines the value of No Link Established for the key 1072kIOPropertyPortStatusKey. 1073 1074Example: 1075<pre> 1076@textblock 1077<dict> 1078 <key>Controller Characteristics</key> 1079 <dict> 1080 <key>Port Status</key> 1081 <string>No Link Established</string> 1082 </dict> 1083</dict> 1084@/textblock 1085</pre> 1086*/ 1087#define kIOPropertyPortStatusNoLinkEstablishedKey "No Link Established" 1088 1089 1090/*! 1091@defined kIOPropertyPortStatusLinkFailedKey 1092@discussion This key defines the value of Link Failed for the key 1093kIOPropertyPortStatusKey. 1094 1095Example: 1096<pre> 1097@textblock 1098<dict> 1099 <key>Controller Characteristics</key> 1100 <dict> 1101 <key>Port Status</key> 1102 <string>Link Failed</string> 1103 </dict> 1104</dict> 1105@/textblock 1106</pre> 1107*/ 1108#define kIOPropertyPortStatusLinkFailedKey "Link Failed" 1109 1110 1111/*! 1112@defined kIOPropertyPortSpeedAutomaticKey 1113@discussion This key defines the value of Automatic for the key 1114kIOPropertyPortSpeedKey. If the speed of the port is automatically 1115adjusted by the host/device and a definitive speed is not known, 1116this key should be used. 1117 1118Note: This value can change. It is not a static value. 1119 1120Requirement: Optional for any interconnect. 1121 1122Example: 1123<pre> 1124@textblock 1125<dict> 1126 <key>Controller Characteristics</key> 1127 <dict> 1128 <key>Port Speed</key> 1129 <string>Automatic</string> 1130 </dict> 1131</dict> 1132@/textblock 1133</pre> 1134*/ 1135#define kIOPropertyPortSpeedAutomaticKey "Automatic" 1136 1137 1138/*! 1139@defined kIOPropertyPortSpeed1GigabitKey 1140@discussion This key defines the value of 1 Gigabit for the key 1141kIOPropertyPortSpeedKey. If the speed of the port is 1 Gigabit 1142per second and is not automatically determined (i.e. the user 1143configured the port to be exactly this speed), 1144this key should be used. 1145 1146Note: This value can change. It is not a static value. 1147 1148Requirement: Optional for any interconnect. 1149 1150Example: 1151<pre> 1152@textblock 1153<dict> 1154 <key>Controller Characteristics</key> 1155 <dict> 1156 <key>Port Speed</key> 1157 <string>1 Gigabit</string> 1158 </dict> 1159</dict> 1160@/textblock 1161</pre> 1162*/ 1163#define kIOPropertyPortSpeed1GigabitKey "1 Gigabit" 1164 1165/*! 1166@defined kIOPropertyPortSpeed1_5GigabitKey 1167@discussion This key defines the value of 1.5 Gigabit for the key 1168kIOPropertyPortSpeedKey. If the speed of the port is 1.5 Gigabits 1169per second and is not automatically determined (i.e. the user 1170configured the port to be exactly this speed), 1171this key should be used. 1172 1173Note: This value can change. It is not a static value. 1174 1175Requirement: Optional for any interconnect. 1176 1177Example: 1178<pre> 1179@textblock 1180<dict> 1181 <key>Controller Characteristics</key> 1182 <dict> 1183 <key>Port Speed</key> 1184 <string>1.5 Gigabit</string> 1185 </dict> 1186</dict> 1187@/textblock 1188</pre> 1189*/ 1190#define kIOPropertyPortSpeed1_5GigabitKey "1.5 Gigabit" 1191 1192 1193/*! 1194@defined kIOPropertyPortSpeed2GigabitKey 1195@discussion This key defines the value of 2 Gigabit for the key 1196kIOPropertyPortSpeedKey. If the speed of the port is 2 Gigabits 1197per second and is not automatically determined (i.e. the user 1198configured the port to be exactly this speed), 1199this key should be used. 1200 1201Note: This value can change. It is not a static value. 1202 1203Requirement: Optional for any interconnect. 1204 1205Example: 1206<pre> 1207@textblock 1208<dict> 1209 <key>Controller Characteristics</key> 1210 <dict> 1211 <key>Port Speed</key> 1212 <string>2 Gigabit</string> 1213 </dict> 1214</dict> 1215@/textblock 1216</pre> 1217*/ 1218#define kIOPropertyPortSpeed2GigabitKey "2 Gigabit" 1219 1220 1221/*! 1222@defined kIOPropertyPortSpeed3GigabitKey 1223@discussion This key defines the value of 3 Gigabit for the key 1224kIOPropertyPortSpeedKey. If the speed of the port is 3 Gigabits 1225per second and is not automatically determined (i.e. the user 1226configured the port to be exactly this speed), 1227this key should be used. 1228 1229Note: This value can change. It is not a static value. 1230 1231Requirement: Optional for any interconnect. 1232 1233Example: 1234<pre> 1235@textblock 1236<dict> 1237 <key>Controller Characteristics</key> 1238 <dict> 1239 <key>Port Speed</key> 1240 <string>3 Gigabit</string> 1241 </dict> 1242</dict> 1243@/textblock 1244</pre> 1245*/ 1246#define kIOPropertyPortSpeed3GigabitKey "3 Gigabit" 1247 1248 1249/*! 1250@defined kIOPropertyPortSpeed4GigabitKey 1251@discussion This key defines the value of 4 Gigabit for the key 1252kIOPropertyPortSpeedKey. If the speed of the port is 4 Gigabits 1253per second and is not automatically determined (i.e. the user 1254configured the port to be exactly this speed), 1255this key should be used. 1256 1257Note: This value can change. It is not a static value. 1258 1259Requirement: Optional for any interconnect. 1260 1261Example: 1262<pre> 1263@textblock 1264<dict> 1265 <key>Controller Characteristics</key> 1266 <dict> 1267 <key>Port Speed</key> 1268 <string>4 Gigabit</string> 1269 </dict> 1270</dict> 1271@/textblock 1272</pre> 1273*/ 1274#define kIOPropertyPortSpeed4GigabitKey "4 Gigabit" 1275 1276/*! 1277@defined kIOPropertyPortSpeed6GigabitKey 1278@discussion This key defines the value of 6 Gigabit for the key 1279kIOPropertyPortSpeedKey. If the speed of the port is 6 Gigabits 1280per second and is not automatically determined (i.e. the user 1281configured the port to be exactly this speed), 1282this key should be used. 1283 1284Note: This value can change. It is not a static value. 1285 1286Requirement: Optional for any interconnect. 1287 1288Example: 1289<pre> 1290@textblock 1291<dict> 1292 <key>Controller Characteristics</key> 1293 <dict> 1294 <key>Port Speed</key> 1295 <string>6 Gigabit</string> 1296 </dict> 1297</dict> 1298@/textblock 1299</pre> 1300*/ 1301#define kIOPropertyPortSpeed6GigabitKey "6 Gigabit" 1302 1303 1304/*! 1305@defined kIOPropertyPortSpeed8GigabitKey 1306@discussion This key defines the value of 8 Gigabit for the key 1307kIOPropertyPortSpeedKey. If the speed of the port is 8 Gigabits 1308per second and is not automatically determined (i.e. the user 1309configured the port to be exactly this speed), 1310this key should be used. 1311 1312Note: This value can change. It is not a static value. 1313 1314Requirement: Optional for any interconnect. 1315 1316Example: 1317<pre> 1318@textblock 1319<dict> 1320 <key>Controller Characteristics</key> 1321 <dict> 1322 <key>Port Speed</key> 1323 <string>8 Gigabit</string> 1324 </dict> 1325</dict> 1326@/textblock 1327</pre> 1328*/ 1329#define kIOPropertyPortSpeed8GigabitKey "8 Gigabit" 1330 1331 1332/*! 1333@defined kIOPropertyPortSpeed10GigabitKey 1334@discussion This key defines the value of 10 Gigabit for the key 1335kIOPropertyPortSpeedKey. If the speed of the port is 10 Gigabits 1336per second and is not automatically determined (i.e. the user 1337configured the port to be exactly this speed), 1338this key should be used. 1339 1340Note: This value can change. It is not a static value. 1341 1342Requirement: Optional for any interconnect. 1343 1344Example: 1345<pre> 1346@textblock 1347<dict> 1348 <key>Controller Characteristics</key> 1349 <dict> 1350 <key>Port Speed</key> 1351 <string>10 Gigabit</string> 1352 </dict> 1353</dict> 1354@/textblock 1355</pre> 1356*/ 1357#define kIOPropertyPortSpeed10GigabitKey "10 Gigabit" 1358 1359 1360/*! 1361 @defined kIOPropertyPortSpeed12GigabitKey 1362 @discussion This key defines the value of 12 Gigabit for the key 1363 kIOPropertyPortSpeedKey. If the speed of the port is 12 Gigabits 1364 per second and is not automatically determined (i.e. the user 1365 configured the port to be exactly this speed), 1366 this key should be used. 1367 1368 Note: This value can change. It is not a static value. 1369 1370 Requirement: Optional for any interconnect. 1371 1372 Example: 1373 <pre> 1374 @textblock 1375 <dict> 1376 <key>Controller Characteristics</key> 1377 <dict> 1378 <key>Port Speed</key> 1379 <string>12 Gigabit</string> 1380 </dict> 1381 </dict> 1382 @/textblock 1383 </pre> 1384 */ 1385#define kIOPropertyPortSpeed12GigabitKey "12 Gigabit" 1386 1387 1388/*! 1389 @defined kIOPropertyPortSpeed16GigabitKey 1390 @discussion This key defines the value of 16 Gigabit for the key 1391 kIOPropertyPortSpeedKey. If the speed of the port is 16 Gigabits 1392 per second and is not automatically determined (i.e. the user 1393 configured the port to be exactly this speed), 1394 this key should be used. 1395 1396 Note: This value can change. It is not a static value. 1397 1398 Requirement: Optional for any interconnect. 1399 1400 Example: 1401 <pre> 1402 @textblock 1403 <dict> 1404 <key>Controller Characteristics</key> 1405 <dict> 1406 <key>Port Speed</key> 1407 <string>16 Gigabit</string> 1408 </dict> 1409 </dict> 1410 @/textblock 1411 </pre> 1412 */ 1413#define kIOPropertyPortSpeed16GigabitKey "16 Gigabit" 1414 1415 1416/*! 1417 @defined kIOPropertyPortSpeed40GigabitKey 1418 @discussion This key defines the value of 40 Gigabit for the key 1419 kIOPropertyPortSpeedKey. If the speed of the port is 40 Gigabits 1420 per second and is not automatically determined (i.e. the user 1421 configured the port to be exactly this speed), 1422 this key should be used. 1423 1424 Note: This value can change. It is not a static value. 1425 1426 Requirement: Optional for any interconnect. 1427 1428 Example: 1429 <pre> 1430 @textblock 1431 <dict> 1432 <key>Controller Characteristics</key> 1433 <dict> 1434 <key>Port Speed</key> 1435 <string>40 Gigabit</string> 1436 </dict> 1437 </dict> 1438 @/textblock 1439 </pre> 1440 */ 1441#define kIOPropertyPortSpeed40GigabitKey "40 Gigabit" 1442 1443 1444/*! 1445@defined kIOPropertyPortSpeedAutomatic1GigabitKey 1446@discussion This key defines the value of Automatic (1 Gigabit) 1447for the key kIOPropertyPortSpeedKey. If the speed of the port is 14481 Gigabit per second and is automatically determined by host 1449software, this key should be used. 1450 1451Note: This value can change. It is not a static value. 1452 1453Requirement: Optional for any interconnect. 1454 1455Example: 1456<pre> 1457@textblock 1458<dict> 1459 <key>Controller Characteristics</key> 1460 <dict> 1461 <key>Port Speed</key> 1462 <string>Automatic (1 Gigabit)</string> 1463 </dict> 1464</dict> 1465@/textblock 1466</pre> 1467*/ 1468#define kIOPropertyPortSpeedAutomatic1GigabitKey "Automatic (1 Gigabit)" 1469 1470 1471/*! 1472@defined kIOPropertyPortSpeedAutomatic1_5GigabitKey 1473@discussion This key defines the value of Automatic (1.5 Gigabit) for the key 1474kIOPropertyPortSpeedKey. If the speed of the port is 14751.5 Gigabits per second and is automatically determined by host 1476software, this key should be used. 1477 1478Note: This value can change. It is not a static value. 1479 1480Requirement: Optional for any interconnect. 1481 1482Example: 1483<pre> 1484@textblock 1485<dict> 1486 <key>Controller Characteristics</key> 1487 <dict> 1488 <key>Port Speed</key> 1489 <string>Automatic (1.5 Gigabit)</string> 1490 </dict> 1491</dict> 1492@/textblock 1493</pre> 1494*/ 1495#define kIOPropertyPortSpeedAutomatic1_5GigabitKey "Automatic (1.5 Gigabit)" 1496 1497 1498/*! 1499@defined kIOPropertyPortSpeedAutomatic2GigabitKey 1500@discussion This key defines the value of Automatic (2 Gigabit) 1501for the key kIOPropertyPortSpeedKey. If the speed of the port is 15022 Gigabits per second and is automatically determined by host 1503software, this key should be used. 1504 1505Note: This value can change. It is not a static value. 1506 1507Requirement: Optional for any interconnect. 1508 1509Example: 1510<pre> 1511@textblock 1512<dict> 1513 <key>Controller Characteristics</key> 1514 <dict> 1515 <key>Port Speed</key> 1516 <string>Automatic (2 Gigabit)</string> 1517 </dict> 1518</dict> 1519@/textblock 1520</pre> 1521*/ 1522#define kIOPropertyPortSpeedAutomatic2GigabitKey "Automatic (2 Gigabit)" 1523 1524 1525/*! 1526@defined kIOPropertyPortSpeedAutomatic3GigabitKey 1527@discussion This key defines the value of Automatic (3 Gigabit) 1528for the key kIOPropertyPortSpeedKey. If the speed of the port is 15293 Gigabits per second and is automatically determined by host 1530software, this key should be used. 1531 1532Note: This value can change. It is not a static value. 1533 1534Requirement: Optional for any interconnect. 1535 1536Example: 1537<pre> 1538@textblock 1539<dict> 1540 <key>Controller Characteristics</key> 1541 <dict> 1542 <key>Port Speed</key> 1543 <string>Automatic (3 Gigabit)</string> 1544 </dict> 1545</dict> 1546@/textblock 1547</pre> 1548*/ 1549#define kIOPropertyPortSpeedAutomatic3GigabitKey "Automatic (3 Gigabit)" 1550 1551 1552/*! 1553@defined kIOPropertyPortSpeedAutomatic4GigabitKey 1554@discussion This key defines the value of Automatic (4 Gigabit) 1555for the key kIOPropertyPortSpeedKey. If the speed of the port is 15564 Gigabits per second and is automatically determined by host 1557software, this key should be used. 1558 1559Note: This value can change. It is not a static value. 1560 1561Requirement: Optional for any interconnect. 1562 1563Example: 1564<pre> 1565@textblock 1566<dict> 1567 <key>Controller Characteristics</key> 1568 <dict> 1569 <key>Port Speed</key> 1570 <string>Automatic (4 Gigabit)</string> 1571 </dict> 1572</dict> 1573@/textblock 1574</pre> 1575*/ 1576#define kIOPropertyPortSpeedAutomatic4GigabitKey "Automatic (4 Gigabit)" 1577 1578 1579/*! 1580@defined kIOPropertyPortSpeedAutomatic6GigabitKey 1581@discussion This key defines the value of Automatic (6 Gigabit) 1582for the key kIOPropertyPortSpeedKey. If the speed of the port is 15836 Gigabits per second and is automatically determined by host 1584software, this key should be used. 1585 1586Note: This value can change. It is not a static value. 1587 1588Requirement: Optional for any interconnect. 1589 1590Example: 1591<pre> 1592@textblock 1593<dict> 1594 <key>Controller Characteristics</key> 1595 <dict> 1596 <key>Port Speed</key> 1597 <string>Automatic (6 Gigabit)</string> 1598 </dict> 1599</dict> 1600@/textblock 1601</pre> 1602*/ 1603#define kIOPropertyPortSpeedAutomatic6GigabitKey "Automatic (6 Gigabit)" 1604 1605 1606/*! 1607@defined kIOPropertyPortSpeedAutomatic8GigabitKey 1608@discussion This key defines the value of Automatic (8 Gigabit) 1609for the key kIOPropertyPortSpeedKey. If the speed of the port is 16108 Gigabits per second and is automatically determined by host 1611software, this key should be used. 1612 1613Note: This value can change. It is not a static value. 1614 1615Requirement: Optional for any interconnect. 1616 1617Example: 1618<pre> 1619@textblock 1620<dict> 1621 <key>Controller Characteristics</key> 1622 <dict> 1623 <key>Port Speed</key> 1624 <string>Automatic (8 Gigabit)</string> 1625 </dict> 1626</dict> 1627@/textblock 1628</pre> 1629*/ 1630#define kIOPropertyPortSpeedAutomatic8GigabitKey "Automatic (8 Gigabit)" 1631 1632 1633/*! 1634@defined kIOPropertyPortSpeedAutomatic10GigabitKey 1635@discussion This key defines the value of Automatic (10 Gigabit) 1636for the key kIOPropertyPortSpeedKey. If the speed of the port is 163710 Gigabits per second and is automatically determined by host 1638software, this key should be used. 1639 1640Note: This value can change. It is not a static value. 1641 1642Requirement: Optional for any interconnect. 1643 1644Example: 1645<pre> 1646@textblock 1647<dict> 1648 <key>Controller Characteristics</key> 1649 <dict> 1650 <key>Port Speed</key> 1651 <string>Automatic (10 Gigabit)</string> 1652 </dict> 1653</dict> 1654@/textblock 1655</pre> 1656*/ 1657#define kIOPropertyPortSpeedAutomatic10GigabitKey "Automatic (10 Gigabit)" 1658 1659 1660/*! 1661@defined kIOPropertyPortTopologyAutomaticKey 1662@discussion This key defines the value of Automatic for the key 1663kIOPropertyPortTopologyKey. If the topology of the port is automatically 1664adjusted by the host/device and a definitive topology is not known, 1665this key should be used. 1666 1667Note: This value can change. It is not a static value. 1668 1669Requirement: Optional for any interconnect. 1670 1671Example: 1672<pre> 1673@textblock 1674<dict> 1675 <key>Controller Characteristics</key> 1676 <dict> 1677 <key>Port Topology</key> 1678 <string>Automatic</string> 1679 </dict> 1680</dict> 1681@/textblock 1682</pre> 1683*/ 1684#define kIOPropertyPortTopologyAutomaticKey "Automatic" 1685 1686 1687/*! 1688@defined kIOPropertyPortTopologyNPortKey 1689@discussion This key defines the value of N_Port for the key 1690kIOPropertyPortTopologyKey. If the topology of the port is an N_Port, 1691this key should be used. 1692 1693Note: This value can change. It is not a static value. 1694 1695Requirement: Optional for any interconnect. 1696 1697Example: 1698<pre> 1699@textblock 1700<dict> 1701 <key>Controller Characteristics</key> 1702 <dict> 1703 <key>Port Topology</key> 1704 <string>N_Port</string> 1705 </dict> 1706</dict> 1707@/textblock 1708</pre> 1709*/ 1710#define kIOPropertyPortTopologyNPortKey "N_Port" 1711 1712 1713/*! 1714@defined kIOPropertyPortTopologyNLPortKey 1715@discussion This key defines the value of NL_Port for the key 1716kIOPropertyPortTopologyKey. If the topology of the port is an NL_Port, 1717this key should be used. 1718 1719Note: This value can change. It is not a static value. 1720 1721Requirement: Optional for any interconnect. 1722 1723Example: 1724<pre> 1725@textblock 1726<dict> 1727 <key>Controller Characteristics</key> 1728 <dict> 1729 <key>Port Topology</key> 1730 <string>NL_Port</string> 1731 </dict> 1732</dict> 1733@/textblock 1734</pre> 1735*/ 1736#define kIOPropertyPortTopologyNLPortKey "NL_Port" 1737 1738 1739/*! 1740@defined kIOPropertyPortTopologyAutomaticNPortKey 1741@discussion This key defines the value of Automatic (N_Port) for the key 1742kIOPropertyPortTopologyKey. If the topology of the port is 1743N_Port and is automatically determined by host software, this 1744key should be used. 1745 1746Note: This value can change. It is not a static value. 1747 1748Requirement: Optional for any interconnect. 1749 1750Example: 1751<pre> 1752@textblock 1753<dict> 1754 <key>Controller Characteristics</key> 1755 <dict> 1756 <key>Port Topology</key> 1757 <string>Automatic (N_Port)</string> 1758 </dict> 1759</dict> 1760@/textblock 1761</pre> 1762*/ 1763#define kIOPropertyPortTopologyAutomaticNPortKey "Automatic (N_Port)" 1764 1765 1766/*! 1767@defined kIOPropertyPortTopologyAutomaticNLPortKey 1768@discussion This key defines the value of Automatic (NL_Port) for the key 1769kIOPropertyPortTopologyKey. If the topology of the port is 1770NL_Port and is automatically determined by host software, this 1771key should be used. 1772 1773Note: This value can change. It is not a static value. 1774 1775Requirement: Optional for any interconnect. 1776 1777Example: 1778<pre> 1779@textblock 1780<dict> 1781 <key>Controller Characteristics</key> 1782 <dict> 1783 <key>Port Topology</key> 1784 <string>Automatic (NL_Port)</string> 1785 </dict> 1786</dict> 1787@/textblock 1788</pre> 1789*/ 1790#define kIOPropertyPortTopologyAutomaticNLPortKey "Automatic (NL_Port)" 1791 1792 1793/*! 1794@defined kIOPropertySCSIParallelSignalingTypeHVDKey 1795@discussion This key defines the value of High Voltage Differential for the key 1796kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is 1797High Voltage Differential, this key should be used. 1798 1799Requirement: Optional for SCSI Parallel Interface interconnect. 1800 1801Example: 1802<pre> 1803@textblock 1804<dict> 1805 <key>Controller Characteristics</key> 1806 <dict> 1807 <key>SCSI Parallel Signaling Type</key> 1808 <string>High Voltage Differential</string> 1809 </dict> 1810</dict> 1811@/textblock 1812</pre> 1813*/ 1814#define kIOPropertySCSIParallelSignalingTypeHVDKey "High Voltage Differential" 1815 1816 1817/*! 1818@defined kIOPropertySCSIParallelSignalingTypeLVDKey 1819@discussion This key defines the value of Low Voltage Differential for the key 1820kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is 1821Low Voltage Differential, this key should be used. 1822 1823Requirement: Optional for SCSI Parallel Interface interconnect. 1824 1825Example: 1826<pre> 1827@textblock 1828<dict> 1829 <key>Controller Characteristics</key> 1830 <dict> 1831 <key>SCSI Parallel Signaling Type</key> 1832 <string>Low Voltage Differential</string> 1833 </dict> 1834</dict> 1835@/textblock 1836</pre> 1837*/ 1838#define kIOPropertySCSIParallelSignalingTypeLVDKey "Low Voltage Differential" 1839 1840 1841/*! 1842@defined kIOPropertySCSIParallelSignalingTypeSEKey 1843@discussion This key defines the value of Single Ended for the key 1844kIOPropertySCSIParallelSignalingTypeKey. If the signaling type of the port is 1845Single Ended, this key should be used. 1846 1847Requirement: Optional for SCSI Parallel Interface interconnect. 1848 1849Example: 1850<pre> 1851@textblock 1852<dict> 1853 <key>Controller Characteristics</key> 1854 <dict> 1855 <key>SCSI Parallel Signaling Type</key> 1856 <string>Single Ended</string> 1857 </dict> 1858</dict> 1859@/textblock 1860</pre> 1861*/ 1862#define kIOPropertySCSIParallelSignalingTypeSEKey "Single Ended" 1863 1864 1865/*! 1866@defined kIOPropertyFibreChannelCableDescriptionCopperKey 1867@discussion This key defines the value of Copper for the key 1868kIOPropertyFibreChannelCableDescriptionKey. If the cabling is 1869Copper, this key should be used. 1870 1871Requirement: Optional for Fibre Channel Interface interconnect. 1872 1873Example: 1874<pre> 1875@textblock 1876<dict> 1877 <key>Controller Characteristics</key> 1878 <dict> 1879 <key>Fibre Channel Cabling Type</key> 1880 <string>Copper</string> 1881 </dict> 1882</dict> 1883@/textblock 1884</pre> 1885*/ 1886#define kIOPropertyFibreChannelCableDescriptionCopperKey "Copper" 1887 1888 1889/*! 1890@defined kIOPropertyFibreChannelCableDescriptionFiberOpticKey 1891@discussion This key defines the value of Fiber Optic for the key 1892kIOPropertyFibreChannelCableDescriptionKey. If the cabling is 1893Fiber Optic, this key should be used. 1894 1895Requirement: Optional for Fibre Channel Interface interconnect. 1896 1897Example: 1898<pre> 1899@textblock 1900<dict> 1901 <key>Controller Characteristics</key> 1902 <dict> 1903 <key>Fibre Channel Cabling Type</key> 1904 <string>Fiber Optic</string> 1905 </dict> 1906</dict> 1907@/textblock 1908</pre> 1909*/ 1910#define kIOPropertyFibreChannelCableDescriptionFiberOpticKey "Fiber Optic" 1911 1912 1913#endif /* _IOKIT_IO_STORAGE_PROTOCOL_CHARACTERISTICS_H_ */ 1914