Foreword
Introduction
1 Scope
2 References
3 Document Conventions
3.1 API Description Format
4 Background Technical Information
4.1 Terms
4.2 Concepts
5 Constants and Types
5.1 IMA_WCHAR
5.2 IMA_BYTE
5.3 IMA_BOOL
5.4 IMA_XBOOL
5.5 IMA_UINT
5.6 IMA_UINT16
5.7 IMA_UINT32
5.8 IMA_UINT64
5.9 IMA_DATETIME
5.10 IMA_OBJECT_VISIBILITY_FN
5.11 IMA_OBJECT_PROPERTY_FN
5.12 IMA_OBJECT_TYPE
5.13 IMA_STATUS
5.14 IMA_OID
5.15 IMA_OID_LIST
5.16 IMA_NODE_NAME
5.17 IMA_NODE_ALIAS
5.18 IMA_IP_ADDRESS
5.19 IMA_HOST_NAME
5.20 IMA_HOST_ID
5.21 IMA_TARGET_ADDRESS
5.22 IMA_ADDRESS_KEY
5.23 IMA_ADDRESS_KEYS
5.24 IMA_STATIC_DISCOVERY_TARGET
5.25 IMA_DISCOVERY_ADDRESS_PROPERTIES
5.26 IMA_STATIC_DISCOVERY_TARGET_PROPERTIES
5.27 IMA_IP_PROPERTIES
5.28 IMA_LIBRARY_PROPERTIES
5.29 IMA_PLUGIN_PROPERTIES
5.30 IMA_NODE_PROPERTIES
5.31 IMA_LHBA_PROPERTIES
5.32 Upper Level Protocol (ULP) Flags
5.33 IMA_PHBA_PROPERTIES
5.34 IMA_DISCOVERY_PROPERTIES
5.35 IMA_PHBA_DOWNLOAD_IMAGE_TYPE
5.36 IMA_PHBA_DOWNLOAD_IMAGE_PROPERTIES
5.37 IMA_ISNS_DISCOVERY_METHOD
5.38 IMA_PHBA_DOWNLOAD_PROPERTIES
5.39 IMA_IPSEC_PROPERTIES
5.40 IMA_MIN_MAX_VALUE
5.41 IMA_BOOL_VALUE
5.42 IMA_MAC_ADDRESS
5.43 IMA_LNP_PROPERTIES
5.44 IMA_PNP_PROPERTIES
5.45 IMA_PNP_STATISTICS
5.46 IMA_NETWORK_PORTAL_PROPERTIES
5.47 IMA_PHBA_STATUS
5.48 IMA_NETWORK_PORT_STATUS
5.49 IMA_TARGET_DISCOVERY_METHOD
5.50 IMA_TARGET_PROPERTIES
5.51 IMA_TARGET_ERROR_STATISTICS
5.52 IMA_LU_PROPERTIES
5.53 IMA_DEVICE_STATISTICS
5.54 IMA_STATISTICS_PROPERTIES
5.55 IMA_AUTHMETHOD
5.56 IMA_CHAP_INITIATOR_AUTHPARMS
5.57 IMA_SRP_INITIATOR_AUTHPARMS
5.58 IMA_KRB5_INITIATOR_AUTHPARMS
5.59 IMA_SPKM_INITIATOR_AUTHPARMS
5.60 IMA_INITIATOR_AUTHPARMS
6 APIs
6.1 APIs by Category
6.1.1 Library and Plugin APIs
6.1.2 Node APIs
6.1.3 Logical HBA APIs
6.1.4 Physical HBA APIs
6.1.5 Network Portal APIs
6.1.6 Logical Network Port (LNP) APIs
6.1.7 Physical Network Port (PNP) APIs
6.1.8 Target APIs
6.1.9 Logical Unit (LU) APIs
6.1.10 Miscellaneous APIs
6.2 APIs by Name
6.2.1 IMA_AddDiscoveryAddress
6.2.2 IMA_AddStaticDiscoveryTarget
6.2.3 IMA_DeregisterForObjectPropertyChanges
6.2.4 IMA_DeregisterForObjectVisibilityChanges
6.2.5 IMA_ExposeLu
6.2.6 IMA_FreeMemory
6.2.7 IMA_GenerateNodeName
6.2.8 IMA_GetAddressKeys
6.2.9 IMA_GetAssociatedPluginOid
6.2.10 IMA_GetDataPduInOrderProperties
6.2.11 IMA_GetDataSequenceInOrderProperties
6.2.12 IMA_GetDefaultTime2RetainProperties
6.2.13 IMA_GetDefaultTime2WaitProperties
6.2.14 IMA_GetDeviceStatistics
6.2.15 IMA_GetDiscoveryAddressOidList
6.2.16 IMA_GetDiscoveryAddressProperties
6.2.17 IMA_GetDiscoveryProperties
6.2.18 IMA_GetErrorRecoveryLevelProperties
6.2.19 IMA_GetFirstBurstLengthProperties
6.2.20 IMA_GetImmediateDataProperties
6.2.21 IMA_GetInitialR2TProperties
6.2.22 IMA_GetInitiatorAuthParms
6.2.23 IMA_GetInUseInitiatorAuthMethods
6.2.24 IMA_GetIpProperties
6.2.25 IMA_GetIpsecProperties
6.2.26 IMA_GetLhbaOidList
6.2.27 IMA_GetLhbaProperties
6.2.28 IMA_GetLibraryProperties
6.2.29 IMA_GetLnpOidList
6.2.30 IMA_GetLnpProperties
6.2.31 IMA_GetLuOid
6.2.32 IMA_GetLuOidList
6.2.33 IMA_GetLuProperties
6.2.34 IMA_GetMaxBurstLengthProperties
6.2.35 IMA_GetMaxConnectionsProperties
6.2.36 IMA_GetMaxOutstandingR2TProperties
6.2.37 IMA_GetMaxRecvDataSegmentLengthProperties
6.2.38 IMA_GetNetworkPortalOidList
6.2.39 IMA_GetNetworkPortalProperties
6.2.40 IMA_GetNetworkPortStatus
6.2.41 IMA_GetNodeProperties
6.2.42 IMA_GetNonSharedNodeOidList
6.2.43 IMA_GetObjectType
6.2.44 IMA_GetPhbaDownloadProperties
6.2.45 IMA_GetPhbaOidList
6.2.46 IMA_GetPhbaProperties
6.2.47 IMA_GetPhbaStatus
6.2.48 IMA_GetPluginOidList
6.2.49 IMA_GetPluginProperties
6.2.50 IMA_GetPnpOidList
6.2.51 IMA_GetPnpProperties
6.2.52 IMA_GetPnpStatistics
6.2.53 IMA_GetSharedNodeOid
6.2.54 IMA_GetStaticDiscoveryTargetOidList
6.2.55 IMA_GetStaticDiscoveryTargetProperties
6.2.56 IMA_GetStatisticsProperties
6.2.57 IMA_GetSupportedAuthMethods
6.2.58 IMA_GetTargetErrorStatistics
6.2.59 IMA_GetTargetOidList
6.2.60 IMA_GetTargetProperties
6.2.61 IMA_IsPhbaDownloadFile
6.2.62 IMA_LuInquiry
6.2.63 IMA_LuReadCapacity
6.2.64 IMA_LuReportLuns
6.2.65 IMA_PhbaDownload
6.2.66 IMA_PluginIOCtl
6.2.67 IMA_RegisterForObjectPropertyChanges
6.2.68 IMA_RegisterForObjectVisibilityChanges
6.2.69 IMA_RemoveDiscoveryAddress
6.2.70 IMA_RemoveStaleData
6.2.71 IMA_RemoveStaticDiscoveryTarget
6.2.72 IMA_SetDataPduInOrder
6.2.73 IMA_SetDataSequenceInOrder
6.2.74 IMA_SetDefaultGateway
6.2.75 IMA_SetDefaultTime2Retain
6.2.76 IMA_SetDefaultTime2Wait
6.2.77 IMA_SetDnsServerAddress
6.2.78 IMA_SetErrorRecoveryLevel
6.2.79 IMA_SetFirstBurstLength
6.2.80 IMA_SetImmediateData
6.2.81 IMA_SetInitialR2T
6.2.82 IMA_SetInitiatorAuthMethods
6.2.83 IMA_SetInitiatorAuthParms
6.2.84 IMA_SetIpConfigMethod
6.2.85 IMA_SetIsnsDiscovery
6.2.86 IMA_SetMaxBurstLength
6.2.87 IMA_SetMaxConnections
6.2.88 IMA_SetMaxRecvDataSegmentLength
6.2.89 IMA_SetMaxOutstandingR2T
6.2.90 IMA_SetNetworkPortalIpAddress
6.2.91 IMA_SetNodeAlias
6.2.92 IMA_SetNodeName
6.2.93 IMA_SetSendTargetsDiscovery
6.2.94 IMA_SetSlpDiscovery
6.2.95 IMA_SetStaticDiscovery
6.2.96 IMA_SetStatisticsCollection
6.2.97 IMA_SetSubnetMask
6.2.98 IMA_UnexposeLu
7 Implementation Compliance
8 Notes
8.1 Client Usage Notes
8.2 Library Implementation Notes
8.3 Plugin Implementation Notes
Annexes
A Device Names
A.1 osDeviceName Field of the IMA_LHBA_PROPERTIES Structure
A.2 osDeviceName Field of the IMA_LU_PROPERTIES Structure
B Coding Examples
B.1 Example of Getting Library Properties
B.2 Example of Getting Plugin Properties
B.3 Example of Getting an Associated Plugin ID
B.4 Example of Getting Node Properties
B.5 Example of Setting a Node Name
B.6 Example of Getting LHBA Properties
B.7 Example of Getting PHBA Properties
B.8 Example of Getting PHBA Discovery Properties
B.9 Example of Getting/Setting LHBA Max Burst Length
B.10 Example of Getting all LUs of all Targets Visible
to a System