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