[Feature]add Network MT,Global variable rename
Change-Id: Ib271f00131604ffff0ee67aae9a9b87ec7bffebf
diff --git a/src/lynq/lib/liblynq-network/lynq_network.cpp b/src/lynq/lib/liblynq-network/lynq_network.cpp
index 3ef9d70..b6c58a9 100755
--- a/src/lynq/lib/liblynq-network/lynq_network.cpp
+++ b/src/lynq/lib/liblynq-network/lynq_network.cpp
@@ -42,19 +42,23 @@
lynq_client_t client_t;
lynq_resp_t response;
-/*socket*/
+
+int network_len_addr_serv;
+int network_len_urc_addr_serv;
+struct sockaddr_in network_addr_serv;
+struct sockaddr_in network_urc_addr_serv;
+static int network_sock_fd = 0;
+int network_urc_sock_fd = 0;
+int network_Global_uToken = 0;
+int network_slot_id = -1;
+int network_urc_slot_id = -1;
+int network_urc_status = 1;
+int network_wait_urc_id = 0;
+signalStrength_t network_urc_solSigStren;
-int len_addr_serv;
-int len_urc_addr_serv;
-struct sockaddr_in addr_serv;
-struct sockaddr_in urc_addr_serv;
-static int sock_fd = 0;
-int lynq_client_sockfd;
-int urc_sock_fd = 0;
-int Global_uToken = 0;
-int slot_id = -1;
-int urc_status = 1;
+static pthread_mutex_t signal_state_change_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_cond_t signal_state_change_cond = PTHREAD_COND_INITIALIZER;
typedef enum{
LYNQ_E_CARDSTATE_ERROR=8000,
@@ -76,25 +80,39 @@
LYNQ_E_NULL_ANONALY=9001
}LYNQ_E;
+int wait_signal_changes()
+{
+ int ret = 0;
+ pthread_mutex_lock(&signal_state_change_mutex);
+ ret = pthread_cond_wait(&signal_state_change_cond,&signal_state_change_mutex);
+ pthread_mutex_unlock(&signal_state_change_mutex);
+ return 0;
+}
+
+void send_signal_changes()
+{
+ pthread_mutex_lock(&signal_state_change_mutex);
+ pthread_cond_signal(&signal_state_change_cond);
+ pthread_mutex_unlock(&signal_state_change_mutex);
+ return;
+}
+
void *thread_urc_recv(void *p)
{
Parcel *urc_p =NULL;
char urc_data[LYNQ_REC_BUF];
- int slot_id = -1;
int resp_type = -1;
int urc_id = -1;
int res = 0;
int none = 0;
int NR_sum = 0;
- signalStrength_t urc_solSigStren;
int urc_LTE_signalstrength = 0;
int urc_WCDMA_signalstrength = 0;
-
LYINFLOG("urc thread is running");
- while(urc_status)
+ while(network_urc_status)
{
bzero(urc_data,LYNQ_REC_BUF);
- res = recvfrom(urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&urc_addr_serv,(socklen_t*)&len_urc_addr_serv);
+ res = recvfrom(network_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&network_urc_addr_serv,(socklen_t*)&network_len_urc_addr_serv);
if(res<=0)
{
LYERRLOG("thread_urc_recv step2 fail:");
@@ -107,25 +125,27 @@
{
urc_p->readInt32(&resp_type);
urc_p->readInt32(&urc_id);
- urc_p->readInt32(&slot_id);
+ urc_p->readInt32(&network_urc_slot_id);
switch(urc_id)
{
case 1002: //RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
{
- LYINFLOG("slot_id = %d",slot_id);
+ network_wait_urc_id = urc_id;
+ LYINFLOG("slot_id = %d",network_urc_slot_id);
+ send_signal_changes();
}
case 1009: //RIL_UNSOL_SIGNAL_STRENGTH
{
- urc_p->readInt32(&urc_solSigStren.rssi);
- if((urc_solSigStren.rssi!=99)&&(urc_solSigStren.rssi!=0))
+ urc_p->readInt32(&network_urc_solSigStren.rssi);
+ if((network_urc_solSigStren.rssi!=99)&&(network_urc_solSigStren.rssi!=0))
{
- urc_solSigStren.gw_sig_valid = 1;
+ network_urc_solSigStren.gw_sig_valid = 1;
}else{
- urc_solSigStren.gw_sig_valid = 0;
+ network_urc_solSigStren.gw_sig_valid = 0;
}
- if(urc_solSigStren.gw_sig_valid == 1)
+ if(network_urc_solSigStren.gw_sig_valid == 1)
{
- LYINFLOG("urc_GSM_signalstrength:%d",urc_solSigStren.rssi);
+ LYINFLOG("urc_GSM_signalstrength:%d",network_urc_solSigStren.rssi);
}
urc_p->readInt32(&none);
urc_p->readInt32(&none);
@@ -136,20 +156,19 @@
urc_p->readInt32(&none);
urc_p->readInt32(&urc_LTE_signalstrength);
// p.readInt32(&solSigStren->signalStrength.LTE_SignalStrength.signalStrength);
- urc_p->readInt32(&urc_solSigStren.rsrp);
- urc_p->readInt32(&urc_solSigStren.rsrq);
- urc_p->readInt32(&urc_solSigStren.rssnr);
+ urc_p->readInt32(&network_urc_solSigStren.rsrp);
+ urc_p->readInt32(&network_urc_solSigStren.rsrq);
+ urc_p->readInt32(&network_urc_solSigStren.rssnr);
if((urc_LTE_signalstrength!=99)&&(urc_LTE_signalstrength!=0))
{
- urc_solSigStren.lte_sig_valid = 1;
+ network_urc_solSigStren.lte_sig_valid = 1;
}else{
- urc_solSigStren.lte_sig_valid = 0;
+ network_urc_solSigStren.lte_sig_valid = 0;
}
- if(urc_solSigStren.lte_sig_valid == 1)
+ if(network_urc_solSigStren.lte_sig_valid == 1)
{
LYINFLOG("urc_LTE_signalstrength:%d",urc_LTE_signalstrength);
}
-
urc_p->readInt32(&none);
urc_p->readInt32(&none);
urc_p->readInt32(&none);
@@ -157,38 +176,40 @@
urc_p->readInt32(&none);
urc_p->readInt32(&urc_WCDMA_signalstrength);
urc_p->readInt32(&none);
- urc_p->readInt32(&urc_solSigStren.rscp);
- urc_p->readInt32(&urc_solSigStren.ecno);
+ urc_p->readInt32(&network_urc_solSigStren.rscp);
+ urc_p->readInt32(&network_urc_solSigStren.ecno);
if((urc_WCDMA_signalstrength!=99)&&(urc_WCDMA_signalstrength!=0))
{
- urc_solSigStren.wcdma_sig_valid = 1;
+ network_urc_solSigStren.wcdma_sig_valid = 1;
}else{
- urc_solSigStren.wcdma_sig_valid = 0;
+ network_urc_solSigStren.wcdma_sig_valid = 0;
}
- if(urc_solSigStren.wcdma_sig_valid == 1)
+ if(network_urc_solSigStren.wcdma_sig_valid == 1)
{
LYINFLOG("urc_WCDMA_signalstrength:%d",urc_WCDMA_signalstrength);
}
- urc_p->readInt32(&urc_solSigStren.ssRsrp);
- urc_p->readInt32(&urc_solSigStren.ssRsrq);
- urc_p->readInt32(&urc_solSigStren.ssSinr);
- urc_p->readInt32(&urc_solSigStren.csiRsrp);
- urc_p->readInt32(&urc_solSigStren.csiRsrq);
- urc_p->readInt32(&urc_solSigStren.csiSinr);
- NR_sum = (urc_solSigStren.ssRsrp) + (urc_solSigStren.ssRsrq) + (urc_solSigStren.ssSinr) + (urc_solSigStren.csiRsrp)+\
- (urc_solSigStren.csiRsrq) + (urc_solSigStren.csiSinr);
+ urc_p->readInt32(&network_urc_solSigStren.ssRsrp);
+ urc_p->readInt32(&network_urc_solSigStren.ssRsrq);
+ urc_p->readInt32(&network_urc_solSigStren.ssSinr);
+ urc_p->readInt32(&network_urc_solSigStren.csiRsrp);
+ urc_p->readInt32(&network_urc_solSigStren.csiRsrq);
+ urc_p->readInt32(&network_urc_solSigStren.csiSinr);
+ NR_sum = (network_urc_solSigStren.ssRsrp) + (network_urc_solSigStren.ssRsrq) + (network_urc_solSigStren.ssSinr) + (network_urc_solSigStren.csiRsrp)+\
+ (network_urc_solSigStren.csiRsrq) + (network_urc_solSigStren.csiSinr);
if(NR_sum != 0)
{
- urc_solSigStren.nr_sig_valid = 1;
+ network_urc_solSigStren.nr_sig_valid = 1;
}else{
- urc_solSigStren.nr_sig_valid = 0;
+ network_urc_solSigStren.nr_sig_valid = 0;
}
- if(urc_solSigStren.nr_sig_valid == 1)
+ if(network_urc_solSigStren.nr_sig_valid == 1)
{
LYINFLOG("[NR signal]ssRsrp is %d , ssRsrq is %d , ssSinr is %d , csiRsrp is %d , csiRsrq is %d , csiSinr is %d",\
- urc_solSigStren.ssRsrp,urc_solSigStren.ssRsrq,urc_solSigStren.ssSinr, \
- urc_solSigStren.csiRsrp,urc_solSigStren.csiRsrq,urc_solSigStren.csiSinr);
+ network_urc_solSigStren.ssRsrp,network_urc_solSigStren.ssRsrq,network_urc_solSigStren.ssSinr, \
+ network_urc_solSigStren.csiRsrp,network_urc_solSigStren.csiRsrq,network_urc_solSigStren.csiSinr);
}
+ network_wait_urc_id = urc_id;
+ send_signal_changes();
}
}
}
@@ -198,19 +219,19 @@
int lynq_server_socket_start()
{
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if(-1 == sock_fd)
+ network_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if(-1 == network_sock_fd)
{
LYERRLOG("socket open error");
return -1;
}
- LYINFLOG("sock_fd = %d",sock_fd);
+ LYINFLOG("network_sock_fd = %d",network_sock_fd);
- memset(&addr_serv, 0, sizeof(addr_serv));
- addr_serv.sin_family = AF_INET;
- addr_serv.sin_addr.s_addr = inet_addr(LYNQ_ADDRESS);
- addr_serv.sin_port = htons(LYNQ_SERVICE_PORT);
- len_addr_serv = sizeof(addr_serv);
+ memset(&network_addr_serv, 0, sizeof(network_addr_serv));
+ network_addr_serv.sin_family = AF_INET;
+ network_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_ADDRESS);
+ network_addr_serv.sin_port = htons(LYNQ_SERVICE_PORT);
+ network_len_addr_serv = sizeof(network_addr_serv);
return 0;
}
@@ -219,25 +240,25 @@
pthread_t tid;
pthread_attr_t attr;
int on = 1;
- urc_sock_fd = -1;
+ network_urc_sock_fd = -1;
int ret = 0;
- len_urc_addr_serv = sizeof(sockaddr_in);
- urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (urc_sock_fd <0){
+ network_len_urc_addr_serv = sizeof(sockaddr_in);
+ network_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (network_urc_sock_fd <0){
LYERRLOG("urc socket error");
ret = -1;
}
- urc_addr_serv.sin_family = AF_INET;
- urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);
- urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);
+ network_urc_addr_serv.sin_family = AF_INET;
+ network_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);
+ network_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);
/* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/
- ret = setsockopt(urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);
+ ret = setsockopt(network_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);
if(ret <0)
{
LYERRLOG("urc socket set error");
return -1;
}
- ret = bind(urc_sock_fd ,(struct sockaddr*)&urc_addr_serv, sizeof(urc_addr_serv));
+ ret = bind(network_urc_sock_fd ,(struct sockaddr*)&network_urc_addr_serv, sizeof(network_urc_addr_serv));
if(ret <0)
{
LYERRLOG("urc socket bind error");
@@ -245,7 +266,7 @@
}
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- ret = pthread_create(&tid,&attr,thread_urc_recv,(void *)urc_sock_fd);
+ ret = pthread_create(&tid,&attr,thread_urc_recv,(void *)network_urc_sock_fd);
if(ret <0)
{
LYERRLOG("urc pthread create error");
@@ -260,8 +281,8 @@
LYERRLOG("init err");
return -1;
}
- urc_status = 1;
- Global_uToken = utoken;
+ network_urc_status = 1;
+ network_Global_uToken = utoken;
LYLOGSET(LOG_INFO);
LYLOGEINIT(USER_LOG_TAG);
int ret = 0;
@@ -398,8 +419,8 @@
}
int lynq_network_deinit(void){
- close(sock_fd);
- urc_status = 0;
+ close(network_sock_fd);
+ network_urc_status = 0;
return 0;
}
@@ -425,10 +446,10 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_OPERATOR;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -436,7 +457,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -495,10 +516,10 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -506,7 +527,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -550,7 +571,7 @@
{
client_t.request = RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
}else if(!strcmp(mode,"Manual")){
if(mccmnc == NULL)
@@ -565,7 +586,7 @@
}
client_t.request = RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL;
client_t.paramLen = 1;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
sprintf(client_t.param,"%s",mccmnc);
}else{
LYERRLOG("request error");
@@ -573,14 +594,14 @@
}
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -613,10 +634,10 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_QUERY_AVAILABLE_NETWORKS;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -624,7 +645,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -705,10 +726,10 @@
return ret;
}
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -716,7 +737,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -785,10 +806,10 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -796,7 +817,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -834,16 +855,16 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE;
client_t.paramLen = 1;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
sprintf(client_t.param,"%d",preffertype);
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -878,9 +899,9 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_GET_CELL_INFO_LIST;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -888,7 +909,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -930,17 +951,17 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE;
client_t.paramLen = 1;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
sprintf(client_t.param,"%d",rate);
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -971,17 +992,17 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_SET_BAND_MODE;
client_t.paramLen = 1;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
sprintf(client_t.param,"%d",bandmode);
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -1016,9 +1037,9 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -1026,7 +1047,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -1076,17 +1097,17 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_RADIO_POWER;
client_t.paramLen = 1;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
sprintf(client_t.param,"%d",data);
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -1120,17 +1141,17 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_VOICE_RADIO_TECH;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
return ret;
}
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -1174,10 +1195,10 @@
memset(&client_t,0,sizeof(client_t));
client_t.request = RIL_REQUEST_SIGNAL_STRENGTH;
client_t.paramLen = 0;
- client_t.uToken = Global_uToken;
+ client_t.uToken = network_Global_uToken;
memset(client_t.param,0,sizeof(client_t.param));
- send_num = sendto(sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&addr_serv,len_addr_serv);
+ send_num = sendto(network_sock_fd,&client_t,sizeof(client_t),0,(struct sockaddr *)&network_addr_serv,network_len_addr_serv);
if(send_num<0)
{
LYERRLOG("sendto error:");
@@ -1185,7 +1206,7 @@
}
//get data
- recv_num = recvfrom(sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&addr_serv,(socklen_t *)&len_addr_serv);
+ recv_num = recvfrom(network_sock_fd,res_data,sizeof(res_data),0,(struct sockaddr *)&network_addr_serv,(socklen_t *)&network_len_addr_serv);
if(recv_num == 0 ||recv_num <0)
{
LYERRLOG("recvfrom error");
@@ -1269,3 +1290,63 @@
}
return response.error;
}
+
+/*Used to wait for an update signal*/
+int lynq_wait_signalchanges(int *handle)
+{
+ LYDBGLOG("start wait signalchanges info");
+ if(NULL == handle)
+ {
+ LYERRLOG("illegal input");
+ return -1;
+ }
+ wait_signal_changes();
+ LYDBGLOG("get signalchanges");
+ *handle = network_wait_urc_id;
+ return 0;
+}
+/*Used to get urc info*/
+int lynq_get_urc_info(const int handle,signalStrength_t *solSigStren,int *slot_id)
+{
+ LYDBGLOG("start get urc info");
+ if(handle != 1002&&handle != 1009)
+ {
+ LYINFLOG("invalid handle!!!");
+ return -1;
+ }
+ if(NULL == solSigStren && NULL == slot_id)
+ {
+ LYINFLOG("incoming solSigStren or slot_id is NULL!!!");
+ return -1;
+ }
+ switch(handle)
+ {
+ case 1002: //RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
+ {
+ LYDBGLOG("get state update to VOICE");
+ *slot_id = network_urc_slot_id;
+ LYINFLOG("slot_id = %d",network_urc_slot_id);
+ }
+ case 1009: //RIL_UNSOL_SIGNAL_STRENGTH
+ {
+ LYDBGLOG("get state update to signal info");
+ solSigStren->gw_sig_valid = network_urc_solSigStren.gw_sig_valid;
+ solSigStren->rssi = network_urc_solSigStren.rssi;
+ solSigStren->wcdma_sig_valid = network_urc_solSigStren.wcdma_sig_valid;
+ solSigStren->rscp = network_urc_solSigStren.rscp;
+ solSigStren->ecno = network_urc_solSigStren.ecno;
+ solSigStren->lte_sig_valid = network_urc_solSigStren.lte_sig_valid;
+ solSigStren->rsrp = network_urc_solSigStren.rsrp;
+ solSigStren->rsrq = network_urc_solSigStren.rsrq;
+ solSigStren->rssnr = network_urc_solSigStren.rssnr;
+ solSigStren->nr_sig_valid = network_urc_solSigStren.nr_sig_valid;
+ solSigStren->ssRsrp = network_urc_solSigStren.ssRsrp;
+ solSigStren->ssRsrq = network_urc_solSigStren.ssRsrq;
+ solSigStren->ssSinr = network_urc_solSigStren.ssSinr;
+ solSigStren->csiRsrp = network_urc_solSigStren.csiRsrp;
+ solSigStren->csiRsrq = network_urc_solSigStren.csiRsrq;
+ solSigStren->csiSinr = network_urc_solSigStren.csiSinr;
+ }
+ }
+ return 0;
+}
\ No newline at end of file