| #ifndef _ATP_IWLAN_STRUCT_H |
| #define _ATP_IWLAN_STRUCT_H |
| |
| #include "kal_general_types.h" |
| #include "kal_public_defs.h" |
| #include "ims_interface_md.h" |
| #include "ims_common_def.h" |
| #include "iwlan_public_defs.h" |
| #include "atp_imc_struct.h" |
| |
| #define ATP_IWLAN_L4_CMD_IND_LOCAL_PARA_HDR \ |
| LOCAL_PARA_HDR \ |
| kal_uint32 src_id; |
| |
| #define ATP_IWLAN_L4_RSP_IND_LOCAL_PARA_HDR \ |
| LOCAL_PARA_HDR \ |
| kal_uint32 src_id; \ |
| kal_bool is_success; \ |
| kal_uint16 err_cause; |
| |
| #define IWLAN_STRSZL 128 // Move from iwlan_defs.h |
| #define IWLAN_STRSZM 64 |
| #define IWLAN_STRSZS 32 |
| |
| /******************************************************************************* |
| * IWLAN V.S. ATP from AP * |
| * atp_iwlan_cmd_table * |
| *******************************************************************************/ |
| //MSG_ID_ATP_IWLAN_IMSCFG_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| ims_cap_rat_enum vo3gpp_enable; |
| ims_cap_rat_enum vi3gpp_enable; |
| kal_bool vowifi_enable; |
| kal_bool viwifi_enable; |
| kal_bool ims_sms_enable; |
| kal_bool eims_enable; |
| } atp_iwlan_imscfg_req_struct; |
| |
| typedef enum { |
| STATE_IN_SERVICE = 0, |
| STATE_OUT_OF_SERVICE = 1, |
| STATE_EMERGENCY_ONLY = 2, |
| STATE_POWER_OFF = 3, |
| }reg_sta_enum; |
| |
| typedef enum { |
| ROAMING_TYPE_NOT_ROAMING = 0, |
| ROAMING_TYPE_UNKNOWN = 1, |
| ROAMING_TYPE_DOMESTIC = 2, |
| ROAMING_TYPE_INTERNATIONAL = 3, |
| }roam_type_enum; |
| |
| typedef enum { |
| REGISTRATION_STATE_NOT_REGISTERED_AND_NOT_SEARCHING = 0, |
| REGISTRATION_STATE_HOME_NETWORK = 1, |
| REGISTRATION_STATE_NOT_REGISTERED_AND_SEARCHING = 2, |
| REGISTRATION_STATE_REGISTRATION_DENIED = 3, |
| REGISTRATION_STATE_UNKNOWN = 4, |
| REGISTRATION_STATE_ROAMING = 5, |
| REGISTRATION_STATE_NOT_REGISTERED_AND_NOT_SEARCHING_EMERGENCY_CALL_ENABLED = 10, |
| REGISTRATION_STATE_NOT_REGISTERED_AND_SEARCHING_EMERGENCY_CALL_ENABLED = 12, |
| REGISTRATION_STATE_REGISTRATION_DENIED_EMERGENCY_CALL_ENABLED = 13, |
| REGISTRATION_STATE_UNKNOWN_EMERGENCY_CALL_ENABLED = 14, |
| }ril_reg_state_enum; |
| |
| //MSG_ID_ATP_IWLAN_ESRVSTATE_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| reg_sta_enum voice_regstate; |
| reg_sta_enum data_regstate; |
| roam_type_enum voice_roamtype; |
| roam_type_enum data_roamtype; |
| ril_reg_state_enum ril_voice_regstate; |
| ril_reg_state_enum ril_data_regstate; |
| } atp_iwlan_esrvstate_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_ECNCFG_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 mobile_data_en; //The value may be true, false, or NA. So, sue uint8 as type. |
| kal_uint8 data_roaming_en; |
| kal_uint8 data_domestic_roaming_en; |
| kal_uint8 data_international_roaming_en; |
| } atp_iwlan_ecncfg_req_struct; |
| |
| typedef enum { |
| WIFIEN_REASON_NOT_DEFINE = 0, |
| WIFIEN_REASON_FLIGHTMODE = 1, |
| WIFIEN_REASON_RESERVE1, |
| WIFIEN_REASON_RESERVE2, |
| WIFIEN_REASON_RESERVE3, |
| }wifien_reason_enum; |
| |
| |
| //MSG_ID_ATP_IWLAN_EWIFIEN_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char ewifi_ifname[IWLAN_STRSZS]; |
| kal_bool ewifi_en; |
| wifien_reason_enum ewifi_reason; |
| } atp_iwlan_ewifien_req_struct; |
| |
| typedef enum { |
| WFCPREF_CELLULAR_ONLY = 0, |
| WFCPREF_WIFI_PREF = 1, |
| WFCPREF_CELLULAR_PREF = 2, |
| WFCPREF_WIFI_ONLY = 3, |
| WFCPREF_EPC = 4, |
| WFCPREF_IMS_CUR_RAN = 5, |
| WFCPREF_NA = 6, |
| WFCPREF_CNT, |
| }wfcpref_mode_enum; |
| |
| |
| //MSG_ID_ATP_IWLAN_EWFCPREF_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool ewfcpref_en; |
| wfcpref_mode_enum ewfcpref_mode; |
| kal_uint8 sim_id; |
| } atp_iwlan_ewfcpref_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EVODATA_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool vodata_en; |
| kal_uint8 data_mode; |
| kal_uint8 allow_rat; |
| } atp_iwlan_evodata_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EWIFIASC_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char ifname[IWLAN_STRSZS]; |
| kal_bool assoc; |
| kal_uint8 ssid[IWLAN_STRSZS]; |
| kal_uint8 mac[IWLAN_STRSZM]; |
| } atp_iwlan_ewifiasc_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_ELOCAEN_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool loc_en ; |
| } atp_iwlan_elocaen_req_struct ; |
| |
| //MSG_ID_ATP_IWLAN_EWIFISIGLVL_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_int32 rssi; |
| } atp_iwlan_ewifisiglvl_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EIWLCFGSET_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_char cfg_value[256]; |
| } atp_iwlan_eiwlcfgset_req_struct; |
| //MSG_ID_ATP_IWLAN_EIWLCFGGET_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| } atp_iwlan_eiwlcfgget_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EPVSSET_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_char cfg_value[256]; |
| } atp_iwlan_epvsset_req_struct; |
| //MSG_ID_ATP_IWLAN_EPVSGET_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| } atp_iwlan_epvsget_req_struct; |
| |
| |
| //MSG_ID_ATP_IWLAN_EIMSGEO_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_int8 account_id; // (0~7: ims stack, 100: iwlan) |
| kal_int8 broadcast_flag; |
| kal_int32 latitude[2]; |
| kal_int32 longitude[2]; |
| kal_int32 accuracy; |
| kal_char method[16]; |
| kal_char city[32]; |
| kal_char state[32]; |
| kal_char zip[8]; |
| kal_char country_code[8]; |
| kal_char mcc[MAX_GEO_MCC_NUM][MAX_MCC_STR_LEN]; |
| } atp_iwlan_eimsgeo_req_struct; |
| |
| typedef enum { |
| EIMSRCSCONN_STATUE_DISCONNECTED = 0, // 0 RCS session is disconnected. |
| EIMSRCSCONN_STATUE_CONNECTED = 1, // 1 RCS session is connected. |
| EIMSRCSCONN_STATUE_RESET = 254, // 254 Reset all RCS session. |
| }eimsrcsconn_status_enum; |
| |
| |
| //MSG_ID_ATP_IWLAN_EIMSRCSCONN_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| eimsrcsconn_status_enum status; |
| }atp_iwlan_eimsrcsconn_req_struct; |
| |
| // MSG_ID_ATP_IWLAN_EIWLPLEN_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 en; |
| } atp_iwlan_eiwlplen_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EIWLPING_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| iwlan_ran_e rat_type; |
| kal_int32 ave_latency; |
| kal_int32 loss_rate; |
| } atp_iwlan_eiwlping_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_EFUN_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_int8 state; |
| } atp_iwlan_efun_req_struct; //phase out |
| |
| //MSG_ID_ATP_IWLAN_EAPMODE_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_int8 mode; |
| } atp_iwlan_eapmode_req_struct; |
| |
| // MSG_ID_ATP_IWLAN_SIP_CALL_PROGRESS_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 call_id; |
| kal_uint8 dir; |
| kal_uint8 msg_type; |
| kal_uint8 method; |
| kal_uint16 response_code; |
| imcf_uint8 reason_text[IMC_MAX_REASON_TEXT_LENGTH]; //IWLAN only care about reason text |
| } atp_iwlan_sip_call_progress_req_struct; |
| |
| typedef enum{ |
| DRP_OP_FLUSH = 0, //no use now |
| DRP_OP_DUMP = 1, |
| DRP_OP_CNT, |
| }drp_op_enum; |
| |
| |
| //MSG_ID_ATP_IWLAN_DUMP_RUNTIME_PARA_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| drp_op_enum op; // 0: flush NVRAM 1: dump to NVRAM |
| } atp_iwlan_dump_runtime_para_req_struct; |
| |
| |
| /******************************************************************************* |
| * IWLAN V.S. ATP to AP * |
| * atp_iwlan_urc_to_ap_table * |
| *******************************************************************************/ |
| #define IWLAN_WIFI_RSSI_CFG_NUM 16 |
| //MSG_ID_ATP_IWLAN_WIFIMON_CFG_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool en; |
| kal_uint8 cnt; |
| kal_int32 sig_thr[IWLAN_WIFI_RSSI_CFG_NUM]; |
| } atp_iwlan_wifimon_cfg_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EWIFIPDNACT_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 cnt; |
| } atp_iwlan_ewifipdnact_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EIWLCFGSET_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_int32 status; |
| } atp_iwlan_eiwlcfgset_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EIWLCFGGET_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_char cfg_value[256]; |
| kal_int32 status; |
| } atp_iwlan_eiwlcfgget_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EPVSSET_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_int32 status; |
| } atp_iwlan_epvsset_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EPVSGET_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cfg_name[64]; |
| kal_char cfg_value[256]; |
| kal_int32 status; |
| } atp_iwlan_epvsget_ind_struct; |
| |
| |
| //MSG_ID_ATP_IWLAN_EIMSGEO_IND |
| typedef atp_iwlan_eimsgeo_req_struct atp_iwlan_eimsgeo_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EWFCRVOUT_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char ifname[IWLAN_STRSZS]; // align ifname in atp_iwlan_ewifiasc_req_struct |
| kal_bool rvout_en; |
| kal_bool mobike_ind; |
| } atp_iwlan_ewfcrvout_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_EIWLPING_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| iwlan_ran_e rat_type; |
| } atp_iwlan_eiwlping_ind_struct; |
| |
| // MSG_ID_ATP_IWLAN_EIWLPL_IND |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_char cmd[8]; |
| kal_char type[16]; |
| kal_uint8 priority_for_setup; |
| kal_uint8 priority_for_cellular; |
| kal_uint8 priority_for_wifi; |
| kal_char description[32]; |
| // For +EIWLPL ver.2 |
| kal_uint8 verno; |
| kal_uint8 rat_num; |
| kal_uint8 rpl_row[RPL_RAN_PRIOR_MAX]; |
| } atp_iwlan_eiwlpl_ind_struct; |
| |
| // MSG_ID_ATP_IWLAN_CEUS_REQ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint8 centric_type; |
| } atp_iwlan_ceus_req_struct; |
| |
| // MSG_ID_ATP_IWLAN_CEUS_IND |
| typedef atp_iwlan_ceus_req_struct atp_iwlan_ceus_ind_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| ims_irat_status_enum irat_status; |
| kal_bool irat_result; |
| } atp_iwlan_eirat_status_req_struct; |
| |
| /******************************************************************************* |
| * IWLAN V.S. ATP from MD * |
| * atp_urc_table * |
| *******************************************************************************/ |
| |
| //MSG_ID_ATP_IWLAN_L4_VOPS_URCRPT_REQ |
| typedef struct { |
| ATP_IWLAN_L4_RSP_IND_LOCAL_PARA_HDR |
| kal_bool en; |
| } atp_iwlan_l4_vops_urcrpt_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_L4_ECEVDP_URCRPT_REQ |
| typedef struct { |
| ATP_IWLAN_L4_RSP_IND_LOCAL_PARA_HDR |
| kal_uint8 vodm_pref; |
| } atp_iwlan_l4_ecevdp_urcrpt_req_struct; |
| |
| //MSG_ID_ATP_IWLAN_L4_CELLSIG_URCRPT_REQ |
| typedef struct { |
| ATP_IWLAN_L4_RSP_IND_LOCAL_PARA_HDR |
| kal_int32 sig1; |
| kal_int32 sig2; |
| kal_int32 rssi_qdbm; |
| kal_int32 rscp_qdbm; |
| kal_int32 ecn0_qdbm; |
| kal_int32 rsrq_qdbm; |
| kal_int32 rsrp_qdbm; |
| kal_uint32 act; |
| kal_int32 rs_snr_qdb; |
| kal_int32 band; |
| kal_int32 second_rsrp_qdbm; |
| kal_int32 second_rsrq_qdbm; |
| kal_int32 second_sig3; |
| } atp_iwlan_l4_cellsig_urcrpt_req_struct; |
| |
| |
| /******************************************************************************* |
| * IWLAN V.S. ATP to MD * |
| * atp_iwlan_request_table * |
| *******************************************************************************/ |
| //MSG_ID_ATP_IWLAN_L4_IMSCFG_IND |
| typedef atp_iwlan_imscfg_req_struct atp_iwlan_l4_imscfg_ind_struct; |
| |
| //MSG_ID_ATP_IWLAN_L4_IMSCFG_RSP |
| typedef struct { |
| ATP_IWLAN_L4_RSP_IND_LOCAL_PARA_HDR |
| } atp_iwlan_l4_imscfg_rsp_struct; |
| |
| |
| //MSG_ID_ATP_IWLAN_L4_CELLSIG_QUERY_IND |
| //<TBD> |
| //MSG_ID_ATP_IWLAN_L4_CELLSIG_QUERY_RSP |
| typedef atp_iwlan_l4_cellsig_urcrpt_req_struct atp_iwlan_l4_cellsig_query_rsp_struct; |
| |
| |
| /**************************** |
| * Get URC porting from IMC * |
| ****************************/ |
| /* |
| * Description |
| * - the primitive is used for PS to notify IWLAN rat_type, cell_id, PLMN_type |
| * Direction |
| * - PS -> IWLAN |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| ims_rat_type_enum rat_type; |
| kal_uint64 cell_id; |
| cell_service_enum cell_service; |
| plmn_id_struct plmn_id; |
| plmn_type_enum plmn_type; |
| kal_uint8 la_code[2]; |
| kal_uint8 ta_code[3]; |
| kal_bool limited_service_emc_support; |
| domain_id_enum domain; |
| kal_bool is_empty_cell; |
| /*ecall over IMS*/ |
| #ifdef __NG_ECALL_SUPPORT__ |
| kal_bool support_ecl; /*newtork support ecall over ims or not*/ |
| #endif |
| |
| } atp_iwlan_eimsinfo_req_struct; |
| |
| /* |
| * @brief |
| * @note MSG_ID_ATP_IWLAN_EC2KREG_REQ |
| * +EC2KREG:<domain>, <state>, <service_type> |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| domain_id_enum domain; |
| c2k_cell_service_enum state; |
| c2k_rat_type_enum service_type; |
| } atp_iwlan_ec2kreg_req_struct; |
| |
| /* |
| * @brief |
| * @note MSG_ID_ATP_IWLAN_EC2KCELL_REQ |
| * +EC2KINFO:<access_type>, <sid>, <nid>, <pzid>, <base_id>, <sectot_id>, <subnet_length>, <carrier_id> |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| c2k_rat_type_enum access_type; |
| kal_uint16 sid; |
| kal_uint16 nid; |
| kal_uint8 pzid; |
| kal_uint16 base_id; |
| kal_uint32 sectot_id[4]; |
| kal_uint8 subnet_length; |
| kal_uint8 carrier_id[7]; |
| } atp_iwlan_ec2kcell_req_struct; |
| |
| /* |
| * @brief |
| * @note MSG_ID_ATP_IWLAN_EAFR_IND |
| * +EAFR=<afr_result> |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool result; |
| } atp_iwlan_eafr_ind_struct; |
| |
| /* |
| * @brief |
| * @note MSG_ID_ATP_IWLAN_ECMPCID_REQ |
| * +ECMPCID:<rat>,<ci>,<plmn_id>,<lac>,<tac> |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| ims_rat_type_enum rat_type; |
| kal_uint64 cell_id; |
| kal_uint8 plmn[MAX_PLMN_LEN + 1]; |
| kal_uint16 la_code; |
| kal_uint32 ta_code; |
| } atp_iwlan_ecmpcid_req_struct; |
| |
| /* |
| * @brief UE receive mt cs paging |
| * note MSG_ID_ATP_IWLAN_MT_CS_PAGING_IND |
| * +CIEV: 13 |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| } atp_iwlan_mt_cs_paging_ind_struct; |
| |
| /* |
| * @brief UE receive csfb fail ind |
| * note MSG_ID_ATP_IWLAN_CSFB_FAIL_IND |
| * +ECFFAIL |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| } atp_iwlan_csfb_fail_ind_struct; |
| |
| /* |
| * @brief |
| * @note MSG_ID_ATP_IWLAN_CS_CALL_STATUS_IND |
| * +ECPI:<call_id>, <msg_type>, <is_ibt>, <is_tch>, <dir>, <call_mode>, <number>, <type>, "<pau>"[,<disc_cause>] |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| ims_cs_call_status_enum cs_call_status; |
| } atp_iwlan_cs_call_status_ind_struct; |
| |
| /* |
| * Description |
| * - the primitive is used for NAS to notify IWLAN of the SIM Invalid event |
| * Direction |
| * - PS -> IWLAN |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| plmn_id_struct plmn_id; |
| kal_bool is_cs_invalid; |
| kal_bool is_ps_invalid; |
| kal_uint32 cause; |
| } atp_iwlan_sim_invalid_req_struct; |
| |
| /* |
| * Description |
| * - the primitive is used for PS to notify IWLAN that the UE is in/out of limited service |
| * Direction |
| * - PS -> IWLAN |
| */ |
| typedef struct { |
| LOCAL_PARA_HDR |
| } atp_iwlan_oos_start_req_struct; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| } atp_iwlan_oos_end_req_struct; |
| |
| #endif /* _ATP_IWLAN_STRUCT_H */ |