From dc2c58d27b8975cc472bc04b37c7df015c0d12a8 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Wed, 4 Jul 2012 19:08:52 +0200 Subject: GPRS: Changes for ICS Signed-off-by: Paul Kocialkowski --- gprs.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gprs.c b/gprs.c index 276c001..99460e6 100644 --- a/gprs.c +++ b/gprs.c @@ -25,6 +25,7 @@ #define LOG_TAG "RIL-GPRS" #include #include +#include #include "samsung-ril.h" #include "util.h" @@ -32,14 +33,6 @@ /* FIXME: we don't want these hardcoded */ #define IP_STRING_SIZE 15 + 1 -// libnetutils missing prototype -extern int ifc_configure(const char *ifname, - in_addr_t address, - in_addr_t netmask, - in_addr_t gateway, - in_addr_t dns1, - in_addr_t dns2); - void ipc_gprs_pdp_context_complete(struct ipc_message_info *info) { struct ipc_gen_phone_res *phone_res = (struct ipc_gen_phone_res *) info->data; @@ -202,6 +195,7 @@ void ipc_gprs_ip_configuration(struct ipc_message_info *info) char *interface; + RIL_Data_Call_Response_v6 data_call_response; char *response[3]; int rc; @@ -244,24 +238,30 @@ void ipc_gprs_ip_configuration(struct ipc_message_info *info) rc = ifc_configure(interface, inet_addr(local_ip), - inet_addr(subnet_mask), + ipv4NetmaskToPrefixLength(inet_addr(subnet_mask)), inet_addr(gateway), inet_addr(dns1), inet_addr(dns2)); LOGD("ifc_configure: %d",rc); - +/* snprintf(dns_prop_name, sizeof(dns_prop_name), "net.%s.dns1", interface); property_set(dns_prop_name, dns1); snprintf(dns_prop_name, sizeof(dns_prop_name), "net.%s.dns2", interface); property_set(dns_prop_name, dns2); snprintf(gw_prop_name, sizeof(gw_prop_name), "net.%s.gw", interface); property_set(dns_prop_name, gateway); - - response[0] = "0"; //FIXME: connection id - response[1] = interface; - response[2] = local_ip; - - RIL_onRequestComplete(ril_state.tokens.gprs_context, RIL_E_SUCCESS, response, sizeof(response)); +*/ + + data_call_response.status = 0; + data_call_response.cid = 0; + data_call_response.active = 1; + data_call_response.type = "IP"; + data_call_response.ifname = interface; + data_call_response.addresses = local_ip; + data_call_response.dnses = dns1; + data_call_response.gateways = gateway; + + RIL_onRequestComplete(ril_state.tokens.gprs_context, RIL_E_SUCCESS, &data_call_response, sizeof(data_call_response)); ril_state.tokens.gprs_context = (RIL_Token) 0x00; -- cgit v1.2.3