[feature][T106ZXW-60] add qser-network-demo 8

Change-Id: I85b9a72b9e06ebc40fb0f1f0170581fe3a1a2c14
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/mobiletek-tester-rdit/mobiletek-tester-rdit.bb b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/mobiletek-tester-rdit/mobiletek-tester-rdit.bb
index 1af22a6..9582ab4 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/mobiletek-tester-rdit/mobiletek-tester-rdit.bb
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/mobiletek-tester-rdit/mobiletek-tester-rdit.bb
@@ -4,7 +4,9 @@
 LICENSE = "CLOSED"
 LICENSE = "CLOSED"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b1e07e8d88e26263e71d3a9e2aa9a2ff"
-DEPENDS += "liblynq-call liblynq-sms liblynq-network liblynq-sim liblynq-data liblynq-qser-data"
+
+DEPENDS += "liblynq-call liblynq-sms liblynq-network liblynq-sim liblynq-data liblynq-qser-data liblynq-qser-network"
+
 #inherit workonsrc
 WORKONSRC = "${TOPDIR}/../src/lynq/packages/apps/Mobiletek_Tester_RDIT"
 FILESEXTRAPATHS_prepend :="${TOPDIR}/../src/lynq/packages/apps/:"
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
index b2967a7..fed6cb6 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
@@ -13,12 +13,13 @@
 #define RESULT_OK (0)
 #define RESULT_ERROR (-1)
 #define INVALID_PREFER_TYPE (0xffff)
+#define INVALID_CLIENT_HANDLE (0)
 
-static QSER_NW_RxMsgHandlerFunc_t s_handlerPtr;
-static void* s_contextPtr;
+static QSER_NW_RxMsgHandlerFunc_t s_handlerPtr=NULL;
+static void* s_contextPtr=NULL;
 static pthread_t s_new_network_tid =-1;
 
-nw_client_handle_type g_ph_hw = 0;
+nw_client_handle_type g_ph_hw = INVALID_CLIENT_HANDLE;
 
 int switch_preferred_nw_mode(const uint64_t preferred_nw_mode)
 {
@@ -161,9 +162,9 @@
 
 int qser_nw_client_deinit(nw_client_handle_type h_nw)
 {
-    if(h_nw != g_ph_hw)
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
     {
-        LYERRLOG("not init %d %d",g_ph_hw,h_nw);
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
         return RESULT_ERROR;
     }    
 
@@ -187,7 +188,7 @@
         return RESULT_ERROR;
     }
 
-    g_ph_hw=0;
+    g_ph_hw = INVALID_CLIENT_HANDLE;
   
     return RESULT_OK;      
 }
@@ -195,11 +196,18 @@
 int qser_nw_set_config(nw_client_handle_type h_nw,QSER_NW_CONFIG_INFO_T *pt_info)
 {
     int pretype = 0;
-    if(h_nw == 0 || NULL == pt_info)
+    if(NULL == pt_info)
     {
         LYERRLOG("invalid client parameters incoming");
         return RESULT_ERROR;
     }
+    
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
+    {
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
+        return RESULT_ERROR;
+    }    
+    
     pretype = switch_preferred_nw_mode(pt_info->preferred_nw_mode);
     if (pretype ==INVALID_PREFER_TYPE)
     {
@@ -230,11 +238,18 @@
 
 int qser_nw_get_operator_name(nw_client_handle_type h_nw,QSER_NW_OPERATOR_NAME_INFO_T  *pt_info)
 {
-    if(h_nw == 0 || NULL == pt_info)
+    if(NULL == pt_info)
     {
         LYERRLOG("invalid client parameters incoming");
         return RESULT_ERROR;
     }
+
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
+    {
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
+        return RESULT_ERROR;
+    }    
+    
     int ret = 0;
     char op_FN[128];
     char op_SN[128];
@@ -334,11 +349,18 @@
 
 int qser_nw_get_reg_status(nw_client_handle_type h_nw,QSER_NW_REG_STATUS_INFO_T *pt_info)
 {
-    if(h_nw == 0 || NULL == pt_info)
+    if(NULL == pt_info)
     {
         LYERRLOG("invalid client parameters incoming");
         return RESULT_ERROR;
     }
+
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
+    {
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
+        return RESULT_ERROR;
+    }    
+    
     int ret = 0;
     int regState = 0;
     int imsRegState = 0;
@@ -353,7 +375,7 @@
     {
         pt_info->voice_registration_valid = 1;
         pt_info->voice_registration.tech_domain = E_QSER_NW_TECH_DOMAIN_NONE;
-        pt_info->voice_registration.radio_tech = qser_radio_tech_qurey(radioTechFam);
+        pt_info->voice_registration.radio_tech = qser_radio_tech_qurey(netType);
         if (regState == 5)
         {
             pt_info->voice_registration.roaming = E_QSER_NW_ROAM_STATE_ON;
@@ -372,18 +394,18 @@
     ret = lynq_query_registration_state("DATA",&regState,&imsRegState,LAC,CID,&netType,&radioTechFam,&netreject);
     if(ret == 0)
     {
-        pt_info->voice_registration_valid = 1;
-        pt_info->voice_registration.tech_domain = E_QSER_NW_TECH_DOMAIN_NONE;
-        pt_info->voice_registration.radio_tech = qser_radio_tech_qurey(radioTechFam);
+        pt_info->data_registration_valid = 1;
+        pt_info->data_registration.tech_domain = E_QSER_NW_TECH_DOMAIN_NONE;
+        pt_info->data_registration.radio_tech = qser_radio_tech_qurey(netType);
         if (regState == 5)
         {
-            pt_info->voice_registration.roaming = E_QSER_NW_ROAM_STATE_ON;
+            pt_info->data_registration.roaming = E_QSER_NW_ROAM_STATE_ON;
         }
         else
         {
-            pt_info->voice_registration.roaming = E_QSER_NW_ROAM_STATE_OFF;
+            pt_info->data_registration.roaming = E_QSER_NW_ROAM_STATE_OFF;
         }
-        pt_info->voice_registration.registration_state = switch_nw_regstate(regState);
+        pt_info->data_registration.registration_state = switch_nw_regstate(regState);
     }
     else
     {
@@ -410,11 +432,18 @@
 
 int qser_nw_get_signal_strength(nw_client_handle_type h_nw,QSER_NW_SIGNAL_STRENGTH_INFO_T *pt_info)
 {
-    if(h_nw == 0 || NULL == pt_info)
+    if(NULL == pt_info)
     {
         LYERRLOG("invalid client parameters incoming");
         return RESULT_ERROR;
     }
+
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
+    {
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
+        return RESULT_ERROR;
+    }    
+    
     signalStrength_t lib_info;
     int ret = 0;
     ret = lynq_solicited_signal_strength(&lib_info);
@@ -424,15 +453,15 @@
         return RESULT_ERROR;
     }
     pt_info->gsm_sig_info_valid = lib_info.gw_sig_valid;
-    pt_info->gsm_sig_info.rssi = lib_info.rssi;
+    pt_info->gsm_sig_info.rssi = lib_info.rssi-110;
     pt_info->wcdma_sig_info_valid = lib_info.wcdma_sig_valid;
-    pt_info->wcdma_sig_info.rssi = lib_info.wcdma_signalstrength;
-    pt_info->wcdma_sig_info.ecio = lib_info.ecno;
+    pt_info->wcdma_sig_info.rssi = lib_info.wcdma_signalstrength-110;
+    pt_info->wcdma_sig_info.ecio = lib_info.ecno/5;
     pt_info->tdscdma_sig_info_valid = 0;
     pt_info->lte_sig_info_valid = lib_info.lte_sig_valid;
-    pt_info->lte_sig_info.rssi = lib_info.lte_signalstrength;
-    pt_info->lte_sig_info.rsrp = lib_info.rsrp;
-    pt_info->lte_sig_info.rsrq = lib_info.rsrq;
+    pt_info->lte_sig_info.rssi = lib_info.lte_signalstrength-110;
+    pt_info->lte_sig_info.rsrp = lib_info.rsrp*(-1);
+    pt_info->lte_sig_info.rsrq = lib_info.rsrq*(-1);
     pt_info->lte_sig_info.snr = lib_info.rssnr;
     pt_info->cdma_sig_info_valid = 0;
     pt_info->hdr_sig_info_valid = 0;
@@ -450,6 +479,12 @@
 
 int qser_nw_add_rx_msg_handler(nw_client_handle_type h_nw,QSER_NW_RxMsgHandlerFunc_t handlerPtr,void* contextPtr)
 {  
+    if(h_nw != g_ph_hw || h_nw == INVALID_CLIENT_HANDLE)
+    {
+        LYERRLOG("h_nw not right %d %d",h_nw,g_ph_hw);
+        return RESULT_ERROR;
+    }     
+
     s_handlerPtr = handlerPtr;
     s_contextPtr = contextPtr;
     if(s_handlerPtr!=NULL)
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
index d37f10d..f989fd8 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
@@ -58,4 +58,13 @@
 #define LYNQ_QSER_APN_DEL LYNQ_QSER_DATA + 9
 #define LYNQ_QSER_APN_GET_LIST LYNQ_QSER_DATA + 10
 
+
+#define LYNQ_QSER_NETWORK LYNQ_BASE + 100
+#define LYNQ_QSER_NETWORK_INIT LYNQ_QSER_NETWORK + 1
+#define LYNQ_QSER_NETWORK_DEINIT LYNQ_QSER_NETWORK + 2
+#define LYNQ_QSER_NETWORK_SET_CONCIFG LYNQ_QSER_NETWORK + 3
+#define LYNQ_QSER_NETWORK_GTE_OPERRATOR_NAME LYNQ_QSER_NETWORK + 4
+#define LYNQ_QSER_NETWORK_GET_REG_STATUS LYNQ_QSER_NETWORK + 5
+#define LYNQ_QSER_NETWORK_SOLICITED_SIGNAL_STRENGTH LYNQ_QSER_NETWORK + 6
+
 int create_socket(const int domain, const int type, const int protocol,const int port,const char *IP,const char *socket_name,void * addr,int backlog,int cs);
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
index 5922e77..df7feff 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
@@ -28,6 +28,7 @@
     -llynq-network \
     -llynq-data \
     -llynq-sim \
+    -llynq-qser-network \
     -llynq-qser-data \
 
 
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/network.cpp b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/network.cpp
index 748906b..bd1c263 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/network.cpp
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/network.cpp
@@ -1,8 +1,10 @@
 #include <stdio.h>

 #include <stdlib.h>

 #include <stdint.h>

+#include <string.h>

 #include <lynq_network/lynq_network/lynq_network.h>

 #include "network.h"

+#include <include/lynq_qser_network.h>

 #define TEST_RESULT "lynq_result="

 

 int init_network(int argc, char *argv[], int sp_test)

@@ -99,7 +101,32 @@
 

     ret = lynq_solicited_signal_strength(&solSigStren);

     printf("%s%d\n",TEST_RESULT,ret);

-    printf("LYNQ_SOLICITED_SIGNAL_STRENGTH: gw_sig_valid=%d, wcdma_valid=%d, lte_valid=%d, rssi=%d, wcdma sig strength is =%d lte sig strength is %d\n", solSigStren.gw_sig_valid, solSigStren.wcdma_sig_valid, solSigStren.lte_sig_valid,solSigStren.rssi, solSigStren.wcdma_signalstrength,solSigStren.lte_signalstrength);

+    if(ret==0)

+    {

+        printf("solicited_signal_strength gw_sig_valid = %d\n"

+                                               " rssi = %d\n"

+                                               " wcdma_sig_valid = %d\n"                                                

+                                               " wcdma_signalstrength = %d\n"

+                                               " rscp"

+                                               " ecio = %d\n"                                      

+                                               " lte_sig_info_valid = %d\n"

+                                               " lte_signalstrength = %d\n"

+                                               " rsrp = %d\n"

+                                               " rsrq = %d\n"

+                                               " rssnr = %d\n"                                             

+                                               " nr_sig_valid = %d\n"

+                                               " ssRsrp = %d\n"

+                                               " ssRsrq = %d\n"

+                                               " ssSinr = %d\n"

+                                               " csiRsrp = %d\n"

+                                               " csiRsrq = %d\n"

+                                               " nr_sig_info.csiSinr = %d\n",

+              solSigStren.gw_sig_valid, solSigStren.rssi,

+                solSigStren.wcdma_sig_valid, solSigStren.wcdma_signalstrength,  solSigStren.rscp,solSigStren.ecno,        

+              solSigStren.lte_sig_valid, solSigStren.lte_signalstrength, solSigStren.rsrp, solSigStren.rsrq, solSigStren.rssnr,    

+              solSigStren.nr_sig_valid, solSigStren.ssRsrp, solSigStren.ssRsrq, solSigStren.ssSinr,

+              solSigStren.csiRsrp, solSigStren.csiRsrq, solSigStren.csiSinr);

+    }    

     return ret;

 }

 int set_ims(int argc, char *argv[], int sp_test)

@@ -110,4 +137,175 @@
     ret = lynq_set_ims(ims_mode);

     printf("%s%d\n",TEST_RESULT,ret);

     return ret;

-}
\ No newline at end of file
+}

+

+int qser_network_init(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+    

+    int ret = -1;  

+    nw_client_handle_type h_nw;

+    

+    ret = qser_nw_client_init(&h_nw);       

+    printf("%s%d\n",TEST_RESULT,ret);

+    if(ret==0)

+    {

+        printf("qser_nw_client_init: h_nw=%d\n", h_nw);          

+    }    

+    return ret;    

+}

+

+int qser_network_deinit(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+

+    if(argc !=2)

+    {

+        printf("error, argc %d is not equal 2 \n",argc);

+        return -1;

+    }

+    

+    int ret = -1;  

+    nw_client_handle_type h_nw;

+    

+    h_nw=atoi(argv[1]);

+    ret = qser_nw_client_deinit(h_nw);

+    printf("%s%d\n",TEST_RESULT,ret);    

+    return ret;    

+}

+

+int qser_network_set_config(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+

+    if(argc !=3)

+    {

+        printf("error, argc %d is not equal 3 \n",argc);

+        return -1;

+    }

+

+    nw_client_handle_type       h_nw;

+    QSER_NW_CONFIG_INFO_T     t_info;

+

+    h_nw=atoi(argv[1]);

+    t_info.preferred_nw_mode=atoi(argv[2]);

+    

+    int ret = -1;  

+    ret = qser_nw_set_config(h_nw,&t_info);

+    printf("%s%d\n",TEST_RESULT,ret);    

+    return ret;    

+}

+

+int qser_network_get_operator_name(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+

+    if(argc !=2)

+    {

+        printf("error, argc %d is not equal 2 \n",argc);

+        return -1;

+    }

+

+    nw_client_handle_type       h_nw;

+    QSER_NW_OPERATOR_NAME_INFO_T  t_info;

+

+    h_nw=atoi(argv[1]);    

+    

+    int ret = -1;  

+    ret = qser_nw_get_operator_name(h_nw,&t_info);

+    printf("%s%d\n",TEST_RESULT,ret);    

+    if(ret==0)

+    {

+        printf("qser_nw_get_operator_name: h_nw=%d, long_eons=%s, short_eons=%s, mcc=%s, mnc=%s \n", h_nw, t_info.long_eons,t_info.short_eons,t_info.mcc,t_info.mnc);          

+    }    

+    return ret;    

+}

+

+int qser_network_get_reg_status(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+

+    if(argc !=2)

+    {

+        printf("error, argc %d is not equal 3 \n",argc);

+        return -1;

+    }

+

+    nw_client_handle_type       h_nw;

+    QSER_NW_REG_STATUS_INFO_T  t_info;

+

+    h_nw=atoi(argv[1]);    

+    

+    int ret = -1;  

+    ret = qser_nw_get_reg_status(h_nw,&t_info);

+    printf("%s%d\n",TEST_RESULT,ret);    

+    if(ret==0)

+    {    

+        printf("qser_nw_get_reg_status: voice_registration_valid=%d, tech_domain=%d, radio_tech=%d, roaming=%d deny_reason=%d registration_state=%d\n", 

+                      t_info.voice_registration_valid,

+                      t_info.voice_registration.tech_domain,

+                      t_info.voice_registration.radio_tech,

+                      t_info.voice_registration.roaming,

+                      t_info.voice_registration.deny_reason,

+                      t_info.voice_registration.registration_state);         

+        printf("qser_nw_get_reg_status: data_registration_valid=%d, tech_domain=%d, radio_tech=%d, roaming=%d deny_reason=%d registration_state=%d\n", 

+                      t_info.data_registration_valid,

+                      t_info.data_registration.tech_domain,

+                      t_info.data_registration.radio_tech,

+                      t_info.data_registration.roaming,

+                      t_info.data_registration.deny_reason,

+                      t_info.data_registration.registration_state);       

+    }    

+    return ret;        

+}

+

+

+int qser_network_solicited_signal_strength(int argc, char *argv[], int sp_test)

+{

+    printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);

+    if(argc !=2)

+    {

+        printf("error, argc %d is not equal 2 \n",argc);

+        return -1;

+    }

+    int ret = -1;  

+    nw_client_handle_type h_nw;

+    QSER_NW_SIGNAL_STRENGTH_INFO_T t_info;

+    memset(&t_info,sizeof (t_info) , 0);

+    h_nw=atoi(argv[1]);

+    ret = qser_nw_get_signal_strength(h_nw,&t_info);

+    printf("%s%d\n",TEST_RESULT,ret);

+    if(ret==0)

+    {         

+        printf("qser_solicited_signal_strength gsm_sig_info_valid = %d\n"

+               "                               gsm_sig_info.rssi = %d\n"

+               "                               wcdma     _sig_info_valid = %d\n" 

+               "                               wcdma_sig_info.rssi = %d\n"

+               "                               wcdma_sig_info.ecio = %d\n"

+               "                               tdscdma_sig_info_valid = %d\n"

+               "                               lte_sig_info_valid = %d\n"

+               "                               lte_sig_info.rssi = %d\n"

+               "                               lte_sig_info.rsrp = %d\n"

+               "                               lte_sig_info.rsrq = %d\n"

+               "                               lte_sig_info.snr = %d\n"

+               "                               cdma_sig_info_valid = %d\n"

+               "                               hdr_sig_info_valid = %d\n"

+               "                               nr_sig_info_valid = %d\n"

+               "                               nr_sig_info.ssRsrp = %d\n"

+               "                               nr_sig_info.ssRsrq = %d\n"

+               "                               nr_sig_info.ssSinr = %d\n"

+               "                               nr_sig_info.csiRsrp = %d\n"

+               "                               nr_sig_info.csiRsrq = %d\n"

+               "                               nr_sig_info.csiSinr = %d\n",

+              t_info.gsm_sig_info_valid, t_info.gsm_sig_info.rssi,

+                t_info.wcdma_sig_info_valid, t_info.wcdma_sig_info.rssi,  t_info.wcdma_sig_info.ecio,

+              t_info.tdscdma_sig_info_valid,

+              t_info.lte_sig_info_valid, t_info.lte_sig_info.rssi, t_info.lte_sig_info.rsrp, t_info.lte_sig_info.rsrq, t_info.lte_sig_info.snr,

+              t_info.cdma_sig_info_valid, 

+              t_info.hdr_sig_info_valid, 

+              t_info.nr_sig_info_valid, t_info.nr_sig_info.ssRsrp, t_info.nr_sig_info.ssRsrq, t_info.nr_sig_info.ssSinr,

+              t_info.nr_sig_info.csiRsrp, t_info.nr_sig_info.csiRsrq, t_info.nr_sig_info.csiSinr);

+    }    

+    return ret;

+}

+

diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
index a5017b5..49ff14c 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
@@ -31,6 +31,13 @@
     {"LYNQ_DEACTIVATE_DATA_CALL",deactivte_data_call, "deactive data call", LYNQ_DEACTIVATE_DATA_CALL},
     {"LYNQ_WAIT_DATA_CALL",wait_data_call, "wait data call", LYNQ_WAIT_DATA_CALL},
     {"LYNQ_GET_DATA_CALL_LIST",get_data_call_list, "get data call list", LYNQ_GET_DATA_CALL_LIST},
+//QSER_NETWORK
+    {"LYNQ_QSER_NETWORK_INIT",qser_network_init, "init the network lib", LYNQ_QSER_NETWORK_INIT},
+    {"LYNQ_QSER_NETWORK_DEINIT",qser_network_deinit, "deinit the network lib", LYNQ_QSER_NETWORK_DEINIT},
+    {"LYNQ_QSER_NETWORK_SET_CONCIFG",qser_network_set_config, "set network config", LYNQ_QSER_NETWORK_SET_CONCIFG},
+    {"LYNQ_QSER_NETWORK_GTE_OPERRATOR_NAME",qser_network_get_operator_name, "query operater infomation", LYNQ_QSER_NETWORK_GTE_OPERRATOR_NAME},
+    {"LYNQ_QSER_NETWORK_GET_REG_STATUS",qser_network_get_reg_status, "query registration status", LYNQ_QSER_NETWORK_GET_REG_STATUS},
+    {"LYNQ_QSER_NETWORK_SOLICITED_SIGNAL_STRENGTH",qser_network_solicited_signal_strength, "solicited signal strength", LYNQ_QSER_NETWORK_SOLICITED_SIGNAL_STRENGTH},
 //QSER_DATA
     {"LYNQ_QSER_DATA_INIT",qser_init_data, "init the data lib", LYNQ_QSER_DATA_INIT},
     {"LYNQ_QSER_DATA_DEINIT",qser_deinit_data, "deinit the data lib", LYNQ_QSER_DATA_DEINIT},