Add cell get/set API for V2.
Change-Id: I7a001cd0f091a199ef0f7583becead01c38e1777
diff --git a/mbtk/test/libmbtk_ril/mbtk_ril_test.c b/mbtk/test/libmbtk_ril/mbtk_ril_test.c
index cbb56c2..20178b3 100755
--- a/mbtk/test/libmbtk_ril/mbtk_ril_test.c
+++ b/mbtk/test/libmbtk_ril/mbtk_ril_test.c
@@ -698,56 +698,53 @@
}
}
}
-#if 0
-
else if(!strncasecmp(cmd, "cell", 4)){
char *ptr = strstr(cmd, ","); //CPMS,ME,ME,ME
if(ptr == NULL)
{
- printf("ptr == NULL\n");
- list_node_t* cell_list = NULL;
- int type;
- err = mbtk_cell_get(info_handle, &type, &cell_list);
- if(err || cell_list == NULL) {
+ mbtk_cell_info_array_t cell;
+ err = mbtk_cell_get(&cell);
+ if(err) {
printf("Error : %d\n", err);
- } else {
- list_first(cell_list);
- mbtk_cell_info_t* cell = (mbtk_cell_info_t*) list_next(cell_list);
- if(cell) { // Current server cell.
- switch(type)
- {
- case 0:
- printf("GSM : lac=%d, ci=%d, arfcn=%d, bsic=%d\n", cell->value1, cell->value2, cell->value3, cell->value4);
- break;
- case 1:
- printf("UMTS : lac=%d, ci=%d, arfcn=%d\n", cell->value1, cell->value2, cell->value3);
- break;
- case 2:
- printf("LTE : tac=%d, PCI=%d, dlEuarfcn=%d, ulEuarfcn=%d, band=%d\n", cell->value1, cell->value2, cell->value3, cell->value4, cell->value5);
- break;
- default:
- break;
- }
- }
- while ((cell = (mbtk_cell_info_t*) list_next(cell_list)))
+ } else if(cell.num > 0){
+ // Current server cell.
+ switch(cell.type)
{
- switch(type)
+ case MBTK_CELL_TYPE_GSM:
+ printf("GSM : lac=%d, ci=%d, arfcn=%d, bsic=%d\n", cell.cell[0].value1, cell.cell[0].value2, cell.cell[0].value3, cell.cell[0].value4);
+ break;
+ case MBTK_CELL_TYPE_UMTS:
+ printf("UMTS : lac=%d, ci=%d, arfcn=%d\n", cell.cell[0].value1, cell.cell[0].value2, cell.cell[0].value3);
+ break;
+ case MBTK_CELL_TYPE_LTE:
+ printf("LTE : tac=%d, PCI=%d, dlEuarfcn=%d, ulEuarfcn=%d, band=%d\n", cell.cell[0].value1, cell.cell[0].value2, cell.cell[0].value3, cell.cell[0].value4, cell.cell[0].value5);
+ break;
+ default:
+ break;
+ }
+
+ int i = 1;
+ while (i < cell.num)
+ {
+ switch(cell.type)
{
- case 0:
- printf("CELL : %d, %d, %d, %d, %d", cell->value1, cell->value2, cell->value3, cell->value4, cell->value5);
+ case MBTK_CELL_TYPE_GSM:
+ printf("CELL : %d, %d, %d, %d, %d", cell.cell[i].value1, cell.cell[i].value2, cell.cell[i].value3, cell.cell[i].value4, cell.cell[i].value5);
break;
- case 1:
- printf("CELL : lac=%d, ci=%d, arfcn=%d\n", cell->value1, cell->value2, cell->value3);
+ case MBTK_CELL_TYPE_UMTS:
+ printf("CELL : lac=%d, ci=%d, arfcn=%d\n", cell.cell[i].value1, cell.cell[i].value2, cell.cell[i].value3);
break;
- case 2:
- printf("CELL : phyCellId=%d, euArfcn=%d, rsrp=%d, rsrq=%d\n", cell->value1, cell->value2, cell->value3, cell->value4);
+ case MBTK_CELL_TYPE_LTE:
+ printf("CELL : phyCellId=%d, euArfcn=%d, rsrp=%d, rsrq=%d\n", cell.cell[i].value1, cell.cell[i].value2, cell.cell[i].value3, cell.cell[i].value4);
break;
default:
break;
}
+ i++;
}
+ } else {
+ printf("Cell no found.");
}
- list_free(cell_list);
}
else{
char *ptr = strstr(cmd, ","); //cell,2,3,,40936,430
@@ -763,15 +760,15 @@
printf("cell_mem: %s \n", mem);
memset(resp, 0, sizeof(resp));
- err = mbtk_cell_set(info_handle, mem, resp);
+ err = mbtk_cell_set(mem, resp);
if(err) {
printf("Error : %d\n", err);
} else {
printf("cell set . resp:%s\n", resp);
}
-
}
- } else if(!strncasecmp(cmd, "call", 4)){
+ }
+ else if(!strncasecmp(cmd, "call", 4)){
char phone_number[12];
char *ptr = strstr(cmd, " ");
if(ptr == NULL)
@@ -781,14 +778,14 @@
memset(phone_number,0,strlen(phone_number));
memcpy(phone_number,ptr,strlen(ptr));
printf("phone number is: %s\n",phone_number);
- err = mbtk_call_start(info_handle, phone_number);
+ err = mbtk_call_start(phone_number);
if(err) {
printf("Error : %d\n", err);
} else {
printf("Call success.\n");
}
} else if(!strncasecmp(cmd, "answer", 6)){
- err = mbtk_call_answer(info_handle);
+ err = mbtk_call_answer();
if(err) {
printf("Error : %d\n", err);
} else {
@@ -797,21 +794,21 @@
} else if(!strncasecmp(cmd, "hangup", 6)){
int phone_id;
if(!strcasecmp(cmd, "hangup")) { // hang up all
- err = mbtk_call_hang(info_handle);
+ err = mbtk_call_hang();
if(err) {
printf("Error : %d\n", err);
} else {
printf("Call hang up all.\n");
}
} else if(!strcasecmp(cmd, "hangup 0")) {
- err = mbtk_waiting_or_background_call_hang(info_handle);
+ err = mbtk_waiting_or_background_call_hang();
if(err) {
printf("Error : %d\n", err);
} else {
printf("Call hang up waiting or background.\n");
}
} else if(!strcasecmp(cmd, "hangup 3")) {
- err = mbtk_foreground_resume_background_call_hang(info_handle);
+ err = mbtk_foreground_resume_background_call_hang();
if(err) {
printf("Error : %d\n", err);
} else {
@@ -825,7 +822,7 @@
} else {
printf("Error : Invalid input\n");
}
- err = mbtk_a_call_hang(info_handle, phone_id);
+ err = mbtk_a_call_hang(phone_id);
if(err) {
printf("Error : %d\n", err);
} else {
@@ -834,7 +831,7 @@
}
} else if(!strncasecmp(cmd, "waitin", 6)){
mbtk_call_info_t reg;
- err = mbtk_call_reg_get(info_handle, ®);
+ err = mbtk_call_reg_get(®);
if(err) {
printf("Error : %d\n", err);
} else {
@@ -848,7 +845,7 @@
} else if(!strncasecmp(cmd, "mute", 4)){ // "mute" or "mute 0" or "mute 1"
int mute;
if(!strcasecmp(cmd, "mute")) { // Get
- err = mbtk_mute_state_get(info_handle, &mute);
+ err = mbtk_mute_state_get(&mute);
if(err) {
printf("Error : %d\n", err);
} else {
@@ -860,7 +857,7 @@
} else { // off mute
mute = 0;
}
- err = mbtk_mute_state_set(info_handle, mute);
+ err = mbtk_mute_state_set(mute);
if(err) {
printf("Error : %d\n", err);
} else {
@@ -885,13 +882,313 @@
ptr++;
reg.duration = (uint32)atoi(ptr);
printf("DTMF character is: %c,%d\n",reg.character, reg.duration);
- err = mbtk_dtmf_send(info_handle, ®);
+ err = mbtk_dtmf_send(®);
if(err) {
printf("Error : %d\n", err);
} else {
printf("DTMF success.\n");
}
- } else if(!strncasecmp(cmd, "shutdown", 8)){
+ } else if(!strncasecmp(cmd, "cmgf", 4)){ // set mode 0: pud, 1:text
+ int mode;
+ if(!strcasecmp(cmd, "cmgf")) { // Get
+ err = mbtk_sms_cmgf_get(&mode);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE : %d\n", mode);
+ }
+ } else { // Set
+ if(!strcasecmp(cmd, "cmgf 1")) { // cmgf 1
+ mode = 1;
+ } else { //
+ mode = 0;
+ }
+ printf("mode:%d\n", mode);
+ sleep(2);
+ err = mbtk_sms_cmgf_set(mode);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE set success\n");
+ }
+ }
+ }else if(!strncasecmp(cmd, "cpms", 4)){ // //CPMS=ME, ME, ME
+ char mem[100] = {0};
+ char resp[100] = {0};
+ if(!strcasecmp(cmd, "cpms")) { // Get
+ err = mbtk_sms_cpms_get(&mem);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cpms : %s\n", mem);
+ }
+ } else { // Set
+
+ char *ptr = strstr(cmd, ","); //CPMS,ME,ME,ME
+ if(ptr != NULL)
+ {
+ ptr++;
+ memset(mem, 0, sizeof(mem));
+ memcpy(mem, ptr, strlen(ptr));
+ printf("cpms:%s\n", mem);
+ }
+ printf("cpms 0\n");
+
+ memset(resp, 0, sizeof(resp));
+ err = mbtk_sms_cpms_set(mem, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cpms set success. resp:%s\n", resp);
+ }
+ }
+ }else if(!strncasecmp(cmd, "cmgs", 4)){ // AT+CMGS="10086", CMGS TEST
+ char cmgs[1024] = {0};
+ char resp[50] = {0};
+ if(!strcasecmp(cmd, "cmgs")) { // Get
+ int mode;
+ // err = mbtk_sms_cmgs_get(info_handle, &mode);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE : %d\n", mode);
+ }
+ } else { // Set
+
+ /*
+ *AT+CMGS="10086", CMGS TEST // Send a SMS
+ > CMGS TEST
+ +CMGS: 17
+ OK
+ */
+
+ char *ptr = strstr(cmd, "cmgs,"); //CMGS="10086",hf
+ if(ptr != NULL)
+ {
+ ptr = strstr(cmd, ",");
+ ptr++;
+ memset(cmgs, 0, sizeof(cmgs));
+ memcpy(cmgs, ptr, strlen(ptr));
+ printf("1cmgs:%s, strlen(cmgs):%d\n", cmgs, strlen(cmgs));
+ }
+
+ memset(resp, 0, sizeof(resp));
+ err = mbtk_sms_cmgs_set(cmgs, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cmgs set success . resp:%s\n", resp);
+ }
+ }
+ }else if(!strncasecmp(cmd, "cmss", 4)){ // +CMSS=<index>[,<da>[,<toda>]]
+ char cmss[20] = {0};
+ char resp[20] = {0};
+ if(!strcasecmp(cmd, "cmgs")) { // Get
+ printf("cmss : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, "cmss,"); //CMSS=<index>
+ if(ptr != NULL)
+ {
+ ptr = strstr(cmd, ",");
+ ptr++;
+ memset(cmss, 0, sizeof(cmss));
+ memcpy(cmss, ptr, strlen(ptr));
+ printf("1cmss:%s\n", cmss);
+ }
+
+
+ err = mbtk_sms_cmss_set(cmss, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cmss set success. resp:%s\n", resp);
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "cmgr", 4)){ // +CMGR=<index
+ int index = 0;
+ char resp[1024] = {0};
+ if(!strcasecmp(cmd, "cmgr")) { // Get
+ printf("cmgr : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, "cmgr,"); //+CMGR <index>
+ if(ptr != NULL)
+ {
+ ptr = strstr(cmd, ",");
+ ptr++;
+ index = atoi(ptr);
+ }
+ printf("1index:%d\n", index);
+
+ memset(resp, 0, sizeof(resp));
+ err = mbtk_sms_cmgr_set(index, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cmgr set success. rep:%s\n", resp);
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "cmgw", 4)){ // +CMGW=<oa/da>[,<tooa/toda>[,<stat>]]<CR>
+ //+CMGW=<length>[,<stat>]<CR>PDU is given<ctrl-Z/ESC>
+ char cmgw[128] = {0};
+ char resp[50] = {0};
+ if(!strcasecmp(cmd, "cmgw")) { // Get
+ printf("cmgw : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, "cmgw,"); //+CMGW, <oa/da>, data
+ if(ptr != NULL)
+ {
+ ptr = strstr(cmd, ",");
+ ptr++;
+ memset(cmgw, 0, sizeof(cmgw));
+ memcpy(cmgw, ptr, strlen(ptr));
+ printf("cmgw:%s\n", cmgw);
+ }
+
+ memset(resp, 0, sizeof(resp));
+ err = mbtk_sms_cmgw_set(cmgw, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("cmgw set success. resp:%s\n", resp);
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "cmgd", 4)){ // +CMGD=<index>[,<delflag>
+ //
+ char cmgd[128] = {0};
+ if(!strcasecmp(cmd, "cmgd")) { // Get
+ printf("cmgd : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, ","); //+CMGD=<index>[,<delflag>
+ if(ptr != NULL)
+ {
+ ptr++;
+ memset(cmgd, 0, sizeof(cmgd));
+ memcpy(cmgd, ptr, strlen(ptr));
+ printf("1cmgd:%s\n", cmgd);
+ }
+
+
+ err = mbtk_sms_cmgd_set(cmgd);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE set success\n");
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "cmgl", 4)){ // AT+CMGL[=<stat>]
+ //
+ char cmgl[128] = {0};
+ char resp[5*1024] ={0};
+ if(!strcasecmp(cmd, "cmgl")) { // Get
+ printf("cmgl : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, "cmgl,"); // AT+CMGL[=<stat>]
+ if(ptr != NULL)
+ {
+ ptr = strstr(cmd, ",");
+ ptr++;
+ memset(cmgl, 0, sizeof(cmgl));
+ memcpy(cmgl, ptr, strlen(ptr));
+ printf("0cmgl:%s\n", cmgl);
+ }
+
+ memset(resp, 0, sizeof(resp));
+ err = mbtk_sms_cmgl_set(cmgl, resp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ // printf("cmgl set success, reg:%s\n",resp);
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "csca", 4)){ // AT+CSCA=<number> [,<type>]
+ //
+ char csca[128] = {0};
+ if(!strcasecmp(cmd, "csca")) { // Get
+ err = mbtk_sms_csca_get(csca);
+ if(err) {
+ printf("mbtk_sms_csca_get Error : %d\n", err);
+ } else {
+ printf("mbtk_sms_csca_get success\n");
+ }
+
+ } else {
+ char *ptr = strstr(cmd, ","); // AT+CSCA=<number> [,<type>]
+ if(ptr != NULL)
+ {
+ ptr++;
+ memset(csca, 0, sizeof(csca));
+ memcpy(csca, ptr, strlen(ptr));
+ printf("csca:%s\n", csca);
+ }
+
+ err = mbtk_sms_csca_set(csca);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE set success\n");
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "csmp", 4)){ // AT+CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]
+ //
+ char csmp[128] = {0};
+ if(!strcasecmp(cmd, "csmp")) { // Get
+ printf("cmgl : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, ","); // AT+CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]
+ if(ptr != NULL)
+ {
+ ptr++;
+ memset(csmp, 0, sizeof(csmp));
+ memcpy(csmp, ptr, strlen(ptr));
+ printf("csmp:%s\n", csmp);
+ }
+
+ err = mbtk_sms_csmp_set(csmp);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE set success\n");
+ }
+ }
+ }
+ else if(!strncasecmp(cmd, "cscb", 4)){ // AT+CSCB=<[<mode>[,<mids>[,<dcss>]]]>
+ //
+ char cscb[128] = {0};
+ if(!strcasecmp(cmd, "cscb")) { // Get
+ printf("cmgl : OK\n");
+
+ } else {
+ char *ptr = strstr(cmd, ","); // AT+CSCB=<[<mode>[,<mids>[,<dcss>]]]>
+ if(ptr != NULL)
+ {
+ ptr++;
+ memset(cscb, 0, sizeof(cscb));
+ memcpy(cscb, ptr, strlen(ptr));
+ printf("cscb:%s\n", cscb);
+ }
+
+ err = mbtk_sms_cscb_set(cscb);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("VoLTE set success\n");
+ }
+ }
+ }
+#if 0
+ else if(!strncasecmp(cmd, "shutdown", 8)){
if(!strcasecmp(cmd, "shutdown 0")) {
err = mbtk_system_reboot(0);
if(err) {
@@ -965,51 +1262,6 @@
printf("Time type:%d.\n", time_type);
}
}
- } else if(!strncasecmp(cmd, "apn", 3)){
- if(!strcasecmp(cmd, "apn")) { // Get apn
- #define APN_MAX 10
- mbtk_apn_info_t apns[APN_MAX];
- int apn_num = APN_MAX;
- err = mbtk_apn_get(info_handle, &apn_num, apns);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("APN Num:%d\n", apn_num);
- int i = 0;
- while(i < apn_num) {
- printf("APN : %d, %s, %s\n", apns[i].cid, apn2str(apns[i].ip_type), apns[i].apn);
- i++;
- }
- }
- } else { // apn <cid> <0/1/2/3> <apn>
- char *ptr = strstr(cmd, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- int cid = atoi(ptr);
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- mbtk_ip_type_enum ip_type = (mbtk_ip_type_enum)atoi(ptr);
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- char *apn = ptr;
-
- err = mbtk_apn_set(info_handle, cid, ip_type, apn, NULL, NULL, NULL);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("APN set success\n");
- }
- }
} else if(!strncasecmp(cmd, "data_call", 9)){ // data_call <0/1/2> <cid> <timeout>
// data_call <0/1/2> <cid> <timeout>
char *ptr = strstr(cmd, " ");
@@ -1128,335 +1380,6 @@
} else {
printf("DATA_CALL success\n");
}
- }else if(!strncasecmp(cmd, "cmgf", 4)){ // set mode 0: pud, 1:text
- int mode;
- if(!strcasecmp(cmd, "cmgf")) { // Get
- err = mbtk_sms_cmgf_get(info_handle, &mode);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE : %d\n", mode);
- }
- } else { // Set
- if(!strcasecmp(cmd, "cmgf 1")) { // cmgf 1
- mode = 1;
- } else { //
- mode = 0;
- }
- printf("mode:%d\n", mode);
- sleep(2);
- err = mbtk_sms_cmgf_set(info_handle, mode);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE set success\n");
- }
- }
- }else if(!strncasecmp(cmd, "cpms", 4)){ // //CPMS=ME, ME, ME
- char mem[100] = {0};
- char resp[100] = {0};
- if(!strcasecmp(cmd, "cpms")) { // Get
- err = mbtk_sms_cpms_get(info_handle, &mem);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cpms : %s\n", mem);
- }
- } else { // Set
-
- char *ptr = strstr(cmd, ","); //CPMS,ME,ME,ME
- if(ptr != NULL)
- {
- ptr++;
- memset(mem, 0, sizeof(mem));
- memcpy(mem, ptr, strlen(ptr));
- printf("cpms:%s\n", mem);
- }
- printf("cpms 0\n");
-
- memset(resp, 0, sizeof(resp));
- err = mbtk_sms_cpms_set(info_handle, mem, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cpms set success. resp:%s\n", resp);
- }
- }
- }else if(!strncasecmp(cmd, "cmgs", 4)){ // AT+CMGS="10086", CMGS TEST
- char cmgs[1024] = {0};
- char resp[50] = {0};
- if(!strcasecmp(cmd, "cmgs")) { // Get
- int mode;
- // err = mbtk_sms_cmgs_get(info_handle, &mode);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE : %d\n", mode);
- }
- } else { // Set
-
- /*
- *AT+CMGS="10086", CMGS TEST // Send a SMS
- > CMGS TEST
- +CMGS: 17
- OK
- */
-
- char *ptr = strstr(cmd, "cmgs,"); //CMGS="10086",hf
- if(ptr != NULL)
- {
- ptr = strstr(cmd, ",");
- ptr++;
- memset(cmgs, 0, sizeof(cmgs));
- memcpy(cmgs, ptr, strlen(ptr));
- printf("1cmgs:%s, strlen(cmgs):%d\n", cmgs, strlen(cmgs));
- }
-
- memset(resp, 0, sizeof(resp));
- err = mbtk_sms_cmgs_set(info_handle, cmgs, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cmgs set success . resp:%s\n", resp);
- }
- }
- }else if(!strncasecmp(cmd, "cmss", 4)){ // +CMSS=<index>[,<da>[,<toda>]]
- char cmss[20] = {0};
- char resp[20] = {0};
- if(!strcasecmp(cmd, "cmgs")) { // Get
- printf("cmss : OK\n");
-
- } else {
- char *ptr = strstr(cmd, "cmss,"); //CMSS=<index>
- if(ptr != NULL)
- {
- ptr = strstr(cmd, ",");
- ptr++;
- memset(cmss, 0, sizeof(cmss));
- memcpy(cmss, ptr, strlen(ptr));
- printf("1cmss:%s\n", cmss);
- }
-
-
- err = mbtk_sms_cmss_set(info_handle, cmss, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cmss set success. resp:%s\n", resp);
- }
- }
- }
- else if(!strncasecmp(cmd, "cmgr", 4)){ // +CMGR=<index
- int index = 0;
- char resp[1024] = {0};
- if(!strcasecmp(cmd, "cmgr")) { // Get
- printf("cmgr : OK\n");
-
- } else {
- char *ptr = strstr(cmd, "cmgr,"); //+CMGR <index>
- if(ptr != NULL)
- {
- ptr = strstr(cmd, ",");
- ptr++;
- index = atoi(ptr);
- }
- printf("1index:%d\n", index);
-
- memset(resp, 0, sizeof(resp));
- err = mbtk_sms_cmgr_set(info_handle, index, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cmgr set success. rep:%s\n", resp);
- }
- }
- }
- else if(!strncasecmp(cmd, "cmgw", 4)){ // +CMGW=<oa/da>[,<tooa/toda>[,<stat>]]<CR>
- //+CMGW=<length>[,<stat>]<CR>PDU is given<ctrl-Z/ESC>
- char cmgw[128] = {0};
- char resp[50] = {0};
- if(!strcasecmp(cmd, "cmgw")) { // Get
- printf("cmgw : OK\n");
-
- } else {
- char *ptr = strstr(cmd, "cmgw,"); //+CMGW, <oa/da>, data
- if(ptr != NULL)
- {
- ptr = strstr(cmd, ",");
- ptr++;
- memset(cmgw, 0, sizeof(cmgw));
- memcpy(cmgw, ptr, strlen(ptr));
- printf("cmgw:%s\n", cmgw);
- }
-
- memset(resp, 0, sizeof(resp));
- err = mbtk_sms_cmgw_set(info_handle, cmgw, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("cmgw set success. resp:%s\n", resp);
- }
- }
- }
- else if(!strncasecmp(cmd, "cmgd", 4)){ // +CMGD=<index>[,<delflag>
- //
- char cmgd[128] = {0};
- if(!strcasecmp(cmd, "cmgd")) { // Get
- printf("cmgd : OK\n");
-
- } else {
- char *ptr = strstr(cmd, ","); //+CMGD=<index>[,<delflag>
- if(ptr != NULL)
- {
- ptr++;
- memset(cmgd, 0, sizeof(cmgd));
- memcpy(cmgd, ptr, strlen(ptr));
- printf("1cmgd:%s\n", cmgd);
- }
-
-
- err = mbtk_sms_cmgd_set(info_handle, cmgd);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE set success\n");
- }
- }
- }
- else if(!strncasecmp(cmd, "cmgl", 4)){ // AT+CMGL[=<stat>]
- //
- char cmgl[128] = {0};
- char resp[5*1024] ={0};
- if(!strcasecmp(cmd, "cmgl")) { // Get
- printf("cmgl : OK\n");
-
- } else {
- char *ptr = strstr(cmd, "cmgl,"); // AT+CMGL[=<stat>]
- if(ptr != NULL)
- {
- ptr = strstr(cmd, ",");
- ptr++;
- memset(cmgl, 0, sizeof(cmgl));
- memcpy(cmgl, ptr, strlen(ptr));
- printf("0cmgl:%s\n", cmgl);
- }
-
- memset(resp, 0, sizeof(resp));
- err = mbtk_sms_cmgl_set(info_handle, cmgl, resp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- // printf("cmgl set success, reg:%s\n",resp);
- }
- }
- }
- else if(!strncasecmp(cmd, "csca", 4)){ // AT+CSCA=<number> [,<type>]
- //
- char csca[128] = {0};
- if(!strcasecmp(cmd, "csca")) { // Get
- err = mbtk_sms_csca_get(info_handle, csca);
- if(err) {
- printf("mbtk_sms_csca_get Error : %d\n", err);
- } else {
- printf("mbtk_sms_csca_get success\n");
- }
-
- } else {
- char *ptr = strstr(cmd, ","); // AT+CSCA=<number> [,<type>]
- if(ptr != NULL)
- {
- ptr++;
- memset(csca, 0, sizeof(csca));
- memcpy(csca, ptr, strlen(ptr));
- printf("csca:%s\n", csca);
- }
-
- err = mbtk_sms_csca_set(info_handle, csca);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE set success\n");
- }
- }
- }
- else if(!strncasecmp(cmd, "csmp", 4)){ // AT+CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]
- //
- char csmp[128] = {0};
- if(!strcasecmp(cmd, "csmp")) { // Get
- printf("cmgl : OK\n");
-
- } else {
- char *ptr = strstr(cmd, ","); // AT+CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]
- if(ptr != NULL)
- {
- ptr++;
- memset(csmp, 0, sizeof(csmp));
- memcpy(csmp, ptr, strlen(ptr));
- printf("csmp:%s\n", csmp);
- }
-
- err = mbtk_sms_csmp_set(info_handle, csmp);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE set success\n");
- }
- }
- }
- else if(!strncasecmp(cmd, "cscb", 4)){ // AT+CSCB=<[<mode>[,<mids>[,<dcss>]]]>
- //
- char cscb[128] = {0};
- if(!strcasecmp(cmd, "cscb")) { // Get
- printf("cmgl : OK\n");
-
- } else {
- char *ptr = strstr(cmd, ","); // AT+CSCB=<[<mode>[,<mids>[,<dcss>]]]>
- if(ptr != NULL)
- {
- ptr++;
- memset(cscb, 0, sizeof(cscb));
- memcpy(cscb, ptr, strlen(ptr));
- printf("cscb:%s\n", cscb);
- }
-
- err = mbtk_sms_cscb_set(info_handle, cscb);
- if(err) {
- printf("Error : %d\n", err);
- } else {
- printf("VoLTE set success\n");
- }
- }
- }
- else if(!strncasecmp(cmd, "ims_en", 6)){ // ims_en 0/1
- char enable[10] = {0};
- if(1 == sscanf(cmd, "ims_en %s", enable)) {
- err = mbtk_net_ims_set(info_handle, atoi(enable) ? 1 : 0);
- if(err) {
- printf("Set IMS fail : %d\n", err);
- } else {
- printf("Set IMS success\n");
- }
- } else {
- printf("ARG error\n");
- }
- }
- else if(!strncasecmp(cmd, "ims_state", 9)){ // ims_state
- int enable = 0;
- err = mbtk_net_ims_get(info_handle, &enable);
- if(err) {
- printf("Get IMS state fail : %d\n", err);
- } else {
- printf("IMS state : %d\n", enable);
- }
- }
- else if(!strncasecmp(cmd, "ims_reg", 7)){ // ims_reg
- int reg = 0;
- err = mbtk_net_ims_reg_state_get(info_handle, ®);
- if(err) {
- printf("Get IMS register state fail : %d\n", err);
- } else {
- printf("IMS register state : %d\n", reg);
- }
}
#endif
else if(!strcasecmp(cmd, "h") || !strcasecmp(cmd, "help")) {