1*fcf3ce44SJohn Forte /* 2*fcf3ce44SJohn Forte * CDDL HEADER START 3*fcf3ce44SJohn Forte * 4*fcf3ce44SJohn Forte * The contents of this file are subject to the terms of the 5*fcf3ce44SJohn Forte * Common Development and Distribution License (the "License"). 6*fcf3ce44SJohn Forte * You may not use this file except in compliance with the License. 7*fcf3ce44SJohn Forte * 8*fcf3ce44SJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*fcf3ce44SJohn Forte * or http://www.opensolaris.org/os/licensing. 10*fcf3ce44SJohn Forte * See the License for the specific language governing permissions 11*fcf3ce44SJohn Forte * and limitations under the License. 12*fcf3ce44SJohn Forte * 13*fcf3ce44SJohn Forte * When distributing Covered Code, include this CDDL HEADER in each 14*fcf3ce44SJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*fcf3ce44SJohn Forte * If applicable, add the following below this CDDL HEADER, with the 16*fcf3ce44SJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying 17*fcf3ce44SJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner] 18*fcf3ce44SJohn Forte * 19*fcf3ce44SJohn Forte * CDDL HEADER END 20*fcf3ce44SJohn Forte */ 21*fcf3ce44SJohn Forte /* 22*fcf3ce44SJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*fcf3ce44SJohn Forte * Use is subject to license terms. 24*fcf3ce44SJohn Forte */ 25*fcf3ce44SJohn Forte 26*fcf3ce44SJohn Forte /* 27*fcf3ce44SJohn Forte * 28*fcf3ce44SJohn Forte * Description 29*fcf3ce44SJohn Forte * imaPlugin.h: interface for the iScsiPlugin class. 30*fcf3ce44SJohn Forte * 31*fcf3ce44SJohn Forte * License: 32*fcf3ce44SJohn Forte * The contents of this file are subject to the SNIA Public License 33*fcf3ce44SJohn Forte * Version 1.0 (the "License"); you may not use this file except in 34*fcf3ce44SJohn Forte * compliance with the License. You may obtain a copy of the License at 35*fcf3ce44SJohn Forte * 36*fcf3ce44SJohn Forte * /http://www.snia.org/English/Resources/Code/OpenSource.html 37*fcf3ce44SJohn Forte * 38*fcf3ce44SJohn Forte * Software distributed under the License is distributed on an "AS IS" 39*fcf3ce44SJohn Forte * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 40*fcf3ce44SJohn Forte * the License for the specific language governing rights and limitations 41*fcf3ce44SJohn Forte * under the License. 42*fcf3ce44SJohn Forte * 43*fcf3ce44SJohn Forte * The Original Code is SNIA HBA API and IMA general header file 44*fcf3ce44SJohn Forte * 45*fcf3ce44SJohn Forte * The Initial Developer of the Original Code is: 46*fcf3ce44SJohn Forte * Benjamin F. Kuo, Troika Networks, Inc. (benk@troikanetworks.com) 47*fcf3ce44SJohn Forte * David Dillard VERITAS Software david.dillard@veritas.com 48*fcf3ce44SJohn Forte * 49*fcf3ce44SJohn Forte * Contributor(s): 50*fcf3ce44SJohn Forte * Jeff Ding, Adaptec, Inc. (jding@corp.adaptec.com) 51*fcf3ce44SJohn Forte * 52*fcf3ce44SJohn Forte ******************************************************************************* 53*fcf3ce44SJohn Forte * 54*fcf3ce44SJohn Forte * Changes: 55*fcf3ce44SJohn Forte * 09/24/2003 Initial Draft 56*fcf3ce44SJohn Forte * (for other changes... see the CVS logs) 57*fcf3ce44SJohn Forte * 12/15/2003 corrected the defined parameter in IMA_SetPhbaIsnsDiscovery(). 58*fcf3ce44SJohn Forte * lower case the computer name as iscsi name in IMA_GenerateNodeName(). 59*fcf3ce44SJohn Forte ******************************************************************************/ 60*fcf3ce44SJohn Forte 61*fcf3ce44SJohn Forte #ifdef __cplusplus 62*fcf3ce44SJohn Forte extern "C" { 63*fcf3ce44SJohn Forte #endif 64*fcf3ce44SJohn Forte 65*fcf3ce44SJohn Forte #ifndef IMAPLUGIN_H 66*fcf3ce44SJohn Forte #define IMAPLUGIN_H 67*fcf3ce44SJohn Forte 68*fcf3ce44SJohn Forte typedef IMA_STATUS (* Initialize)( 69*fcf3ce44SJohn Forte IMA_UINT32 pluginOid 70*fcf3ce44SJohn Forte ); 71*fcf3ce44SJohn Forte 72*fcf3ce44SJohn Forte typedef void (* TerminateFn)(); 73*fcf3ce44SJohn Forte 74*fcf3ce44SJohn Forte 75*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPluginPropertiesFn)( 76*fcf3ce44SJohn Forte IMA_OID pluginOid, 77*fcf3ce44SJohn Forte IMA_PLUGIN_PROPERTIES *pProps 78*fcf3ce44SJohn Forte ); 79*fcf3ce44SJohn Forte 80*fcf3ce44SJohn Forte 81*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetSharedNodeOidFn)( 82*fcf3ce44SJohn Forte IMA_OID *pSharedNodeId 83*fcf3ce44SJohn Forte ); 84*fcf3ce44SJohn Forte 85*fcf3ce44SJohn Forte 86*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetNodePropertiesFn)( 87*fcf3ce44SJohn Forte IMA_OID nodeOid, 88*fcf3ce44SJohn Forte IMA_NODE_PROPERTIES *pProps 89*fcf3ce44SJohn Forte ); 90*fcf3ce44SJohn Forte 91*fcf3ce44SJohn Forte 92*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetNodeNameFn)( 93*fcf3ce44SJohn Forte IMA_OID nodeOid, 94*fcf3ce44SJohn Forte const IMA_NODE_NAME newName 95*fcf3ce44SJohn Forte ); 96*fcf3ce44SJohn Forte 97*fcf3ce44SJohn Forte 98*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GenerateNodeNameFn)( 99*fcf3ce44SJohn Forte IMA_NODE_NAME generatedname 100*fcf3ce44SJohn Forte ); 101*fcf3ce44SJohn Forte 102*fcf3ce44SJohn Forte 103*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetNodeAliasFn)( 104*fcf3ce44SJohn Forte IMA_OID nodeOid, 105*fcf3ce44SJohn Forte const IMA_NODE_ALIAS newAlias 106*fcf3ce44SJohn Forte ); 107*fcf3ce44SJohn Forte 108*fcf3ce44SJohn Forte 109*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLhbaOidListFn)( 110*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 111*fcf3ce44SJohn Forte ); 112*fcf3ce44SJohn Forte 113*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLhbaPropertiesFn)( 114*fcf3ce44SJohn Forte IMA_OID lhbaId, 115*fcf3ce44SJohn Forte IMA_LHBA_PROPERTIES *pProps 116*fcf3ce44SJohn Forte ); 117*fcf3ce44SJohn Forte 118*fcf3ce44SJohn Forte 119*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPhbaOidListFn)( 120*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 121*fcf3ce44SJohn Forte ); 122*fcf3ce44SJohn Forte 123*fcf3ce44SJohn Forte 124*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPhbaPropertiesFn)( 125*fcf3ce44SJohn Forte IMA_OID phbaId, 126*fcf3ce44SJohn Forte IMA_PHBA_PROPERTIES *pProps 127*fcf3ce44SJohn Forte ); 128*fcf3ce44SJohn Forte 129*fcf3ce44SJohn Forte 130*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetNonSharedNodeOidListFn)( 131*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 132*fcf3ce44SJohn Forte ); 133*fcf3ce44SJohn Forte 134*fcf3ce44SJohn Forte 135*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetFirstBurstLengthPropertiesFn)( 136*fcf3ce44SJohn Forte IMA_OID Oid, 137*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 138*fcf3ce44SJohn Forte ); 139*fcf3ce44SJohn Forte 140*fcf3ce44SJohn Forte 141*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetMaxBurstLengthPropertiesFn)( 142*fcf3ce44SJohn Forte IMA_OID Oid, 143*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 144*fcf3ce44SJohn Forte ); 145*fcf3ce44SJohn Forte 146*fcf3ce44SJohn Forte 147*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetMaxRecvDataSegmentLengthPropertiesFn)( 148*fcf3ce44SJohn Forte IMA_OID Oid, 149*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 150*fcf3ce44SJohn Forte ); 151*fcf3ce44SJohn Forte 152*fcf3ce44SJohn Forte 153*fcf3ce44SJohn Forte /*---------------------------------------------*/ 154*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_PluginIOCtlFn)( 155*fcf3ce44SJohn Forte IMA_OID pluginOid, 156*fcf3ce44SJohn Forte IMA_UINT command, 157*fcf3ce44SJohn Forte const void *pInputBuffer, 158*fcf3ce44SJohn Forte IMA_UINT inputBufferLength, 159*fcf3ce44SJohn Forte void *pOutputBuffer, 160*fcf3ce44SJohn Forte IMA_UINT *pOutputBufferLength 161*fcf3ce44SJohn Forte ); 162*fcf3ce44SJohn Forte 163*fcf3ce44SJohn Forte 164*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetNetworkPortalOidListFn)( 165*fcf3ce44SJohn Forte IMA_OID lhbaId, 166*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 167*fcf3ce44SJohn Forte ); 168*fcf3ce44SJohn Forte 169*fcf3ce44SJohn Forte 170*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetFirstBurstLengthFn)( 171*fcf3ce44SJohn Forte IMA_OID lhbaId, 172*fcf3ce44SJohn Forte IMA_UINT firstBurstLength 173*fcf3ce44SJohn Forte ); 174*fcf3ce44SJohn Forte 175*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetMaxBurstLengthFn)( 176*fcf3ce44SJohn Forte IMA_OID lhbaId, 177*fcf3ce44SJohn Forte IMA_UINT maxBurstLength 178*fcf3ce44SJohn Forte ); 179*fcf3ce44SJohn Forte 180*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetMaxRecvDataSegmentLengthFn)( 181*fcf3ce44SJohn Forte IMA_OID lhbaId, 182*fcf3ce44SJohn Forte IMA_UINT maxRecvDataSegmentLength 183*fcf3ce44SJohn Forte ); 184*fcf3ce44SJohn Forte 185*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetMaxConnectionsPropertiesFn)( 186*fcf3ce44SJohn Forte IMA_OID Oid, 187*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 188*fcf3ce44SJohn Forte ); 189*fcf3ce44SJohn Forte 190*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetMaxConnectionsFn)( 191*fcf3ce44SJohn Forte IMA_OID lhbaId, 192*fcf3ce44SJohn Forte IMA_UINT maxConnections 193*fcf3ce44SJohn Forte ); 194*fcf3ce44SJohn Forte 195*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDefaultTime2RetainPropertiesFn)( 196*fcf3ce44SJohn Forte IMA_OID lhbaId, 197*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 198*fcf3ce44SJohn Forte ); 199*fcf3ce44SJohn Forte 200*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDefaultTime2RetainFn)( 201*fcf3ce44SJohn Forte IMA_OID lhbaId, 202*fcf3ce44SJohn Forte IMA_UINT defaultTime2Retain 203*fcf3ce44SJohn Forte ); 204*fcf3ce44SJohn Forte 205*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDefaultTime2WaitPropertiesFn)( 206*fcf3ce44SJohn Forte IMA_OID lhbaId, 207*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 208*fcf3ce44SJohn Forte ); 209*fcf3ce44SJohn Forte 210*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDefaultTime2WaitFn)( 211*fcf3ce44SJohn Forte IMA_OID lhbaId, 212*fcf3ce44SJohn Forte IMA_UINT defaultTime2Wait 213*fcf3ce44SJohn Forte ); 214*fcf3ce44SJohn Forte 215*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetMaxOutstandingR2TPropertiesFn)( 216*fcf3ce44SJohn Forte IMA_OID Oid, 217*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 218*fcf3ce44SJohn Forte ); 219*fcf3ce44SJohn Forte 220*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetMaxOutstandingR2TFn)( 221*fcf3ce44SJohn Forte IMA_OID lhbaId, 222*fcf3ce44SJohn Forte IMA_UINT maxOutstandingR2T 223*fcf3ce44SJohn Forte ); 224*fcf3ce44SJohn Forte 225*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetErrorRecoveryLevelPropertiesFn)( 226*fcf3ce44SJohn Forte IMA_OID Oid, 227*fcf3ce44SJohn Forte IMA_MIN_MAX_VALUE *pProps 228*fcf3ce44SJohn Forte ); 229*fcf3ce44SJohn Forte 230*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetErrorRecoveryLevelFn)( 231*fcf3ce44SJohn Forte IMA_OID Oid, 232*fcf3ce44SJohn Forte IMA_UINT errorRecoveryLevel 233*fcf3ce44SJohn Forte ); 234*fcf3ce44SJohn Forte 235*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetInitialR2TPropertiesFn)( 236*fcf3ce44SJohn Forte IMA_OID Oid, 237*fcf3ce44SJohn Forte IMA_BOOL_VALUE *pProps 238*fcf3ce44SJohn Forte ); 239*fcf3ce44SJohn Forte 240*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetInitialR2TFn)( 241*fcf3ce44SJohn Forte IMA_OID Oid, 242*fcf3ce44SJohn Forte IMA_BOOL initialR2T 243*fcf3ce44SJohn Forte ); 244*fcf3ce44SJohn Forte 245*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetImmediateDataPropertiesFn)( 246*fcf3ce44SJohn Forte IMA_OID Oid, 247*fcf3ce44SJohn Forte IMA_BOOL_VALUE *pProps 248*fcf3ce44SJohn Forte ); 249*fcf3ce44SJohn Forte 250*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetImmediateDataFn)( 251*fcf3ce44SJohn Forte IMA_OID Oid, 252*fcf3ce44SJohn Forte IMA_BOOL immediateData 253*fcf3ce44SJohn Forte ); 254*fcf3ce44SJohn Forte 255*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDataPduInOrderPropertiesFn)( 256*fcf3ce44SJohn Forte IMA_OID Oid, 257*fcf3ce44SJohn Forte IMA_BOOL_VALUE *pProps 258*fcf3ce44SJohn Forte ); 259*fcf3ce44SJohn Forte 260*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDataPduInOrderFn)( 261*fcf3ce44SJohn Forte IMA_OID Oid, 262*fcf3ce44SJohn Forte IMA_BOOL dataPduInOrder 263*fcf3ce44SJohn Forte ); 264*fcf3ce44SJohn Forte 265*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDataSequenceInOrderPropertiesFn)( 266*fcf3ce44SJohn Forte IMA_OID Oid, 267*fcf3ce44SJohn Forte IMA_BOOL_VALUE *pProps 268*fcf3ce44SJohn Forte ); 269*fcf3ce44SJohn Forte 270*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDataSequenceInOrderFn)( 271*fcf3ce44SJohn Forte IMA_OID Oid, 272*fcf3ce44SJohn Forte IMA_BOOL dataSequenceInOrder 273*fcf3ce44SJohn Forte ); 274*fcf3ce44SJohn Forte 275*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetStatisticsCollectionFn)( 276*fcf3ce44SJohn Forte IMA_OID Oid, 277*fcf3ce44SJohn Forte IMA_BOOL enableStatisticsCollection 278*fcf3ce44SJohn Forte ); 279*fcf3ce44SJohn Forte 280*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetNetworkPortStatusFn)( 281*fcf3ce44SJohn Forte IMA_OID portOid, 282*fcf3ce44SJohn Forte IMA_NETWORK_PORT_STATUS *pStatus 283*fcf3ce44SJohn Forte ); 284*fcf3ce44SJohn Forte 285*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetTargetOidListFn)( 286*fcf3ce44SJohn Forte IMA_OID Oid, 287*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 288*fcf3ce44SJohn Forte ); 289*fcf3ce44SJohn Forte 290*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RemoveStaleDataFn)( 291*fcf3ce44SJohn Forte IMA_OID lhbaId 292*fcf3ce44SJohn Forte ); 293*fcf3ce44SJohn Forte 294*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetIsnsDiscoveryFn)( 295*fcf3ce44SJohn Forte IMA_OID phbaId, 296*fcf3ce44SJohn Forte IMA_BOOL enableIsnsDiscovery, 297*fcf3ce44SJohn Forte IMA_ISNS_DISCOVERY_METHOD discoveryMethod, 298*fcf3ce44SJohn Forte const IMA_HOST_ID *iSnsHost 299*fcf3ce44SJohn Forte ); 300*fcf3ce44SJohn Forte 301*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetSlpDiscoveryFn)( 302*fcf3ce44SJohn Forte IMA_OID phbaId, 303*fcf3ce44SJohn Forte IMA_BOOL enableSlpDiscovery 304*fcf3ce44SJohn Forte ); 305*fcf3ce44SJohn Forte 306*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetStaticDiscoveryFn)( 307*fcf3ce44SJohn Forte IMA_OID phbaId, 308*fcf3ce44SJohn Forte IMA_BOOL enableStaticDiscovery 309*fcf3ce44SJohn Forte ); 310*fcf3ce44SJohn Forte 311*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetSendTargetsDiscoveryFn)( 312*fcf3ce44SJohn Forte IMA_OID phbaId, 313*fcf3ce44SJohn Forte IMA_BOOL enableSendTargetsDiscovery 314*fcf3ce44SJohn Forte ); 315*fcf3ce44SJohn Forte 316*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_AddPhbaStaticDiscoveryTargetFn)( 317*fcf3ce44SJohn Forte IMA_OID phbaOid, 318*fcf3ce44SJohn Forte const IMA_TARGET_ADDRESS targetAddress, 319*fcf3ce44SJohn Forte IMA_OID_LIST **pTargetOidList 320*fcf3ce44SJohn Forte ); 321*fcf3ce44SJohn Forte 322*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RemovePhbaStaticDiscoveryTargetFn)( 323*fcf3ce44SJohn Forte IMA_OID phbaOid, 324*fcf3ce44SJohn Forte IMA_OID targetOid 325*fcf3ce44SJohn Forte ); 326*fcf3ce44SJohn Forte 327*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPnpOidListFn)( 328*fcf3ce44SJohn Forte IMA_OID Oid, 329*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 330*fcf3ce44SJohn Forte ); 331*fcf3ce44SJohn Forte 332*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPhbaDownloadPropertiesFn)( 333*fcf3ce44SJohn Forte IMA_OID phbaId, 334*fcf3ce44SJohn Forte IMA_PHBA_DOWNLOAD_PROPERTIES *pProps 335*fcf3ce44SJohn Forte ); 336*fcf3ce44SJohn Forte 337*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_IsPhbaDownloadFileFn)( 338*fcf3ce44SJohn Forte IMA_OID phbaId, 339*fcf3ce44SJohn Forte const IMA_WCHAR *pFileName, 340*fcf3ce44SJohn Forte IMA_PHBA_DOWNLOAD_IMAGE_PROPERTIES *pProps 341*fcf3ce44SJohn Forte ); 342*fcf3ce44SJohn Forte 343*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_PhbaDownloadFn)( 344*fcf3ce44SJohn Forte IMA_OID phbaId, 345*fcf3ce44SJohn Forte IMA_PHBA_DOWNLOAD_IMAGE_TYPE imageType, 346*fcf3ce44SJohn Forte const IMA_WCHAR *pFileName 347*fcf3ce44SJohn Forte ); 348*fcf3ce44SJohn Forte 349*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetNetworkPortalPropertiesFn)( 350*fcf3ce44SJohn Forte IMA_OID networkPortalId, 351*fcf3ce44SJohn Forte IMA_NETWORK_PORTAL_PROPERTIES *pProps 352*fcf3ce44SJohn Forte ); 353*fcf3ce44SJohn Forte 354*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetNetworkPortalIpAddressFn)( 355*fcf3ce44SJohn Forte IMA_OID networkPortalId, 356*fcf3ce44SJohn Forte const IMA_IP_ADDRESS NewIpAddress 357*fcf3ce44SJohn Forte ); 358*fcf3ce44SJohn Forte 359*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLnpOidListFn)( 360*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 361*fcf3ce44SJohn Forte ); 362*fcf3ce44SJohn Forte 363*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLnpPropertiesFn)( 364*fcf3ce44SJohn Forte IMA_OID lnpId, 365*fcf3ce44SJohn Forte IMA_LNP_PROPERTIES *pProps 366*fcf3ce44SJohn Forte ); 367*fcf3ce44SJohn Forte 368*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPnpPropertiesFn)( 369*fcf3ce44SJohn Forte IMA_OID pnpId, 370*fcf3ce44SJohn Forte IMA_PNP_PROPERTIES *pProps 371*fcf3ce44SJohn Forte ); 372*fcf3ce44SJohn Forte 373*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPnpStatisticsFn)( 374*fcf3ce44SJohn Forte IMA_OID pnpId, 375*fcf3ce44SJohn Forte IMA_PNP_STATISTICS *pStats 376*fcf3ce44SJohn Forte ); 377*fcf3ce44SJohn Forte 378*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetConnectionPropertiesFn)( 379*fcf3ce44SJohn Forte IMA_OID connectionId, 380*fcf3ce44SJohn Forte IMA_CONNECTION_PROPERTIES *pProps 381*fcf3ce44SJohn Forte ); 382*fcf3ce44SJohn Forte 383*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetTargetPropertiesFn)( 384*fcf3ce44SJohn Forte IMA_OID targetId, 385*fcf3ce44SJohn Forte IMA_TARGET_PROPERTIES *pProps 386*fcf3ce44SJohn Forte ); 387*fcf3ce44SJohn Forte 388*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetSessionPropertiesFn)( 389*fcf3ce44SJohn Forte IMA_OID sessionId, 390*fcf3ce44SJohn Forte IMA_SESSION_PROPERTIES *pProps 391*fcf3ce44SJohn Forte ); 392*fcf3ce44SJohn Forte 393*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetTargetErrorStatisticsFn)( 394*fcf3ce44SJohn Forte IMA_OID targetId, 395*fcf3ce44SJohn Forte IMA_TARGET_ERROR_STATISTICS *pStats 396*fcf3ce44SJohn Forte ); 397*fcf3ce44SJohn Forte 398*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLuOidListFn)( 399*fcf3ce44SJohn Forte IMA_OID Oid, 400*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 401*fcf3ce44SJohn Forte ); 402*fcf3ce44SJohn Forte 403*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLuOidFn)( 404*fcf3ce44SJohn Forte IMA_OID targetId, 405*fcf3ce44SJohn Forte IMA_UINT64 lun, 406*fcf3ce44SJohn Forte IMA_OID *pluId 407*fcf3ce44SJohn Forte ); 408*fcf3ce44SJohn Forte 409*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetLuPropertiesFn)( 410*fcf3ce44SJohn Forte IMA_OID luId, 411*fcf3ce44SJohn Forte IMA_LU_PROPERTIES *pProps 412*fcf3ce44SJohn Forte ); 413*fcf3ce44SJohn Forte 414*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetStatisticsPropertiesFn)( 415*fcf3ce44SJohn Forte IMA_OID oid, 416*fcf3ce44SJohn Forte IMA_STATISTICS_PROPERTIES *pProps 417*fcf3ce44SJohn Forte ); 418*fcf3ce44SJohn Forte 419*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDeviceStatisticsFn)( 420*fcf3ce44SJohn Forte IMA_OID luId, 421*fcf3ce44SJohn Forte IMA_DEVICE_STATISTICS *pStats 422*fcf3ce44SJohn Forte ); 423*fcf3ce44SJohn Forte 424*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_LuInquiryFn)( 425*fcf3ce44SJohn Forte IMA_OID deviceId, 426*fcf3ce44SJohn Forte IMA_BOOL evpd, 427*fcf3ce44SJohn Forte IMA_BOOL cmddt, 428*fcf3ce44SJohn Forte IMA_BYTE pageCode, 429*fcf3ce44SJohn Forte 430*fcf3ce44SJohn Forte IMA_BYTE *pOutputBuffer, 431*fcf3ce44SJohn Forte IMA_UINT *pOutputBufferLength, 432*fcf3ce44SJohn Forte 433*fcf3ce44SJohn Forte IMA_BYTE *pSenseBuffer, 434*fcf3ce44SJohn Forte IMA_UINT *pSenseBufferLength 435*fcf3ce44SJohn Forte ); 436*fcf3ce44SJohn Forte 437*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_LuReadCapacityFn)( 438*fcf3ce44SJohn Forte IMA_OID deviceId, 439*fcf3ce44SJohn Forte IMA_UINT cdbLength, 440*fcf3ce44SJohn Forte IMA_BYTE *pOutputBuffer, 441*fcf3ce44SJohn Forte IMA_UINT *pOutputBufferLength, 442*fcf3ce44SJohn Forte 443*fcf3ce44SJohn Forte IMA_BYTE *pSenseBuffer, 444*fcf3ce44SJohn Forte IMA_UINT *pSenseBufferLength 445*fcf3ce44SJohn Forte ); 446*fcf3ce44SJohn Forte 447*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_LuReportLunsFn)( 448*fcf3ce44SJohn Forte IMA_OID deviceId, 449*fcf3ce44SJohn Forte IMA_BOOL sendToWellKnownLun, 450*fcf3ce44SJohn Forte IMA_BYTE selectReport, 451*fcf3ce44SJohn Forte 452*fcf3ce44SJohn Forte IMA_BYTE *pOutputBuffer, 453*fcf3ce44SJohn Forte IMA_UINT *pOutputBufferLength, 454*fcf3ce44SJohn Forte 455*fcf3ce44SJohn Forte IMA_BYTE *pSenseBuffer, 456*fcf3ce44SJohn Forte IMA_UINT *pSenseBufferLength 457*fcf3ce44SJohn Forte ); 458*fcf3ce44SJohn Forte 459*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_ExposeLuFn)( 460*fcf3ce44SJohn Forte IMA_OID luId 461*fcf3ce44SJohn Forte ); 462*fcf3ce44SJohn Forte 463*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_UnexposeLuFn)( 464*fcf3ce44SJohn Forte IMA_OID luId 465*fcf3ce44SJohn Forte ); 466*fcf3ce44SJohn Forte 467*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetPhbaStatusFn)( 468*fcf3ce44SJohn Forte IMA_OID hbaId, 469*fcf3ce44SJohn Forte IMA_PHBA_STATUS *pStatus 470*fcf3ce44SJohn Forte ); 471*fcf3ce44SJohn Forte 472*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RegisterForObjectVisibilityChangesFn) ( 473*fcf3ce44SJohn Forte IMA_OBJECT_VISIBILITY_FN pClientFn 474*fcf3ce44SJohn Forte ); 475*fcf3ce44SJohn Forte 476*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_DeregisterForObjectVisibilityChangesFn) ( 477*fcf3ce44SJohn Forte IMA_OBJECT_VISIBILITY_FN pClientFn 478*fcf3ce44SJohn Forte ); 479*fcf3ce44SJohn Forte 480*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RegisterForObjectPropertyChangesFn) ( 481*fcf3ce44SJohn Forte IMA_OBJECT_PROPERTY_FN pClientFn 482*fcf3ce44SJohn Forte ); 483*fcf3ce44SJohn Forte 484*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_DeregisterForObjectPropertyChangesFn) ( 485*fcf3ce44SJohn Forte IMA_OBJECT_PROPERTY_FN pClientFn 486*fcf3ce44SJohn Forte ); 487*fcf3ce44SJohn Forte 488*fcf3ce44SJohn Forte 489*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetAddressKeyPropertiesFn)( 490*fcf3ce44SJohn Forte IMA_OID targetOid, 491*fcf3ce44SJohn Forte IMA_ADDRESS_KEY_PROPERTIES **ppProps 492*fcf3ce44SJohn Forte ); 493*fcf3ce44SJohn Forte 494*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetIpPropertiesFn)( 495*fcf3ce44SJohn Forte IMA_OID oid, 496*fcf3ce44SJohn Forte IMA_IP_PROPERTIES *pProps 497*fcf3ce44SJohn Forte ); 498*fcf3ce44SJohn Forte 499*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetIpConfigMethodFn)( 500*fcf3ce44SJohn Forte IMA_OID oid, 501*fcf3ce44SJohn Forte IMA_BOOL enableDhcpIpConfiguration 502*fcf3ce44SJohn Forte ); 503*fcf3ce44SJohn Forte 504*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetSubnetMaskFn)( 505*fcf3ce44SJohn Forte IMA_OID oid, 506*fcf3ce44SJohn Forte IMA_IP_ADDRESS subnetMask 507*fcf3ce44SJohn Forte ); 508*fcf3ce44SJohn Forte 509*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDnsServerAddressFn)( 510*fcf3ce44SJohn Forte IMA_OID oid, 511*fcf3ce44SJohn Forte const IMA_IP_ADDRESS *primaryDnsServerAddress, 512*fcf3ce44SJohn Forte const IMA_IP_ADDRESS *alternateDnsServerAddress 513*fcf3ce44SJohn Forte ); 514*fcf3ce44SJohn Forte 515*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetDefaultGatewayFn)( 516*fcf3ce44SJohn Forte IMA_OID oid, 517*fcf3ce44SJohn Forte IMA_IP_ADDRESS defaultGateway 518*fcf3ce44SJohn Forte ); 519*fcf3ce44SJohn Forte 520*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetSupportedAuthMethodsFn)( 521*fcf3ce44SJohn Forte IMA_OID lhbaOid, 522*fcf3ce44SJohn Forte IMA_BOOL getSettableMethods, 523*fcf3ce44SJohn Forte IMA_UINT *pMethodCount, 524*fcf3ce44SJohn Forte IMA_AUTHMETHOD *pMethodList 525*fcf3ce44SJohn Forte ); 526*fcf3ce44SJohn Forte 527*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetInUseInitiatorAuthMethodsFn)( 528*fcf3ce44SJohn Forte IMA_OID lhbaOid, 529*fcf3ce44SJohn Forte IMA_UINT *pMethodCount, 530*fcf3ce44SJohn Forte IMA_AUTHMETHOD *pMethodList 531*fcf3ce44SJohn Forte ); 532*fcf3ce44SJohn Forte 533*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetInitiatorAuthParmsFn)( 534*fcf3ce44SJohn Forte IMA_OID lhbaOid, 535*fcf3ce44SJohn Forte IMA_AUTHMETHOD method, 536*fcf3ce44SJohn Forte IMA_INITIATOR_AUTHPARMS *pParms 537*fcf3ce44SJohn Forte ); 538*fcf3ce44SJohn Forte 539*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetInitiatorAuthMethodsFn)( 540*fcf3ce44SJohn Forte IMA_OID lhbaOid, 541*fcf3ce44SJohn Forte IMA_UINT methodCount, 542*fcf3ce44SJohn Forte const IMA_AUTHMETHOD *pMethodList 543*fcf3ce44SJohn Forte ); 544*fcf3ce44SJohn Forte 545*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_SetInitiatorAuthParmsFn)( 546*fcf3ce44SJohn Forte IMA_OID lhbaOid, 547*fcf3ce44SJohn Forte IMA_AUTHMETHOD method, 548*fcf3ce44SJohn Forte const IMA_INITIATOR_AUTHPARMS *pParms 549*fcf3ce44SJohn Forte ); 550*fcf3ce44SJohn Forte 551*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_FreeMemoryFn)( 552*fcf3ce44SJohn Forte void *pMemory 553*fcf3ce44SJohn Forte ); 554*fcf3ce44SJohn Forte 555*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetStaticDiscoveryTargetOidListFn)( 556*fcf3ce44SJohn Forte IMA_OID oid, 557*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 558*fcf3ce44SJohn Forte ); 559*fcf3ce44SJohn Forte 560*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDiscoveryPropertiesFn)( 561*fcf3ce44SJohn Forte IMA_OID oid, 562*fcf3ce44SJohn Forte IMA_DISCOVERY_PROPERTIES *pProps 563*fcf3ce44SJohn Forte ); 564*fcf3ce44SJohn Forte 565*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_AddDiscoveryAddressFn)( 566*fcf3ce44SJohn Forte IMA_OID oid, 567*fcf3ce44SJohn Forte const IMA_TARGET_ADDRESS discoveryAddress, 568*fcf3ce44SJohn Forte IMA_OID *pDiscoveryAddressOid 569*fcf3ce44SJohn Forte ); 570*fcf3ce44SJohn Forte 571*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_AddStaticDiscoveryTargetFn)( 572*fcf3ce44SJohn Forte IMA_OID oid, 573*fcf3ce44SJohn Forte const IMA_STATIC_DISCOVERY_TARGET staticDiscoveryTarget, 574*fcf3ce44SJohn Forte IMA_OID *pStaticDiscoveryTargetOid 575*fcf3ce44SJohn Forte ); 576*fcf3ce44SJohn Forte 577*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RemoveStaticDiscoveryTargetFn)( 578*fcf3ce44SJohn Forte IMA_OID oid 579*fcf3ce44SJohn Forte ); 580*fcf3ce44SJohn Forte 581*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetStaticDiscoveryTargetPropertiesFn)( 582*fcf3ce44SJohn Forte IMA_OID staticDiscoveryTargetOid, 583*fcf3ce44SJohn Forte IMA_STATIC_DISCOVERY_TARGET_PROPERTIES *pProps 584*fcf3ce44SJohn Forte ); 585*fcf3ce44SJohn Forte 586*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDiscoveryAddressOidListFn) ( 587*fcf3ce44SJohn Forte IMA_OID Oid, 588*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 589*fcf3ce44SJohn Forte ); 590*fcf3ce44SJohn Forte 591*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetSessionOidListFn) ( 592*fcf3ce44SJohn Forte IMA_OID Oid, 593*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 594*fcf3ce44SJohn Forte ); 595*fcf3ce44SJohn Forte 596*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetConnectionOidListFn) ( 597*fcf3ce44SJohn Forte IMA_OID Oid, 598*fcf3ce44SJohn Forte IMA_OID_LIST **ppList 599*fcf3ce44SJohn Forte ); 600*fcf3ce44SJohn Forte 601*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetDiscoveryAddressPropertiesFn) ( 602*fcf3ce44SJohn Forte IMA_OID discoveryAddressOid, 603*fcf3ce44SJohn Forte IMA_DISCOVERY_ADDRESS_PROPERTIES *pProps 604*fcf3ce44SJohn Forte ); 605*fcf3ce44SJohn Forte 606*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_RemoveDiscoveryAddressFn) ( 607*fcf3ce44SJohn Forte IMA_OID discoveryAddressOid 608*fcf3ce44SJohn Forte ); 609*fcf3ce44SJohn Forte 610*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetIpsecPropertiesFn) ( 611*fcf3ce44SJohn Forte IMA_OID oid, 612*fcf3ce44SJohn Forte IMA_IPSEC_PROPERTIES *pProps 613*fcf3ce44SJohn Forte ); 614*fcf3ce44SJohn Forte 615*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_GetAddressKeysFn) ( 616*fcf3ce44SJohn Forte IMA_OID targetOid, 617*fcf3ce44SJohn Forte IMA_ADDRESS_KEYS **ppKeys 618*fcf3ce44SJohn Forte ); 619*fcf3ce44SJohn Forte 620*fcf3ce44SJohn Forte typedef IMA_STATUS (* QIMA_SetUpdateIntervalFn)( 621*fcf3ce44SJohn Forte IMA_OID pluginOid, 622*fcf3ce44SJohn Forte time_t interval 623*fcf3ce44SJohn Forte ); 624*fcf3ce44SJohn Forte 625*fcf3ce44SJohn Forte typedef IMA_STATUS (* IMA_CommitHbaParametersFn)( 626*fcf3ce44SJohn Forte IMA_OID oid, IMA_COMMIT_LEVEL commitLevel 627*fcf3ce44SJohn Forte ); 628*fcf3ce44SJohn Forte 629*fcf3ce44SJohn Forte #endif 630*fcf3ce44SJohn Forte 631*fcf3ce44SJohn Forte #ifdef __cplusplus 632*fcf3ce44SJohn Forte } 633*fcf3ce44SJohn Forte #endif 634*fcf3ce44SJohn Forte 635