1/* 2 * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. 3 * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the 9 * OpenIB.org BSD license below: 10 * 11 * Redistribution and use in source and binary forms, with or 12 * without modification, are permitted provided that the following 13 * conditions are met: 14 * 15 * - Redistributions of source code must retain the above 16 * copyright notice, this list of conditions and the following 17 * disclaimer. 18 * 19 * - Redistributions in binary form must reproduce the above 20 * copyright notice, this list of conditions and the following 21 * disclaimer in the documentation and/or other materials 22 * provided with the distribution. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 * SOFTWARE. 32 * 33 */ 34 35#ifndef __OSMT_INFORM__ 36#define __OSMT_INFORM__ 37 38#ifdef OSM_VENDOR_INTF_MTL 39#include <vendor/osm_vendor_mlx_inout.h> 40#include <ib_mgt.h> 41#include "osmt_mtl_regular_qp.h" 42#endif 43 44typedef struct _osmt_qp_ctx { 45#ifdef OSM_VENDOR_INTF_MTL 46 osmt_mtl_mad_res_t qp_bind_hndl; 47#endif 48 uint8_t *p_send_buf; 49 uint8_t *p_recv_buf; 50#ifdef OSM_VENDOR_INTF_MTL 51 IB_MGT_mad_hndl_t ib_mgt_qp0_handle; 52#endif 53} osmt_qp_ctx_t; 54 55ib_api_status_t 56osmt_bind_inform_qp(IN osmtest_t * const p_osmt, OUT osmt_qp_ctx_t * p_qp_ctx); 57 58void 59osmt_unbind_inform_qp(IN osmtest_t * const p_osmt, IN osmt_qp_ctx_t * p_qp_ctx); 60 61ib_api_status_t 62osmt_reg_unreg_inform_info(IN osmtest_t * p_osmt, 63 IN osmt_qp_ctx_t * p_qp_ctx, 64 IN ib_inform_info_t * p_inform_info, 65 IN uint8_t reg_flag); 66 67ib_api_status_t 68osmt_trap_wait(IN osmtest_t * const p_osmt, IN osmt_qp_ctx_t * p_qp_ctx); 69 70ib_api_status_t 71osmt_init_inform_info(IN osmtest_t * const p_osmt, OUT ib_inform_info_t * p_ii); 72 73ib_api_status_t 74osmt_init_inform_info_by_trap(IN osmtest_t * const p_osmt, 75 IN ib_net16_t trap_num, 76 OUT ib_inform_info_t * p_ii); 77 78#endif /* __OSMT_INFORM__ */ 79