diff options
| author | Jean-Baptiste Queru <jbq@google.com> | 2010-08-18 11:16:25 -0700 |
|---|---|---|
| committer | Jean-Baptiste Queru <jbq@google.com> | 2010-08-18 11:16:25 -0700 |
| commit | 548af73955b14f6615d4ca8b637ecfa3929abd06 (patch) | |
| tree | 42f4a00f4c7a2d55e2593ccc352808dcf5068bbb /wifi/wifi.c | |
| parent | 930fe98bbe3486dbd587768ff5c8f1913bb58327 (diff) | |
| download | hardware_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/wifi.c')
| -rw-r--r-- | wifi/wifi.c | 27 |
1 files changed, 27 insertions, 0 deletions
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; |
