1219820Sjeff/* 2219820Sjeff * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. 3219820Sjeff * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 4219820Sjeff * 5219820Sjeff * This software is available to you under a choice of one of two 6219820Sjeff * licenses. You may choose to be licensed under the terms of the GNU 7219820Sjeff * General Public License (GPL) Version 2, available from the file 8219820Sjeff * COPYING in the main directory of this source tree, or the 9219820Sjeff * OpenIB.org BSD license below: 10219820Sjeff * 11219820Sjeff * Redistribution and use in source and binary forms, with or 12219820Sjeff * without modification, are permitted provided that the following 13219820Sjeff * conditions are met: 14219820Sjeff * 15219820Sjeff * - Redistributions of source code must retain the above 16219820Sjeff * copyright notice, this list of conditions and the following 17219820Sjeff * disclaimer. 18219820Sjeff * 19219820Sjeff * - Redistributions in binary form must reproduce the above 20219820Sjeff * copyright notice, this list of conditions and the following 21219820Sjeff * disclaimer in the documentation and/or other materials 22219820Sjeff * provided with the distribution. 23219820Sjeff * 24219820Sjeff * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25219820Sjeff * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26219820Sjeff * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27219820Sjeff * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28219820Sjeff * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29219820Sjeff * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30219820Sjeff * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31219820Sjeff * SOFTWARE. 32219820Sjeff * 33219820Sjeff */ 34219820Sjeff 35219820Sjeff#ifndef __OSMT_INFORM__ 36219820Sjeff#define __OSMT_INFORM__ 37219820Sjeff 38219820Sjeff#ifdef OSM_VENDOR_INTF_MTL 39219820Sjeff#include <vendor/osm_vendor_mlx_inout.h> 40219820Sjeff#include <ib_mgt.h> 41219820Sjeff#include "osmt_mtl_regular_qp.h" 42219820Sjeff#endif 43219820Sjeff 44219820Sjefftypedef struct _osmt_qp_ctx { 45219820Sjeff#ifdef OSM_VENDOR_INTF_MTL 46219820Sjeff osmt_mtl_mad_res_t qp_bind_hndl; 47219820Sjeff#endif 48219820Sjeff uint8_t *p_send_buf; 49219820Sjeff uint8_t *p_recv_buf; 50219820Sjeff#ifdef OSM_VENDOR_INTF_MTL 51219820Sjeff IB_MGT_mad_hndl_t ib_mgt_qp0_handle; 52219820Sjeff#endif 53219820Sjeff} osmt_qp_ctx_t; 54219820Sjeff 55219820Sjeffib_api_status_t 56219820Sjeffosmt_bind_inform_qp(IN osmtest_t * const p_osmt, OUT osmt_qp_ctx_t * p_qp_ctx); 57219820Sjeff 58219820Sjeffvoid 59219820Sjeffosmt_unbind_inform_qp(IN osmtest_t * const p_osmt, IN osmt_qp_ctx_t * p_qp_ctx); 60219820Sjeff 61219820Sjeffib_api_status_t 62219820Sjeffosmt_reg_unreg_inform_info(IN osmtest_t * p_osmt, 63219820Sjeff IN osmt_qp_ctx_t * p_qp_ctx, 64219820Sjeff IN ib_inform_info_t * p_inform_info, 65219820Sjeff IN uint8_t reg_flag); 66219820Sjeff 67219820Sjeffib_api_status_t 68219820Sjeffosmt_trap_wait(IN osmtest_t * const p_osmt, IN osmt_qp_ctx_t * p_qp_ctx); 69219820Sjeff 70219820Sjeffib_api_status_t 71219820Sjeffosmt_init_inform_info(IN osmtest_t * const p_osmt, OUT ib_inform_info_t * p_ii); 72219820Sjeff 73219820Sjeffib_api_status_t 74219820Sjeffosmt_init_inform_info_by_trap(IN osmtest_t * const p_osmt, 75219820Sjeff IN ib_net16_t trap_num, 76219820Sjeff OUT ib_inform_info_t * p_ii); 77219820Sjeff 78219820Sjeff#endif /* __OSMT_INFORM__ */ 79