[feature][T8TSK-92][TCAM_T800_SW_0275] provide interface to get imei sv, keep old get imei interface

Change-Id: I3b65e45dffed5b3be4673daeebf17f32e88cfa89
diff --git a/lib/liblynq-sim/src/lynq_sim.cpp b/lib/liblynq-sim/src/lynq_sim.cpp
index ff62e1f..cb1729d 100755
--- a/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/lib/liblynq-sim/src/lynq_sim.cpp
@@ -763,6 +763,62 @@
     return error1;
 }
 
+int lynq_get_imei(char buf[])
+{
+    if(g_lynq_sim_init_flag == 0)
+    {
+        return -1;
+    }
+    int ret = -1;
+    if(buf == NULL)
+        return ret;
+    int send_num = 0;
+    int recv_num = 0;
+    int len = 0;
+    lynq_client_t client_t1;
+    memset(&client_t1, 0, sizeof(client_t1) );
+    client_t1.request = RIL_REQUEST_DEVICE_IDENTITY;
+    client_t1.paramLen = 0;
+    client_t1.uToken = Global_uToken;
+    char res_data[MAX_LEN] = {0};
+    memset(client_t1.param, 0, sizeof(client_t1.param));
+    pthread_mutex_lock(&g_lynq_sim_sendto_mutex);
+    send_num = sendto(sock_fd, &client_t1, sizeof(client_t1), 0, (struct sockaddr *)&addr_serv, len_addr_serv);
+    if(send_num < 0)  
+    {  
+        RLOGD("function %s sendto error:", __FUNCTION__);
+        pthread_mutex_unlock(&g_lynq_sim_sendto_mutex);
+        return send_num;
+    }
+    //get data msg
+    recv_num = recvfrom(sock_fd,res_data,sizeof(char)*MAX_LEN,0,(struct sockaddr *)&addr_serv,(socklen_t*)&len_addr_serv);
+    pthread_mutex_unlock(&g_lynq_sim_sendto_mutex);
+    if(recv_num < 0 || recv_num == 0)
+    {
+        RLOGD("recvfrom step2 fail:");
+        return recv_num;
+    }
+    Parcel p;
+    p.setData((uint8_t *)res_data,sizeof(char)*recv_num); // p.setData((uint8_t *) buffer, buflen);
+    p.setDataPosition(0);
+    int num = 0;
+    if(p.dataAvail() > 0)
+    {
+        p.readInt32(&resp_type);
+        p.readInt32(&solicited_token);
+        p.readInt32(&request);
+        p.readInt32(&slot_id);
+        p.readInt32(&error1);
+        if(!error1){
+            p.readInt32(&num);
+            char * test = lynqStrdupReadString(p);          
+            memcpy(buf, test, strlen(test));
+            free(test);
+        }
+    }
+    return error1;
+}
+
 int lynq_get_imei_and_sv(char imei[],char sv[])
 {
     RLOGD("%s called",__func__);