OSDN Git Service

Revert "remove libnetutils dependency"
authorJean-Baptiste Queru <jbq@google.com>
Wed, 18 Aug 2010 18:16:25 +0000 (11:16 -0700)
committerJean-Baptiste Queru <jbq@google.com>
Wed, 18 Aug 2010 18:16:25 +0000 (11:16 -0700)
This reverts commit 7c6051a4990d9c55245c90a233bb23e5cc5cb544.

wifi/Android.mk
wifi/wifi.c

index e181595..5d94fb8 100644 (file)
@@ -14,3 +14,5 @@ LOCAL_CFLAGS += -DWIFI_FIRMWARE_LOADER=\"$(WIFI_FIRMWARE_LOADER)\"
 endif
 
 LOCAL_SRC_FILES += wifi/wifi.c
+
+LOCAL_SHARED_LIBRARIES += libnetutils
index 5fdf99b..3f8708d 100644 (file)
 static struct wpa_ctrl *ctrl_conn;
 static struct wpa_ctrl *monitor_conn;
 
+extern int do_dhcp();
+extern int ifc_init();
+extern void ifc_close();
+extern char *dhcp_lasterror();
+extern void get_dhcp_info();
 extern int init_module(void *, unsigned long, const char *);
 extern int delete_module(const char *, unsigned int);
 
@@ -108,6 +113,28 @@ static int rmmod(const char *modname)
     return ret;
 }
 
+int do_dhcp_request(int *ipaddr, int *gateway, int *mask,
+                    int *dns1, int *dns2, int *server, int *lease) {
+    /* For test driver, always report success */
+    if (strcmp(iface, WIFI_TEST_INTERFACE) == 0)
+        return 0;
+
+    if (ifc_init() < 0)
+        return -1;
+
+    if (do_dhcp(iface) < 0) {
+        ifc_close();
+        return -1;
+    }
+    ifc_close();
+    get_dhcp_info(ipaddr, gateway, mask, dns1, dns2, server, lease);
+    return 0;
+}
+
+const char *get_dhcp_error_string() {
+    return dhcp_lasterror();
+}
+
 static int check_driver_loaded() {
     char driver_status[PROPERTY_VALUE_MAX];
     FILE *proc;