~ubuntu-branches/ubuntu/raring/ibutils/raring-proposed

« back to all changes in this revision

Viewing changes to ibmgtsim/src/ibms_client_api.h

  • Committer: Bazaar Package Importer
  • Author(s): Benoit Mortier
  • Date: 2010-01-11 22:22:00 UTC
  • Revision ID: james.westby@ubuntu.com-20100111222200-53kum2et5nh13rv3
Tags: upstream-1.2-OFED-1.4.2
ImportĀ upstreamĀ versionĀ 1.2-OFED-1.4.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (c) 2004 Mellanox Technologies LTD. All rights reserved.
 
3
 *
 
4
 * This software is available to you under a choice of one of two
 
5
 * licenses.  You may choose to be licensed under the terms of the GNU
 
6
 * General Public License (GPL) Version 2, available from the file
 
7
 * COPYING in the main directory of this source tree, or the
 
8
 * OpenIB.org BSD license below:
 
9
 *
 
10
 *     Redistribution and use in source and binary forms, with or
 
11
 *     without modification, are permitted provided that the following
 
12
 *     conditions are met:
 
13
 *
 
14
 *      - Redistributions of source code must retain the above
 
15
 *        copyright notice, this list of conditions and the following
 
16
 *        disclaimer.
 
17
 *
 
18
 *      - Redistributions in binary form must reproduce the above
 
19
 *        copyright notice, this list of conditions and the following
 
20
 *        disclaimer in the documentation and/or other materials
 
21
 *        provided with the distribution.
 
22
 *
 
23
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
24
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
25
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 
26
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 
27
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 
28
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 
29
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 
30
 * SOFTWARE.
 
31
 *
 
32
 * $Id$
 
33
 */
 
34
 
 
35
/****h* IBMgtSim/ClientInterface
 
36
 * NAME
 
37
 *      IBIS
 
38
 *
 
39
 * DESCRIPTION
 
40
 *      Declaration of C API for clients
 
41
 *
 
42
 * Environment:
 
43
 *      Linux User Mode
 
44
 *
 
45
 * $Revision: 1.4 $
 
46
 *
 
47
 * AUTHOR
 
48
 *      Eitan Zahavi, Mellanox
 
49
 *
 
50
 *********/
 
51
 
 
52
#ifndef IBMGTSIM_CLIENT_API
 
53
#define IBMGTSIM_CLIENT_API
 
54
 
 
55
#include "simmsg.h"
 
56
 
 
57
#ifdef __cplusplus
 
58
extern "C"
 
59
{
 
60
#endif
 
61
 
 
62
/****f* IBMS Client API/ibms_pfn_receive_cb_t
 
63
* NAME
 
64
*       ibms_pfn_receive_cb_t
 
65
*
 
66
* DESCRIPTION
 
67
*       User-defined callback invoked on receiving new messages
 
68
*
 
69
* SYNOPSIS
 
70
*/
 
71
typedef void
 
72
(*ibms_pfn_receive_cb_t) (
 
73
  IN void* p_ctx,
 
74
  IN ibms_mad_msg_t *p_mad);
 
75
/*
 
76
* PARAMETERS
 
77
*       p_ctx
 
78
*               [in] The context provided during the client registration by ibms_connect
 
79
*
 
80
*  p_mad
 
81
*     [in] Pointer to the incoming mad message
 
82
*
 
83
*****/
 
84
 
 
85
 
 
86
/****f* IBMS Client API/ibms_conn_handle_t
 
87
* NAME
 
88
*       ibms_conn_handle_t
 
89
*
 
90
* DESCRIPTION
 
91
*       Abstract handle to connection objects
 
92
*
 
93
* SYNOPSIS
 
94
*/
 
95
typedef void * ibms_conn_handle_t;
 
96
/*
 
97
*
 
98
*****/
 
99
 
 
100
/* connect to the server to the port guid. Registering incoming messages callbacks */
 
101
ibms_conn_handle_t
 
102
ibms_connect(uint64_t portGuid, ibms_pfn_receive_cb_t receiveCb, void* context);
 
103
 
 
104
/* bind to a specific mad messages */
 
105
int
 
106
ibms_bind(ibms_conn_handle_t conHdl, ibms_bind_msg_t *pBindMsg);
 
107
 
 
108
/* set port capabilities */
 
109
int
 
110
ibms_set_cap(ibms_conn_handle_t conHdl, ibms_cap_msg_t *pCapMsg);
 
111
 
 
112
/* send a message to the simulator */
 
113
int
 
114
ibms_send(ibms_conn_handle_t conHdl, ibms_mad_msg_t *pMadMsg);
 
115
 
 
116
/* disconnect from the simulator */
 
117
int
 
118
ibms_disconnect(ibms_conn_handle_t conHdl);
 
119
 
 
120
#ifdef __cplusplus
 
121
/* extern "C" */
 
122
}
 
123
#endif
 
124
 
 
125
#endif /* IBMGTSIM_CLIENT_API */