hermon_typedef.h revision 9517:b4839b0aa7a4
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
40extern "C" {
41#endif
42
43typedef	struct hermon_state_s		hermon_state_t;
44typedef	struct hermon_agent_list_s	hermon_agent_list_t;
45typedef	struct hermon_qalloc_info_s	hermon_qalloc_info_t;
46typedef struct hermon_rsrc_pool_info_s	hermon_rsrc_pool_info_t;
47typedef	struct hermon_rsrc_s		hermon_rsrc_t;
48typedef struct hermon_wrid_list_hdr_s	hermon_wrid_list_hdr_t;
49typedef struct hermon_workq_avl_s	hermon_workq_avl_t;
50typedef struct hermon_workq_hdr_s	hermon_workq_hdr_t;
51typedef struct hermon_wq_lock_s		hermon_wq_lock_t;
52typedef struct hermon_icm_info_s	hermon_icm_info_t;
53typedef struct hermon_icm_table_s	hermon_icm_table_t;
54typedef	struct hermon_dma_info_s	hermon_dma_info_t;
55typedef struct hermon_hw_vpm_s 		hermon_hw_vpm_t;
56typedef struct hermon_hw_hcr_s		hermon_hw_hcr_t;
57typedef struct hermon_hw_querydevlim_s	hermon_hw_querydevlim_t;
58typedef struct hermon_hw_query_port_s	hermon_hw_query_port_t;
59typedef struct hermon_hw_set_port_s	hermon_hw_set_port_t;
60typedef struct hermon_hw_queryfw_s	hermon_hw_queryfw_t;
61typedef struct hermon_hw_queryadapter_s	hermon_hw_queryadapter_t;
62typedef struct hermon_hw_initqueryhca_s	hermon_hw_initqueryhca_t;
63typedef struct hermon_hw_dmpt_s		hermon_hw_dmpt_t;
64typedef struct hermon_hw_cmpt_s		hermon_hw_cmpt_t;
65typedef struct hermon_hw_mtt_s		hermon_hw_mtt_t;
66typedef struct hermon_hw_eqc_s		hermon_hw_eqc_t;
67typedef struct hermon_hw_eqe_s		hermon_hw_eqe_t;
68typedef struct hermon_hw_cqc_s		hermon_hw_cqc_t;
69typedef struct hermon_hw_srqc_s		hermon_hw_srqc_t;
70typedef struct hermon_hw_uar_s		hermon_hw_uar_t;
71typedef struct hermon_hw_cqe_s		hermon_hw_cqe_t;
72typedef struct hermon_hw_addr_path_s	hermon_hw_addr_path_t;
73typedef	struct hermon_hw_mod_stat_cfg_s  hermon_hw_mod_stat_cfg_t;
74typedef	struct hermon_hw_msg_in_mod_s	hermon_hw_msg_in_mod_t;
75typedef struct hermon_hw_udav_s		hermon_hw_udav_t;
76typedef struct hermon_hw_qpc_s		hermon_hw_qpc_t;
77typedef struct hermon_hw_mcg_s		hermon_hw_mcg_t;
78typedef struct hermon_hw_mcg_qp_list_s	hermon_hw_mcg_qp_list_t;
79typedef struct hermon_hw_sm_perfcntr_s	hermon_hw_sm_perfcntr_t;
80typedef struct hermon_hw_snd_wqe_ctrl_s hermon_hw_snd_wqe_ctrl_t;
81typedef struct hermon_hw_srq_wqe_next_s hermon_hw_srq_wqe_next_t;
82typedef struct hermon_hw_snd_wqe_ud_s	   hermon_hw_snd_wqe_ud_t;
83typedef struct hermon_hw_snd_wqe_bind_s	   hermon_hw_snd_wqe_bind_t;
84typedef struct hermon_hw_snd_wqe_remaddr_s  hermon_hw_snd_wqe_remaddr_t;
85typedef struct hermon_hw_snd_wqe_atomic_s   hermon_hw_snd_wqe_atomic_t;
86typedef struct hermon_hw_mlx_wqe_nextctrl_s hermon_hw_mlx_wqe_nextctrl_t;
87typedef struct hermon_hw_rcv_wqe_nextctrl_s hermon_hw_rcv_wqe_nextctrl_t;
88typedef struct hermon_hw_wqe_sgl_s	hermon_hw_wqe_sgl_t;
89
90typedef struct hermon_sw_mr_s		*hermon_mrhdl_t;
91typedef struct hermon_sw_mr_s		*hermon_mwhdl_t;
92typedef struct hermon_sw_pd_s		*hermon_pdhdl_t;
93typedef struct hermon_sw_eq_s		*hermon_eqhdl_t;
94typedef struct hermon_sw_cq_s		*hermon_cqhdl_t;
95typedef struct hermon_sw_srq_s		*hermon_srqhdl_t;
96typedef struct hermon_sw_fmr_s		*hermon_fmrhdl_t;
97typedef struct hermon_sw_ah_s		*hermon_ahhdl_t;
98typedef struct hermon_sw_qp_s		*hermon_qphdl_t;
99typedef struct hermon_sw_mcg_list_s	*hermon_mcghdl_t;
100
101#ifdef __cplusplus
102}
103#endif
104
105#endif	/* _SYS_IB_ADAPTERS_HERMON_TYPEDEF_H */
106