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 2010 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef	_SYS_IB_ADAPTERS_TAVOR_TYPEDEF_H
28 #define	_SYS_IB_ADAPTERS_TAVOR_TYPEDEF_H
29 
30 /*
31  * tavor_typedef.h
32  *    Contains all the common typedefs used throughout the Tavor driver.
33  *    Because the tavor.h header file (which all source files include) brings
34  *    this header file in first (before any of the other Tavor header files),
35  *    the typedefs defined here can be used throughout the source and header
36  *    files in the rest of the driver.
37  */
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 typedef	struct tavor_state_s		tavor_state_t;
44 typedef	struct tavor_agent_list_s	tavor_agent_list_t;
45 typedef	struct tavor_qalloc_info_s	tavor_qalloc_info_t;
46 typedef struct tavor_rsrc_pool_info_s	tavor_rsrc_pool_info_t;
47 typedef	struct tavor_rsrc_s		tavor_rsrc_t;
48 typedef struct tavor_wrid_entry_s	tavor_wrid_entry_t;
49 typedef struct tavor_wrid_list_hdr_s	tavor_wrid_list_hdr_t;
50 typedef struct tavor_workq_hdr_s	tavor_workq_hdr_t;
51 typedef struct tavor_wq_lock_s		tavor_wq_lock_t;
52 
53 typedef struct tavor_hw_hcr_s		tavor_hw_hcr_t;
54 typedef struct tavor_hw_querydevlim_s	tavor_hw_querydevlim_t;
55 typedef struct tavor_hw_queryfw_s	tavor_hw_queryfw_t;
56 typedef struct tavor_hw_queryddr_s	tavor_hw_queryddr_t;
57 typedef struct tavor_hw_queryadapter_s	tavor_hw_queryadapter_t;
58 typedef struct tavor_hw_initqueryhca_s	tavor_hw_initqueryhca_t;
59 typedef struct tavor_hw_initib_s	tavor_hw_initib_t;
60 typedef struct tavor_hw_mpt_s		tavor_hw_mpt_t;
61 typedef struct tavor_hw_mtt_s		tavor_hw_mtt_t;
62 typedef struct tavor_hw_eqc_s		tavor_hw_eqc_t;
63 typedef struct tavor_hw_eqe_s		tavor_hw_eqe_t;
64 typedef struct tavor_hw_cqc_s		tavor_hw_cqc_t;
65 typedef struct tavor_hw_srqc_s		tavor_hw_srqc_t;
66 typedef struct tavor_hw_uar_s		tavor_hw_uar_t;
67 typedef struct tavor_hw_cqe_s		tavor_hw_cqe_t;
68 typedef struct tavor_hw_addr_path_s	tavor_hw_addr_path_t;
69 typedef	struct tavor_hw_mod_stat_cfg_s  tavor_hw_mod_stat_cfg_t;
70 typedef struct tavor_hw_udav_s		tavor_hw_udav_t;
71 typedef struct tavor_hw_qpc_s		tavor_hw_qpc_t;
72 typedef struct tavor_hw_mcg_s		tavor_hw_mcg_t;
73 typedef struct tavor_hw_mcg_qp_list_s	tavor_hw_mcg_qp_list_t;
74 typedef struct tavor_hw_sm_perfcntr_s	tavor_hw_sm_perfcntr_t;
75 typedef struct tavor_hw_snd_wqe_nextctrl_s tavor_hw_snd_wqe_nextctrl_t;
76 typedef struct tavor_hw_snd_wqe_ud_s	   tavor_hw_snd_wqe_ud_t;
77 typedef struct tavor_hw_snd_wqe_bind_s	   tavor_hw_snd_wqe_bind_t;
78 typedef struct tavor_hw_snd_wqe_remaddr_s  tavor_hw_snd_wqe_remaddr_t;
79 typedef struct tavor_hw_snd_wqe_atomic_s   tavor_hw_snd_wqe_atomic_t;
80 typedef struct tavor_hw_mlx_wqe_nextctrl_s tavor_hw_mlx_wqe_nextctrl_t;
81 typedef struct tavor_hw_rcv_wqe_nextctrl_s tavor_hw_rcv_wqe_nextctrl_t;
82 typedef struct tavor_hw_wqe_sgl_s	tavor_hw_wqe_sgl_t;
83 
84 typedef struct tavor_sw_mr_s		*tavor_mrhdl_t;
85 typedef struct tavor_sw_mr_s		*tavor_mwhdl_t;
86 typedef struct tavor_sw_pd_s		*tavor_pdhdl_t;
87 typedef struct tavor_sw_eq_s		*tavor_eqhdl_t;
88 typedef struct tavor_sw_cq_s		*tavor_cqhdl_t;
89 typedef struct tavor_sw_srq_s		*tavor_srqhdl_t;
90 typedef struct tavor_sw_ah_s		*tavor_ahhdl_t;
91 typedef struct tavor_sw_qp_s		*tavor_qphdl_t;
92 typedef struct tavor_sw_mcg_list_s	*tavor_mcghdl_t;
93 
94 #ifdef __cplusplus
95 }
96 #endif
97 
98 #endif	/* _SYS_IB_ADAPTERS_TAVOR_TYPEDEF_H */
99