xref: /illumos-gate/usr/src/uts/common/sys/ib/adapters/hermon/hermon_typedef.h (revision cf8b971efe8cbaaac8c733c2466206380608c8e4)
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 2009 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef	_SYS_IB_ADAPTERS_HERMON_TYPEDEF_H
28 #define	_SYS_IB_ADAPTERS_HERMON_TYPEDEF_H
29 
30 /*
31  * hermon_typedef.h
32  *    Contains all the common typedefs used throughout the Hermon driver.
33  *    Because the hermon.h header file (which all source files include) brings
34  *    this header file in first (before any of the other Hermon 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 hermon_state_s		hermon_state_t;
44 typedef	struct hermon_agent_list_s	hermon_agent_list_t;
45 typedef	struct hermon_qalloc_info_s	hermon_qalloc_info_t;
46 typedef struct hermon_rsrc_pool_info_s	hermon_rsrc_pool_info_t;
47 typedef	struct hermon_rsrc_s		hermon_rsrc_t;
48 typedef struct hermon_wrid_list_hdr_s	hermon_wrid_list_hdr_t;
49 typedef struct hermon_workq_avl_s	hermon_workq_avl_t;
50 typedef struct hermon_workq_hdr_s	hermon_workq_hdr_t;
51 typedef struct hermon_wq_lock_s		hermon_wq_lock_t;
52 typedef struct hermon_icm_info_s	hermon_icm_info_t;
53 typedef struct hermon_icm_table_s	hermon_icm_table_t;
54 typedef	struct hermon_dma_info_s	hermon_dma_info_t;
55 typedef struct hermon_hw_vpm_s 		hermon_hw_vpm_t;
56 typedef struct hermon_hw_hcr_s		hermon_hw_hcr_t;
57 typedef struct hermon_hw_querydevlim_s	hermon_hw_querydevlim_t;
58 typedef struct hermon_hw_query_port_s	hermon_hw_query_port_t;
59 typedef struct hermon_hw_set_port_s	hermon_hw_set_port_t;
60 typedef struct hermon_hw_queryfw_s	hermon_hw_queryfw_t;
61 typedef struct hermon_hw_queryadapter_s	hermon_hw_queryadapter_t;
62 typedef struct hermon_hw_initqueryhca_s	hermon_hw_initqueryhca_t;
63 typedef struct hermon_hw_dmpt_s		hermon_hw_dmpt_t;
64 typedef struct hermon_hw_cmpt_s		hermon_hw_cmpt_t;
65 typedef struct hermon_hw_mtt_s		hermon_hw_mtt_t;
66 typedef struct hermon_hw_eqc_s		hermon_hw_eqc_t;
67 typedef struct hermon_hw_eqe_s		hermon_hw_eqe_t;
68 typedef struct hermon_hw_cqc_s		hermon_hw_cqc_t;
69 typedef struct hermon_hw_srqc_s		hermon_hw_srqc_t;
70 typedef struct hermon_hw_uar_s		hermon_hw_uar_t;
71 typedef struct hermon_hw_cqe_s		hermon_hw_cqe_t;
72 typedef struct hermon_hw_addr_path_s	hermon_hw_addr_path_t;
73 typedef	struct hermon_hw_mod_stat_cfg_s  hermon_hw_mod_stat_cfg_t;
74 typedef	struct hermon_hw_msg_in_mod_s	hermon_hw_msg_in_mod_t;
75 typedef struct hermon_hw_udav_s		hermon_hw_udav_t;
76 typedef struct hermon_hw_qpc_s		hermon_hw_qpc_t;
77 typedef struct hermon_hw_mcg_s		hermon_hw_mcg_t;
78 typedef struct hermon_hw_mcg_qp_list_s	hermon_hw_mcg_qp_list_t;
79 typedef struct hermon_hw_sm_perfcntr_s	hermon_hw_sm_perfcntr_t;
80 typedef struct hermon_hw_sm_extperfcntr_s hermon_hw_sm_extperfcntr_t;
81 typedef struct hermon_hw_snd_wqe_ctrl_s hermon_hw_snd_wqe_ctrl_t;
82 typedef struct hermon_hw_srq_wqe_next_s hermon_hw_srq_wqe_next_t;
83 typedef struct hermon_hw_snd_wqe_ud_s	   hermon_hw_snd_wqe_ud_t;
84 typedef struct hermon_hw_snd_wqe_bind_s	   hermon_hw_snd_wqe_bind_t;
85 typedef struct hermon_hw_snd_wqe_remaddr_s  hermon_hw_snd_wqe_remaddr_t;
86 typedef struct hermon_hw_snd_wqe_atomic_s   hermon_hw_snd_wqe_atomic_t;
87 typedef struct hermon_hw_mlx_wqe_nextctrl_s hermon_hw_mlx_wqe_nextctrl_t;
88 typedef struct hermon_hw_rcv_wqe_nextctrl_s hermon_hw_rcv_wqe_nextctrl_t;
89 typedef struct hermon_hw_wqe_sgl_s	hermon_hw_wqe_sgl_t;
90 
91 typedef struct hermon_sw_mr_s		*hermon_mrhdl_t;
92 typedef struct hermon_sw_mr_s		*hermon_mwhdl_t;
93 typedef struct hermon_sw_pd_s		*hermon_pdhdl_t;
94 typedef struct hermon_sw_eq_s		*hermon_eqhdl_t;
95 typedef struct hermon_sw_cq_s		*hermon_cqhdl_t;
96 typedef struct hermon_sw_srq_s		*hermon_srqhdl_t;
97 typedef struct hermon_sw_fmr_s		*hermon_fmrhdl_t;
98 typedef struct hermon_sw_ah_s		*hermon_ahhdl_t;
99 typedef struct hermon_sw_qp_s		*hermon_qphdl_t;
100 typedef struct hermon_sw_mcg_list_s	*hermon_mcghdl_t;
101 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif	/* _SYS_IB_ADAPTERS_HERMON_TYPEDEF_H */
107