|
Packit |
857059 |
/* BEGIN_ICS_COPYRIGHT4 ****************************************
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Copyright (c) 2015, Intel Corporation
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Redistribution and use in source and binary forms, with or without
|
|
Packit |
857059 |
modification, are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
* Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
* Redistributions in binary form must reproduce the above copyright
|
|
Packit |
857059 |
notice, this list of conditions and the following disclaimer in the
|
|
Packit |
857059 |
documentation and/or other materials provided with the distribution.
|
|
Packit |
857059 |
* Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
857059 |
may be used to endorse or promote products derived from this software
|
|
Packit |
857059 |
without specific prior written permission.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
Packit |
857059 |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
Packit |
857059 |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Packit |
857059 |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
Packit |
857059 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
Packit |
857059 |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit |
857059 |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit |
857059 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
** END_ICS_COPYRIGHT4 ****************************************/
|
|
Packit |
857059 |
/* [ICS VERSION STRING: unknown] */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#ifndef _IBA_VCA_MAIN_H_
|
|
Packit |
857059 |
#define _IBA_VCA_MAIN_H_ (1) // suppress duplicate loading of this file
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// External declarations of global variables
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
|
|
Packit |
857059 |
extern struct _VCA_GLOBAL VcaGlobal;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// Constant definitions
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define VCA_MEM_TAG MAKE_MEM_TAG(V,c,a,M)
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// Forward declarations
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
vcaLoad(EUI64 SystemImageGUID);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
vcaUnload(void);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
vcaInitCA(
|
|
Packit |
857059 |
IN DEVICE_INFO *DevInfo
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
vcaAddCA(
|
|
Packit |
857059 |
IN DEVICE_INFO *DevInfo
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
vcaRemoveCA(
|
|
Packit |
857059 |
IN DEVICE_INFO *DevInfo
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
vcaFreeCA(
|
|
Packit |
857059 |
IN DEVICE_INFO *DevInfo
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
DEVICE_INFO *
|
|
Packit |
857059 |
vcaFindCA(
|
|
Packit |
857059 |
IN EUI64 CaGuid
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
default_poll_and_rearm_cq(
|
|
Packit |
857059 |
IN IB_HANDLE CqHandle,
|
|
Packit |
857059 |
IN IB_CQ_EVENT_SELECT EventSelect,
|
|
Packit |
857059 |
OUT IB_WORK_COMPLETION *WorkCompletion
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
FSTATUS
|
|
Packit |
857059 |
vcaOpenCa(
|
|
Packit |
857059 |
IN DEVICE_INFO *DevInfo,
|
|
Packit |
857059 |
IN IB_COMPLETION_CALLBACK CompletionCallback,
|
|
Packit |
857059 |
IN IB_ASYNC_EVENT_CALLBACK AsyncEventCallback,
|
|
Packit |
857059 |
IN void *Context,
|
|
Packit |
857059 |
OUT IB_HANDLE *CaHandle
|
|
Packit |
857059 |
);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// VCA global info
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct _VCA_GLOBAL {
|
|
Packit |
857059 |
DEVICE_INFO *DeviceList; // List of all known devices
|
|
Packit |
857059 |
SPIN_LOCK Lock; // Lock on device list
|
|
Packit |
857059 |
EUI64 SystemImageGUID; // global for platform
|
|
Packit |
857059 |
} VCA_GLOBAL;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#endif // _IBA_VCA_MAIN_H_
|