1*c39526b7SPramod Gunjikar /*
2*c39526b7SPramod Gunjikar  * CDDL HEADER START
3*c39526b7SPramod Gunjikar  *
4*c39526b7SPramod Gunjikar  * The contents of this file are subject to the terms of the
5*c39526b7SPramod Gunjikar  * Common Development and Distribution License (the "License").
6*c39526b7SPramod Gunjikar  * You may not use this file except in compliance with the License.
7*c39526b7SPramod Gunjikar  *
8*c39526b7SPramod Gunjikar  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*c39526b7SPramod Gunjikar  * or http://www.opensolaris.org/os/licensing.
10*c39526b7SPramod Gunjikar  * See the License for the specific language governing permissions
11*c39526b7SPramod Gunjikar  * and limitations under the License.
12*c39526b7SPramod Gunjikar  *
13*c39526b7SPramod Gunjikar  * When distributing Covered Code, include this CDDL HEADER in each
14*c39526b7SPramod Gunjikar  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*c39526b7SPramod Gunjikar  * If applicable, add the following below this CDDL HEADER, with the
16*c39526b7SPramod Gunjikar  * fields enclosed by brackets "[]" replaced with your own identifying
17*c39526b7SPramod Gunjikar  * information: Portions Copyright [yyyy] [name of copyright owner]
18*c39526b7SPramod Gunjikar  *
19*c39526b7SPramod Gunjikar  * CDDL HEADER END
20*c39526b7SPramod Gunjikar  */
21*c39526b7SPramod Gunjikar 
22*c39526b7SPramod Gunjikar /*
23*c39526b7SPramod Gunjikar  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24*c39526b7SPramod Gunjikar  */
25*c39526b7SPramod Gunjikar 
26*c39526b7SPramod Gunjikar #ifndef	_SYS_IB_CLIENTS_OF_SOL_UCMA_SOL_RDMA_USER_CM_H
27*c39526b7SPramod Gunjikar #define	_SYS_IB_CLIENTS_OF_SOL_UCMA_SOL_RDMA_USER_CM_H
28*c39526b7SPramod Gunjikar 
29*c39526b7SPramod Gunjikar #ifdef __cplusplus
30*c39526b7SPramod Gunjikar extern "C" {
31*c39526b7SPramod Gunjikar #endif
32*c39526b7SPramod Gunjikar 
33*c39526b7SPramod Gunjikar #include <sys/ib/clients/of/ofa_solaris.h>
34*c39526b7SPramod Gunjikar #include <sys/ib/clients/of/rdma/rdma_user_cm.h>
35*c39526b7SPramod Gunjikar 
36*c39526b7SPramod Gunjikar /*
37*c39526b7SPramod Gunjikar  * Typedefs for data structures defined in rdma_user_cm.h
38*c39526b7SPramod Gunjikar  */
39*c39526b7SPramod Gunjikar typedef struct rdma_ucm_cmd_hdr		sol_ucma_cmd_hdr_t;
40*c39526b7SPramod Gunjikar typedef struct rdma_ucm_create_id	sol_ucma_create_id_t;
41*c39526b7SPramod Gunjikar typedef struct rdma_ucm_create_id_resp	sol_ucma_create_id_resp_t;
42*c39526b7SPramod Gunjikar typedef struct rdma_ucm_destroy_id	sol_ucma_destroy_id_t;
43*c39526b7SPramod Gunjikar typedef struct rdma_ucm_destroy_id_resp	sol_ucma_destroy_id_resp_t;
44*c39526b7SPramod Gunjikar typedef struct rdma_ucm_bind_addr	sol_ucma_bind_addr_t;
45*c39526b7SPramod Gunjikar typedef struct rdma_ucm_resolve_addr	sol_ucma_resolve_addr_t;
46*c39526b7SPramod Gunjikar typedef struct rdma_ucm_resolve_route	sol_ucma_resolve_route_t;
47*c39526b7SPramod Gunjikar typedef struct rdma_ucm_query_route	sol_ucma_query_route_t;
48*c39526b7SPramod Gunjikar typedef struct rdma_ucm_query_route_resp
49*c39526b7SPramod Gunjikar     sol_ucma_query_route_resp_t;
50*c39526b7SPramod Gunjikar typedef struct rdma_ucm_connect		sol_ucma_connect_t;
51*c39526b7SPramod Gunjikar typedef struct rdma_ucm_listen		sol_ucma_listen_t;
52*c39526b7SPramod Gunjikar typedef struct rdma_ucm_accept		sol_ucma_accept_t;
53*c39526b7SPramod Gunjikar typedef struct rdma_ucm_reject 		sol_ucma_reject_t;
54*c39526b7SPramod Gunjikar typedef struct rdma_ucm_disconnect	sol_ucma_disconnect_t;
55*c39526b7SPramod Gunjikar typedef struct rdma_ucm_init_qp_attr	sol_ucma_init_qp_attr_t;
56*c39526b7SPramod Gunjikar typedef struct rdma_ucm_notify		sol_ucma_notify_t;
57*c39526b7SPramod Gunjikar typedef struct rdma_ucm_join_mcast	sol_ucma_join_mcast_t;
58*c39526b7SPramod Gunjikar typedef struct rdma_ucm_get_event	sol_ucma_get_event_t;
59*c39526b7SPramod Gunjikar typedef struct rdma_ucm_event_resp	sol_ucma_event_resp_t;
60*c39526b7SPramod Gunjikar typedef struct rdma_ucm_ud_param	sol_ucma_ud_param_t;
61*c39526b7SPramod Gunjikar typedef struct rdma_ucm_set_option	sol_ucma_set_option_t;
62*c39526b7SPramod Gunjikar 
63*c39526b7SPramod Gunjikar #pragma pack(1)
64*c39526b7SPramod Gunjikar typedef struct {
65*c39526b7SPramod Gunjikar 	uint64_t		response;
66*c39526b7SPramod Gunjikar 	struct sockaddr_in6	addr;
67*c39526b7SPramod Gunjikar 	uint32_t		id;
68*c39526b7SPramod Gunjikar } sol_ucma_bind_addr32_t;
69*c39526b7SPramod Gunjikar 
70*c39526b7SPramod Gunjikar typedef struct {
71*c39526b7SPramod Gunjikar 	uint64_t		response;
72*c39526b7SPramod Gunjikar 	struct sockaddr_in6	addr;
73*c39526b7SPramod Gunjikar 	uint32_t		id;
74*c39526b7SPramod Gunjikar 	uint32_t		reserved;
75*c39526b7SPramod Gunjikar } sol_ucma_bind_addr64_t;
76*c39526b7SPramod Gunjikar 
77*c39526b7SPramod Gunjikar typedef struct {
78*c39526b7SPramod Gunjikar 	uint64_t		response;
79*c39526b7SPramod Gunjikar 	uint64_t		uid;
80*c39526b7SPramod Gunjikar 	struct sockaddr_in6	addr;
81*c39526b7SPramod Gunjikar 	uint32_t		id;
82*c39526b7SPramod Gunjikar } sol_ucma_join_mcast32_t;
83*c39526b7SPramod Gunjikar 
84*c39526b7SPramod Gunjikar typedef struct {
85*c39526b7SPramod Gunjikar 	uint64_t		response;
86*c39526b7SPramod Gunjikar 	uint64_t		uid;
87*c39526b7SPramod Gunjikar 	struct sockaddr_in6	addr;
88*c39526b7SPramod Gunjikar 	uint32_t		id;
89*c39526b7SPramod Gunjikar 	uint32_t		reserved;
90*c39526b7SPramod Gunjikar } sol_ucma_join_mcast64_t;
91*c39526b7SPramod Gunjikar #pragma pack()
92*c39526b7SPramod Gunjikar 
93*c39526b7SPramod Gunjikar #ifdef __cplusplus
94*c39526b7SPramod Gunjikar }
95*c39526b7SPramod Gunjikar #endif
96*c39526b7SPramod Gunjikar 
97*c39526b7SPramod Gunjikar #endif /* _SYS_IB_CLIENTS_OF_SOL_UCMA_SOL_RDMA_USER_CM_H */
98