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