ima-plugin.h revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
/*
* 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
* 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.
*/
/*
*
* Description
* imaPlugin.h: interface for the iScsiPlugin class.
*
* License:
* The contents of this file are subject to the SNIA Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is SNIA HBA API and IMA general header file
*
* The Initial Developer of the Original Code is:
* Benjamin F. Kuo, Troika Networks, Inc. (benk@troikanetworks.com)
* David Dillard VERITAS Software david.dillard@veritas.com
*
* Contributor(s):
* Jeff Ding, Adaptec, Inc. (jding@corp.adaptec.com)
*
*******************************************************************************
*
* Changes:
* 09/24/2003 Initial Draft
* (for other changes... see the CVS logs)
* 12/15/2003 corrected the defined parameter in IMA_SetPhbaIsnsDiscovery().
* lower case the computer name as iscsi name in IMA_GenerateNodeName().
******************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef IMAPLUGIN_H
#define IMAPLUGIN_H
typedef IMA_STATUS (* Initialize)(
);
typedef void (* TerminateFn)();
typedef IMA_STATUS (* IMA_GetPluginPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetSharedNodeOidFn)(
);
typedef IMA_STATUS (* IMA_GetNodePropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetNodeNameFn)(
const IMA_NODE_NAME newName
);
typedef IMA_STATUS (* IMA_GenerateNodeNameFn)(
);
typedef IMA_STATUS (* IMA_SetNodeAliasFn)(
const IMA_NODE_ALIAS newAlias
);
typedef IMA_STATUS (* IMA_GetLhbaOidListFn)(
);
typedef IMA_STATUS (* IMA_GetLhbaPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetPhbaOidListFn)(
);
typedef IMA_STATUS (* IMA_GetPhbaPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetNonSharedNodeOidListFn)(
);
typedef IMA_STATUS (* IMA_GetFirstBurstLengthPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetMaxBurstLengthPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetMaxRecvDataSegmentLengthPropertiesFn)(
);
/*---------------------------------------------*/
typedef IMA_STATUS (* IMA_PluginIOCtlFn)(
const void *pInputBuffer,
void *pOutputBuffer,
);
typedef IMA_STATUS (* IMA_GetNetworkPortalOidListFn)(
);
typedef IMA_STATUS (* IMA_SetFirstBurstLengthFn)(
);
typedef IMA_STATUS (* IMA_SetMaxBurstLengthFn)(
);
typedef IMA_STATUS (* IMA_SetMaxRecvDataSegmentLengthFn)(
);
typedef IMA_STATUS (* IMA_GetMaxConnectionsPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetMaxConnectionsFn)(
);
typedef IMA_STATUS (* IMA_GetDefaultTime2RetainPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetDefaultTime2RetainFn)(
);
typedef IMA_STATUS (* IMA_GetDefaultTime2WaitPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetDefaultTime2WaitFn)(
);
typedef IMA_STATUS (* IMA_GetMaxOutstandingR2TPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetMaxOutstandingR2TFn)(
);
typedef IMA_STATUS (* IMA_GetErrorRecoveryLevelPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetErrorRecoveryLevelFn)(
);
typedef IMA_STATUS (* IMA_GetInitialR2TPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetInitialR2TFn)(
);
typedef IMA_STATUS (* IMA_GetImmediateDataPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetImmediateDataFn)(
);
typedef IMA_STATUS (* IMA_GetDataPduInOrderPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetDataPduInOrderFn)(
);
typedef IMA_STATUS (* IMA_GetDataSequenceInOrderPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetDataSequenceInOrderFn)(
);
typedef IMA_STATUS (* IMA_SetStatisticsCollectionFn)(
);
typedef IMA_STATUS (* IMA_GetNetworkPortStatusFn)(
);
typedef IMA_STATUS (* IMA_GetTargetOidListFn)(
);
typedef IMA_STATUS (* IMA_RemoveStaleDataFn)(
);
typedef IMA_STATUS (* IMA_SetIsnsDiscoveryFn)(
const IMA_HOST_ID *iSnsHost
);
typedef IMA_STATUS (* IMA_SetSlpDiscoveryFn)(
);
typedef IMA_STATUS (* IMA_SetStaticDiscoveryFn)(
);
typedef IMA_STATUS (* IMA_SetSendTargetsDiscoveryFn)(
);
typedef IMA_STATUS (* IMA_AddPhbaStaticDiscoveryTargetFn)(
const IMA_TARGET_ADDRESS targetAddress,
);
typedef IMA_STATUS (* IMA_RemovePhbaStaticDiscoveryTargetFn)(
);
typedef IMA_STATUS (* IMA_GetPnpOidListFn)(
);
typedef IMA_STATUS (* IMA_GetPhbaDownloadPropertiesFn)(
);
typedef IMA_STATUS (* IMA_IsPhbaDownloadFileFn)(
);
typedef IMA_STATUS (* IMA_PhbaDownloadFn)(
);
typedef IMA_STATUS (* IMA_GetNetworkPortalPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetNetworkPortalIpAddressFn)(
const IMA_IP_ADDRESS NewIpAddress
);
typedef IMA_STATUS (* IMA_GetLnpOidListFn)(
);
typedef IMA_STATUS (* IMA_GetLnpPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetPnpPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetPnpStatisticsFn)(
);
typedef IMA_STATUS (* IMA_GetConnectionPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetTargetPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetSessionPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetTargetErrorStatisticsFn)(
);
typedef IMA_STATUS (* IMA_GetLuOidListFn)(
);
typedef IMA_STATUS (* IMA_GetLuOidFn)(
);
typedef IMA_STATUS (* IMA_GetLuPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetStatisticsPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetDeviceStatisticsFn)(
);
typedef IMA_STATUS (* IMA_LuInquiryFn)(
);
typedef IMA_STATUS (* IMA_LuReadCapacityFn)(
);
typedef IMA_STATUS (* IMA_LuReportLunsFn)(
);
typedef IMA_STATUS (* IMA_ExposeLuFn)(
);
typedef IMA_STATUS (* IMA_UnexposeLuFn)(
);
typedef IMA_STATUS (* IMA_GetPhbaStatusFn)(
);
typedef IMA_STATUS (* IMA_RegisterForObjectVisibilityChangesFn) (
);
typedef IMA_STATUS (* IMA_DeregisterForObjectVisibilityChangesFn) (
);
typedef IMA_STATUS (* IMA_RegisterForObjectPropertyChangesFn) (
);
typedef IMA_STATUS (* IMA_DeregisterForObjectPropertyChangesFn) (
);
typedef IMA_STATUS (* IMA_GetAddressKeyPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetIpPropertiesFn)(
);
typedef IMA_STATUS (* IMA_SetIpConfigMethodFn)(
);
typedef IMA_STATUS (* IMA_SetSubnetMaskFn)(
);
typedef IMA_STATUS (* IMA_SetDnsServerAddressFn)(
);
typedef IMA_STATUS (* IMA_SetDefaultGatewayFn)(
);
typedef IMA_STATUS (* IMA_GetSupportedAuthMethodsFn)(
);
typedef IMA_STATUS (* IMA_GetInUseInitiatorAuthMethodsFn)(
);
typedef IMA_STATUS (* IMA_GetInitiatorAuthParmsFn)(
);
typedef IMA_STATUS (* IMA_SetInitiatorAuthMethodsFn)(
const IMA_AUTHMETHOD *pMethodList
);
typedef IMA_STATUS (* IMA_SetInitiatorAuthParmsFn)(
const IMA_INITIATOR_AUTHPARMS *pParms
);
typedef IMA_STATUS (* IMA_FreeMemoryFn)(
void *pMemory
);
typedef IMA_STATUS (* IMA_GetStaticDiscoveryTargetOidListFn)(
);
typedef IMA_STATUS (* IMA_GetDiscoveryPropertiesFn)(
);
typedef IMA_STATUS (* IMA_AddDiscoveryAddressFn)(
);
typedef IMA_STATUS (* IMA_AddStaticDiscoveryTargetFn)(
);
typedef IMA_STATUS (* IMA_RemoveStaticDiscoveryTargetFn)(
);
typedef IMA_STATUS (* IMA_GetStaticDiscoveryTargetPropertiesFn)(
);
typedef IMA_STATUS (* IMA_GetDiscoveryAddressOidListFn) (
);
typedef IMA_STATUS (* IMA_GetSessionOidListFn) (
);
typedef IMA_STATUS (* IMA_GetConnectionOidListFn) (
);
typedef IMA_STATUS (* IMA_GetDiscoveryAddressPropertiesFn) (
);
typedef IMA_STATUS (* IMA_RemoveDiscoveryAddressFn) (
);
typedef IMA_STATUS (* IMA_GetIpsecPropertiesFn) (
);
typedef IMA_STATUS (* IMA_GetAddressKeysFn) (
);
typedef IMA_STATUS (* QIMA_SetUpdateIntervalFn)(
);
typedef IMA_STATUS (* IMA_CommitHbaParametersFn)(
);
#endif
#ifdef __cplusplus
}
#endif