Update mbtk_source

Change-Id: I34fd9fd8b339db0bfa8b3d2f0c822fec760eba4c
diff --git a/mbtk/include/mbtk/mbtk_ril_api.h b/mbtk/include/mbtk/mbtk_ril_api.h
index 845898f..e3fb15d 100755
--- a/mbtk/include/mbtk/mbtk_ril_api.h
+++ b/mbtk/include/mbtk/mbtk_ril_api.h
@@ -49,6 +49,26 @@
     MBTK_AT_PORT_DATA = ATPORTTYPE_2       // Data Call Port
 } ATPortType_enum;
 
+typedef enum
+{
+    MBTK_SIM_1 = 0,
+    MBTK_SIM_2,
+    MBTK_SIM_NUM,
+    MBTK_SIM_AUTO = 0xFF        // Auto sim(Current active sim.)
+} mbtk_sim_type_enum;
+
+typedef enum
+{
+    ATPORTID_NON = -1,
+    ATPORTID_SIM1_0 = 0,       // /tmp/atcmd_at
+    ATPORTID_SIM1_1,           // /tmp/atcmd_at_1
+    ATPORTID_SIM1_2,           // /tmp/atcmd_at_2
+    ATPORTID_SIM2_0,           // /tmp/atcmd_at1
+    ATPORTID_SIM2_1,           // /tmp/atcmd_at1_1
+    ATPORTID_SIM2_2,           // /tmp/atcmd_at1_2
+    ATPORTID_NUM
+} ATPortId_enum;
+
 typedef enum {
     MBTK_RIL_CID_NUL = 0,   // Auto set cid.
     MBTK_RIL_CID_DEF = MBTK_APN_CID_MIN,
@@ -681,6 +701,7 @@
 
 typedef struct
 {
+    mbtk_sim_type_enum sim_id : 8;
     uint16 cid;
     uint16 action;
     uint16 reason;
@@ -705,6 +726,7 @@
 
 typedef struct
 {
+    mbtk_sim_type_enum sim_id : 8;
     mbtk_net_reg_type_enum type : 8;
     mbtk_radio_technology_enum tech : 8;
     mbtk_net_reg_state_enum reg_state : 8;
@@ -716,11 +738,13 @@
 {
     mbtk_sim_card_type_enum sim_type : 8;
     mbtk_sim_state_enum sim_state : 8;
+    mbtk_sim_type_enum sim_id : 8;
 } mbtk_ril_sim_state_info_t;
 
 typedef struct
 {
     mbtk_radio_state_enum radio_state : 8;
+    mbtk_sim_type_enum sim_id : 8;
 } mbtk_ril_radio_state_info_t;
 
 typedef struct
@@ -730,12 +754,14 @@
 
 typedef struct
 {
+    mbtk_sim_type_enum sim_id : 8;
     uint8 urc_id;
     uint8 urc_data[5];
 } mbtk_ril_ecall_state_info_t;
 
 typedef struct
 {
+    mbtk_sim_type_enum sim_id : 8;
     uint16 pdu_len;
     uint8 pdu[1024];
 } mbtk_ril_sms_state_info_t;
@@ -814,6 +840,7 @@
 typedef struct
 {
     uint8 call_id;
+    mbtk_sim_type_enum sim_id : 8;
     mbtk_ril_call_dir_enum dir : 8;
     mbtk_ril_call_state_enum state : 8;
     mbtk_ril_call_num_type_enum num_type : 8;
@@ -1637,10 +1664,92 @@
 mbtk_ril_err_enum mbtk_ecall_state_change_cb_reg(mbtk_ril_callback_func cb);
 
 /*
-* get md version 
+* get md version
 */
 int mbtk_get_modem_version(mbtk_ril_handle* handle, void *modem_version);
 
+/*
+* Set dual sim switch.
+*
+*/
+mbtk_ril_err_enum mbtk_sim_switch_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+
+/*
+* Get dual sim switch.
+*
+*/
+mbtk_ril_err_enum mbtk_sim_switch_get(mbtk_ril_handle* handle, mbtk_sim_type_enum *sim_id);
+
+
+mbtk_ril_err_enum mbtk_ds_version_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, void *version);
+mbtk_ril_err_enum mbtk_ds_model_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, void *model);
+mbtk_ril_err_enum mbtk_ds_radio_state_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_radio_state_enum *radio_state);
+mbtk_ril_err_enum mbtk_ds_radio_state_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_radio_state_enum radio_state, bool reset_modem);
+mbtk_ril_err_enum mbtk_ds_cell_time_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char* time_str);
+mbtk_ril_err_enum mbtk_ds_sim_state_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_sim_state_enum *sim_state);
+mbtk_ril_err_enum mbtk_ds_sim_type_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_sim_card_type_enum *sim_card_type);
+mbtk_ril_err_enum mbtk_ds_imsi_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, void *imsi);
+mbtk_ril_err_enum mbtk_ds_iccid_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, void *iccid);
+mbtk_ril_err_enum mbtk_ds_phone_number_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, void *phone_number);
+mbtk_ril_err_enum mbtk_ds_sim_lock_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int *lock_state);
+mbtk_ril_err_enum mbtk_ds_sim_lock_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_sim_lock_info_t *lock_info);
+mbtk_ril_err_enum mbtk_ds_sim_lock_retry_times_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_pin_puk_last_times_t *retry_times);
+mbtk_ril_err_enum mbtk_ds_plmn_list_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_plmn_info *plmn_list);
+mbtk_ril_err_enum mbtk_ds_available_net_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_net_info_array_t *net_array);
+mbtk_ril_err_enum mbtk_ds_net_sel_mode_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, const mbtk_net_info_t *net);
+mbtk_ril_err_enum mbtk_ds_net_sel_mode_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_net_info_t *net);
+mbtk_ril_err_enum mbtk_ds_current_band_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_band_info_t *band);
+mbtk_ril_err_enum mbtk_ds_current_band_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, const mbtk_band_info_t *band);
+mbtk_ril_err_enum mbtk_ds_cell_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_cell_info_array_t *cell_array);
+mbtk_ril_err_enum mbtk_ds_cell_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char *info, char *response);
+mbtk_ril_err_enum mbtk_ds_net_signal_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_signal_info_t *signal);
+mbtk_ril_err_enum mbtk_ds_net_reg_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_net_reg_info_t *reg);
+mbtk_ril_err_enum mbtk_ds_oos_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_ril_oos_info_t *oos_info);
+mbtk_ril_err_enum mbtk_ds_oos_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, const mbtk_ril_oos_info_t *oos_info);
+mbtk_ril_err_enum mbtk_ds_wakeup_state_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int wakeup_state);
+mbtk_ril_err_enum mbtk_ds_apn_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_apn_info_array_t *apns);
+mbtk_ril_err_enum mbtk_ds_apn_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_apn_info_t *apn);
+mbtk_ril_err_enum mbtk_ds_data_call_start(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_ril_cid_enum cid, mbtk_data_call_item_state_enum auto_boot_call,
+            mbtk_data_call_item_state_enum def_route, mbtk_data_call_item_state_enum as_dns, int *retry_interval, int retry_interval_num,
+            int timeout, mbtk_ip_info_t *rsp_info);
+mbtk_ril_err_enum mbtk_ds_data_call_stop(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_ril_cid_enum cid, int timeout);
+mbtk_ril_err_enum mbtk_ds_data_call_state_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_ril_cid_enum cid, mbtk_ip_info_t *ip);
+mbtk_ril_err_enum mbtk_ds_sms_cmgf_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int *sms_state);
+mbtk_ril_err_enum mbtk_ds_sms_cmgf_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int mode);
+mbtk_ril_err_enum mbtk_ds_sms_cmgs_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmgs, char *resp);
+mbtk_ril_err_enum mbtk_ds_sms_cmgw_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmgw, char *resp);
+mbtk_ril_err_enum mbtk_ds_sms_cmgd_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmdg);
+mbtk_ril_err_enum mbtk_ds_sms_cmgd_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmdg);
+mbtk_ril_err_enum mbtk_ds_sms_cmgl_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmgl, char *resp);
+mbtk_ril_err_enum mbtk_ds_sms_csca_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char *buf);
+mbtk_ril_err_enum mbtk_ds_sms_csca_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * csca);
+mbtk_ril_err_enum mbtk_ds_sms_csmp_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * csmp);
+mbtk_ril_err_enum mbtk_ds_sms_cscb_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cscb);
+mbtk_ril_err_enum mbtk_ds_sms_cnmi_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+mbtk_ril_err_enum mbtk_ds_sms_cmss_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * cmss, char *resp);
+mbtk_ril_err_enum mbtk_ds_sms_cpms_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * mem);
+mbtk_ril_err_enum mbtk_ds_sms_cpms_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char * mem, char* resp);
+mbtk_ril_err_enum mbtk_ds_sms_cmgr_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int index, char *resp);
+mbtk_ril_err_enum mbtk_ds_call_start(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, char* phone_number);
+mbtk_ril_err_enum mbtk_ds_call_answer(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+mbtk_ril_err_enum mbtk_ds_call_hang(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+mbtk_ril_err_enum mbtk_ds_a_call_hang(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int phone_id);
+mbtk_ril_err_enum mbtk_ds_waiting_or_background_call_hang(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+mbtk_ril_err_enum mbtk_ds_foreground_resume_background_call_hang(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id);
+mbtk_ril_err_enum mbtk_ds_call_reg_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_call_info_t *reg);
+mbtk_ril_err_enum mbtk_ds_mute_state_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int *mute_state);
+mbtk_ril_err_enum mbtk_ds_mute_state_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int mute_state);
+mbtk_ril_err_enum mbtk_ds_dtmf_send(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, mbtk_call_dtmf_info_t *dtmf_character);
+mbtk_ril_err_enum mbtk_ds_centric_set(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int centric);
+mbtk_ril_err_enum mbtk_ds_centric_get(mbtk_ril_handle* handle, mbtk_sim_type_enum sim_id, int *centric);
+mbtk_ril_err_enum mbtk_ds_net_reg_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_call_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_sms_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_radio_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_sim_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_pdp_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_signal_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
+mbtk_ril_err_enum mbtk_ds_ecall_state_change_cb_reg(mbtk_sim_type_enum sim_id, mbtk_ril_callback_func cb);
 
 #endif /* _MBTK_INFO_API_2_H */