xref: /onnv-gate/usr/src/lib/sun_fc/common/HBA_RegisterLibraryV2.cc (revision 7836:4e95154b5b7a)
1*7836SJohn.Forte@Sun.COM /*
2*7836SJohn.Forte@Sun.COM  * CDDL HEADER START
3*7836SJohn.Forte@Sun.COM  *
4*7836SJohn.Forte@Sun.COM  * The contents of this file are subject to the terms of the
5*7836SJohn.Forte@Sun.COM  * Common Development and Distribution License (the "License").
6*7836SJohn.Forte@Sun.COM  * You may not use this file except in compliance with the License.
7*7836SJohn.Forte@Sun.COM  *
8*7836SJohn.Forte@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*7836SJohn.Forte@Sun.COM  * or http://www.opensolaris.org/os/licensing.
10*7836SJohn.Forte@Sun.COM  * See the License for the specific language governing permissions
11*7836SJohn.Forte@Sun.COM  * and limitations under the License.
12*7836SJohn.Forte@Sun.COM  *
13*7836SJohn.Forte@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
14*7836SJohn.Forte@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*7836SJohn.Forte@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
16*7836SJohn.Forte@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
17*7836SJohn.Forte@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
18*7836SJohn.Forte@Sun.COM  *
19*7836SJohn.Forte@Sun.COM  * CDDL HEADER END
20*7836SJohn.Forte@Sun.COM  */
21*7836SJohn.Forte@Sun.COM /*
22*7836SJohn.Forte@Sun.COM  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23*7836SJohn.Forte@Sun.COM  * Use is subject to license terms.
24*7836SJohn.Forte@Sun.COM  */
25*7836SJohn.Forte@Sun.COM 
26*7836SJohn.Forte@Sun.COM 
27*7836SJohn.Forte@Sun.COM 
28*7836SJohn.Forte@Sun.COM #include "sun_fc.h"
29*7836SJohn.Forte@Sun.COM #include "Trace.h"
30*7836SJohn.Forte@Sun.COM 
31*7836SJohn.Forte@Sun.COM /**
32*7836SJohn.Forte@Sun.COM  * @memo	    Entry points for the V2 API
33*7836SJohn.Forte@Sun.COM  * @postcondition   entrypoints contains the function pointers to this API
34*7836SJohn.Forte@Sun.COM  * @return	    HBA_STATUS_OK if entrypoints updated
35*7836SJohn.Forte@Sun.COM  * @param	    entrypoints The user-allocated buffer to store the API
36*7836SJohn.Forte@Sun.COM  *
37*7836SJohn.Forte@Sun.COM  */
HBA_RegisterLibraryV2(PHBA_ENTRYPOINTSV2 entrypoints)38*7836SJohn.Forte@Sun.COM HBA_STATUS HBA_RegisterLibraryV2(PHBA_ENTRYPOINTSV2 entrypoints) {
39*7836SJohn.Forte@Sun.COM     Trace log("HBA_RegisterLibrary");
40*7836SJohn.Forte@Sun.COM     entrypoints->GetVersionHandler = Sun_fcGetVersion;
41*7836SJohn.Forte@Sun.COM     entrypoints->LoadLibraryHandler = Sun_fcLoadLibrary;
42*7836SJohn.Forte@Sun.COM     entrypoints->FreeLibraryHandler = Sun_fcFreeLibrary;
43*7836SJohn.Forte@Sun.COM     entrypoints->GetNumberOfAdaptersHandler = Sun_fcGetNumberOfAdapters;
44*7836SJohn.Forte@Sun.COM     entrypoints->GetAdapterNameHandler = Sun_fcGetAdapterName;
45*7836SJohn.Forte@Sun.COM     entrypoints->OpenAdapterHandler = Sun_fcOpenAdapter;
46*7836SJohn.Forte@Sun.COM     entrypoints->CloseAdapterHandler = Sun_fcCloseAdapter;
47*7836SJohn.Forte@Sun.COM     entrypoints->GetAdapterAttributesHandler = Sun_fcGetAdapterAttributes;
48*7836SJohn.Forte@Sun.COM     entrypoints->GetAdapterPortAttributesHandler =
49*7836SJohn.Forte@Sun.COM 	    Sun_fcGetAdapterPortAttributes;
50*7836SJohn.Forte@Sun.COM     entrypoints->GetPortStatisticsHandler = Sun_fcGetPortStatistics;
51*7836SJohn.Forte@Sun.COM     entrypoints->GetDiscoveredPortAttributesHandler =
52*7836SJohn.Forte@Sun.COM 	    Sun_fcGetDiscoveredPortAttributes;
53*7836SJohn.Forte@Sun.COM     entrypoints->GetPortAttributesByWWNHandler = Sun_fcGetPortAttributesByWWN;
54*7836SJohn.Forte@Sun.COM     entrypoints->SendCTPassThruHandler = Sun_fcSendCTPassThru;
55*7836SJohn.Forte@Sun.COM     entrypoints->RefreshInformationHandler = Sun_fcRefreshInformation;
56*7836SJohn.Forte@Sun.COM     entrypoints->ResetStatisticsHandler = Sun_fcResetStatistics;
57*7836SJohn.Forte@Sun.COM     entrypoints->GetFcpTargetMappingHandler = Sun_fcGetFcpTargetMapping;
58*7836SJohn.Forte@Sun.COM     entrypoints->GetFcpPersistentBindingHandler = Sun_fcGetFcpPersistentBinding;
59*7836SJohn.Forte@Sun.COM     entrypoints->GetEventBufferHandler = Sun_fcGetEventBuffer;
60*7836SJohn.Forte@Sun.COM     entrypoints->SetRNIDMgmtInfoHandler = Sun_fcSetRNIDMgmtInfo;
61*7836SJohn.Forte@Sun.COM     entrypoints->GetRNIDMgmtInfoHandler = Sun_fcGetRNIDMgmtInfo;
62*7836SJohn.Forte@Sun.COM     entrypoints->SendRNIDHandler = Sun_fcSendRNID;
63*7836SJohn.Forte@Sun.COM     entrypoints->ScsiInquiryHandler = Sun_fcSendScsiInquiry;
64*7836SJohn.Forte@Sun.COM     entrypoints->ReportLUNsHandler = Sun_fcSendReportLUNs;
65*7836SJohn.Forte@Sun.COM     entrypoints->ReadCapacityHandler = Sun_fcSendReadCapacity;
66*7836SJohn.Forte@Sun.COM     entrypoints->OpenAdapterByWWNHandler = Sun_fcOpenAdapterByWWN;
67*7836SJohn.Forte@Sun.COM     entrypoints->GetFcpTargetMappingV2Handler = Sun_fcGetFcpTargetMappingV2;
68*7836SJohn.Forte@Sun.COM     entrypoints->SendCTPassThruV2Handler = Sun_fcSendCTPassThruV2;
69*7836SJohn.Forte@Sun.COM     entrypoints->RefreshAdapterConfigurationHandler =
70*7836SJohn.Forte@Sun.COM 	Sun_fcRefreshAdapterConfiguration;
71*7836SJohn.Forte@Sun.COM     entrypoints->GetBindingCapabilityHandler = Sun_fcGetBindingCapability;
72*7836SJohn.Forte@Sun.COM     entrypoints->GetBindingSupportHandler = Sun_fcGetBindingSupport;
73*7836SJohn.Forte@Sun.COM     entrypoints->SetBindingSupportHandler = Sun_fcSetBindingSupport;
74*7836SJohn.Forte@Sun.COM     entrypoints->SetPersistentBindingV2Handler = Sun_fcSetPersistentBindingV2;
75*7836SJohn.Forte@Sun.COM     entrypoints->GetPersistentBindingV2Handler = Sun_fcGetPersistentBindingV2;
76*7836SJohn.Forte@Sun.COM     entrypoints->RemovePersistentBindingHandler = Sun_fcRemovePersistentBinding;
77*7836SJohn.Forte@Sun.COM     entrypoints->RemoveAllPersistentBindingsHandler =
78*7836SJohn.Forte@Sun.COM 	Sun_fcRemoveAllPersistentBindings;
79*7836SJohn.Forte@Sun.COM     entrypoints->SendRNIDV2Handler = Sun_fcSendRNIDV2;
80*7836SJohn.Forte@Sun.COM     entrypoints->ScsiInquiryV2Handler = Sun_fcScsiInquiryV2;
81*7836SJohn.Forte@Sun.COM     entrypoints->ScsiReportLUNsV2Handler = Sun_fcScsiReportLUNsV2;
82*7836SJohn.Forte@Sun.COM     entrypoints->ScsiReadCapacityV2Handler = Sun_fcScsiReadCapacityV2;
83*7836SJohn.Forte@Sun.COM     entrypoints->GetVendorLibraryAttributesHandler =
84*7836SJohn.Forte@Sun.COM 	Sun_fcGetVendorLibraryAttributes;
85*7836SJohn.Forte@Sun.COM     entrypoints->RemoveCallbackHandler = Sun_fcRemoveCallback;
86*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForAdapterAddEventsHandler =
87*7836SJohn.Forte@Sun.COM 	Sun_fcRegisterForAdapterAddEvents;
88*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForAdapterEventsHandler =
89*7836SJohn.Forte@Sun.COM 	Sun_fcRegisterForAdapterEvents;
90*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForAdapterPortEventsHandler =
91*7836SJohn.Forte@Sun.COM 	Sun_fcRegisterForAdapterPortEvents;
92*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForAdapterPortStatEventsHandler =
93*7836SJohn.Forte@Sun.COM 	Sun_fcRegisterForAdapterPortStatEvents;
94*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForTargetEventsHandler = Sun_fcRegisterForTargetEvents;
95*7836SJohn.Forte@Sun.COM     entrypoints->RegisterForLinkEventsHandler = Sun_fcRegisterForLinkEvents;
96*7836SJohn.Forte@Sun.COM     entrypoints->SendRLSHandler = Sun_fcSendRLS;
97*7836SJohn.Forte@Sun.COM     entrypoints->SendRPLHandler = Sun_fcSendRPL;
98*7836SJohn.Forte@Sun.COM     entrypoints->SendRPSHandler = Sun_fcSendRPS;
99*7836SJohn.Forte@Sun.COM     entrypoints->SendSRLHandler = Sun_fcSendSRL;
100*7836SJohn.Forte@Sun.COM     entrypoints->SendLIRRHandler = Sun_fcSendLIRR;
101*7836SJohn.Forte@Sun.COM     entrypoints->GetFC4StatisticsHandler = Sun_fcGetFC4Statistics;
102*7836SJohn.Forte@Sun.COM     entrypoints->GetFCPStatisticsHandler = Sun_fcGetFCPStatistics;
103*7836SJohn.Forte@Sun.COM     return (HBA_STATUS_OK);
104*7836SJohn.Forte@Sun.COM }
105