1libSMHBAAPI(3LIB) Interface Libraries libSMHBAAPI(3LIB)
2
3
4
6 libSMHBAAPI, libsmhbaapi, SMHBA_GetAdapterAttributes, SMHBA_GetAdapter‐
7 PortAttributes, SMHBA_GetBindingCapability, SMHBA_GetBindingSupport,
8 SMHBA_GetDiscoveredPortAttributes, SMHBA_GetFCPhyAttributes,
9 SMHBA_GetLUNStatistics, SMHBA_GetNumberofPorts, SMHBA_GetPersistent‐
10 Binding, SMHBA_GetPhyStatistics, SMHBA_GetPortAttributesByWWN,
11 SMHBA_GetPortType, SMHBA_GetProtocolStatistics, SMHBA_GetSASPhyAt‐
12 tributes, SMHBA_GetTargetMapping, SMHBA_GetVendorLibraryAttributes,
13 SMHBA_GetVersion, SMHBA_GetWrapperLibraryAttributes, SMHBA_Register‐
14 ForAdapterAddEvents, SMHBA_RegisterForAdapterEvents, SMHBA_Register‐
15 ForAdapterPhyStatEvents, SMHBA_RegisterForAdapterPortEvents, SMHBA_Reg‐
16 isterForAdapterPortStatEvents, SMHBA_RegisterForTargetEvents,
17 SMHBA_RegisterLibrary, SMHBA_RemoveAllPersistentBindings,
18 SMHBA_RemovePersistentBinding, SMHBA_ScsiInquiry, SMHBA_ScsiReadCapac‐
19 ity, SMHBA_ScsiReportLuns, SMHBA_SendECHO, SMHBA_SendSMPPassThru,
20 SMHBA_SendTEST, SMHBA_SetBindingSupport, SMHBA_SetPersistentBinding -
21 Common Storage Management HBA information library
22
24 cc [ flag... ] file... -lSMHBAAPI [ library... ]
25 #include <smhbaapi.h>
26
27
29 The functions in this library access Fibre Channel and/or Sereal
30 Attached SCSI HBA data depending on vendor provided implementation
31 underneath.
32
33
34 HBA information is provided through a standard interface in a vendor
35 independent manner. This common interface provides access to the fol‐
36 lowing information:
37
38 o Local HBA attributes
39
40 o Local HBA port attributes and statistics
41
42 o Mapping between discovered devices and operating system SCSI
43 information
44
45 o Discovered devices port attributes
46
47 o SCSI commands for discovered devices (Report LUNS, Read
48 Capacity, and Inquiry)
49
50 o Storage Managment Protocol commands to discover Serial
51 Attached SCSI configuration details
52
53 o Common Transport commands to discover Fibre Channel Fabric
54 details
55
57 The shared object libSMHBAAPI.so.1 provides the public interfaces
58 defined below. See Intro(3) for additional information on shared object
59 interfaces.
60
61
62
63
64 HBA_CloseAdapter HBA_FreeLibrary
65 HBA_GetAdapterName HBA_GetNumberOfAdapters
66
67 HBA_GetRNIDMgmtInfo HBA_LoadLibrary
68 HBA_OpenAdapter HBA_RefreshAdapterConfiguration
69 HBA_RefreshInformation HBA_RegisterForLinkEvents
70 HBA_RemoveCallback HBA_SendCTPassThruV2
71 HBA_SendLIRR HBA_SendRLS
72 HBA_SendRNIDV2 HBA_SendRPL
73 HBA_SendRPS HBA_SendSRL
74 HBA_SetRNIDMgmtInfo SMHBA_GetAdapterAttributes
75 SMHBA_GetAdapterPortAttributes SMHBA_GetBindingCapability
76 SMHBA_GetBindingSupport SMHBA_GetDiscoveredPortAttributes
77 SMHBA_GetFCPhyAttributes SMHBA_GetLUNStatistics
78 SMHBA_GetNumberofPorts SMHBA_GetPersistentBinding
79 SMHBA_GetPhyStatistics SMHBA_GetPortAttributesByWWN
80 SMHBA_GetPortType SMHBA_GetProtocolStatistics
81 SMHBA_GetSASPhyAttributes SMHBA_GetTargetMapping
82 SMHBA_GetVendorLibraryAttributes SMHBA_GetVersion
83 SMHBA_GetWrapperLibraryAttributes SMHBA_RegisterForAdapterAddEvents
84 SMHBA_RegisterForAdapterEvents SMHBA_RegisterForAdapterPhyStatEvents
85 SMHBA_RegisterForAdapterPortEvents SMHBA_RegisterForAdapterPortStatEvents
86 SMHBA_RegisterForTargetEvents SMHBA_RegisterLibrary
87 SMHBA_RemoveAllPersistentBindings SMHBA_RemovePersistentBinding
88 SMHBA_ScsiInquiry SMHBA_ScsiReadCapacity
89 SMHBA_ScsiReportLuns SMHBA_SendECHO
90 SMHBA_SendSMPPassThru SMHBA_SendTEST
91 SMHBA_SetBindingSupport SMHBA_SetPersistentBinding
92
93
95 Client applications link with the Common Library (using -lSMHBAAPI) to
96 access the interfaces. The Common Library dynamically loads individual
97 Vendor-Specific Libraries (VSL) listed in /etc/smhba.conf and described
98 on smhba.conf(4).
99
100
101 Using the libSMHBAAPI involves the following steps:
102
103 1. Optionally determining the version of the library by calling
104 SMHBA_GetVersion().
105
106 2. Initializing the Common Library by calling HBA_LoadLi‐
107 brary().
108
109 3. Determine the number of HBAs known to the common library by
110 calling HBA_GetNumberOfAdapters().
111
112 4. Determine each HBA name in turn by calling HBA_GetAdapter‐
113 Name().
114
115 5. Open each HBA in turn by calling HBA_OpenAdapter().
116
117 6. Operate on a given HBA by calling the following:
118
119 o SMHBA_GetAdapterAttributes()
120
121 o SMHBA_GetAdapterPortAttributes()
122
123 o SMHBA_GetDiscoveredPortAttributes()
124
125 o SMHBA_GetPortAttributesByWWN()
126
127 o SMHBA_GetNumberofPorts()
128
129 o SMHBA_GetPortType()
130
131 o SMHBA_GetProtocolStatistics()
132
133 o SMHBA_GetPhyStatistics()
134
135 o SMHBA_GetBindingCapability()
136
137 o SMHBA_GetBindingSupport()
138
139 o SMHBA_SetBindingSupport()
140
141 o SMHBA_GetTargetMapping()
142
143 o SMHBA_GetPersistentBinding()
144
145 o SMHBA_SetPersistentBinding()
146
147 o SMHBA_RemoveAllPersistentBindings()
148
149 o SMHBA_GetLUNStatistics()
150
151 o SMHBA_SendScsiInquiry()
152
153 o SMHBA_SendReportLuns()
154
155 o SMHBA_SendReadCapacity()
156
157 o SMHBA_RegisterForAdapterAddEvents()
158
159 o SMHBA_RegisterForAdapterEvents()
160
161 o SMHBA_RegisterForAdapterPortEvents()
162
163 o SMHBA_RegisterForAdapterPortStatEvents()
164
165 o SMHBA_RegisterForAdapterPhyStatEvents()
166
167 o SMHBA_RegisterForTargetEvents()
168
169 o HBA_RegisterForLinkEvents()
170
171 o HBA_RemoveCallback()
172 For Serial Attached HBA
173
174 o SMHBA_GetSASPhyAttributes()
175
176 o SMHBA_SendSMPPassThru()
177 For Fibre Channle HBA
178
179 o SMHBA_GetFCPhyAttributes()
180
181 o HBA_SendCTPassThruV2()
182
183 o HBA_SetRNIDMgmtInfo()
184
185 o HBA_GetRNIDMgmtInfo()
186
187 o HBA_SendRNIDV2()
188
189 o HBA_SendRPL()
190
191 o HBA_SendRPS()
192
193 o HBA_SendSRL()
194
195 o HBA_SendLIRR()
196
197 o HBA_SendRLS()
198
199 o HBA_SendTEST()
200
201 o HBA_SendECHO()
202
203 7. Close open HBAs by calling HBA_CloseAdapter().
204
205 8. Unload the library by calling HBA_FreeLibrary().
206
208 See attributes(5) for descriptions of the following attributes:
209
210
211
212
213 ┌─────────────────────────────┬─────────────────────────────┐
214 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
215 ├─────────────────────────────┼─────────────────────────────┤
216 │Availability │SUNWsmhba, SUNWsmhbar │
217 ├─────────────────────────────┼─────────────────────────────┤
218 │Interface Stability │Committed │
219 ├─────────────────────────────┼─────────────────────────────┤
220 │MT-Level │MT-Safe │
221 ├─────────────────────────────┼─────────────────────────────┤
222 │Standard │ANSI INCITS 428 Storage │
223 │ │Management Host Bus Adapter │
224 │ │Application Programming │
225 │ │Interface (SM-HBA) │
226 └─────────────────────────────┴─────────────────────────────┘
227
229 smhba.conf(4), attributes(5)
230
231
232
233SunOS 5.11 28 Sep 2009 libSMHBAAPI(3LIB)