blob: 75a6b9ef38de8db65bfcb28a3e801e085ec8bd26 [file] [log] [blame]
/***********************************
* IWLAN Config Macro definition
***********************************/
/***********************************
* Reset Macro
***********************************/
#undef IWLAN_CFG_TYPE_START
#undef IWLAN_CFG_TYPE_DCL
#undef IWLAN_CFG_TYPE_ARRAY
#undef IWLAN_CFG_TYPE_END
#undef IWLAN_CFG_L0_TYPE_START
#undef IWLAN_CFG_L0_TYPE_DCL
#undef IWLAN_CFG_L0_TYPE_ARRAY
#undef IWLAN_CFG_L0_TYPE_END
#undef IWLAN_CFG_L1_TYPE_START
#undef IWLAN_CFG_L1_TYPE_DCL
#undef IWLAN_CFG_L1_TYPE_ARRAY
#undef IWLAN_CFG_L1_TYPE_END
#undef IWLAN_CFG_L2_TYPE_START
#undef IWLAN_CFG_L2_TYPE_DCL
#undef IWLAN_CFG_L2_TYPE_ARRAY
#undef IWLAN_CFG_L2_TYPE_END
/****************************************
* IWLAN CFG Macro Structure Definition
****************************************/
#if __IWLAN_CFG_ACTION__ == 1
/* ==================== *
* For iwlan_cust_cfg_t *
* ==================== */
#if __IWLAN_CFG_LAYER__ == -1
#define IWLAN_CFG_L0_TYPE_START(_obj0, _desc) \
_obj0 ## _t _obj0;
/* ============= *
* Layer 0 obj *
* ============= */
#elif __IWLAN_CFG_LAYER__ == 0
#define IWLAN_CFG_L0_TYPE_START(_obj0, _desc) \
typedef struct _ ## _obj0 ## _t {
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_type _name;
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_type _name[_size];
#define IWLAN_CFG_L1_TYPE_START(_obj0, _obj1, _desc) \
_obj1 ## _t _obj1;
#define IWLAN_CFG_L0_TYPE_END(_obj0) \
} _obj0 ## _t;
/* ============= *
* Layer 1 obj *
* ============= */
#elif __IWLAN_CFG_LAYER__ == 1
#define IWLAN_CFG_L1_TYPE_START(_obj0, _obj1, _desc) \
typedef struct _ ## _obj1 ## _t {
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_type _name;
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_type _name[_size];
#define IWLAN_CFG_L2_TYPE_START(_obj0, _obj1, _obj2, _desc) \
_obj2 ## _t _obj2;
#define IWLAN_CFG_L1_TYPE_END(_obj0, _obj1) \
} _obj1 ## _t;
/* ============= *
* Layer 2 obj *
* ============= */
#elif __IWLAN_CFG_LAYER__ == 2 /* layer 2 obj*/
#define IWLAN_CFG_L2_TYPE_START(_obj0, _obj1, _obj2, _desc) \
typedef struct _ ## _obj2 ## _t {
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_type _name;
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_type _name[_size];
#define IWLAN_CFG_L2_TYPE_END(_obj0, _obj1, _obj2) \
} _obj2 ## _t;
#endif
/****************************************
* IWLAN CFG Macro Structure Value Assign
****************************************/
#elif __IWLAN_CFG_ACTION__ == 2
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
(__IWLAN_CFG_PTR__)->_obj0._name = _cfg_dflt;
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
(__IWLAN_CFG_PTR__)->_obj0._obj1._name = _cfg_dflt;
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
(__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name = _cfg_dflt;
/* WARNING: It should declare var _cfg_idx_ locally */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
(__IWLAN_CFG_PTR__)->_obj0._name[_cfg_idx_] = _cfg_dflt; \
}
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._name[_cfg_idx_] = _cfg_dflt; \
}
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name[_cfg_idx_] = _cfg_dflt; \
}
/****************************************
* IWLAN CFG Macro NVRAN Value Assign
****************************************/
#elif __IWLAN_CFG_ACTION__ == 3
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
if ((__IWLAN_NVRAM_PTR__)->_obj0._name != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._name = (__IWLAN_NVRAM_PTR__)->_obj0._name; \
}
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
if ((__IWLAN_NVRAM_PTR__)->_obj0._obj1._name != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._name = (__IWLAN_NVRAM_PTR__)->_obj0._obj1._name; \
}
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
if ((__IWLAN_NVRAM_PTR__)->_obj0._obj1._obj2._name != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name = (__IWLAN_NVRAM_PTR__)->_obj0._obj1._obj2._name; \
}
/* WARNING: It should declare var _cfg_idx_ locally */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
if ((__IWLAN_NVRAM_PTR__)->_obj0._name[_cfg_idx_] != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._name[_cfg_idx_] = (__IWLAN_NVRAM_PTR__)->_obj0._name[_cfg_idx_]; \
} \
}
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
if ((__IWLAN_NVRAM_PTR__)->_obj0._obj1._name[_cfg_idx_] != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._name[_cfg_idx_] = (__IWLAN_NVRAM_PTR__)->_obj0._obj1._name[_cfg_idx_]; \
} \
}
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
for (_cfg_idx_ = 0; _cfg_idx_ < _size; ++_cfg_idx_) { \
if ((__IWLAN_NVRAM_PTR__)->_obj0._obj1._obj2._name[_cfg_idx_] != (_type)(UNDEF_CONFIG)) { \
(__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name[_cfg_idx_] = (__IWLAN_NVRAM_PTR__)->_obj0._obj1._obj2._name[_cfg_idx_]; \
} \
}
/****************************************
* IWLAN CFG Macro IWLCFG LOOKUP TABLE
****************************************/
#elif __IWLAN_CFG_ACTION__ == 4
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
#_name,
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
#_name,
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
#_name,
/* No need IWLCFG for array */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
/**********************************************
* IWLAN CFG Macro IWLCFG LOOKUP TABLE ENUM
**********************************************/
#elif __IWLAN_CFG_ACTION__ == 5
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_enum,
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_enum,
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_enum,
/* No need IWLCFG for array */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
/************************************
* IWLAN CFG Macro IWLCFG SET/GET
************************************/
#elif __IWLAN_CFG_ACTION__ == 6
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
case _enum: { \
if (is_read) { \
sprintf(in_out_ptr, "%d", (__IWLAN_CFG_PTR__)->_obj0._name); \
} \
else { \
MASF_UPDATE_CTXVAL((__IWLAN_CFG_PTR__)->_obj0._name, atoi((kal_char *)in_out_ptr), is_updt); \
(__IWLAN_NVRAM_PTR__)->_obj0._name = (__IWLAN_CFG_PTR__)->_obj0._name; \
} \
break; \
}
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
case _enum: { \
if (is_read) { \
sprintf(in_out_ptr, "%d", (__IWLAN_CFG_PTR__)->_obj0._obj1._name); \
} \
else { \
MASF_UPDATE_CTXVAL((__IWLAN_CFG_PTR__)->_obj0._obj1._name, atoi((kal_char *)in_out_ptr), is_updt); \
(__IWLAN_NVRAM_PTR__)->_obj0._obj1._name = (__IWLAN_CFG_PTR__)->_obj0._obj1._name; \
} \
break; \
}
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
case _enum: { \
if (is_read) { \
sprintf(in_out_ptr, "%d", (__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name); \
} \
else { \
MASF_UPDATE_CTXVAL((__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name, atoi((kal_char *)in_out_ptr), is_updt); \
(__IWLAN_NVRAM_PTR__)->_obj0._obj1._obj2._name = (__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name; \
} \
break; \
}
/* No need IWLCFG for array */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#elif __IWLAN_CFG_ACTION__ == 7
#define IWLAN_CFG_L0_TYPE_START(_obj0, _desc) \
_obj0: _desc
#define IWLAN_CFG_L1_TYPE_START(_obj0, _obj1, _desc) \
_obj0._obj1: _desc
#define IWLAN_CFG_L2_TYPE_START(_obj0, _obj1, _obj2, _desc) \
_obj0._obj1._obj2: _desc
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_obj0._name: _desc
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_obj0._obj1._name: _desc
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
_obj0._obj1._obj2._name: _desc
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_obj0._name: _desc
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_obj0._obj1._name: _desc
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc) \
_obj0._obj1._obj2._name: _desc
#elif __IWLAN_CFG_ACTION__ == 10
#define IWLAN_CFG_L0_TYPE_DCL(_obj0, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
IWLAN_INFO(" (OP_by_ALL) " #_name " = %d", (__IWLAN_CFG_PTR__)->_obj0._name);
#define IWLAN_CFG_L1_TYPE_DCL(_obj0, _obj1, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
IWLAN_INFO(" (OP_by_ALL) " #_name " = %d", (__IWLAN_CFG_PTR__)->_obj0._obj1._name);
#define IWLAN_CFG_L2_TYPE_DCL(_obj0, _obj1, _obj2, _type, _enum, _name, _cfg_dflt, _nv_dflt, _desc) \
IWLAN_INFO(" (OP_by_ALL) " #_name " = %d", (__IWLAN_CFG_PTR__)->_obj0._obj1._obj2._name);
/* No need IWLCFG for array */
#define IWLAN_CFG_L0_TYPE_ARRAY(_obj0, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L1_TYPE_ARRAY(_obj0, _obj1, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#define IWLAN_CFG_L2_TYPE_ARRAY(_obj0, _obj1, _obj2, _type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _desc)
#endif
/* If macro not used, define as emply */
#ifndef IWLAN_CFG_L0_TYPE_START
#define IWLAN_CFG_L0_TYPE_START(...)
#endif
#ifndef IWLAN_CFG_L0_TYPE_DCL
#define IWLAN_CFG_L0_TYPE_DCL(...)
#endif
#ifndef IWLAN_CFG_L0_TYPE_ARRAY
#define IWLAN_CFG_L0_TYPE_ARRAY(...)
#endif
#ifndef IWLAN_CFG_L0_TYPE_END
#define IWLAN_CFG_L0_TYPE_END(...)
#endif
#ifndef IWLAN_CFG_L1_TYPE_START
#define IWLAN_CFG_L1_TYPE_START(...)
#endif
#ifndef IWLAN_CFG_L1_TYPE_DCL
#define IWLAN_CFG_L1_TYPE_DCL(...)
#endif
#ifndef IWLAN_CFG_L1_TYPE_ARRAY
#define IWLAN_CFG_L1_TYPE_ARRAY(...)
#endif
#ifndef IWLAN_CFG_L1_TYPE_END
#define IWLAN_CFG_L1_TYPE_END(...)
#endif
#ifndef IWLAN_CFG_L2_TYPE_START
#define IWLAN_CFG_L2_TYPE_START(...)
#endif
#ifndef IWLAN_CFG_L2_TYPE_DCL
#define IWLAN_CFG_L2_TYPE_DCL(...)
#endif
#ifndef IWLAN_CFG_L2_TYPE_ARRAY
#define IWLAN_CFG_L2_TYPE_ARRAY(...)
#endif
#ifndef IWLAN_CFG_L2_TYPE_END
#define IWLAN_CFG_L2_TYPE_END(...)
#endif
/* Define macro expansion */
#define GET_START_MACRO(_1, _2, _3, NAME, ...) NAME
#define IWLAN_CFG_TYPE_START(...) \
GET_START_MACRO(__VA_ARGS__, IWLAN_CFG_L2_TYPE_START, \
IWLAN_CFG_L1_TYPE_START, \
IWLAN_CFG_L0_TYPE_START)(__VA_ARGS__)
#define GET_DCL_MACRO(_type, _enum, _name, _cfg_dflt, _nv_dflt, _1, _2, _3, NAME, ...) NAME
#define IWLAN_CFG_TYPE_DCL(...) \
GET_DCL_MACRO(__VA_ARGS__, IWLAN_CFG_L2_TYPE_DCL, \
IWLAN_CFG_L1_TYPE_DCL, \
IWLAN_CFG_L0_TYPE_DCL)(__VA_ARGS__)
#define GET_ARRAY_MACRO(_type, _enum, _name, _size, _cfg_dflt, _nv_dflt, _1, _2, _3, NAME, ...) NAME
#define IWLAN_CFG_TYPE_ARRAY(...) \
GET_ARRAY_MACRO(__VA_ARGS__, IWLAN_CFG_L2_TYPE_ARRAY, \
IWLAN_CFG_L1_TYPE_ARRAY, \
IWLAN_CFG_L0_TYPE_ARRAY)(__VA_ARGS__)
#define GET_END_MACRO(_1, _2, _3, NAME, ...) NAME
#define IWLAN_CFG_TYPE_END(...) \
GET_END_MACRO(__VA_ARGS__, IWLAN_CFG_L2_TYPE_END, \
IWLAN_CFG_L1_TYPE_END, \
IWLAN_CFG_L0_TYPE_END)(__VA_ARGS__)
/*
* IWLAN Config
*
* Format:
* # no need to end with ','
*
* IWLAN_CFG_TYPE_START(_obj...)
* IWLAN_CFG_TYPE_DCL(_obj..., _cfg_type, _cfg_enum, _cfg_name, _cfg_dflt, _nv_dflt)
* ...
* IWLAN_CFG_TYPE_END(_obj...)
*/
/**********
* Common *
**********/
/* CONFIG_START */
IWLAN_CFG_L0_TYPE_START(comm_ans_cfg,
"Wireless Access Network Selection Configuration(Common Part)";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, IWLAN_OP_ID, iwlan_op_id, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"[INTERNAL]When set op_id using AT command AT_EIWLCFGSET";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, IWLAN_DEVICE_TYPE, iwlan_device_type, 0, UNDEF_CONFIG_32,
"[INTERNAL] phase out!";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint8, IMS_VOLTE_DEREG_WHEN_RF_OFF, ims_maintain_when_rf_off, KAL_FALSE, UNDEF_CONFIG_8,
"[INTERNAL]When enable, IMS MAINTAIN when RF off";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, FIRST_PDN_CELL_PREF_APN_TYPE, first_pdn_cell_pref_apn_type, 0, UNDEF_CONFIG_32,
"[MCF]For certain APN type, Cellular preferred when PDN established 1st time after boot-up";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint8, PDN_OVER_N3IWF_ENABLE, pdn_over_n3iwf_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, allow PDN over N3IWF, current not support";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint8, EPDG_N3IWF_HO_ENABLE, epdg_n3iwf_ho_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, allow PDN handover between ePDG and N3IWF";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, CELL_SIG_REPORT_DURATION, cell_sig_report_duration, 3, UNDEF_CONFIG_32,
"[MCF] Duration (second or mini-second) of monitor Cell signal quality for IWLAN";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, CELL_SIG_REPORT_TIMER_TYPE, cell_sig_report_timer_type, 0, UNDEF_CONFIG_32,
"[INTERNAL] Type 0 means duration unit is second, 1 is mini-second";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, WIFI_SIG_POLLING_TIME, wifi_sig_polling_time, 0, UNDEF_CONFIG_32,
"[INTERNAL] Suggest WiFi signaling monitor polling time";)
IWLAN_CFG_L0_TYPE_DCL(comm_ans_cfg, kal_uint32, WIFI_SIG_MEASURE_TIME, wifi_sig_measure_time, 0, UNDEF_CONFIG_32,
"[INTERNAL] Suggest WiFi signaling monitor measure time";)
/* Throttling Timer Config */
IWLAN_CFG_L1_TYPE_START(comm_ans_cfg, trtl_cfg, "[MCF]Handover Throttling Configuration";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, WLAN_TRTL_ENABLE, wlan_trtl_enable, 1, UNDEF_CONFIG_8,
"[MCF] When enable, throttling handover back to WLAN for wlan_rove_in_trtl_time" {
wlan_trtl_enable:8 "" {
0x0: "Disable the throttling timer for wlan";
0x1: "(bit 0 is functional enable bit) Enable for all throttling if no specify bit 1 ~ bit 7";
0x3: "(bit 1 is enable for idle mode) IDLE mode throttling";
0x5: "(bit 2 is enable for in-call mode) In-Call mode throttling";
0x7: "Enable for both (IDLE and In-Call) throttling(raise both bit 1 and 2)";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint32, WLAN_ROVE_IN_TRTL_TIME, wlan_rove_in_trtl_time, 10, UNDEF_CONFIG_32, // in sec
"[MCF]Duration of throttling handover back to WLAN";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, CELL_TRTL_ENABLE, cell_trtl_enable, 1, UNDEF_CONFIG_8,
"[MCF]When enable, throttling handover back to Cell for cell_rove_in_trtl_time" {
cell_trtl_enable:8 "" {
0x0: "(bit 0 is functional enable bit) Disabled";
0x1: "(bit 0 is functional enable bit) Enable for all throttling if no specify bit 1 ~ bit 7";
0x3: "(bit 1 is enable for idle mode) IDLE mode throttling";
0x5: "(bit 2 is enable for in-call mode) In-Call mode throttling";
0x7: "Enable for both (IDLE and In-Call) throttling(raise both bit 1 and 2)";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint32, CELL_ROVE_IN_TRTL_TIME, cell_rove_in_trtl_time, 10, UNDEF_CONFIG_32, // in sec
"[MCF]Duration of throttling handover back to Cell";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, WLAN_POOR_STOP_CELL_TRTL_ENABLE, wlan_poor_stop_cell_trtl_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enabled, throttling of handover back to Cell is overridden when WLAN signal level or QoS goes bad";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, WLAN_NO_RTP_STOP_CELL_TRTL_ENABLE, wlan_no_rtp_stop_cell_trtl_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enabled, throttling of handover back to Cell is overridden when WLAN no RTP";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, CELL_NO_RTP_STOP_WLAN_TRTL_ENABLE, cell_no_rtp_stop_wlan_trtl_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enabled, throttling of handover back to WLAN is overridden when Cell no RTP";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, INITIAL_TRTL_ENABLE, initial_trtl_enable, 0, UNDEF_CONFIG_8,
"[MCF]When enabled, throttling first handover after IMS or Emergency PDN activation for initial_rove_in_trtl_time";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint32, INITIAL_ROVE_IN_TRTL_TIME, initial_rove_in_trtl_time, 3, UNDEF_CONFIG_32, // in sec
"[MCF]Duration of throttling first handover after IMS or Emergency PDN activation";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, trtl_cfg, kal_uint8, NO_RTCP_STOP_TRTL_ENABLE, no_rtcp_stop_trtl_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF] When enabled, stop throttling of handover timer when current RAN is no RTCP";)
IWLAN_CFG_L1_TYPE_END(comm_ans_cfg, trtl_cfg)
/* Measurement Timer Config */
IWLAN_CFG_L1_TYPE_START(comm_ans_cfg, meas_cfg, "[MCF]Handover Measurement Delay Configuration";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, meas_cfg, kal_uint32, WLAN_ROVE_IN_MEAS_TIME, wlan_rove_in_meas_time, 0, UNDEF_CONFIG_32, // in msec
"Duration(ms) of measurement delay before handover back to WLAN";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, meas_cfg, kal_uint32, CELL_ROVE_IN_MEAS_TIME, cell_rove_in_meas_time, 0, UNDEF_CONFIG_32, // in msec
"Duration(ms) of measurement delay before handover back to Cell";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, meas_cfg, kal_uint32, WLAN_DEACT_MEAS_TIME, wlan_deact_meas_time, 0, UNDEF_CONFIG_32, // in msec
"Duration(ms) of measurement delay before WLAN is deactivated";)
IWLAN_CFG_L1_TYPE_END(comm_ans_cfg, meas_cfg)
/* Ustable Timer Config */
IWLAN_CFG_L1_TYPE_START(comm_ans_cfg, rat_hys_cfg, "[MCF]RAT hysteresis during unstable signal temporal state";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, rat_hys_cfg, kal_uint32, CELL_UNSTABLE_HYS_TIME, cell_unstable_hys_time, 2000, UNDEF_CONFIG_32, // in msec
"Duration(ms) of cellular unstable signal hysteresis delay";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, rat_hys_cfg, kal_uint32, WLAN_UNSTABLE_HYS_TIME, wlan_unstable_hys_time, 2000, UNDEF_CONFIG_32, // in msec
"Duration(ms) of wifi unstable signal hysteresis delay";)
IWLAN_CFG_L1_TYPE_END(comm_ans_cfg, rat_hys_cfg)
/* Preference Setting */
IWLAN_CFG_L1_TYPE_START(comm_ans_cfg, pref_cfg, "[MCF] Preference setting for APN types";)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_DEFAULT_PREF_SETTING, wans_default_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]default APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_IMS_PREF_SETTING, wans_ims_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]ims APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_MMS_PREF_SETTING, wans_mms_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]mms APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_ECC_PREF_SETTING, wans_ecc_pref_setting, 0x0F, UNDEF_CONFIG_8,
"[MCF]ecc APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_XCAP_PREF_SETTING, wans_xcap_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]xcap APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_BIP_PREF_SETTING, wans_bip_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]bip APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_SUPL_PREF_SETTING, wans_supl_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]supl APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_VSIM_PREF_SETTING, wans_vsim_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF]vsim APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_DCL(comm_ans_cfg, pref_cfg, kal_uint32, WANS_PTT_PREF_SETTING, wans_ptt_pref_setting, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[MCF] ptt APN WIFI offload setting." {
pref:4 "" {
0:"CELL ONLY";
1:"WLAN PREF";
2:"CELL PREF";
3:"WLAN ONLY";
4:"EPC PREF (LTE>WiFi>CS)";
5:"IMS CURRENT RAN PREF";
0xF: "refer to WFC UI";
};
wfo:4 "wfo capability" {
0: "not refer to WFC UI";
0xF: "refer to WFC UI";
};
};)
IWLAN_CFG_L1_TYPE_END(comm_ans_cfg, pref_cfg)
IWLAN_CFG_L0_TYPE_END(comm_ans_cfg)
/*******
* MMS *
*******/
IWLAN_CFG_L0_TYPE_START(mms_ans_cfg, "Wireless Access Network Selection Configuration(MMS Part)";)
IWLAN_CFG_L0_TYPE_DCL(mms_ans_cfg, kal_uint8, MMS_EPDG_CONNECTED_BARRING_ENABLE, mms_epdg_connected_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring MMS on WLAN if there is no ePDG tunnel existed";)
IWLAN_CFG_L0_TYPE_DCL(mms_ans_cfg, kal_uint8, MMS_IMS_PDN_CONNECTED_BARRING_ENABLE, mms_ims_pdn_connected_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring MMS on WLAN if there is no IMS PDN existed";)
IWLAN_CFG_L0_TYPE_DCL(mms_ans_cfg, kal_uint8, MMS_WLAN_ONLY_BARRING_ENABLE, mms_wlan_only_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring MMS on Cell if there is ePDG tunnel existed";)
IWLAN_CFG_L0_TYPE_DCL(mms_ans_cfg, kal_uint8, MMS_CELL_ONLY_BARRING_ENABLE, mms_cell_only_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring MMS on WLAN";)
IWLAN_CFG_L0_TYPE_END(mms_ans_cfg)
/********
* XCAP *
********/
IWLAN_CFG_L0_TYPE_START(xcap_ans_cfg, "Wireless Access Network Selection Configuration(XCAP Part)";)
IWLAN_CFG_L0_TYPE_DCL(xcap_ans_cfg, kal_uint8, XCAP_PDN_ALIGNMENT_SETTING, xcap_pdn_alignment_setting, 0, UNDEF_CONFIG_8,
"[MCF]Let RAT selection of XCAP align target pdn when target pdn is avtivated." {
alignment:8 "" {
1:"Default";
2:"IMS";
3:"MMS";
4:"EMERGENCY";
5:"XCAP";
6:"RCS";
7:"BIP";
8:"SUPL";
9:"VSIM";
};
};)
IWLAN_CFG_L0_TYPE_DCL(xcap_ans_cfg, kal_uint8, XCAP_ROAMING_BARRING_ENABLE, xcap_roaming_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring XCAP on roaming Cell";)
IWLAN_CFG_L0_TYPE_DCL(xcap_ans_cfg, kal_uint8, XCAP_EPDG_CONNECTED_EPDG_BARRING_ENABLE, xcap_epdg_connected_epdg_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring XCAP on WLAN if there is no ePDG tunnel existed";)
IWLAN_CFG_L0_TYPE_DCL(xcap_ans_cfg, kal_uint8, XCAP_WLAN_ONLY_BARRING_ENABLE, xcap_wlan_only_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring XCAP on Cell if there is ePDG tunnel existed";)
IWLAN_CFG_L0_TYPE_DCL(xcap_ans_cfg, kal_uint8, XCAP_CELL_ONLY_BARRING_ENABLE, xcap_cell_only_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring XCAP on WLAN";)
IWLAN_CFG_L0_TYPE_END(xcap_ans_cfg)
/********
* SUPL *
********/
IWLAN_CFG_L0_TYPE_START(supl_ans_cfg, "Wireless Access Network Selection Configuration(SUPL Part)";)
IWLAN_CFG_L0_TYPE_DCL(supl_ans_cfg, kal_uint8, SUPL_ROAMING_BARRING_ENABLE, supl_roaming_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring SUPL on roaming Cell";)
IWLAN_CFG_L0_TYPE_END(supl_ans_cfg)
/*******
* BIP *
*******/
IWLAN_CFG_L0_TYPE_START(bip_ans_cfg, "Wireless Access Network Selection Configuration(BIP Part)";)
IWLAN_CFG_L0_TYPE_DCL(bip_ans_cfg, kal_uint8, BIP_ROAMING_BARRING_ENABLE, bip_roaming_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring BIP on roaming Cell";)
IWLAN_CFG_L0_TYPE_END(bip_ans_cfg)
/***********
* Default *
***********/
IWLAN_CFG_L0_TYPE_START(dflt_ans_cfg, "Wireless Access Network Selection Configuration(Default Part)";)
IWLAN_CFG_L0_TYPE_DCL(dflt_ans_cfg, kal_uint8, DEFAULT_ROAMING_BARRING_ENABLE, default_roaming_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring DEFAULT on roaming Cell";)
IWLAN_CFG_L0_TYPE_END(dflt_ans_cfg)
/*************
* IMS - ECC *
*************/
IWLAN_CFG_L0_TYPE_START(ecc_ans_cfg, "Wireless Access Network Selection Configuration(IMS ECC Part)";)
IWLAN_CFG_L0_TYPE_DCL(ecc_ans_cfg, kal_uint8, IPOL_ECC_HO_ENABLE, ipol_ecc_ho_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, allow ECC handover";)
IWLAN_CFG_L0_TYPE_END(ecc_ans_cfg)
/****************
* IMS - Normal *
****************/
IWLAN_CFG_L0_TYPE_START(ipol_ans_cfg, "Wireless Access Network Selection Configuration(IMS Normal Part)";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint32, IPOL_IMS_MD_SUPPORTING_RAT, ipol_ims_md_supporting_rat, 0x41, UNDEF_CONFIG_32,
"[MCF]IMS support RAT." {
ipol_ims_md_supporting_rat:32 "Bit[0]:LTE, Bit[1]:UMTS, Bit[2]:GSM, Bit[3]:1x, Bit[4]:HRPD, Bit[5]:EHRPD, Bit[6]:NR" {
1: "support LTE only";
3: "support LTE + UMTS";
7: "support LTE + UMTS + GSM";
63: "support LTE + UMTS + GSM + 3GPP2";
64: "support NR only";
65: "support NR + LTE";
67: "support NR + LTE + UMTS";
71: "support NR + LTE + UMTS + GSM";
127:"support NR + LTE + UMTS + GSM + 3GPP2";
};
};)
/* C2K */
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_C2K_SETUP_BARRING, ipol_c2k_setup_barring, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, barring IMS setup on C2K";)
/* VoPS */
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_BARRING_HPLMN_ENABLE, ipol_ims_vops_barring_hplmn_enable, 0x03, UNDEF_CONFIG_8,
"[MCF]When enable, UE not allow IMS on CEll when VOPS no capability while not roaming, Bit[0]:LTE, Bit[1]:NR";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_BARRING_VPLMN_ENABLE, ipol_ims_vops_barring_vplmn_enable, 0x03, UNDEF_CONFIG_8,
"[MCF]When enable, UE not allow IMS on CELL when VOPS no capability while roaming, Bit[0]:LTE, Bit[1]:NR";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_SETUP_BARRING_ENABLE, ipol_ims_vops_setup_barring_enable, 0x03, UNDEF_CONFIG_8,
"[MCF]When enable, only allow IMS setup on Cell with VOPS capability, Bit[0]:LTE, Bit[1]:NR";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_IDLE_HO_BARRING_ENABLE, ipol_ims_vops_idle_ho_barring_enable, 0x00, UNDEF_CONFIG_8,
"[MCF]When enable, deny idle HO on Cell with non-VOPS capability, Bit[0]:LTE, Bit[1]:NR";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_OFF_INCALL_DEREG_ENABLE, ipol_ims_vops_off_incall_dereg_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, during call active, UT trigger dereg when VOPS turning to OFF";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOPS_OFF_CALL_GUARD_ENABLE, ipol_ims_vops_off_call_guard_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, IMS call start and then VOPS off,not dereg IMS";)
/* 2/3G */
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_23G_SETUP_BARRING_ENABLE, ipol_ims_23G_setup_barring_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, barring IMS setup on 2/3G";)
/* Roaming */
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ROAMING_BARRING_ENABLE, ipol_ims_roaming_barring_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, barring IMS on roaming Cell";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_WLAN_ROAMING_BARRING_ENABLE, ipol_ims_wlan_roaming_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring IMS on roaming WLAN";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ROAMING_HO_ENABLE, ipol_ims_roaming_ho_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When disable, UE won't perform handover on roaming Cell";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ROAMING_INCALL_HO_ENABLE, ipol_ims_roaming_incall_ho_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When disable, UE won't perform handover during on-going IMS call on roaming Cell";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ROAMING_RAT_RESELECT_BY_DREG_ENABLE, ipol_ims_roaming_rat_reselect_by_dreg_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will perform IMS deregistration on current RAT and set up on another RAT if HO is expected to happened originally when roaming.";)
/* Misc */
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VODM_PREF_BARRING_ENABLE, ipol_ims_vodm_pref_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring IMS when voice domain prefer not setting to 3";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_SIPCPI_BARRING_ENABLE, ipol_ims_sipcpi_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, barring current RAT when SIP 403 error";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_CS_PREF_ENABLE, ipol_ims_cs_pref_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, prefer CS if CS quality is better than WLAN";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_CS_PREF_WHILE_ROAMING_ENABLE, ipol_ims_cs_pref_while_roaming_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, prefer CS while roaming if CS quality is better than WLAN";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_WLAN_DEREG_ENABLE, ipol_ims_wlan_dereg_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will de-register IMS on WLAN if prefer CS, and call is not active";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_WIFI_CALL_ROVEOUT_ALERT_ENABLE, ipol_wifi_call_roveout_alert_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will display notification if UE is going to rove out WLAN during VoWiFi call";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_WIFI_CALL_MOBIKE_IND_ENABLE, ipol_wifi_call_mobike_ind_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will trigger speed-enhanced-MOBIKE during VoWiFi call if WLAN quality is poor and no LTE available";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint32, IPOL_WIFI_CALL_ROVEOUT_ALERT_DURATION, ipol_wifi_call_roveout_alert_duration, 5, UNDEF_CONFIG_32,
"[MCF]Duration of report wifi call rove out alert indication in second.";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_POOR_WIFI_ENABLE, ipol_ims_dereg_poor_wifi_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will de-register IMS on WLAN, if WLAN RSSI value is below HO Low threshold";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_DEAD_ZONE_ENABLE, ipol_ims_dereg_dead_zone_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will de-register IMS on WLAN, if WLAN RSSI value is below Low threshold and threre is no cellular coverage";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NO_VOICE_SUP_SMS_ENABLE, ipol_ims_no_voice_sup_sms_enable, 3, UNDEF_CONFIG_8,
"[MCF]When enable, IMS PDN will still be activated for SMS even if the network has no VoPS ability" {
ipol_ims_sms_only_by_centric_type_enable:8 "" {
0: "No SMS-only for all centric types";
1: "SMS-only for all centric types";
2: "SMS-only for voice-centric devices";
3: "SMS-only for data-centric devices";
};
};)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_VOICE_CAP_PREF_ENABLE, ipol_ims_voice_cap_pref_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, IMS PDN will select RAT which has voice capability rather than RAT no voice capability(e.g. VOPS OFF)";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_INCALL_VOICE_CAP_PREF, ipol_ims_incall_voice_cap_pref, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, IMS call will select RAT which has voice capability rather than RAT no voice capability(e.g. VOPS OFF)";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NORMAL_CALL_OVER_IMS_HO_LTE_TO_WIFI_ENABLE, ipol_ims_normal_call_ho_lte_to_wifi_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, while normal call over IMS PDN, IMS PDN can hand over to WLAN";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NORMAL_CALL_OVER_IMS_HO_WIFI_TO_LTE_ENABLE, ipol_ims_normal_call_ho_wifi_to_lte_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, while normal call over IMS PDN, IMS PDN can hand over to 3GPP";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ECC_OVER_IMS_HO_LTE_TO_WIFI_ENABLE, ipol_ims_ecc_over_ims_ho_lte_to_wifi_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, while ECC call over IMS PDN, IMS PDN can hand over to WLAN";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ECC_OVER_IMS_HO_WIFI_TO_LTE_ENABLE, ipol_ims_ecc_over_ims_ho_wifi_to_lte_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, while ECC call over IMS PDN, IMS PDN can hand over to 3GPP";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_DEAD_ZONE_INCALL_BARRING_ENABLE, ipol_ims_dereg_dead_zone_incall_barring_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When ipol_ims_dereg_dead_zone_enable and this flag is enabled, UE will not de-register IMS on WLAN when call is active, if WLAN RSSI value is below Low threshold and threre is no cellular coverage";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_DEAD_ZONE_MDPOOR_BARRING_ENABLE, ipol_ims_dereg_dead_zone_mdpoor_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When ipol_ims_dereg_dead_zone_enable and this flag is enabled, UE will de-register IMS on WLAN, if WLAN RSSI and MD signal value is below Low threshold";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_3GPP_SIM_INVALID_ENABLE, ipol_ims_3gpp_sim_invalid_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, UE stop ims registration attempt while receiving sim invalid until next cellular attach time";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_POOR_WIFI, ipol_ims_dereg_poor_wifi, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable and wans_ims_cs_pref_enable is disabled UE will de-register IMS on WLAN, if WLAN RSSI is below HO Low threshold";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_MAINTAIN_CALL_IN_WIFI_WHEN_IN_CS_PREFERRED, ipol_ims_maintain_call_in_wifi_when_in_cs_preferred, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enabled UE will maintain IMS registration and active call on WLAN, when CS preferred condition is true";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_23G_WIFI_RAT_RESELECT_BY_DREG_ENABLE, ipol_ims_23g_wifi_rat_reselect_by_dreg_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enabled, UE will perform IMS deregistration on current RAT and set up on another RAT if HO is expected to happened between 23g and wifi";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NR_WIFI_RAT_RESELECT_BY_DREG_ENABLE, ipol_ims_nr_wifi_rat_reselect_by_dreg_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enabled, UE will perform IMS deregistration on current RAT and set up on another RAT if HO is expected to happened between NR and wifi";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_CONFIG_PEND_NONE_ACT_CALL_MSG, ipol_config_pend_none_act_call_msg, KAL_TRUE, UNDEF_CONFIG_8,
"[INTERNAL]When enable, pend the none active call for switch RPL msg sequence in dual IMS mode";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_SPECIAL_CUST, ipol_special_cust, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[INTERNAL]For special customization by project(each project may have different function)";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NR_IDLE_HO_MODE, ipol_ims_nr_idle_ho_mode, 1, UNDEF_CONFIG_8,
"[MCF]5G idle handover mode" {
ipol_ims_nr_idle_ho_mode:8 "" {
0: "No handover";
1: "Bidirectional handover";
2: "Unidirectional handover: 5G to WLAN";
3: "Unidirectional handover: WLAN to 5G";
};
};)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NR_INCALL_HO_ENABLE, ipol_ims_nr_incall_ho_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When disable, UE won't perform handover between NR and WLAN during on-going IMS call";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_NR_INCALL_HO_MODE_WHEN_INCALL_HO_ENABLE, ipol_ims_nr_incall_ho_mode_when_incall_ho_enable, 0, UNDEF_CONFIG_8,
"[MCF]5G in-call handover mode when ipol_ims_nr_incall_ho_enable is KAL_TRUE." {
ipol_ims_nr_incall_ho_mode_when_incall_ho_enable:8 "" {
0: "Bidirectional handover";
1: "Unidirectional: 5G to WLAN";
2: "Unidirectional: WLAN to 5G";
};
};)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_DEREG_AFTER_RAU_ENABLE, ipol_ims_dereg_after_rau_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will IMS dereg after RAU complete,no matter there is a CS call or not";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_ECC_OVER_EMERG_HO_ENABLE, ipol_ims_ecc_over_emerg_ho_enable, KAL_TRUE, UNDEF_CONFIG_8,
"[MCF]When enable, while ECC call over emergency PDN, allow ims handover";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_BLOCK_WIFI_UNTIL_SRVCC_CALL_END, ipol_ims_block_wifi_until_srvcc_call_end, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, UE will not attempt IMS over WLAN until SRVCC CS call end";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_INCALL_PREFER_CURRENT_RAT, ipol_incall_prefer_current_rat, 0, UNDEF_CONFIG_8,
"[MCF]Incall RAT preference" {
ipol_incall_prefer_current_rat:8 "" {
0: "Disable";
1: "When UE is in-call, prefer current RAT regardless of the preference setting.";
2: "Enable only when the current RAT is CELL";
3: "Enable only when the current RAT is WLAN";
};
};)
/* AFR config */
IWLAN_CFG_L1_TYPE_START(ipol_ans_cfg, afr_cfg, "[MCF]The IMS configuration during AFR stage";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, afr_cfg, kal_uint8, IPOL_IMS_AFR_CS_PAGING_ENABLE, ipol_ims_afr_cs_paging_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, the AFR stage will start from MT cs paging(only affect the range of AFR stage)";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, afr_cfg, kal_uint8, IPOL_IMS_AFR_REG_MAINTAIN_ENABLE, ipol_ims_afr_reg_maintain_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, IMS will be maintained instead deregistration from CS call start until AFR complete";)
IWLAN_CFG_L1_TYPE_END(ipol_ans_cfg, afr_cfg)
/* Signal Threshold Config */
IWLAN_CFG_L1_TYPE_START(ipol_ans_cfg, sig_cfg, "[MCF]Signal Treshold Configurarion";)
/* Wlan */
IWLAN_CFG_L2_TYPE_START(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, "[MCF]WLAN Signal Treshold Configurarion";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_ROVE_POOR_TH, ipol_wlan_rssi_rove_poor_th, -85, UNDEF_CONFIG_32,
"Low threshold value of WLAN RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_ROVE_FAIR_TH, ipol_wlan_rssi_rove_fair_th, -75, UNDEF_CONFIG_32,
"High threshold value of WLAN RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_HO_POOR_TH, ipol_wlan_rssi_ho_poor_th, -88, UNDEF_CONFIG_32,
"Low threshold value of WLAN RSSI when in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_HO_FAIR_TH, ipol_wlan_rssi_ho_fair_th, -78, UNDEF_CONFIG_32,
"High threshold value of WLAN RSSI when in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_SNR_POOR_TH, ipol_wlan_rssi_snr_poor_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of WLAN SNR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_SNR_FAIR_TH, ipol_wlan_rssi_snr_fair_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of WLAN SNR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_NO_CELL_POOR_TH, ipol_wlan_rssi_no_cell_poor_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of WLAN RSSI when no cellular coverage";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg, kal_int32, IPOL_WLAN_RSSI_NO_CELL_FAIR_TH, ipol_wlan_rssi_no_cell_fair_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of WLAN RSSI when no cellular coverage";)
IWLAN_CFG_L2_TYPE_END(ipol_ans_cfg, sig_cfg, wlan_sig_thr_cfg)
/* Celular */
IWLAN_CFG_L2_TYPE_START(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, "[MCF]Cell Signal Treshold Configurarion";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRP_POOR_TH, ipol_nr_rsrp_poor_th , -105, UNDEF_CONFIG_32,
"Low threshold value of NR SS-RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRP_FAIR_TH, ipol_nr_rsrp_fair_th , -95, UNDEF_CONFIG_32,
"High threshold value of NR SS-RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRP_GOOD_TH, ipol_nr_rsrp_good_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of NR SS-RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_SINR_POOR_TH, ipol_nr_sinr_poor_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of NR SS-SINR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_SINR_FAIR_TH, ipol_nr_sinr_fair_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of NR SS-SINR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_SINR_GOOD_TH, ipol_nr_sinr_good_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of NR SS-SINR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRQ_POOR_TH, ipol_nr_rsrq_poor_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of NR SS-RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRQ_FAIR_TH, ipol_nr_rsrq_fair_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of NR SS-RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_NR_RSRQ_GOOD_TH, ipol_nr_rsrq_good_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of NR SS-RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRP_POOR_TH, ipol_lte_rsrp_poor_th , -116, UNDEF_CONFIG_32,
"Low threshold value of LTE RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRP_FAIR_TH, ipol_lte_rsrp_fair_th , -106, UNDEF_CONFIG_32,
"High threshold value of LTE RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRP_GOOD_TH, ipol_lte_rsrp_good_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of LTE RSRP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSSNR_POOR_TH, ipol_lte_rssnr_poor_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of LTE RSSNR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSSNR_FAIR_TH, ipol_lte_rssnr_fair_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of LTE RSSNR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSSNR_GOOD_TH, ipol_lte_rssnr_good_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of LTE RSSNR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRQ_POOR_TH, ipol_lte_rsrq_poor_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of LTE RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRQ_FAIR_TH, ipol_lte_rsrq_fair_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of LTE RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_LTE_RSRQ_GOOD_TH, ipol_lte_rsrq_good_th , UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Top threshold value of LTE RSRQ";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_UMTS_RSCP_POOR_TH, ipol_umts_rscp_poor_th, -109, UNDEF_CONFIG_32,
"Low threshold value of UMTS RSCP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_UMTS_RSCP_FAIR_TH, ipol_umts_rscp_fair_th, -104, UNDEF_CONFIG_32,
"High threshold value of UMTS RSCP";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_UMTS_ECNO_POOR_TH, ipol_umts_ecno_poor_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Low threshold value of UMTS ECNO";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_UMTS_ECNO_FAIR_TH, ipol_umts_ecno_fair_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"High threshold value of UMTS ECNO";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_GSM_RSSI_POOR_TH, ipol_gsm_rssi_poor_th , -102, UNDEF_CONFIG_32,
"Low threshold value of GSM RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_GSM_RSSI_FAIR_TH, ipol_gsm_rssi_fair_th , -94, UNDEF_CONFIG_32,
"High threshold value of GSM RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_1X_RSSI_POOR_TH, ipol_1x_rssi_poor_th , -100, UNDEF_CONFIG_32,
"Low threshold value of 1x RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_1X_RSSI_FAIR_TH, ipol_1x_rssi_fair_th , -90, UNDEF_CONFIG_32,
"High threshold value of 1x RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_1X_ECIO_POOR_TH, ipol_1x_ecio_poor_th , -12, UNDEF_CONFIG_32,
"Low threshold value of 1x ECIO";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_1X_ECIO_FAIR_TH, ipol_1x_ecio_fair_th , -9, UNDEF_CONFIG_32,
"High threshold value of 1x ECIO";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_EVDO_RSSI_POOR_TH, ipol_evdo_rssi_poor_th, -105, UNDEF_CONFIG_32,
"Low threshold value of EVDO RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_EVDO_RSSI_FAIR_TH, ipol_evdo_rssi_fair_th, -95, UNDEF_CONFIG_32,
"High threshold value of EVDO RSSI";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_EVDO_ECIO_POOR_TH, ipol_evdo_ecio_poor_th, -12, UNDEF_CONFIG_32,
"Low threshold value of EVDO ECIO";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg, kal_int32, IPOL_EVDO_ECIO_FAIR_TH, ipol_evdo_ecio_fair_th, -9, UNDEF_CONFIG_32,
"High threshold value of EVDO ECIO";)
IWLAN_CFG_L2_TYPE_END(ipol_ans_cfg, sig_cfg, md_sig_thr_cfg)
IWLAN_CFG_L1_TYPE_END(ipol_ans_cfg, sig_cfg)
/* QoS Config */
IWLAN_CFG_L1_TYPE_START(ipol_ans_cfg, qos_cfg, "[MCF]QOS Configurarion";)
/* QoS - RTP */
IWLAN_CFG_L2_TYPE_START(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, "RTP QOS Configurarion";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint8, IPOL_RTP_QOS_ENABLE, ipol_rtp_qos_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, RTP QOS monitoring will be turn on";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint8, IPOL_IMS_RTP_TO_STERRING_ENABLE, ipol_ims_rtp_to_sterring_enable, KAL_TRUE, UNDEF_CONFIG_8,
"Phase out.";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_WLAN_VOICE_RTP_JITTER_TH, ipol_ims_wlan_voice_rtp_jitter_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP jitter loss when voice call in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_WLAN_VIDEO_RTP_JITTER_TH, ipol_ims_wlan_video_rtp_jitter_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP jitter loss when video call in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_RTP_WLAN_PKT_LOSS_TH, ipol_ims_rtp_wlan_pkt_loss_th, 50, UNDEF_CONFIG_32,
"Threshold value of RTP packet loss rate";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_RTP_WLAN_QOS_BKOFF_T, ipol_ims_rtp_wlan_qos_bkoff_t, 20, UNDEF_CONFIG_32, // in sec
"Duration of handover back to WLAN after handover out, and clear call qos on wlan";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_RTP_PKT_LOSS_TH, ipol_wlan_rtp_pkt_loss_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Phase out.";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_RTP_SAMPLING_DURATION, ipol_wlan_rtp_sampling_duration, 5, UNDEF_CONFIG_32, // in sec
"Duration of monitoring RTP status for IWLAN";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_RTCP_JITTER_DELAY_TH, ipol_wlan_rtcp_jitter_delay_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // in ms
"Threshold value of RTCP jitter delay";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_RTCP_PLR_TH, ipol_wlan_rtcp_plr_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // percentage
"Threshold value of RTCP PLR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint8, IPOL_WLAN_NO_RTP_HANDOVER, ipol_wlan_no_rtp_handover_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, No RTP timeout will trigger handover from WLAN to Cellular";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_HO_BEGIN_NO_RTP_ROLLBACK, ipol_wlan_ho_begin_no_rtp_rollback, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // in ms
"value == 0: disalbe, value > 0: enable, and the measurement duraiton for no RTP. When enable, if target RAT No RTP after HO, trigger handover back to Cellular";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint8, IPOL_INCALL_CHECK_NO_RTP, ipol_incall_check_no_rtp_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enabled, No RTP timeout value is set only if call is connected";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_NO_RTP_CLEAR_TH, ipol_wlan_no_rtp_clear_th, 0, UNDEF_CONFIG_32,
"If RTP packet loss rate is less or equal to threshold, clear WLAN no rtp status";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_WLAN_NO_RTCP_HANDOVER_TIMER, ipol_wlan_no_rtcp_handover_timer, 15, UNDEF_CONFIG_32,
"Duration of no RTCP timeout trigger handover from WLAN to Cellular, 0:disable";)
/* RTP setting for Cellular */
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_CELL_VOICE_RTP_JITTER_TH, ipol_ims_cell_voice_rtp_jitter_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP jitter loss when voice call in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_CELL_VIDEO_RTP_JITTER_TH, ipol_ims_cell_video_rtp_jitter_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP jitter loss when video call in call";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_RTP_CELL_PKT_LOSS_TH, ipol_ims_rtp_cell_pkt_loss_th, 50, UNDEF_CONFIG_32,
"Threshold value of RTP packet loss rate";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_IMS_RTP_CELL_QOS_BKOFF_T, ipol_ims_rtp_cell_qos_bkoff_t, 20, UNDEF_CONFIG_32, // in sec
"Duration of handover back to Cellular after handover out, and clear call qos on cell";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_RTP_SAMPLING_DURATION, ipol_cell_rtp_sampling_duration, 5, UNDEF_CONFIG_32, // in sec
"Duration of monitoring RTP status for IWLAN";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_RTCP_JITTER_DELAY_TH, ipol_cell_rtcp_jitter_delay_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // in ms
"Threshold value of RTCP jitter delay";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_RTCP_PLR_TH, ipol_cell_rtcp_plr_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // percentage
"Threshold value of RTCP PLR";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint8, IPOL_CELL_NO_RTP_HANDOVER, ipol_cell_no_rtp_handover_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, No RTP timeout will trigger handover from Cellular to WLAN";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_HO_BEGIN_NO_RTP_ROLLBACK, ipol_cell_ho_begin_no_rtp_rollback, UNDEF_CONFIG_32, UNDEF_CONFIG_32, // in ms
"value == 0: disalbe, value > 0: enable, and the measurement duraiton for no RTP. When enable, if target RAT No RTP after HO, trigger handover back to WLAN";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_NO_RTP_CLEAR_TH, ipol_cell_no_rtp_clear_th, 0, UNDEF_CONFIG_32,
"If RTP packet loss rate is less or equal to threshold, clear 3GPP no rtp status";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_rtp_cfg, kal_uint32, IPOL_CELL_NO_RTCP_HANDOVER_TIMER, ipol_cell_no_rtcp_handover_timer, 15, UNDEF_CONFIG_32,
"Duration of no RTCP timeout trigger handover from Cellular to WLAN, 0:disable";)
IWLAN_CFG_L2_TYPE_END(ipol_ans_cfg, qos_cfg, qos_rtp_cfg)
/* QoS - Ping */
IWLAN_CFG_L2_TYPE_START(ipol_ans_cfg, qos_cfg, qos_ping_cfg, "[MCF]Ping QOS Configurarion";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_ping_cfg, kal_uint8, IPOL_PING_QOS_ENABLE, ipol_ping_qos_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, Ping QOS monitoring will be turn on";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_ping_cfg, kal_uint32, IPOL_PING_INTERVAL, ipol_ping_interval, UNDEF_CONFIG_32, UNDEF_CONFIG_32, //in sec
"Duration of monitoring Ping status for IWLAN";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_ping_cfg, kal_uint32, IPOL_PING_LATENCY_TH, ipol_ping_latency_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, //in ms
"Threshold value of Ping latency";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_ping_cfg, kal_uint32, IPOL_PING_LOSS_TH, ipol_ping_loss_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32, //0~100%
"Threshold value of Ping packet loss rate";)
IWLAN_CFG_L2_TYPE_END(ipol_ans_cfg, qos_cfg, qos_ping_cfg)
/* QoS - DPD */
IWLAN_CFG_L2_TYPE_START(ipol_ans_cfg, qos_cfg, qos_dpd_cfg, "[MCF]DPD QOS Configuration";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_dpd_cfg, kal_uint8, IPOL_DPD_QOS_ENABLE, ipol_dpd_qos_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, IWLAN can trigger DPD mechanism";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_dpd_cfg, kal_uint32, IPOL_IMS_RTP_HIGH_PKT_LOSS_FOR_DPD_TH, ipol_ims_rtp_high_pkt_loss_for_dpd_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP high packet loss rate. If over it, do DPD";)
IWLAN_CFG_L2_TYPE_DCL(ipol_ans_cfg, qos_cfg, qos_dpd_cfg, kal_uint32, IPOL_IMS_RTP_LOW_PKT_LOSS_FOR_DPD_TH, ipol_ims_rtp_low_pkt_loss_for_dpd_th, UNDEF_CONFIG_32, UNDEF_CONFIG_32,
"Threshold value of RTP low packet loss rate. If under it, clear DPD";)
IWLAN_CFG_L2_TYPE_END(ipol_ans_cfg, qos_cfg, qos_dpd_cfg)
IWLAN_CFG_L1_TYPE_END(ipol_ans_cfg, qos_cfg)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint8, IPOL_IMS_PCSCF_QUALITY_ENABLE, ipol_ims_pcscf_quality_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[MCF]When enable, P-CSCF connection quality monitoring will be turned on";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_uint32, IPOL_IMS_PCSCF_STATE_BKOFF_T, ipol_ims_pcscf_state_bkoff_t, 0, UNDEF_CONFIG_32,
"[MCF]Duration of handover back after handover out for pcscf connection quality poor";)
IWLAN_CFG_L0_TYPE_DCL(ipol_ans_cfg, kal_int8, IPOL_IMS_EVS_CALL_THR_OFFSET, ipol_ims_evs_call_thr_offset, 0, UNDEF_CONFIG_8,
"[MCF]Threshold offset when UE have on-going EVS call";)
/* Location Config */
IWLAN_CFG_L1_TYPE_START(ipol_ans_cfg, loc_cfg, "[MCF]Location Configurarion";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_LOCATION_ENABLE, ipol_location_enable, KAL_TRUE, UNDEF_CONFIG_8,
"When enable, loaction query will be turn on";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_WLAN_NO_LOCATION_BARRING_ENABLE, ipol_ims_wlan_no_location_barring_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, barring IMS on WLAN when no location information";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_WLAN_BLOCK_IN_AP_MODE_WHEN_HOME_ENABLE, ipol_ims_wlan_block_in_ap_mode_when_home_enable, KAL_FALSE, UNDEF_CONFIG_8,
"When enable, barring IMS on WLAN when in home network";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_WLAN_USE_NV_MD_SRV_IF_UNKNOWN_HOME_IN_FLIGHT_MODE, ipol_ims_wlan_use_nv_md_srv_if_unknown_home_in_flight_mode, KAL_FALSE, UNDEF_CONFIG_8,
"[INTERNAL] When enable, IWLAN use NVRAM stored last MD srv state if unknown home network status in flight mode";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_WLAN_NO_LOCATION_NO_CELL_NO_LAST_CELL_AS_HOME_ENABLE, ipol_ims_wlan_no_location_no_cell_no_last_cell_as_home_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[INTERNAL] When enable, no location, no cell and no last cell define as at home network";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_LAST_MD_SRV_STATE, ipol_ims_last_md_srv_state, UNDEF_CONFIG_8, UNDEF_CONFIG_8,
"[INTERNAL] ***";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, loc_cfg, kal_uint8, IPOL_IMS_CELL_SIG_RANK_WHEN_CELL_DEREG__ENABLE, ipol_ims_cell_sig_rank_when_cell_dereg_enable, KAL_FALSE, UNDEF_CONFIG_8,
"[INTERNAL] When enable, Cell signaling is ranked even if cell is deregistered";)
IWLAN_CFG_L1_TYPE_END(ipol_ans_cfg, loc_cfg)
/* ICAP - REG Capabilities Configuration */
IWLAN_CFG_L1_TYPE_START(ipol_ans_cfg, icap_cfg, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, CHECK_MSISDN, check_msisdn, KAL_FALSE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_uint32, SMS_NETWORK_TYPES, sms_network_types, 15, UNDEF_CONFIG_32, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, SMS_CHECK_VOPS, sms_check_vops, KAL_FALSE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, VOICE_CAP_WHENEVER, voice_cap_whenever, KAL_FALSE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, CHECK_VOPS, check_vops, KAL_FALSE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, CHECK_CALL_DOMAIN, check_call_domain, KAL_FALSE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, VIDEO_CAP_DEPEND_ON_VOICE_LTE, video_cap_depend_on_voice_lte, KAL_TRUE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, VIDEO_CAP_DEPEND_ON_VOICE_WIFI, video_cap_depend_on_voice_wifi, KAL_TRUE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_DCL(ipol_ans_cfg, icap_cfg, kal_bool, CHECK_ROAM_VOPS,check_roam_vops, KAL_TRUE, UNDEF_CONFIG_8, "";)
IWLAN_CFG_L1_TYPE_END(ipol_ans_cfg, icap_cfg)
IWLAN_CFG_L0_TYPE_END(ipol_ans_cfg)
/* CONFIG_END */