2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License (the "License").
2N/A * You may not use this file except in compliance with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A/*
2N/A * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
2N/A * Use is subject to license terms.
2N/A */
2N/A
2N/A
2N/A
2N/A#include "sun_fc.h"
2N/A#include "Trace.h"
2N/A
2N/A/**
2N/A * @memo Entry points for the V2 API
2N/A * @postcondition entrypoints contains the function pointers to this API
2N/A * @return HBA_STATUS_OK if entrypoints updated
2N/A * @param entrypoints The user-allocated buffer to store the API
2N/A *
2N/A */
2N/AHBA_STATUS HBA_RegisterLibraryV2(PHBA_ENTRYPOINTSV2 entrypoints) {
2N/A Trace log("HBA_RegisterLibrary");
2N/A entrypoints->GetVersionHandler = Sun_fcGetVersion;
2N/A entrypoints->LoadLibraryHandler = Sun_fcLoadLibrary;
2N/A entrypoints->FreeLibraryHandler = Sun_fcFreeLibrary;
2N/A entrypoints->GetNumberOfAdaptersHandler = Sun_fcGetNumberOfAdapters;
2N/A entrypoints->GetAdapterNameHandler = Sun_fcGetAdapterName;
2N/A entrypoints->OpenAdapterHandler = Sun_fcOpenAdapter;
2N/A entrypoints->CloseAdapterHandler = Sun_fcCloseAdapter;
2N/A entrypoints->GetAdapterAttributesHandler = Sun_fcGetAdapterAttributes;
2N/A entrypoints->GetAdapterPortAttributesHandler =
2N/A Sun_fcGetAdapterPortAttributes;
2N/A entrypoints->GetPortStatisticsHandler = Sun_fcGetPortStatistics;
2N/A entrypoints->GetDiscoveredPortAttributesHandler =
2N/A Sun_fcGetDiscoveredPortAttributes;
2N/A entrypoints->GetPortAttributesByWWNHandler = Sun_fcGetPortAttributesByWWN;
2N/A entrypoints->SendCTPassThruHandler = Sun_fcSendCTPassThru;
2N/A entrypoints->RefreshInformationHandler = Sun_fcRefreshInformation;
2N/A entrypoints->ResetStatisticsHandler = Sun_fcResetStatistics;
2N/A entrypoints->GetFcpTargetMappingHandler = Sun_fcGetFcpTargetMapping;
2N/A entrypoints->GetFcpPersistentBindingHandler = Sun_fcGetFcpPersistentBinding;
2N/A entrypoints->GetEventBufferHandler = Sun_fcGetEventBuffer;
2N/A entrypoints->SetRNIDMgmtInfoHandler = Sun_fcSetRNIDMgmtInfo;
2N/A entrypoints->GetRNIDMgmtInfoHandler = Sun_fcGetRNIDMgmtInfo;
2N/A entrypoints->SendRNIDHandler = Sun_fcSendRNID;
2N/A entrypoints->ScsiInquiryHandler = Sun_fcSendScsiInquiry;
2N/A entrypoints->ReportLUNsHandler = Sun_fcSendReportLUNs;
2N/A entrypoints->ReadCapacityHandler = Sun_fcSendReadCapacity;
2N/A entrypoints->OpenAdapterByWWNHandler = Sun_fcOpenAdapterByWWN;
2N/A entrypoints->GetFcpTargetMappingV2Handler = Sun_fcGetFcpTargetMappingV2;
2N/A entrypoints->SendCTPassThruV2Handler = Sun_fcSendCTPassThruV2;
2N/A entrypoints->RefreshAdapterConfigurationHandler =
2N/A Sun_fcRefreshAdapterConfiguration;
2N/A entrypoints->GetBindingCapabilityHandler = Sun_fcGetBindingCapability;
2N/A entrypoints->GetBindingSupportHandler = Sun_fcGetBindingSupport;
2N/A entrypoints->SetBindingSupportHandler = Sun_fcSetBindingSupport;
2N/A entrypoints->SetPersistentBindingV2Handler = Sun_fcSetPersistentBindingV2;
2N/A entrypoints->GetPersistentBindingV2Handler = Sun_fcGetPersistentBindingV2;
2N/A entrypoints->RemovePersistentBindingHandler = Sun_fcRemovePersistentBinding;
2N/A entrypoints->RemoveAllPersistentBindingsHandler =
2N/A Sun_fcRemoveAllPersistentBindings;
2N/A entrypoints->SendRNIDV2Handler = Sun_fcSendRNIDV2;
2N/A entrypoints->ScsiInquiryV2Handler = Sun_fcScsiInquiryV2;
2N/A entrypoints->ScsiReportLUNsV2Handler = Sun_fcScsiReportLUNsV2;
2N/A entrypoints->ScsiReadCapacityV2Handler = Sun_fcScsiReadCapacityV2;
2N/A entrypoints->GetVendorLibraryAttributesHandler =
2N/A Sun_fcGetVendorLibraryAttributes;
2N/A entrypoints->RemoveCallbackHandler = Sun_fcRemoveCallback;
2N/A entrypoints->RegisterForAdapterAddEventsHandler =
2N/A Sun_fcRegisterForAdapterAddEvents;
2N/A entrypoints->RegisterForAdapterEventsHandler =
2N/A Sun_fcRegisterForAdapterEvents;
2N/A entrypoints->RegisterForAdapterPortEventsHandler =
2N/A Sun_fcRegisterForAdapterPortEvents;
2N/A entrypoints->RegisterForAdapterPortStatEventsHandler =
2N/A Sun_fcRegisterForAdapterPortStatEvents;
2N/A entrypoints->RegisterForTargetEventsHandler = Sun_fcRegisterForTargetEvents;
2N/A entrypoints->RegisterForLinkEventsHandler = Sun_fcRegisterForLinkEvents;
2N/A entrypoints->SendRLSHandler = Sun_fcSendRLS;
2N/A entrypoints->SendRPLHandler = Sun_fcSendRPL;
2N/A entrypoints->SendRPSHandler = Sun_fcSendRPS;
2N/A entrypoints->SendSRLHandler = Sun_fcSendSRL;
2N/A entrypoints->SendLIRRHandler = Sun_fcSendLIRR;
2N/A entrypoints->GetFC4StatisticsHandler = Sun_fcGetFC4Statistics;
2N/A entrypoints->GetFCPStatisticsHandler = Sun_fcGetFCPStatistics;
2N/A return (HBA_STATUS_OK);
2N/A}