rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | #ifndef __IWLAN_PUBLIC_DEFS_H__ |
| 2 | #define __IWLAN_PUBLIC_DEFS_H__ |
| 3 | |
| 4 | //it's for simpler log printing |
| 5 | #define MULTI_ENUM_DEF_2(_e1, _e2, _assign_value) \ |
| 6 | _e1 _assign_value, \ |
| 7 | _e2 = _e1 |
| 8 | |
| 9 | #define MULTI_ENUM_DEF_3(_e1, _e2, _e3, _assign_value) \ |
| 10 | _e1 _assign_value, \ |
| 11 | _e2 = _e1, \ |
| 12 | _e3 = _e1 |
| 13 | |
| 14 | #define MULTI_ENUM_DEF_4(_e1, _e2, _e3, _e4, _assign_value) \ |
| 15 | _e1 _assign_value, \ |
| 16 | _e2 = _e1, \ |
| 17 | _e3 = _e1, \ |
| 18 | _e4 = _e1 |
| 19 | |
| 20 | typedef enum { |
| 21 | MULTI_ENUM_DEF_2(UNSPEC, IWLAN_RAN_UNSPEC,), |
| 22 | MULTI_ENUM_DEF_2(CELL, IWLAN_RAN_CELL,), |
| 23 | IWLAN_RAN_MOBILE_3GPP = CELL, //legacy name, should ask other module to remove |
| 24 | MULTI_ENUM_DEF_2(WLAN, IWLAN_RAN_WLAN,), |
| 25 | IWLAN_RAN_WIFI = WLAN, |
| 26 | |
| 27 | RESERVED_3GPP_2, |
| 28 | DATA_1, |
| 29 | DATA_2, |
| 30 | DATA_3, |
| 31 | DATA_4, |
| 32 | |
| 33 | IWLAN_RAN_CNT, |
| 34 | IWLAN_RAN_TYPE_CNT = IWLAN_RAN_CNT, |
| 35 | |
| 36 | MULTI_ENUM_DEF_2(NONE, IWLAN_RAN_NONE, = 254), |
| 37 | IWLAN_RAN_TYPE_NONE = NONE, |
| 38 | MULTI_ENUM_DEF_2(ERR, IWLAN_RAN_ERR, = 255), |
| 39 | IWLAN_RAN_TYPE_ERR = ERR, |
| 40 | } iwlan_ran_e; |
| 41 | |
| 42 | typedef enum { |
| 43 | MULTI_ENUM_DEF_3(UNKNOWN, IWLAN_PDN_APN_TYPE_UNKNOWN, IWLAN_PDN_APN_TYPE_BASE,), |
| 44 | MULTI_ENUM_DEF_2(DEFAULT, IWLAN_PDN_APN_TYPE_DEFAULT,), |
| 45 | MULTI_ENUM_DEF_2(IMS, IWLAN_PDN_APN_TYPE_IMS,), |
| 46 | MULTI_ENUM_DEF_2(MMS, IWLAN_PDN_APN_TYPE_MMS,), |
| 47 | MULTI_ENUM_DEF_2(EMERGENCY, IWLAN_PDN_APN_TYPE_EMERGENCY,), |
| 48 | MULTI_ENUM_DEF_2(XCAP, IWLAN_PDN_APN_TYPE_XCAP,), |
| 49 | MULTI_ENUM_DEF_2(RCS, IWLAN_PDN_APN_TYPE_RCS,), |
| 50 | MULTI_ENUM_DEF_2(BIP, IWLAN_PDN_APN_TYPE_BIP,), |
| 51 | MULTI_ENUM_DEF_2(SUPL, IWLAN_PDN_APN_TYPE_SUPL,), |
| 52 | MULTI_ENUM_DEF_2(_VSIM, IWLAN_PDN_APN_TYPE_VSIM,), |
| 53 | IWLAN_PDN_APN_TYPE_PTT, |
| 54 | |
| 55 | IWLAN_PDN_APN_TYPE_MAX, |
| 56 | } iwlan_pdn_apn_type_e; //also update customer_iwlan_config.h |
| 57 | |
| 58 | |
| 59 | typedef enum { |
| 60 | RPL_REQ_NONE = 0, |
| 61 | RPL_REQ_SBSCRIBE, |
| 62 | RPL_REQ_UPDATE, |
| 63 | RPL_REQ_UNSBSCRIBE, |
| 64 | } rpl_reqtype_e; |
| 65 | |
| 66 | typedef enum { |
| 67 | IWLAN_PDN_TYPRSV, |
| 68 | IWLAN_PDN_TYPNONIMS, |
| 69 | IWLAN_PDN_TYPIMS, |
| 70 | IWLAN_PDN_TYPEMGIMS, |
| 71 | } iwlan_pdntype_e; |
| 72 | |
| 73 | //it's for simpler log printing |
| 74 | |
| 75 | typedef enum { |
| 76 | MULTI_ENUM_DEF_4(NREG, QLT_LV_NREG, WLAN_LV_NREG, CELL_LV_NREG,), |
| 77 | MULTI_ENUM_DEF_4(POOR, QLT_LV_POOR, WLAN_LV_POOR, CELL_LV_POOR,), |
| 78 | MULTI_ENUM_DEF_4(FAIR, QLT_LV_FAIR, WLAN_LV_FAIR, CELL_LV_FAIR,), |
| 79 | MULTI_ENUM_DEF_4(GOOD, QLT_LV_GOOD, WLAN_LV_GOOD, CELL_LV_GOOD,), |
| 80 | MULTI_ENUM_DEF_4(PERF, QLT_LV_PERF, WLAN_LV_PERF, CELL_LV_PERF,), //perfect |
| 81 | |
| 82 | /* |
| 83 | * LV_MAX: RAT MAX Quality Level |
| 84 | * LV_CNT: RAT Quality Level Count |
| 85 | */ |
| 86 | WLAN_LV_MAX = WLAN_LV_GOOD, // Current no WIFI_GOOD_THR |
| 87 | CELL_LV_MAX = CELL_LV_PERF, |
| 88 | |
| 89 | QLT_LV_CNT, |
| 90 | WLAN_LV_CNT = WLAN_LV_MAX + 1, |
| 91 | CELL_LV_CNT = CELL_LV_MAX + 1, |
| 92 | } quality_level_e; |
| 93 | |
| 94 | typedef enum { |
| 95 | RPL_WLAN_PREF = 0, |
| 96 | RPL_CELL_PREF = 1, |
| 97 | RPL_PREF_CNT |
| 98 | } iwlan_rpl_preference_e; |
| 99 | |
| 100 | typedef enum { |
| 101 | RPL_TRACE_CODE_NA = 0, |
| 102 | //RAT Ranking |
| 103 | RPL_TRACE_CODE_RTP_STATUS_BAD, |
| 104 | RPL_TRACE_CODE_RTCP_STATUS_BAD, |
| 105 | RPL_TRACE_CODE_PING_STATUS_BAD, |
| 106 | RPL_TRACE_CODE_DPD_STATUS_BAD, |
| 107 | RPL_TRACE_CODE_PDN_ERROR_LOCAL_RELEASE, |
| 108 | |
| 109 | //RAT Barring |
| 110 | RPL_TRACE_CODE_WLAN_UI_DISABLE, |
| 111 | RPL_TRACE_CODE_ESICPI_ERROR, |
| 112 | RPL_TRACE_CODE_FORCE_BAR_ENABLE, |
| 113 | |
| 114 | //APN ANS |
| 115 | RPL_TRACE_CODE_RAT_PREFERENCE_NA, |
| 116 | RPL_TRACE_CODE_RAT_PREFERENCE_WLAN_ONLY, |
| 117 | RPL_TRACE_CODE_RAT_PREFERENCE_CELL_ONLY, |
| 118 | |
| 119 | RPL_TRACE_CODE_VOLTE_DISABLE, |
| 120 | RPL_TRACE_CODE_PING_PCSCF_REPLY_LOSS, |
| 121 | RPL_TRACE_CODE_EPDG_CONNECTED, |
| 122 | RPL_TRACE_CODE_LOCATION_ROAMING, |
| 123 | RPL_TRACE_CODE_NO_LOCATION, |
| 124 | RPL_TRACE_CODE_NO_IMS_PDN, |
| 125 | RPL_TRACE_CODE_IN_AP_MODE, |
| 126 | RPL_TRACE_CODE_RF_OFF, |
| 127 | RPL_TRACE_CODE_WLAN_DPD_ERROR, |
| 128 | RPL_TRACE_CODE_CELL_ROAM_BAR, |
| 129 | RPL_TRACE_CODE_IMS_BAR_UGC_SRV, //ims blocking by UMTS/GSM/C2K |
| 130 | RPL_TRACE_CODE_OP_WIFI_ONLY_MODE, //operator specify wifi only |
| 131 | RPL_TRACE_CODE_NO_VOPS, |
| 132 | RPL_TRACE_CODE_WFO_DISABLE, |
| 133 | RPL_TRACE_CODE_WLAN_BAR_SRVCC_CALL, |
| 134 | |
| 135 | RPL_TRACE_CODE_INCALL_PREFER_CURRENT_RAT, |
| 136 | RPL_TRACE_CODE_INCALL_CURRENT_RAT_POOR_HO, |
| 137 | |
| 138 | //APN ANS Post |
| 139 | RPL_TRACE_CODE_WLAN_NO_SIG, |
| 140 | RPL_TRACE_CODE_CELL_NO_SIG, |
| 141 | RPL_TRACE_CODE_VOICE_CAPA_CHK, |
| 142 | RPL_TRACE_CODE_RECEIVE_CALL_HYSTERISIS_HO, |
| 143 | RPL_TRACE_CODE_NO_VCC, |
| 144 | RPL_TRACE_CODE_ROAMING_NO_HO_DREG, |
| 145 | RPL_TRACE_CODE_ROAMING_NO_HO, |
| 146 | RPL_TRACE_CODE_23G_SETUP_BAR, |
| 147 | RPL_TRACE_CODE_4G_VOPS_OFF_SETUP_BAR, |
| 148 | RPL_TRACE_CODE_VOPS_OFF_IDLE_HO_BAR, |
| 149 | RPL_TRACE_CODE_IRAT_ONGOING, |
| 150 | RPL_TRACE_CODE_ECC_TRY_CELL, |
| 151 | RPL_TRACE_CODE_ECC_NO_HO, |
| 152 | RPL_TRACE_CODE_1PDN_CELL, |
| 153 | RPL_TRACE_CODE_ECC_OVER_IMS_NO_HO, |
| 154 | |
| 155 | RPL_TRACE_CODE_DTAG_REQID1_1, //Operator rpl trace code |
| 156 | RPL_TRACE_CODE_DTAG_REQID1_2, |
| 157 | RPL_TRACE_CODE_DTAG_REQID2_1, |
| 158 | RPL_TRACE_CODE_DTAG_REQID2_2, |
| 159 | RPL_TRACE_CODE_VDF_REQID1, |
| 160 | RPL_TRACE_CODE_RJIO_REQID1_1, |
| 161 | RPL_TRACE_CODE_RJIO_REQID1_2, |
| 162 | RPL_TRACE_CODE_RJIO_REQID2, |
| 163 | RPL_TRACE_CODE_EE_REQID1_1, |
| 164 | RPL_TRACE_CODE_EE_REQID1_2, |
| 165 | RPL_TRACE_CODE_EE_REQID2, |
| 166 | RPL_TRACE_CODE_VIDEO_HO_TO_WIFI, |
| 167 | RPL_TRACE_CODE_VIDEO_STAY_ON_LTE, |
| 168 | RPL_TRACE_CODE_VIDEO_HO_TO_LTE, |
| 169 | RPL_TRACE_CODE_VIDEO_STAY_ON_WIFI, |
| 170 | RPL_TRACE_CODE_ROAM_DEPEND_USER_PREF, |
| 171 | RPL_TRACE_CODE_SPRT_ECC_NO_HO_L2W_WHEN_LTE_AVAI, |
| 172 | |
| 173 | //Rat Throttling |
| 174 | RPL_TRACE_CODE_WO_NRDY, |
| 175 | |
| 176 | //IMS DREG |
| 177 | RPL_TRACE_CODE_CS_PREF, |
| 178 | RPL_TRACE_CODE_CS_PREF_DREG_WLAN, |
| 179 | RPL_TRACE_CODE_CS_PREF_DREG_CELL, |
| 180 | RPL_TRACE_CODE_WLAN_DEAD_ZONE, |
| 181 | |
| 182 | //Assign Rat |
| 183 | RPL_TRACE_CODE_ASSIGN_RAT_CELL, |
| 184 | RPL_TRACE_CODE_ASSIGN_RAT_WLAN, |
| 185 | RPL_TRACE_CODE_ASSIGN_RAT_NA, |
| 186 | |
| 187 | RPL_TRACE_CODE_MAX, |
| 188 | } rpl_trace_code_e; |
| 189 | |
| 190 | typedef struct { |
| 191 | LOCAL_PARA_HDR |
| 192 | void *data; |
| 193 | } iwlan_timer_event_none_struct; |
| 194 | |
| 195 | #if 0 |
| 196 | /* under construction !*/ |
| 197 | /* under construction !*/ |
| 198 | /* under construction !*/ |
| 199 | /* under construction !*/ |
| 200 | /* under construction !*/ |
| 201 | /* under construction !*/ |
| 202 | /* under construction !*/ |
| 203 | /* under construction !*/ |
| 204 | /* under construction !*/ |
| 205 | /* under construction !*/ |
| 206 | /* under construction !*/ |
| 207 | /* under construction !*/ |
| 208 | /* under construction !*/ |
| 209 | /* under construction !*/ |
| 210 | /* under construction !*/ |
| 211 | /* under construction !*/ |
| 212 | /* under construction !*/ |
| 213 | /* under construction !*/ |
| 214 | /* under construction !*/ |
| 215 | /* under construction !*/ |
| 216 | /* under construction !*/ |
| 217 | /* under construction !*/ |
| 218 | /* under construction !*/ |
| 219 | /* under construction !*/ |
| 220 | /* under construction !*/ |
| 221 | /* under construction !*/ |
| 222 | /* under construction !*/ |
| 223 | /* under construction !*/ |
| 224 | /* under construction !*/ |
| 225 | /* under construction !*/ |
| 226 | /* under construction !*/ |
| 227 | /* under construction !*/ |
| 228 | /* under construction !*/ |
| 229 | /* under construction !*/ |
| 230 | /* under construction !*/ |
| 231 | /* under construction !*/ |
| 232 | /* under construction !*/ |
| 233 | /* under construction !*/ |
| 234 | /* under construction !*/ |
| 235 | /* under construction !*/ |
| 236 | /* under construction !*/ |
| 237 | /* under construction !*/ |
| 238 | /* under construction !*/ |
| 239 | /* under construction !*/ |
| 240 | /* under construction !*/ |
| 241 | /* under construction !*/ |
| 242 | /* under construction !*/ |
| 243 | #endif |
| 244 | |
| 245 | /* IF data structure with N3ANS */ |
| 246 | typedef enum |
| 247 | { |
| 248 | N3_NONE = 0, |
| 249 | N3_EPDG, |
| 250 | N3_N3IWF, |
| 251 | |
| 252 | N3_RAN_MAX |
| 253 | } n3_ran_e; |
| 254 | |
| 255 | typedef enum { |
| 256 | RPL_PRIO_1ST, |
| 257 | RPL_PRIO_2ND, |
| 258 | RPL_PRIO_3RD, |
| 259 | RPL_PRIO_4TH, |
| 260 | RPL_PRIO_CNT, |
| 261 | } rpl_prio_e; |
| 262 | |
| 263 | #define RPL_RAN_PRI RPL_PRIO_1ST |
| 264 | #define RPL_RAN_SEC RPL_PRIO_2ND |
| 265 | #define RPL_RAN_PRIOR_MAX RPL_PRIO_CNT |
| 266 | |
| 267 | /* Subscribe */ |
| 268 | typedef struct { |
| 269 | LOCAL_PARA_HDR |
| 270 | kal_uint8 cid; |
| 271 | iwlan_pdn_apn_type_e type; |
| 272 | } iwlan_n3ans_n3_priority_subscribe_req_struct; |
| 273 | typedef iwlan_n3ans_n3_priority_subscribe_req_struct iwlan_n3ans_n3_priority_subscribe_cnf_struct; |
| 274 | |
| 275 | typedef struct { |
| 276 | LOCAL_PARA_HDR |
| 277 | kal_uint8 cid; |
| 278 | } iwlan_n3ans_n3_priority_unsubscribe_req_struct; |
| 279 | typedef iwlan_n3ans_n3_priority_unsubscribe_req_struct iwlan_n3ans_n3_priority_unsubscribe_cnf_struct; |
| 280 | |
| 281 | /* Priority Acquire & Process */ |
| 282 | typedef struct { |
| 283 | LOCAL_PARA_HDR |
| 284 | kal_uint8 cid; |
| 285 | iwlan_pdn_apn_type_e type; |
| 286 | } iwlan_n3ans_n3_priority_acquire_ntf_struct; |
| 287 | |
| 288 | typedef struct { |
| 289 | LOCAL_PARA_HDR |
| 290 | kal_uint8 cid; |
| 291 | n3_ran_e n3pl[RPL_PRIO_CNT]; |
| 292 | } iwlan_n3ans_n3_priority_process_ind_struct; |
| 293 | |
| 294 | typedef struct { |
| 295 | LOCAL_PARA_HDR |
| 296 | kal_uint8 cid; |
| 297 | } iwlan_n3ans_n3_priority_process_rsp_struct; |
| 298 | |
| 299 | #endif /* __IWLAN_PUBLIC_DEFS_H__ */ |