/******************************************************************************
*
* Description
* vendorhbaapi.h - incombination with hbaapi.h, defines interface to
* vendor specific API
*
* 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 general header file
*
* The Initial Developer of the Original Code is:
* Benjamin F. Kuo, Troika Networks, Inc. (benk@troikanetworks.com)
*
* Contributor(s):
* Tuan Lam, QLogic Corp. (t_lam@qlc.com)
* Dan Willie, Emulex Corp. (Dan.Willie@emulex.com)
* Dixon Hutchinson, Legato Systems, Inc. (dhutchin@legato.com)
* David Dillard, VERITAS Software Corp. (david.dillard@veritas.com)
*
*******************************************************************************
*
* Changes:
* 12/12/2001 Original revision, code split out of hbaapi.h
* (for other changes... see the CVS logs)
******************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef VENDOR_HBA_API_H
#define VENDOR_HBA_API_H
/* 4.2.12 HBA Library Function Table */
/*
* Open Adapter.... the vendor function is limmited to 16 bits,
* the wrapper library will mask off the upper 16.
* Maybe typedef should be:
* typedef HBA_UINT16 (* HBAOpenAdapterFunc)(char *);
*/
(HBA_HANDLE *, HBA_WWN);
typedef void (* HBARefreshAdapterConfigurationFunc) ();
(HBA_HANDLE, HBA_WWN);
(HBA_HANDLE, HBA_MGMTINFO *);
void *, HBA_UINT32 *);
HBA_UINT8 *, void *, HBA_UINT32 *);
HBA_UINT32 );
HBA_UINT32 *);
/* Deprecated, but still supported functions */
(HBA_HANDLE, HBA_FCPBINDING *);
HBA_UINT32, void *, HBA_UINT32);
/*
* This structure is needed since a Rev2 vendor library must still implement the
* Rev1 Register function in case it is called by a Rev1 wapper library. Still
* not STRICTLY neccesary, it provides clarity and keeps compilers happier
*/
typedef struct HBA_EntryPoints {
typedef struct HBA_EntryPointsV2 {
/* These first elements MUST MUST MUST match HBA_ENTRYPOINTS */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Next function depricated but still supported */
/* Rev 2 Functions */
/* Function Prototypes */
);
);
#endif /* VENDOR_HBA_API_H */
#ifdef __cplusplus
}
#endif