/*
* 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 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include "sun_fc.h"
#include "Trace.h"
/**
* @memo Entry points for the V2 API
* @postcondition entrypoints contains the function pointers to this API
* @return HBA_STATUS_OK if entrypoints updated
* @param entrypoints The user-allocated buffer to store the API
*
*/
HBA_STATUS HBA_RegisterLibraryV2(PHBA_ENTRYPOINTSV2 entrypoints) {
Trace log("HBA_RegisterLibrary");
entrypoints->GetVersionHandler = Sun_fcGetVersion;
entrypoints->LoadLibraryHandler = Sun_fcLoadLibrary;
entrypoints->FreeLibraryHandler = Sun_fcFreeLibrary;
entrypoints->GetNumberOfAdaptersHandler = Sun_fcGetNumberOfAdapters;
entrypoints->GetAdapterNameHandler = Sun_fcGetAdapterName;
entrypoints->OpenAdapterHandler = Sun_fcOpenAdapter;
entrypoints->CloseAdapterHandler = Sun_fcCloseAdapter;
entrypoints->GetAdapterAttributesHandler = Sun_fcGetAdapterAttributes;
entrypoints->GetAdapterPortAttributesHandler =
Sun_fcGetAdapterPortAttributes;
entrypoints->GetPortStatisticsHandler = Sun_fcGetPortStatistics;
entrypoints->GetDiscoveredPortAttributesHandler =
Sun_fcGetDiscoveredPortAttributes;
entrypoints->GetPortAttributesByWWNHandler = Sun_fcGetPortAttributesByWWN;
entrypoints->SendCTPassThruHandler = Sun_fcSendCTPassThru;
entrypoints->RefreshInformationHandler = Sun_fcRefreshInformation;
entrypoints->ResetStatisticsHandler = Sun_fcResetStatistics;
entrypoints->GetFcpTargetMappingHandler = Sun_fcGetFcpTargetMapping;
entrypoints->GetFcpPersistentBindingHandler = Sun_fcGetFcpPersistentBinding;
entrypoints->GetEventBufferHandler = Sun_fcGetEventBuffer;
entrypoints->SetRNIDMgmtInfoHandler = Sun_fcSetRNIDMgmtInfo;
entrypoints->GetRNIDMgmtInfoHandler = Sun_fcGetRNIDMgmtInfo;
entrypoints->SendRNIDHandler = Sun_fcSendRNID;
entrypoints->ScsiInquiryHandler = Sun_fcSendScsiInquiry;
entrypoints->ReportLUNsHandler = Sun_fcSendReportLUNs;
entrypoints->ReadCapacityHandler = Sun_fcSendReadCapacity;
entrypoints->OpenAdapterByWWNHandler = Sun_fcOpenAdapterByWWN;
entrypoints->GetFcpTargetMappingV2Handler = Sun_fcGetFcpTargetMappingV2;
entrypoints->SendCTPassThruV2Handler = Sun_fcSendCTPassThruV2;
entrypoints->RefreshAdapterConfigurationHandler =
Sun_fcRefreshAdapterConfiguration;
entrypoints->GetBindingCapabilityHandler = Sun_fcGetBindingCapability;
entrypoints->GetBindingSupportHandler = Sun_fcGetBindingSupport;
entrypoints->SetBindingSupportHandler = Sun_fcSetBindingSupport;
entrypoints->SetPersistentBindingV2Handler = Sun_fcSetPersistentBindingV2;
entrypoints->GetPersistentBindingV2Handler = Sun_fcGetPersistentBindingV2;
entrypoints->RemovePersistentBindingHandler = Sun_fcRemovePersistentBinding;
entrypoints->RemoveAllPersistentBindingsHandler =
Sun_fcRemoveAllPersistentBindings;
entrypoints->SendRNIDV2Handler = Sun_fcSendRNIDV2;
entrypoints->ScsiInquiryV2Handler = Sun_fcScsiInquiryV2;
entrypoints->ScsiReportLUNsV2Handler = Sun_fcScsiReportLUNsV2;
entrypoints->ScsiReadCapacityV2Handler = Sun_fcScsiReadCapacityV2;
entrypoints->GetVendorLibraryAttributesHandler =
Sun_fcGetVendorLibraryAttributes;
entrypoints->RemoveCallbackHandler = Sun_fcRemoveCallback;
entrypoints->RegisterForAdapterAddEventsHandler =
Sun_fcRegisterForAdapterAddEvents;
entrypoints->RegisterForAdapterEventsHandler =
Sun_fcRegisterForAdapterEvents;
entrypoints->RegisterForAdapterPortEventsHandler =
Sun_fcRegisterForAdapterPortEvents;
entrypoints->RegisterForAdapterPortStatEventsHandler =
Sun_fcRegisterForAdapterPortStatEvents;
entrypoints->RegisterForTargetEventsHandler = Sun_fcRegisterForTargetEvents;
entrypoints->RegisterForLinkEventsHandler = Sun_fcRegisterForLinkEvents;
entrypoints->SendRLSHandler = Sun_fcSendRLS;
entrypoints->SendRPLHandler = Sun_fcSendRPL;
entrypoints->SendRPSHandler = Sun_fcSendRPS;
entrypoints->SendSRLHandler = Sun_fcSendSRL;
entrypoints->SendLIRRHandler = Sun_fcSendLIRR;
entrypoints->GetFC4StatisticsHandler = Sun_fcGetFC4Statistics;
entrypoints->GetFCPStatisticsHandler = Sun_fcGetFCPStatistics;
return (HBA_STATUS_OK);
}