diff options
| author | Jean-Baptiste Queru <jbq@google.com> | 2010-06-21 13:15:01 -0700 |
|---|---|---|
| committer | Jean-Baptiste Queru <jbq@google.com> | 2010-06-21 13:15:01 -0700 |
| commit | 445591dded5753cf72dcf329a56af732776de97d (patch) | |
| tree | c527b6c7600587cf56b732530c596a3289620161 /wifi | |
| parent | b33a811e81c126893dfadafca1fcbe5ae8564551 (diff) | |
| download | hardware_libhardware_legacy-445591dded5753cf72dcf329a56af732776de97d.tar.gz hardware_libhardware_legacy-445591dded5753cf72dcf329a56af732776de97d.tar.bz2 hardware_libhardware_legacy-445591dded5753cf72dcf329a56af732776de97d.zip | |
Undo previous merge
Change-Id: I74fd5ae2634b0c7909b7ab332d174f98a9c8aee5
Diffstat (limited to 'wifi')
| -rw-r--r-- | wifi/Android.mk | 2 | ||||
| -rw-r--r-- | wifi/wifi.c | 27 |
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; |
