00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _HBAAPI_H_
00019 #define _HBAAPI_H_
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025 #include <stdint.h>
00026 #include <time.h>
00027
00028
00029
00030
00031 typedef uint8_t HBA_UINT8;
00032 typedef uint16_t HBA_UINT16;
00033 typedef uint32_t HBA_UINT32;
00034 typedef uint64_t HBA_UINT64;
00035 typedef int64_t HBA_INT64;
00036 typedef HBA_UINT8 HBA_BOOLEAN;
00037 typedef HBA_UINT32 HBA_HANDLE;
00038
00039 typedef struct HBA_wwn {
00040 HBA_UINT8 wwn[8];
00041 } HBA_WWN;
00042
00043
00044
00045
00046 typedef HBA_UINT32 HBA_STATUS;
00047
00048 #define HBA_STATUS_OK 0
00049 #define HBA_STATUS_ERROR 1
00050 #define HBA_STATUS_ERROR_NOT_SUPPORTED 2
00051 #define HBA_STATUS_ERROR_INVALID_HANDLE 3
00052 #define HBA_STATUS_ERROR_ARG 4
00053 #define HBA_STATUS_ERROR_ILLEGAL_WWN 5
00054 #define HBA_STATUS_ERROR_ILLEGAL_INDEX 6
00055 #define HBA_STATUS_ERROR_MORE_DATA 7
00056 #define HBA_STATUS_ERROR_STALE_DATA 8
00057 #define HBA_STATUS_SCSI_CHECK_CONDITION 9
00058 #define HBA_STATUS_ERROR_BUSY 10
00059 #define HBA_STATUS_ERROR_TRY_AGAIN 11
00060 #define HBA_STATUS_ERROR_UNAVAILABLE 12
00061 #define HBA_STATUS_ERROR_ELS_REJECT 13
00062 #define HBA_STATUS_ERROR_INVALID_LUN 14
00063 #define HBA_STATUS_ERROR_INCOMPATIBLE 15
00064 #define HBA_STATUS_ERROR_AMBIGUOUS_WWN 16
00065 #define HBA_STATUS_ERROR_LOCAL_BUS 17
00066 #define HBA_STATUS_ERROR_LOCAL_TARGET 18
00067 #define HBA_STATUS_ERROR_LOCAL_LUN 19
00068 #define HBA_STATUS_ERROR_LOCAL_SCSIID_BOUND 20
00069 #define HBA_STATUS_ERROR_TARGET_FCID 21
00070 #define HBA_STATUS_ERROR_TARGET_NODE_WWN 22
00071 #define HBA_STATUS_ERROR_TARGET_PORT_WWN 23
00072 #define HBA_STATUS_ERROR_TARGET_LUN 24
00073 #define HBA_STATUS_ERROR_TARGET_LUID 25
00074 #define HBA_STATUS_ERROR_NO_SUCH_BINDING 26
00075 #define HBA_STATUS_ERROR_NOT_A_TARGET 27
00076 #define HBA_STATUS_ERROR_UNSUPPORTED_FC4 28
00077 #define HBA_STATUS_ERROR_INCAPABLE 29
00078 #define HBA_STATUS_ERROR_TARGET_BUSY 30
00079 #define HBA_STATUS_ERROR_NOT_LOADED 31
00080 #define HBA_STATUS_ERROR_ALREADY_LOADED 32
00081 #define HBA_STATUS_ERROR_ILLEGAL_FCID 33
00082
00083
00084
00085
00086 typedef struct HBA_AdapterAttributes {
00087 char Manufacturer[64];
00088 char SerialNumber[64];
00089 char Model[256];
00090 char ModelDescription[256];
00091 HBA_WWN NodeWWN;
00092 char NodeSymbolicName[256];
00093 char HardwareVersion[256];
00094 char DriverVersion[256];
00095 char OptionROMVersion[256];
00096 char FirmwareVersion[256];
00097 HBA_UINT32 VendorSpecificID;
00098 HBA_UINT32 NumberOfPorts;
00099 char DriverName[256];
00100 } HBA_ADAPTERATTRIBUTES;
00101
00102
00103
00104
00105 typedef HBA_UINT32 HBA_PORTTYPE;
00106
00107 #define HBA_PORTTYPE_UNKNOWN 1
00108 #define HBA_PORTTYPE_OTHER 2
00109 #define HBA_PORTTYPE_NOTPRESENT 3
00110 #define HBA_PORTTYPE_NPORT 5
00111 #define HBA_PORTTYPE_NLPORT 6
00112 #define HBA_PORTTYPE_FLPORT 7
00113 #define HBA_PORTTYPE_FPORT 8
00114 #define HBA_PORTTYPE_LPORT 20
00115 #define HBA_PORTTYPE_PTP 21
00116
00117 typedef HBA_UINT32 HBA_PORTSTATE;
00118
00119 #define HBA_PORTSTATE_UNKNOWN 1
00120 #define HBA_PORTSTATE_ONLINE 2
00121 #define HBA_PORTSTATE_OFFLINE 3
00122 #define HBA_PORTSTATE_BYPASSED 4
00123 #define HBA_PORTSTATE_DIAGNOSTICS 5
00124 #define HBA_PORTSTATE_LINKDOWN 6
00125 #define HBA_PORTSTATE_ERROR 7
00126 #define HBA_PORTSTATE_LOOPBACK 8
00127
00128 typedef HBA_UINT32 HBA_PORTSPEED;
00129
00130 #define HBA_PORTSPEED_UNKNOWN 0
00131 #define HBA_PORTSPEED_1GBIT 1
00132 #define HBA_PORTSPEED_2GBIT 2
00133 #define HBA_PORTSPEED_10GBIT 4
00134 #define HBA_PORTSPEED_4GBIT 8
00135 #define HBA_PORTSPEED_8GBIT 16
00136 #define HBA_PORTSPEED_16GBIT 32
00137 #define HBA_PORTSPEED_NOT_NEGOTIATED (1<<15)
00138
00139
00140 typedef HBA_UINT32 HBA_COS;
00141
00142
00143 typedef struct HBA_fc4types {
00144 HBA_UINT8 bits[32];
00145 } HBA_FC4TYPES;
00146
00147 typedef struct HBA_PortAttributes {
00148 HBA_WWN NodeWWN;
00149 HBA_WWN PortWWN;
00150 HBA_UINT32 PortFcId;
00151 HBA_PORTTYPE PortType;
00152 HBA_PORTSTATE PortState;
00153 HBA_COS PortSupportedClassofService;
00154 HBA_FC4TYPES PortSupportedFc4Types;
00155 HBA_FC4TYPES PortActiveFc4Types;
00156 char PortSymbolicName[256];
00157 char OSDeviceName[256];
00158 HBA_PORTSPEED PortSupportedSpeed;
00159 HBA_PORTSPEED PortSpeed;
00160 HBA_UINT32 PortMaxFrameSize;
00161 HBA_WWN FabricName;
00162 HBA_UINT32 NumberofDiscoveredPorts;
00163 } HBA_PORTATTRIBUTES;
00164
00165
00166
00167
00168
00169 typedef struct HBA_PortStatistics {
00170 HBA_INT64 SecondsSinceLastReset;
00171 HBA_INT64 TxFrames;
00172 HBA_INT64 TxWords;
00173 HBA_INT64 RxFrames;
00174 HBA_INT64 RxWords;
00175 HBA_INT64 LIPCount;
00176 HBA_INT64 NOSCount;
00177 HBA_INT64 ErrorFrames;
00178 HBA_INT64 DumpedFrames;
00179 HBA_INT64 LinkFailureCount;
00180 HBA_INT64 LossOfSyncCount;
00181 HBA_INT64 LossOfSignalCount;
00182 HBA_INT64 PrimitiveSeqProtocolErrCount;
00183 HBA_INT64 InvalidTxWordCount;
00184 HBA_INT64 InvalidCRCCount;
00185 } HBA_PORTSTATISTICS;
00186
00187
00188 typedef struct HBA_FC4Statistics {
00189 HBA_INT64 InputRequests;
00190 HBA_INT64 OutputRequests;
00191 HBA_INT64 ControlRequests;
00192 HBA_INT64 InputMegabytes;
00193 HBA_INT64 OutputMegabytes;
00194 } HBA_FC4STATISTICS;
00195
00196
00197
00198
00199 typedef enum HBA_fcpbindingtype {
00200 TO_D_ID,
00201 TO_WWN,
00202 TO_OTHER
00203 } HBA_FCPBINDINGTYPE;
00204
00205 typedef HBA_UINT32 HBA_BIND_CAPABILITY;
00206
00207 #define HBA_CAN_BIND_TO_D_ID 0x0001
00208 #define HBA_CAN_BIND_TO_WWPN 0x0002
00209 #define HBA_CAN_BIND_TO_WWNN 0x0004
00210 #define HBA_CAN_BIND_TO_LUID 0x0008
00211 #define HBA_CAN_BIND_ANY_LUNS 0x0400
00212 #define HBA_CAN_BIND_TARGETS 0x0800
00213 #define HBA_CAN_BIND_AUTOMAP 0x1000
00214 #define HBA_CAN_BIND_CONFIGURED 0x2000
00215
00216 typedef HBA_UINT32 HBA_BIND_TYPE;
00217
00218 #define HBA_BIND_TO_D_ID 0x0001
00219 #define HBA_BIND_TO_WWPN 0x0002
00220 #define HBA_BIND_TO_WWNN 0x0004
00221 #define HBA_BIND_TO_LUID 0x0008
00222 #define HBA_BIND_TARGETS 0x8000
00223
00224 typedef struct HBA_LUID {
00225 char buffer[256];
00226 } HBA_LUID;
00227
00228 typedef struct HBA_ScsiId {
00229 char OSDeviceName[256];
00230 HBA_UINT32 ScsiBusNumber;
00231 HBA_UINT32 ScsiTargetNumber;
00232 HBA_UINT32 ScsiOSLun;
00233 } HBA_SCSIID;
00234
00235 typedef struct HBA_FcpId {
00236 HBA_UINT32 FcId;
00237 HBA_WWN NodeWWN;
00238 HBA_WWN PortWWN;
00239 HBA_UINT64 FcpLun;
00240 } HBA_FCPID;
00241
00242 typedef struct HBA_FcpScsiEntry {
00243 HBA_SCSIID ScsiId;
00244 HBA_FCPID FcpId;
00245 } HBA_FCPSCSIENTRY;
00246
00247 typedef struct HBA_FcpScsiEntryV2 {
00248 HBA_SCSIID ScsiId;
00249 HBA_FCPID FcpId;
00250 HBA_LUID LUID;
00251 } HBA_FCPSCSIENTRYV2;
00252
00253 typedef struct HBA_FCPTargetMapping {
00254 HBA_UINT32 NumberOfEntries;
00255 HBA_FCPSCSIENTRY entry[1];
00256 } HBA_FCPTARGETMAPPING;
00257
00258 typedef struct HBA_FCPTargetMappingV2 {
00259 HBA_UINT32 NumberOfEntries;
00260 HBA_FCPSCSIENTRYV2 entry[1];
00261 } HBA_FCPTARGETMAPPINGV2;
00262
00263 typedef struct HBA_FCPBindingEntry {
00264 HBA_FCPBINDINGTYPE type;
00265 HBA_SCSIID ScsiId;
00266 HBA_FCPID FcpId;
00267 HBA_UINT32 FcId;
00268 } HBA_FCPBINDINGENTRY;
00269
00270 typedef struct HBA_FCPBinding {
00271 HBA_UINT32 NumberOfEntries;
00272 HBA_FCPBINDINGENTRY entry[1];
00273 } HBA_FCPBINDING;
00274
00275 typedef struct HBA_FCPBindingEntry2 {
00276 HBA_BIND_TYPE type;
00277 HBA_SCSIID ScsiId;
00278 HBA_FCPID FcpId;
00279 HBA_LUID LUID;
00280 HBA_STATUS Status;
00281 } HBA_FCPBINDINGENTRY2;
00282
00283 typedef struct HBA_FCPBinding2 {
00284 HBA_UINT32 NumberOfEntries;
00285 HBA_FCPBINDINGENTRY2 entry[1];
00286 } HBA_FCPBINDING2;
00287
00288
00289
00290
00291 typedef enum HBA_wwntype {
00292 NODE_WWN,
00293 PORT_WWN
00294 } HBA_WWNTYPE;
00295
00296 typedef struct HBA_MgmtInfo {
00297 HBA_WWN wwn;
00298 HBA_UINT32 unittype;
00299 HBA_UINT32 PortId;
00300 HBA_UINT32 NumberOfAttachedNodes;
00301 HBA_UINT16 IPVersion;
00302 HBA_UINT16 UDPPort;
00303 HBA_UINT8 IPAddress[16];
00304 HBA_UINT16 reserved;
00305 HBA_UINT16 TopologyDiscoveryFlags;
00306 } HBA_MGMTINFO;
00307
00308
00309
00310
00311 #define HBA_EVENT_LIP_OCCURRED 1
00312 #define HBA_EVENT_LINK_UP 2
00313 #define HBA_EVENT_LINK_DOWN 3
00314 #define HBA_EVENT_LIP_RESET_OCCURRED 4
00315 #define HBA_EVENT_RSCN 5
00316 #define HBA_EVENT_PROPRIETARY 0xffff
00317
00318 typedef struct HBA_LinkEventInfo {
00319 HBA_UINT32 PortFcId;
00320 HBA_UINT32 Reserved[3];
00321 } HBA_LINK_EVENTINFO;
00322
00323 typedef struct HBA_RSCN_EventInfo {
00324 HBA_UINT32 PortFcId;
00325 HBA_UINT32 NPortPage;
00326 HBA_UINT32 Reserved[2];
00327 } HBA_RSCN_EVENTINFO;
00328
00329 typedef struct HBA_Pty_EventInfo {
00330 HBA_UINT32 PtyData[4];
00331 } HBA_PTY_EVENTINFO;
00332
00333 typedef struct HBA_EventInfo {
00334 HBA_UINT32 EventCode;
00335 union {
00336 HBA_LINK_EVENTINFO Link_EventInfo;
00337 HBA_RSCN_EVENTINFO RSCN_EventInfo;
00338 HBA_PTY_EVENTINFO Pty_EventInfo;
00339 } Event;
00340 } HBA_EVENTINFO;
00341
00342
00343
00344
00345 typedef void *HBA_CALLBACKHANDLE;
00346
00347
00348 #define HBA_EVENT_ADAPTER_ADD 0x101
00349
00350
00351 #define HBA_EVENT_ADAPTER_UNKNOWN 0x100
00352 #define HBA_EVENT_ADAPTER_REMOVE 0x102
00353 #define HBA_EVENT_ADAPTER_CHANGE 0x103
00354
00355
00356 #define HBA_EVENT_PORT_UNKNOWN 0x200
00357 #define HBA_EVENT_PORT_OFFLINE 0x201
00358 #define HBA_EVENT_PORT_ONLINE 0x202
00359 #define HBA_EVENT_PORT_NEW_TARGETS 0x203
00360 #define HBA_EVENT_PORT_FABRIC 0x204
00361
00362
00363 #define HBA_EVENT_PORT_STAT_THRESHOLD 0x301
00364 #define HBA_EVENT_PORT_STAT_GROWTH 0x302
00365
00366
00367 #define HBA_EVENT_TARGET_UNKNOWN 0x400
00368 #define HBA_EVENT_TARGET_OFFLINE 0x401
00369 #define HBA_EVENT_TARGET_ONLINE 0x402
00370 #define HBA_EVENT_TARGET_REMOVED 0x403
00371
00372
00373 #define HBA_EVENT_LINK_UNKNOWN 0x500
00374 #define HBA_EVENT_LINK_INCIDENT 0x501
00375
00376
00377
00378
00379 typedef struct HBA_LibraryAttributes {
00380 HBA_BOOLEAN final;
00381 char LibPath[256];
00382 char VName[256];
00383 char VVersion[256];
00384 struct tm build_date;
00385 } HBA_LIBRARYATTRIBUTES;
00386
00387
00388
00389
00390
00391
00392 HBA_UINT32 HBA_GetVersion(void);
00393 HBA_STATUS HBA_LoadLibrary(void);
00394 HBA_STATUS HBA_FreeLibrary(void);
00395 HBA_UINT32 HBA_GetWrapperLibraryAttributes(HBA_LIBRARYATTRIBUTES *);
00396 HBA_UINT32 HBA_GetVendorLibraryAttributes(HBA_UINT32, HBA_LIBRARYATTRIBUTES *);
00397 HBA_UINT32 HBA_GetNumberOfAdapters(void);
00398 void HBA_RefreshInformation(HBA_HANDLE);
00399 void HBA_RefreshAdapterConfiguration(void);
00400 void HBA_ResetStatistics(HBA_HANDLE, HBA_UINT32);
00401
00402
00403 HBA_STATUS HBA_GetAdapterName(HBA_UINT32, char *);
00404 HBA_HANDLE HBA_OpenAdapter(char *);
00405 HBA_STATUS HBA_OpenAdapterByWWN(HBA_HANDLE *, HBA_WWN);
00406 void HBA_CloseAdapter(HBA_HANDLE);
00407 HBA_STATUS HBA_GetAdapterAttributes(HBA_HANDLE, HBA_ADAPTERATTRIBUTES *);
00408 HBA_STATUS HBA_GetAdapterPortAttributes
00409 (HBA_HANDLE, HBA_UINT32, HBA_PORTATTRIBUTES *);
00410 HBA_STATUS HBA_GetDiscoveredPortAttributes
00411 (HBA_HANDLE, HBA_UINT32, HBA_UINT32, HBA_PORTATTRIBUTES *);
00412 HBA_STATUS HBA_GetPortAttributesByWWN
00413 (HBA_HANDLE, HBA_WWN, HBA_PORTATTRIBUTES *);
00414 HBA_STATUS HBA_GetPortStatistics(HBA_HANDLE, HBA_UINT32, HBA_PORTSTATISTICS *);
00415 HBA_STATUS HBA_GetFC4Statistics
00416 (HBA_HANDLE, HBA_WWN, HBA_UINT8, HBA_FC4STATISTICS *);
00417
00418
00419 HBA_STATUS HBA_GetBindingCapability(HBA_HANDLE, HBA_WWN, HBA_BIND_CAPABILITY *);
00420 HBA_STATUS HBA_GetBindingSupport(HBA_HANDLE, HBA_WWN, HBA_BIND_CAPABILITY *);
00421 HBA_STATUS HBA_SetBindingSupport(HBA_HANDLE, HBA_WWN, HBA_BIND_CAPABILITY);
00422 HBA_STATUS HBA_GetFcpTargetMapping(HBA_HANDLE, HBA_FCPTARGETMAPPING *);
00423 HBA_STATUS HBA_GetFcpTargetMappingV2
00424 (HBA_HANDLE, HBA_WWN, HBA_FCPTARGETMAPPINGV2 *);
00425 HBA_STATUS HBA_GetFcpPersistentBinding(HBA_HANDLE, HBA_FCPBINDING *);
00426 HBA_STATUS HBA_GetPersistentBindingV2(HBA_HANDLE, HBA_WWN, HBA_FCPBINDING2 *);
00427 HBA_STATUS HBA_SetPersistentBindingV2
00428 (HBA_HANDLE, HBA_WWN, HBA_FCPBINDING2 *);
00429 HBA_STATUS HBA_RemovePersistentBinding
00430 (HBA_HANDLE, HBA_WWN, HBA_FCPBINDING2 *);
00431 HBA_STATUS HBA_RemoveAllPersistentBindings(HBA_HANDLE, HBA_WWN);
00432 HBA_STATUS HBA_GetFCPStatistics
00433 (HBA_HANDLE, const HBA_SCSIID *, HBA_FC4STATISTICS *);
00434
00435
00436 HBA_STATUS HBA_SendScsiInquiry
00437 (HBA_HANDLE, HBA_WWN, HBA_UINT64, HBA_UINT8, HBA_UINT32, void *,
00438 HBA_UINT32, void *, HBA_UINT32);
00439 HBA_STATUS HBA_ScsiInquiryV2
00440 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT64, HBA_UINT8, HBA_UINT8, void *,
00441 HBA_UINT32 *, HBA_UINT8 *, void *, HBA_UINT32 *);
00442 HBA_STATUS HBA_SendReportLUNs
00443 (HBA_HANDLE, HBA_WWN, void *, HBA_UINT32, void *, HBA_UINT32);
00444 HBA_STATUS HBA_ScsiReportLUNsV2
00445 (HBA_HANDLE, HBA_WWN, HBA_WWN, void *, HBA_UINT32 *, HBA_UINT8 *,
00446 void *, HBA_UINT32 *);
00447 HBA_STATUS HBA_SendReadCapacity
00448 (HBA_HANDLE, HBA_WWN, HBA_UINT64, void *, HBA_UINT32, void *,
00449 HBA_UINT32);
00450 HBA_STATUS HBA_ScsiReadCapacityV2
00451 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT64, void *, HBA_UINT32 *,
00452 HBA_UINT8 *, void *, HBA_UINT32 *);
00453
00454
00455 HBA_STATUS HBA_SendCTPassThru
00456 (HBA_HANDLE, void *, HBA_UINT32, void *, HBA_UINT32);
00457 HBA_STATUS HBA_SendCTPassThruV2
00458 (HBA_HANDLE, HBA_WWN, void *, HBA_UINT32, void *, HBA_UINT32 *);
00459 HBA_STATUS HBA_SetRNIDMgmtInfo(HBA_HANDLE, HBA_MGMTINFO *);
00460 HBA_STATUS HBA_GetRNIDMgmtInfo(HBA_HANDLE, HBA_MGMTINFO *);
00461 HBA_STATUS HBA_SendRNID(HBA_HANDLE, HBA_WWN, HBA_WWNTYPE, void *, HBA_UINT32 *);
00462 HBA_STATUS HBA_SendRNIDV2
00463 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT32, HBA_UINT32, void *,
00464 HBA_UINT32 *);
00465 HBA_STATUS HBA_SendRPL
00466 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT32, HBA_UINT32, void *,
00467 HBA_UINT32 *);
00468 HBA_STATUS HBA_SendRPS
00469 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT32, HBA_WWN, HBA_UINT32, void *,
00470 HBA_UINT32 *);
00471 HBA_STATUS HBA_SendSRL
00472 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT32, void *, HBA_UINT32 *);
00473 HBA_STATUS HBA_SendLIRR
00474 (HBA_HANDLE, HBA_WWN, HBA_WWN, HBA_UINT8, HBA_UINT8, void *,
00475 HBA_UINT32 *);
00476 HBA_STATUS HBA_SendRLS(HBA_HANDLE, HBA_WWN, HBA_WWN, void *, HBA_UINT32 *);
00477
00478
00479 HBA_STATUS HBA_GetEventBuffer(HBA_HANDLE, HBA_EVENTINFO *, HBA_UINT32 *);
00480 HBA_STATUS HBA_RegisterForAdapterAddEvents
00481 (void (*)(void *, HBA_WWN, HBA_UINT32), void *, HBA_CALLBACKHANDLE *);
00482 HBA_STATUS HBA_RegisterForAdapterEvents
00483 (void (*)(void *, HBA_WWN, HBA_UINT32), void *, HBA_HANDLE,
00484 HBA_CALLBACKHANDLE *);
00485 HBA_STATUS HBA_RegisterForAdapterPortEvents
00486 (void (*)(void *, HBA_WWN, HBA_UINT32, HBA_UINT32), void *, HBA_HANDLE,
00487 HBA_WWN, HBA_CALLBACKHANDLE *);
00488 HBA_STATUS HBA_RegisterForAdapterPortStatEvents
00489 (void (*)(void *, HBA_WWN, HBA_UINT32), void *, HBA_HANDLE, HBA_WWN,
00490 HBA_PORTSTATISTICS, HBA_UINT32, HBA_CALLBACKHANDLE *);
00491 HBA_STATUS HBA_RegisterForTargetEvents
00492 (void (*)(void *, HBA_WWN, HBA_WWN, HBA_UINT32), void *, HBA_HANDLE,
00493 HBA_WWN, HBA_WWN, HBA_CALLBACKHANDLE *, HBA_UINT32);
00494 HBA_STATUS HBA_RegisterForLinkEvents
00495 (void (*)(void *, HBA_WWN, HBA_UINT32, void *, HBA_UINT32), void *,
00496 void *, HBA_UINT32, HBA_HANDLE, HBA_CALLBACKHANDLE *);
00497 HBA_STATUS HBA_RemoveCallback(HBA_CALLBACKHANDLE);
00498
00499 #ifdef __cplusplus
00500 }
00501 #endif
00502
00503 #endif