OpenSolaris_b135/lib/sun_sas/common/SMHBA_RegisterLibrary.c

/*
 * CDDL HEADER START
 *
 * 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.
 *
 * 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.
 *
 * 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]
 *
 * CDDL HEADER END
 */

/*
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#include    <sun_sas.h>

HBA_STATUS
SMHBA_RegisterLibrary(PSMHBA_ENTRYPOINTS entrypoints)
{
	entrypoints->GetVersionHandler = Sun_sasGetVersion;
	entrypoints->LoadLibraryHandler = Sun_sasLoadLibrary;
	entrypoints->FreeLibraryHandler = Sun_sasFreeLibrary;
	entrypoints->GetNumberOfAdaptersHandler = Sun_sasGetNumberOfAdapters;
	entrypoints->RefreshInformationHandler = Sun_sasRefreshInformation;
	entrypoints->GetVendorLibraryAttributesHandler =
	    Sun_sasGetVendorLibraryAttributes;
	entrypoints->GetAdapterNameHandler = Sun_sasGetAdapterName;
	entrypoints->OpenAdapterHandler = Sun_sasOpenAdapter;
	entrypoints->CloseAdapterHandler = Sun_sasCloseAdapter;
	entrypoints->GetAdapterAttributesHandler = Sun_sasGetAdapterAttributes;
	entrypoints->GetNumberOfPortsHandler = Sun_sasGetNumberOfPorts;
	entrypoints->GetPortTypeHandler = Sun_sasGetPortType;
	entrypoints->GetAdapterPortAttributesHandler =
	    Sun_sasGetAdapterPortAttributes;
	entrypoints->GetDiscoveredPortAttributesHandler =
	    Sun_sasGetDiscoveredPortAttributes;
	entrypoints->GetPortAttributesByWWNHandler =
	    Sun_sasGetPortAttributesByWWN;
	entrypoints->GetFCPhyAttributesHandler = NULL;
	entrypoints->GetSASPhyAttributesHandler = Sun_sasGetSASPhyAttributes;
	entrypoints->GetProtocolStatisticsHandler =
	    Sun_sasGetProtocolStatistics;
	entrypoints->GetPhyStatisticsHandler = Sun_sasGetPhyStatistics;
	entrypoints->SendCTPassThruV2Handler = NULL;
	entrypoints->SetRNIDMgmtInfoHandler = NULL;
	entrypoints->GetRNIDMgmtInfoHandler = NULL;
	entrypoints->SendRNIDV2Handler = NULL;
	entrypoints->SendRPLHandler = NULL;
	entrypoints->SendRPSHandler = NULL;
	entrypoints->SendSRLHandler = NULL;
	entrypoints->SendLIRRHandler = NULL;
	entrypoints->SendRLSHandler = NULL;
	entrypoints->SendTESTHandler = NULL;
	entrypoints->SendECHOHandler = NULL;
	entrypoints->SendSMPPassThruHandler = Sun_sasSendSMPPassThru;
	entrypoints->GetBindingCapabilityHandler = NULL;
		/* Sun_sasGetBindingCapability; */
	entrypoints->GetBindingSupportHandler = NULL;
	entrypoints->SetBindingSupportHandler = NULL;
		/* Sun_sasSetBindingSupport; */
	entrypoints->GetTargetMappingHandler = Sun_sasGetTargetMapping;
	entrypoints->SetPersistentBindingHandler = Sun_sasSetPersistentBinding;
	entrypoints->GetPersistentBindingHandler = Sun_sasGetPersistentBinding;
	entrypoints->RemovePersistentBindingHandler = NULL;
		/* Sun_sasRemovePersistentBinding; */
	entrypoints->RemoveAllPersistentBindingsHandler = NULL;
		/* Sun_sasRemoveAllPersistentBindings; */
	entrypoints->GetLUNStatisticsHandler = Sun_sasGetLUNStatistics;
	entrypoints->ScsiInquiryHandler = Sun_sasScsiInquiry;
	entrypoints->ScsiReportLUNsHandler = Sun_sasScsiReportLUNs;
	entrypoints->ScsiReadCapacityHandler = Sun_sasScsiReadCapacity;
	entrypoints->RegisterForAdapterAddEventsHandler = NULL;
		/* Sun_sasRegisterForAdapterAddEvents; */
	entrypoints->RegisterForAdapterEventsHandler = NULL;
		/* Sun_sasRegisterForAdapterEvents; */
	entrypoints->RegisterForAdapterPortEventsHandler = NULL;
		/* Sun_sasRegisterForAdapterPortEvents; */
	entrypoints->RegisterForAdapterPortStatEventsHandler = NULL;
		/* Sun_sasRegisterForAdapterPortStatEvents; */
	entrypoints->RegisterForAdapterPhyStatEventsHandler = NULL;
		/* Sun_sasRegisterForAdapterPhyStatEvents; */
	entrypoints->RegisterForTargetEventsHandler = NULL;
		/* Sun_sasRegisterForTargetEvents; */
	entrypoints->RegisterForLinkEventsHandler = NULL;
		/* Sun_sasRegisterForLinkEvents; */
	entrypoints->RemoveCallbackHandler = NULL; /* Sun_sasRemoveCallback; */
	return (HBA_STATUS_OK);
}