1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22/*
23 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#include    <sun_sas.h>
28
29HBA_STATUS
30SMHBA_RegisterLibrary(PSMHBA_ENTRYPOINTS entrypoints)
31{
32	entrypoints->GetVersionHandler = Sun_sasGetVersion;
33	entrypoints->LoadLibraryHandler = Sun_sasLoadLibrary;
34	entrypoints->FreeLibraryHandler = Sun_sasFreeLibrary;
35	entrypoints->GetNumberOfAdaptersHandler = Sun_sasGetNumberOfAdapters;
36	entrypoints->RefreshInformationHandler = Sun_sasRefreshInformation;
37	entrypoints->GetVendorLibraryAttributesHandler =
38	    Sun_sasGetVendorLibraryAttributes;
39	entrypoints->GetAdapterNameHandler = Sun_sasGetAdapterName;
40	entrypoints->OpenAdapterHandler = Sun_sasOpenAdapter;
41	entrypoints->CloseAdapterHandler = Sun_sasCloseAdapter;
42	entrypoints->GetAdapterAttributesHandler = Sun_sasGetAdapterAttributes;
43	entrypoints->GetNumberOfPortsHandler = Sun_sasGetNumberOfPorts;
44	entrypoints->GetPortTypeHandler = Sun_sasGetPortType;
45	entrypoints->GetAdapterPortAttributesHandler =
46	    Sun_sasGetAdapterPortAttributes;
47	entrypoints->GetDiscoveredPortAttributesHandler =
48	    Sun_sasGetDiscoveredPortAttributes;
49	entrypoints->GetPortAttributesByWWNHandler =
50	    Sun_sasGetPortAttributesByWWN;
51	entrypoints->GetFCPhyAttributesHandler = NULL;
52	entrypoints->GetSASPhyAttributesHandler = Sun_sasGetSASPhyAttributes;
53	entrypoints->GetProtocolStatisticsHandler =
54	    Sun_sasGetProtocolStatistics;
55	entrypoints->GetPhyStatisticsHandler = Sun_sasGetPhyStatistics;
56	entrypoints->SendCTPassThruV2Handler = NULL;
57	entrypoints->SetRNIDMgmtInfoHandler = NULL;
58	entrypoints->GetRNIDMgmtInfoHandler = NULL;
59	entrypoints->SendRNIDV2Handler = NULL;
60	entrypoints->SendRPLHandler = NULL;
61	entrypoints->SendRPSHandler = NULL;
62	entrypoints->SendSRLHandler = NULL;
63	entrypoints->SendLIRRHandler = NULL;
64	entrypoints->SendRLSHandler = NULL;
65	entrypoints->SendTESTHandler = NULL;
66	entrypoints->SendECHOHandler = NULL;
67	entrypoints->SendSMPPassThruHandler = Sun_sasSendSMPPassThru;
68	entrypoints->GetBindingCapabilityHandler = NULL;
69		/* Sun_sasGetBindingCapability; */
70	entrypoints->GetBindingSupportHandler = NULL;
71	entrypoints->SetBindingSupportHandler = NULL;
72		/* Sun_sasSetBindingSupport; */
73	entrypoints->GetTargetMappingHandler = Sun_sasGetTargetMapping;
74	entrypoints->SetPersistentBindingHandler = Sun_sasSetPersistentBinding;
75	entrypoints->GetPersistentBindingHandler = Sun_sasGetPersistentBinding;
76	entrypoints->RemovePersistentBindingHandler = NULL;
77		/* Sun_sasRemovePersistentBinding; */
78	entrypoints->RemoveAllPersistentBindingsHandler = NULL;
79		/* Sun_sasRemoveAllPersistentBindings; */
80	entrypoints->GetLUNStatisticsHandler = Sun_sasGetLUNStatistics;
81	entrypoints->ScsiInquiryHandler = Sun_sasScsiInquiry;
82	entrypoints->ScsiReportLUNsHandler = Sun_sasScsiReportLUNs;
83	entrypoints->ScsiReadCapacityHandler = Sun_sasScsiReadCapacity;
84	entrypoints->RegisterForAdapterAddEventsHandler = NULL;
85		/* Sun_sasRegisterForAdapterAddEvents; */
86	entrypoints->RegisterForAdapterEventsHandler = NULL;
87		/* Sun_sasRegisterForAdapterEvents; */
88	entrypoints->RegisterForAdapterPortEventsHandler = NULL;
89		/* Sun_sasRegisterForAdapterPortEvents; */
90	entrypoints->RegisterForAdapterPortStatEventsHandler = NULL;
91		/* Sun_sasRegisterForAdapterPortStatEvents; */
92	entrypoints->RegisterForAdapterPhyStatEventsHandler = NULL;
93		/* Sun_sasRegisterForAdapterPhyStatEvents; */
94	entrypoints->RegisterForTargetEventsHandler = NULL;
95		/* Sun_sasRegisterForTargetEvents; */
96	entrypoints->RegisterForLinkEventsHandler = NULL;
97		/* Sun_sasRegisterForLinkEvents; */
98	entrypoints->RemoveCallbackHandler = NULL; /* Sun_sasRemoveCallback; */
99	return (HBA_STATUS_OK);
100}
101