| #ifndef __IWLAN_PUBLIC_DEFS_H__ |
| #define __IWLAN_PUBLIC_DEFS_H__ |
| |
| //it's for simpler log printing |
| #define MULTI_ENUM_DEF_2(_e1, _e2, _assign_value) \ |
| _e1 _assign_value, \ |
| _e2 = _e1 |
| |
| #define MULTI_ENUM_DEF_3(_e1, _e2, _e3, _assign_value) \ |
| _e1 _assign_value, \ |
| _e2 = _e1, \ |
| _e3 = _e1 |
| |
| #define MULTI_ENUM_DEF_4(_e1, _e2, _e3, _e4, _assign_value) \ |
| _e1 _assign_value, \ |
| _e2 = _e1, \ |
| _e3 = _e1, \ |
| _e4 = _e1 |
| |
| typedef enum { |
| MULTI_ENUM_DEF_2(UNSPEC, IWLAN_RAN_UNSPEC,), |
| MULTI_ENUM_DEF_2(CELL, IWLAN_RAN_CELL,), |
| IWLAN_RAN_MOBILE_3GPP = CELL, //legacy name, should ask other module to remove |
| MULTI_ENUM_DEF_2(WLAN, IWLAN_RAN_WLAN,), |
| IWLAN_RAN_WIFI = WLAN, |
| |
| RESERVED_3GPP_2, |
| DATA_1, |
| DATA_2, |
| DATA_3, |
| DATA_4, |
| |
| IWLAN_RAN_CNT, |
| IWLAN_RAN_TYPE_CNT = IWLAN_RAN_CNT, |
| |
| MULTI_ENUM_DEF_2(NONE, IWLAN_RAN_NONE, = 254), |
| IWLAN_RAN_TYPE_NONE = NONE, |
| MULTI_ENUM_DEF_2(ERR, IWLAN_RAN_ERR, = 255), |
| IWLAN_RAN_TYPE_ERR = ERR, |
| } iwlan_ran_e; |
| |
| typedef enum { |
| MULTI_ENUM_DEF_3(UNKNOWN, IWLAN_PDN_APN_TYPE_UNKNOWN, IWLAN_PDN_APN_TYPE_BASE,), |
| MULTI_ENUM_DEF_2(DEFAULT, IWLAN_PDN_APN_TYPE_DEFAULT,), |
| MULTI_ENUM_DEF_2(IMS, IWLAN_PDN_APN_TYPE_IMS,), |
| MULTI_ENUM_DEF_2(MMS, IWLAN_PDN_APN_TYPE_MMS,), |
| MULTI_ENUM_DEF_2(EMERGENCY, IWLAN_PDN_APN_TYPE_EMERGENCY,), |
| MULTI_ENUM_DEF_2(XCAP, IWLAN_PDN_APN_TYPE_XCAP,), |
| MULTI_ENUM_DEF_2(RCS, IWLAN_PDN_APN_TYPE_RCS,), |
| MULTI_ENUM_DEF_2(BIP, IWLAN_PDN_APN_TYPE_BIP,), |
| MULTI_ENUM_DEF_2(SUPL, IWLAN_PDN_APN_TYPE_SUPL,), |
| MULTI_ENUM_DEF_2(_VSIM, IWLAN_PDN_APN_TYPE_VSIM,), |
| IWLAN_PDN_APN_TYPE_PTT, |
| |
| IWLAN_PDN_APN_TYPE_MAX, |
| } iwlan_pdn_apn_type_e; //also update customer_iwlan_config.h |
| |
| |
| typedef enum { |
| RPL_REQ_NONE = 0, |
| RPL_REQ_SBSCRIBE, |
| RPL_REQ_UPDATE, |
| RPL_REQ_UNSBSCRIBE, |
| } rpl_reqtype_e; |
| |
| typedef enum { |
| IWLAN_PDN_TYPRSV, |
| IWLAN_PDN_TYPNONIMS, |
| IWLAN_PDN_TYPIMS, |
| IWLAN_PDN_TYPEMGIMS, |
| } iwlan_pdntype_e; |
| |
| //it's for simpler log printing |
| |
| typedef enum { |
| MULTI_ENUM_DEF_4(NREG, QLT_LV_NREG, WLAN_LV_NREG, CELL_LV_NREG,), |
| MULTI_ENUM_DEF_4(POOR, QLT_LV_POOR, WLAN_LV_POOR, CELL_LV_POOR,), |
| MULTI_ENUM_DEF_4(FAIR, QLT_LV_FAIR, WLAN_LV_FAIR, CELL_LV_FAIR,), |
| MULTI_ENUM_DEF_4(GOOD, QLT_LV_GOOD, WLAN_LV_GOOD, CELL_LV_GOOD,), |
| MULTI_ENUM_DEF_4(PERF, QLT_LV_PERF, WLAN_LV_PERF, CELL_LV_PERF,), //perfect |
| |
| /* |
| * LV_MAX: RAT MAX Quality Level |
| * LV_CNT: RAT Quality Level Count |
| */ |
| WLAN_LV_MAX = WLAN_LV_GOOD, // Current no WIFI_GOOD_THR |
| CELL_LV_MAX = CELL_LV_PERF, |
| |
| QLT_LV_CNT, |
| WLAN_LV_CNT = WLAN_LV_MAX + 1, |
| CELL_LV_CNT = CELL_LV_MAX + 1, |
| } quality_level_e; |
| |
| typedef enum { |
| RPL_WLAN_PREF = 0, |
| RPL_CELL_PREF = 1, |
| RPL_PREF_CNT |
| } iwlan_rpl_preference_e; |
| |
| typedef enum { |
| RPL_TRACE_CODE_NA = 0, |
| //RAT Ranking |
| RPL_TRACE_CODE_RTP_STATUS_BAD, |
| RPL_TRACE_CODE_RTCP_STATUS_BAD, |
| RPL_TRACE_CODE_PING_STATUS_BAD, |
| RPL_TRACE_CODE_DPD_STATUS_BAD, |
| RPL_TRACE_CODE_PDN_ERROR_LOCAL_RELEASE, |
| |
| //RAT Barring |
| RPL_TRACE_CODE_WLAN_UI_DISABLE, |
| RPL_TRACE_CODE_ESICPI_ERROR, |
| RPL_TRACE_CODE_FORCE_BAR_ENABLE, |
| |
| //APN ANS |
| RPL_TRACE_CODE_RAT_PREFERENCE_NA, |
| RPL_TRACE_CODE_RAT_PREFERENCE_WLAN_ONLY, |
| RPL_TRACE_CODE_RAT_PREFERENCE_CELL_ONLY, |
| |
| RPL_TRACE_CODE_VOLTE_DISABLE, |
| RPL_TRACE_CODE_PING_PCSCF_REPLY_LOSS, |
| RPL_TRACE_CODE_EPDG_CONNECTED, |
| RPL_TRACE_CODE_LOCATION_ROAMING, |
| RPL_TRACE_CODE_NO_LOCATION, |
| RPL_TRACE_CODE_NO_IMS_PDN, |
| RPL_TRACE_CODE_IN_AP_MODE, |
| RPL_TRACE_CODE_RF_OFF, |
| RPL_TRACE_CODE_WLAN_DPD_ERROR, |
| RPL_TRACE_CODE_CELL_ROAM_BAR, |
| RPL_TRACE_CODE_IMS_BAR_UGC_SRV, //ims blocking by UMTS/GSM/C2K |
| RPL_TRACE_CODE_OP_WIFI_ONLY_MODE, //operator specify wifi only |
| RPL_TRACE_CODE_NO_VOPS, |
| RPL_TRACE_CODE_WFO_DISABLE, |
| RPL_TRACE_CODE_WLAN_BAR_SRVCC_CALL, |
| |
| RPL_TRACE_CODE_INCALL_PREFER_CURRENT_RAT, |
| RPL_TRACE_CODE_INCALL_CURRENT_RAT_POOR_HO, |
| |
| //APN ANS Post |
| RPL_TRACE_CODE_WLAN_NO_SIG, |
| RPL_TRACE_CODE_CELL_NO_SIG, |
| RPL_TRACE_CODE_VOICE_CAPA_CHK, |
| RPL_TRACE_CODE_RECEIVE_CALL_HYSTERISIS_HO, |
| RPL_TRACE_CODE_NO_VCC, |
| RPL_TRACE_CODE_ROAMING_NO_HO_DREG, |
| RPL_TRACE_CODE_ROAMING_NO_HO, |
| RPL_TRACE_CODE_23G_SETUP_BAR, |
| RPL_TRACE_CODE_4G_VOPS_OFF_SETUP_BAR, |
| RPL_TRACE_CODE_VOPS_OFF_IDLE_HO_BAR, |
| RPL_TRACE_CODE_IRAT_ONGOING, |
| RPL_TRACE_CODE_ECC_TRY_CELL, |
| RPL_TRACE_CODE_ECC_NO_HO, |
| RPL_TRACE_CODE_1PDN_CELL, |
| RPL_TRACE_CODE_ECC_OVER_IMS_NO_HO, |
| |
| RPL_TRACE_CODE_DTAG_REQID1_1, //Operator rpl trace code |
| RPL_TRACE_CODE_DTAG_REQID1_2, |
| RPL_TRACE_CODE_DTAG_REQID2_1, |
| RPL_TRACE_CODE_DTAG_REQID2_2, |
| RPL_TRACE_CODE_VDF_REQID1, |
| RPL_TRACE_CODE_RJIO_REQID1_1, |
| RPL_TRACE_CODE_RJIO_REQID1_2, |
| RPL_TRACE_CODE_RJIO_REQID2, |
| RPL_TRACE_CODE_EE_REQID1_1, |
| RPL_TRACE_CODE_EE_REQID1_2, |
| RPL_TRACE_CODE_EE_REQID2, |
| RPL_TRACE_CODE_VIDEO_HO_TO_WIFI, |
| RPL_TRACE_CODE_VIDEO_STAY_ON_LTE, |
| RPL_TRACE_CODE_VIDEO_HO_TO_LTE, |
| RPL_TRACE_CODE_VIDEO_STAY_ON_WIFI, |
| RPL_TRACE_CODE_ROAM_DEPEND_USER_PREF, |
| RPL_TRACE_CODE_SPRT_ECC_NO_HO_L2W_WHEN_LTE_AVAI, |
| |
| //Rat Throttling |
| RPL_TRACE_CODE_WO_NRDY, |
| |
| //IMS DREG |
| RPL_TRACE_CODE_CS_PREF, |
| RPL_TRACE_CODE_CS_PREF_DREG_WLAN, |
| RPL_TRACE_CODE_CS_PREF_DREG_CELL, |
| RPL_TRACE_CODE_WLAN_DEAD_ZONE, |
| |
| //Assign Rat |
| RPL_TRACE_CODE_ASSIGN_RAT_CELL, |
| RPL_TRACE_CODE_ASSIGN_RAT_WLAN, |
| RPL_TRACE_CODE_ASSIGN_RAT_NA, |
| |
| RPL_TRACE_CODE_MAX, |
| } rpl_trace_code_e; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| void *data; |
| } iwlan_timer_event_none_struct; |
| |
| #if 0 |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| /* under construction !*/ |
| #endif |
| |
| /* IF data structure with N3ANS */ |
| typedef enum |
| { |
| N3_NONE = 0, |
| N3_EPDG, |
| N3_N3IWF, |
| |
| N3_RAN_MAX |
| } n3_ran_e; |
| |
| typedef enum { |
| RPL_PRIO_1ST, |
| RPL_PRIO_2ND, |
| RPL_PRIO_3RD, |
| RPL_PRIO_4TH, |
| RPL_PRIO_CNT, |
| } rpl_prio_e; |
| |
| #define RPL_RAN_PRI RPL_PRIO_1ST |
| #define RPL_RAN_SEC RPL_PRIO_2ND |
| #define RPL_RAN_PRIOR_MAX RPL_PRIO_CNT |
| |
| /* Subscribe */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cid; |
| iwlan_pdn_apn_type_e type; |
| } iwlan_n3ans_n3_priority_subscribe_req_struct; |
| typedef iwlan_n3ans_n3_priority_subscribe_req_struct iwlan_n3ans_n3_priority_subscribe_cnf_struct; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cid; |
| } iwlan_n3ans_n3_priority_unsubscribe_req_struct; |
| typedef iwlan_n3ans_n3_priority_unsubscribe_req_struct iwlan_n3ans_n3_priority_unsubscribe_cnf_struct; |
| |
| /* Priority Acquire & Process */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cid; |
| iwlan_pdn_apn_type_e type; |
| } iwlan_n3ans_n3_priority_acquire_ntf_struct; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cid; |
| n3_ran_e n3pl[RPL_PRIO_CNT]; |
| } iwlan_n3ans_n3_priority_process_ind_struct; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cid; |
| } iwlan_n3ans_n3_priority_process_rsp_struct; |
| |
| #endif /* __IWLAN_PUBLIC_DEFS_H__ */ |