summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2010-08-18 11:16:25 -0700
committerJean-Baptiste Queru <jbq@google.com>2010-08-18 11:16:25 -0700
commit548af73955b14f6615d4ca8b637ecfa3929abd06 (patch)
tree42f4a00f4c7a2d55e2593ccc352808dcf5068bbb /wifi
parent930fe98bbe3486dbd587768ff5c8f1913bb58327 (diff)
downloadhardware_libhardware_legacy-548af73955b14f6615d4ca8b637ecfa3929abd06.tar.gz
hardware_libhardware_legacy-548af73955b14f6615d4ca8b637ecfa3929abd06.tar.bz2
hardware_libhardware_legacy-548af73955b14f6615d4ca8b637ecfa3929abd06.zip
Revert "remove libnetutils dependency"
This reverts commit 7c6051a4990d9c55245c90a233bb23e5cc5cb544.
Diffstat (limited to 'wifi')
-rw-r--r--wifi/Android.mk2
-rw-r--r--wifi/wifi.c27
2 files changed, 29 insertions, 0 deletions
diff --git a/wifi/Android.mk b/wifi/Android.mk
index e181595..5d94fb8 100644
--- a/wifi/Android.mk
+++ b/wifi/Android.mk
@@ -14,3 +14,5 @@ LOCAL_CFLAGS += -DWIFI_FIRMWARE_LOADER=\"$(WIFI_FIRMWARE_LOADER)\"
endif
LOCAL_SRC_FILES += wifi/wifi.c
+
+LOCAL_SHARED_LIBRARIES += libnetutils
diff --git a/wifi/wifi.c b/wifi/wifi.c
index 5fdf99b..3f8708d 100644
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -36,6 +36,11 @@
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;