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