16659 Clean up minor issues in prototype.man3x
[illumos-gate.git] / usr / src / man / man3lib / libMPAPI.3lib
blobbe5b2fad9479e7188c41430dac39413ed0e6bad7
1 '\" te
2 .\" Copyright (c) 2004-2006 Storage Networking Industry Association. All Rights Reserved.
3 .\" Copyright (c) 2006, Sun Microsystems, Inc.  All Rights Reserved.
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH LIBMPAPI 3LIB "June 13, 2021"
8 .SH NAME
9 libMPAPI, libmpapi \- Common Multipath Management library
10 .SH SYNOPSIS
11 .nf
12 cc [ \fIflag\fR... ] \fIfile\fR... \fB-lMPAPI\fR [ \fIlibrary\fR... ]
13 #include <\fBmpapi.h\fR>
14 #include <\fBmpapi-sun.h\fR>
15 .fi
17 .SH DESCRIPTION
18 The functions in this library allow a management application to administer the
19 multipath devices and associated resources through standard interfaces,
20 independent of a vendor-unique multipathing solution.
21 .SH INTERFACES
22 The shared object \fBlibMPAPI.so.1\fR provides the public interfaces defined
23 below. See \fBIntro\fR(3) for additional information on shared object
24 interfaces.
25 .br
26 .in +2
27 \fBMP_AssignLogicalUnitToTPG\fR
28 .in -2
29 .br
30 .in +2
31 \fBMP_CancelOverridePath\fR
32 .in -2
33 .br
34 .in +2
35 \fBMP_CompareOIDs\fR
36 .in -2
37 .br
38 .in +2
39 \fBMP_DeregisterForObjectPropertyChanges\fR
40 .in -2
41 .br
42 .in +2
43 \fBMP_DeregisterForObjectVisibilityChanges\fR
44 .in -2
45 .br
46 .in +2
47 \fBMP_DeregisterPlugin\fR
48 .in -2
49 .br
50 .in +2
51 \fBMP_DisableAutoFailback\fR
52 .in -2
53 .br
54 .in +2
55 \fBMP_DisableAutoProbing\fR
56 .in -2
57 .br
58 .in +2
59 \fBMP_DisablePath\fR
60 .in -2
61 .br
62 .in +2
63 \fBMP_EnableAutoFailback\fR
64 .in -2
65 .br
66 .in +2
67 \fBMP_EnableAutoProbing\fR
68 .in -2
69 .br
70 .in +2
71 \fBMP_EnablePath\fR
72 .in -2
73 .br
74 .in +2
75 \fBMP_FreeOidList\fR
76 .in -2
77 .br
78 .in +2
79 \fBMP_GetAssociatedPathOidList\fR
80 .in -2
81 .br
82 .in +2
83 \fBMP_GetAssociatedPluginOid\fR
84 .in -2
85 .br
86 .in +2
87 \fBMP_GetAssociatedTPGOidList\fR
88 .in -2
89 .br
90 .in +2
91 \fBMP_GetDeviceProductOidList\fR
92 .in -2
93 .br
94 .in +2
95 \fBMP_GetDeviceProductProperties\fR
96 .in -2
97 .br
98 .in +2
99 \fBMP_GetInitiatorPortOidList\fR
100 .in -2
102 .in +2
103 \fBMP_GetInitiatorPortProperties\fR
104 .in -2
106 .in +2
107 \fBMP_GetLibraryProperties\fR
108 .in -2
110 .in +2
111 \fBMP_GetMPLogicalUnitProperties\fR
112 .in -2
114 .in +2
115 \fBMP_GetMPLuOidListFromTPG\fR
116 .in -2
118 .in +2
119 \fBMP_GetMultipathLus\fR
120 .in -2
122 .in +2
123 \fBMP_GetObjectType\fR
124 .in -2
126 .in +2
127 \fBMP_GetPathLogicalUnitProperties\fR
128 .in -2
130 .in +2
131 \fBMP_GetPluginOidList\fR
132 .in -2
134 .in +2
135 \fBMP_GetPluginProperties\fR
136 .in -2
138 .in +2
139 \fBMP_GetProprietaryLoadBalanceOidList\fR
140 .in -2
142 .in +2
143 \fBMP_GetProprietaryLoadBalanceProperties\fR
144 .in -2
146 .in +2
147 \fBMP_GetTargetPortGroupProperties\fR
148 .in -2
150 .in +2
151 \fBMP_GetTargetPortOidList\fR
152 .in -2
154 .in +2
155 \fBMP_GetTargetPortProperties\fR
156 .in -2
158 .in +2
159 \fBMP_RegisterForObjectPropertyChanges\fR
160 .in -2
162 .in +2
163 \fBMP_RegisterForObjectVisibilityChanges\fR
164 .in -2
166 .in +2
167 \fBMP_RegisterPlugin\fR
168 .in -2
170 .in +2
171 \fBMP_SetFailbackPollingRate\fR
172 .in -2
174 .in +2
175 \fBMP_SetLogicalUnitLoadBalanceType\fR
176 .in -2
178 .in +2
179 \fBMP_SetOverridePath\fR
180 .in -2
182 .in +2
183 \fBMP_SetPathWeight\fR
184 .in -2
186 .in +2
187 \fBMP_SetPluginLoadBalanceType\fR
188 .in -2
190 .in +2
191 \fBMP_SetProbingPollingRate\fR
192 .in -2
194 .in +2
195 \fBMP_SetProprietaryProperties\fR
196 .in -2
198 .in +2
199 \fBMP_SetTPGAccess\fR
200 .in -2
202 .in +2
203 \fBSun_MP_SendScsiCmd\fR
204 .in -2
205 .SH USAGE
206 Client applications link with the Common Library (using \fB-lMPAPI\fR) to
207 access the interfaces.  The Common Library dynamically loads an individual
208 vendor-provided plugin library that is available through
209 \fBMP_RegisterPlugin\fR(3MPAPI) on the host system.
212 Using \fBlibMPAPI\fR involves the following steps:
213 .RS +4
216 Optionally calling \fBMP_GetLibraryProperties()\fR to retrieve the
217 properties of the Common Library.
219 .RS +4
222 Calling \fBMP_GetPluginOidList()\fR to retrieve the registered plugin
223 libraries.
225 .RS +4
228 Optionally calling \fBMP_GetPluginProperties()\fR to retrieve the properties
229 of the plugin library.
231 .RS +4
234 Retrieve discovery information and property information on multipath devices
235 and associated resources by calling the following:
236 .RS +4
238 .ie t \(bu
239 .el o
240 \fBMP_GetAssociatedPathOidList()\fR
242 .RS +4
244 .ie t \(bu
245 .el o
246 \fBMP_GetAssociatedTPGOidList()\fR
248 .RS +4
250 .ie t \(bu
251 .el o
252 \fBMP_GetDeviceProductOidList()\fR
254 .RS +4
256 .ie t \(bu
257 .el o
258 \fBMP_GetDeviceProductProperties()\fR
260 .RS +4
262 .ie t \(bu
263 .el o
264 \fBMP_GetInitiatorPortOidList()\fR
266 .RS +4
268 .ie t \(bu
269 .el o
270 \fBMP_GetInitiatorPortProperties()\fR
272 .RS +4
274 .ie t \(bu
275 .el o
276 \fBMP_GetMPLuOidListFromTPG()\fR
278 .RS +4
280 .ie t \(bu
281 .el o
282 \fBMP_GetMPLogicalUnitProperties()\fR
284 .RS +4
286 .ie t \(bu
287 .el o
288 \fBMP_GetMultipathLus()\fR
290 .RS +4
292 .ie t \(bu
293 .el o
294 \fBMP_GetPathLogicalUnitProperties()\fR
296 .RS +4
298 .ie t \(bu
299 .el o
300 \fBMP_GetProprietaryLoadBalanceOidList()\fR
302 .RS +4
304 .ie t \(bu
305 .el o
306 \fBMP_GetProprietaryLoadBalanceProperties()\fR
308 .RS +4
310 .ie t \(bu
311 .el o
312 \fBMP_GetTargetPortGroupProperties()\fR
314 .RS +4
316 .ie t \(bu
317 .el o
318 \fBMP_GetTargetPortOidList()\fR
320 .RS +4
322 .ie t \(bu
323 .el o
324 \fBMP_GetTargetPortProperties()\fR
327 .RS +4
330 Register and deregister for property and visibility changes on multipath
331 devices and associated resources by calling:
332 .RS +4
334 .ie t \(bu
335 .el o
336 \fBMP_RegisterForObjectPropertyChanges()\fR
338 .RS +4
340 .ie t \(bu
341 .el o
342 \fBMP_RegisterForObjectVisibilityChanges()\fR
344 .RS +4
346 .ie t \(bu
347 .el o
348 \fBMP_DeregisterForObjectPropertyChanges()\fR
350 .RS +4
352 .ie t \(bu
353 .el o
354 \fBMP_DeregisterForObjectVisibilityChanges()\fR
357 .RS +4
360 Perform administrative operations on multipath devices and associated
361 resources by calling:
362 .RS +4
364 .ie t \(bu
365 .el o
366 \fBMP_AssignLogicalUnitToTPG()\fR
368 .RS +4
370 .ie t \(bu
371 .el o
372 \fBMP_CancelOverridePath()\fR
374 .RS +4
376 .ie t \(bu
377 .el o
378 \fBMP_DisableAutoFailback()\fR
380 .RS +4
382 .ie t \(bu
383 .el o
384 \fBMP_DisableAutoProbing()\fR
386 .RS +4
388 .ie t \(bu
389 .el o
390 \fBMP_DisablePath()\fR
392 .RS +4
394 .ie t \(bu
395 .el o
396 \fBMP_EnableAutoFailback()\fR
398 .RS +4
400 .ie t \(bu
401 .el o
402 \fBMP_EnableAutoProbing()\fR
404 .RS +4
406 .ie t \(bu
407 .el o
408 \fBMP_EnablePath()\fR
410 .RS +4
412 .ie t \(bu
413 .el o
414 \fBMP_SetLogicalUnitLoadBalanceType()\fR
416 .RS +4
418 .ie t \(bu
419 .el o
420 \fBMP_SetOverridePath()\fR
422 .RS +4
424 .ie t \(bu
425 .el o
426 \fBMP_SetPathWeight()\fR
428 .RS +4
430 .ie t \(bu
431 .el o
432 \fBMP_SetPluginLoadBalanceType()\fR
434 .RS +4
436 .ie t \(bu
437 .el o
438 \fBMP_SetFailbackPollingRate()\fR
440 .RS +4
442 .ie t \(bu
443 .el o
444 \fBMP_SetProbingPollingRate()\fR
446 .RS +4
448 .ie t \(bu
449 .el o
450 \fBMP_SetProprietaryProperties()\fR
452 .RS +4
454 .ie t \(bu
455 .el o
456 \fBMP_SetTPGAccess()\fR
458 .RS +4
460 .ie t \(bu
461 .el o
462 \fBSun_MP_SendScsiCmd()\fR
465 .SH ERRORS
466 Errors are generally returned from the underlying VSL and can include any of
467 the following values:
469 .ne 2
471 \fB\fBMP_STATUS_SUCCESS\fR\fR
473 .sp .6
474 .RS 4n
475 This status value is returned when the requested operation is successfully
476 carried out.
480 .ne 2
482 \fB\fBMP_STATUS_INVALID_PARAMETER\fR\fR
484 .sp .6
485 .RS 4n
486 This status value is returned when parameters passed to an API are detected to
487 be invalid or inappropriate for a particular API parameter. If the parameter is
488 an object ID, this status indicates that the object type subfield is defined in
489 this specification, but is not appropriate for this API.
493 .ne 2
495 \fB\fBMP_STATUS_UNKNOWN_FN\fR\fR
497 .sp .6
498 .RS 4n
499 This status value is returned when a client function passed into the API is not
500 a previously registered or known function.
504 .ne 2
506 \fB\fBMP_STATUS_FAILED\fR\fR
508 .sp .6
509 .RS 4n
510 This status value is returned when the requested operation could not be carried
511 out.
515 .ne 2
517 \fB\fBMP_STATUS_INSUFFICIENT_MEMORY\fR\fR
519 .sp .6
520 .RS 4n
521 This status value is returned when the API could [not] allocate the memory
522 required to complete the requested operation.
526 .ne 2
528 \fB\fBMP_STATUS_INVALID_OBJECT_TYPE\fR\fR
530 .sp .6
531 .RS 4n
532 This status value is returned when an object ID includes a type subfield that
533 is not defined in this specification.
537 .ne 2
539 \fB\fBMP_STATUS_OBJECT_NOT_FOUND\fR\fR
541 .sp .6
542 .RS 4n
543 This status value is returned when the object associated with the ID specified
544 in the API could not be located, or has been deleted. Note that an invalid
545 object type is covered by \fBMP_STATUS_INVALID_OBJECT_TYPE\fR so this status is
546 limited to an invalid object owner identifier or sequence number.
550 .ne 2
552 \fB\fBMP_STATUS_UNSUPPORTED\fR\fR
554 .sp .6
555 .RS 4n
556 This status value is returned when the implementation does not support the
557 requested function.
561 .ne 2
563 \fB\fBMP_STATUS_FN_REPLACED\fR\fR
565 .sp .6
566 .RS 4n
567 This status value is returned when a client function passed into the API
568 replaces a previously registered function.
572 .ne 2
574 \fB\fBMP_STATUS_ACCESS_STATE_INVALID\fR\fR
576 .sp .6
577 .RS 4n
578 This status value is returned when a device processing \fBMP_SetTPGAccess\fR
579 returns a status indicating that the caller is attempting to establish an
580 illegal combination of access states.
584 .ne 2
586 \fB\fBMP_STATUS_PATH_NONOPERATIONAL\fR\fR
588 .sp .6
589 .RS 4n
590 This status is returned when communication cannot be established with the path
591 selected by the caller.
595 .ne 2
597 \fB\fBMP_STATUS_TRY_AGAIN\fR\fR
599 .sp .6
600 .RS 4n
601 This status is returned when the plugin or driver is unable to complete the
602 request, but might be able to complete it later.
606 .ne 2
608 \fB\fBMP_STATUS_NOT_PERMITTED\fR\fR
610 .sp .6
611 .RS 4n
612 The operation is not permitted in the current configuration, but might be
613 permitted in other configurations.
616 .SH FILES
617 .ne 2
619 \fB\fB/usr/lib/libMPAPI.so\fR\fR
621 .RS 27n
622 shared object
626 .ne 2
628 \fB\fB/usr/lib/64/libMPAPI.so\fR\fR
630 .RS 27n
631 64-bit shared object
634 .SH ATTRIBUTES
635 See \fBattributes\fR(7) for descriptions of the following attributes:
640 box;
641 c | c
642 l | l .
643 ATTRIBUTE TYPE  ATTRIBUTE VALUE
645 Interface Stability     Committed
646 MT-Level        Safe
648 Standard        T{
649 ANSI INCITS 412 Multipath Management API (except for \fBSun_MP_SendScsiCmd\fR)
653 .SH SEE ALSO
654 .BR Intro (3),
655 .BR MP_RegisterPlugin (3MPAPI),
656 .BR attributes (7)
659 \fIMultipath Management API Version 1.0\fR