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) 2008, 2010, Oracle and/or its affiliates. All rights reserved. 24 */ 25 26 #ifndef _SYS_IB_ADAPTERS_HERMON_TYPEDEF_H 27 #define _SYS_IB_ADAPTERS_HERMON_TYPEDEF_H 28 29 /* 30 * hermon_typedef.h 31 * Contains all the common typedefs used throughout the Hermon driver. 32 * Because the hermon.h header file (which all source files include) brings 33 * this header file in first (before any of the other Hermon header files), 34 * the typedefs defined here can be used throughout the source and header 35 * files in the rest of the driver. 36 */ 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 typedef struct hermon_state_s hermon_state_t; 43 typedef struct hermon_agent_list_s hermon_agent_list_t; 44 typedef struct hermon_qalloc_info_s hermon_qalloc_info_t; 45 typedef struct hermon_rsrc_pool_info_s hermon_rsrc_pool_info_t; 46 typedef struct hermon_rsrc_s hermon_rsrc_t; 47 typedef struct hermon_wrid_list_hdr_s hermon_wrid_list_hdr_t; 48 typedef struct hermon_workq_avl_s hermon_workq_avl_t; 49 typedef struct hermon_workq_hdr_s hermon_workq_hdr_t; 50 typedef struct hermon_wq_lock_s hermon_wq_lock_t; 51 typedef struct hermon_icm_info_s hermon_icm_info_t; 52 typedef struct hermon_icm_table_s hermon_icm_table_t; 53 typedef struct hermon_dma_info_s hermon_dma_info_t; 54 typedef struct hermon_hw_vpm_s hermon_hw_vpm_t; 55 typedef struct hermon_hw_hcr_s hermon_hw_hcr_t; 56 typedef struct hermon_hw_querydevlim_s hermon_hw_querydevlim_t; 57 typedef struct hermon_hw_query_port_s hermon_hw_query_port_t; 58 typedef struct hermon_hw_set_port_s hermon_hw_set_port_t; 59 typedef struct hermon_hw_set_port_en_s hermon_hw_set_port_en_t; 60 typedef struct hermon_hw_set_port_en_rqpn_s hermon_hw_set_port_en_rqpn_t; 61 typedef struct hermon_hw_set_port_en_mact_s hermon_hw_set_port_en_mact_t; 62 typedef struct hermon_hw_set_port_en_vlant_s hermon_hw_set_port_en_vlant_t; 63 typedef struct hermon_hw_set_port_en_priot_s hermon_hw_set_port_en_priot_t; 64 typedef struct hermon_fw_set_port_gidtable_s hermon_fw_set_port_gidtable_t; 65 typedef struct hermon_hw_set_mcast_fltr_s hermon_hw_set_mcast_fltr_t; 66 typedef struct hermon_hw_arm_req_s hermon_hw_arm_req_t; 67 typedef struct hermon_hw_config_fc_basic_s hermon_hw_config_fc_basic_t; 68 typedef struct hermon_hw_query_fc_s hermon_hw_query_fc_t; 69 70 typedef struct hermon_hw_queryfw_s hermon_hw_queryfw_t; 71 typedef struct hermon_hw_queryadapter_s hermon_hw_queryadapter_t; 72 typedef struct hermon_hw_initqueryhca_s hermon_hw_initqueryhca_t; 73 typedef struct hermon_hw_dmpt_s hermon_hw_dmpt_t; 74 typedef struct hermon_hw_cmpt_s hermon_hw_cmpt_t; 75 typedef struct hermon_hw_mtt_s hermon_hw_mtt_t; 76 typedef struct hermon_hw_eqc_s hermon_hw_eqc_t; 77 typedef struct hermon_hw_eqe_s hermon_hw_eqe_t; 78 typedef struct hermon_hw_cqc_s hermon_hw_cqc_t; 79 typedef struct hermon_hw_srqc_s hermon_hw_srqc_t; 80 typedef struct hermon_hw_uar_s hermon_hw_uar_t; 81 typedef struct hermon_hw_cqe_s hermon_hw_cqe_t; 82 typedef struct hermon_hw_addr_path_s hermon_hw_addr_path_t; 83 typedef struct hermon_hw_mod_stat_cfg_s hermon_hw_mod_stat_cfg_t; 84 typedef struct hermon_hw_msg_in_mod_s hermon_hw_msg_in_mod_t; 85 typedef struct hermon_hw_udav_s hermon_hw_udav_t; 86 typedef struct hermon_hw_udav_enet_s hermon_hw_udav_enet_t; 87 typedef struct hermon_hw_qpc_s hermon_hw_qpc_t; 88 typedef struct hermon_hw_mcg_s hermon_hw_mcg_t; 89 typedef struct hermon_hw_mcg_en_s hermon_hw_mcg_en_t; 90 typedef struct hermon_hw_mcg_qp_list_s hermon_hw_mcg_qp_list_t; 91 typedef struct hermon_hw_sm_perfcntr_s hermon_hw_sm_perfcntr_t; 92 typedef struct hermon_hw_sm_extperfcntr_s hermon_hw_sm_extperfcntr_t; 93 94 typedef struct hermon_hw_snd_wqe_ud_s hermon_hw_snd_wqe_ud_t; 95 typedef struct hermon_hw_snd_wqe_bind_s hermon_hw_snd_wqe_bind_t; 96 typedef struct hermon_hw_snd_wqe_remaddr_s hermon_hw_snd_wqe_remaddr_t; 97 typedef struct hermon_hw_snd_wqe_atomic_s hermon_hw_snd_wqe_atomic_t; 98 typedef struct hermon_hw_snd_wqe_frwr_s hermon_hw_snd_wqe_frwr_t; 99 typedef struct hermon_hw_snd_wqe_frwr_ext_s hermon_hw_snd_wqe_frwr_ext_t; 100 typedef struct hermon_hw_snd_wqe_local_inv_s hermon_hw_snd_wqe_local_inv_t; 101 typedef struct hermon_hw_snd_rem_addr_s hermon_hw_snd_rem_addr_t; 102 typedef struct hermon_sw_send_wqe_lso_s hermon_sw_send_wqe_lso_t; 103 typedef struct hermon_hw_mlx_wqe_nextctrl_s hermon_hw_mlx_wqe_nextctrl_t; 104 typedef struct hermon_hw_rcv_wqe_nextctrl_s hermon_hw_rcv_wqe_nextctrl_t; 105 typedef struct hermon_hw_wqe_sgl_s hermon_hw_wqe_sgl_t; 106 typedef struct hermon_hw_snd_wqe_ctrl_s hermon_hw_snd_wqe_ctrl_t; 107 typedef struct hermon_hw_srq_wqe_next_s hermon_hw_srq_wqe_next_t; 108 typedef struct hermonw_hw_fcp3_ctrl_s hermonw_hw_fcp3_ctrl_t; 109 typedef struct hermon_hw_fcp3_init_s hermon_hw_fcp3_init_t; 110 typedef struct hermon_hw_fcmd_o_enet_s hermon_hw_fcmd_o_enet_t; 111 typedef struct hermon_hw_fcmd_o_ib_s hermon_hw_fcmd_o_ib_t; 112 113 typedef struct hermon_sw_mr_s *hermon_mrhdl_t; 114 typedef struct hermon_sw_mr_s *hermon_mwhdl_t; 115 typedef struct hermon_sw_pd_s *hermon_pdhdl_t; 116 typedef struct hermon_sw_eq_s *hermon_eqhdl_t; 117 typedef struct hermon_sw_cq_s *hermon_cqhdl_t; 118 typedef struct hermon_sw_srq_s *hermon_srqhdl_t; 119 typedef struct hermon_sw_fmr_s *hermon_fmrhdl_t; 120 typedef struct hermon_sw_ah_s *hermon_ahhdl_t; 121 typedef struct hermon_sw_qp_s *hermon_qphdl_t; 122 typedef struct hermon_sw_mcg_list_s *hermon_mcghdl_t; 123 124 #ifdef __cplusplus 125 } 126 #endif 127 128 #endif /* _SYS_IB_ADAPTERS_HERMON_TYPEDEF_H */ 129