wifi.c

ちょっとだけ頑張ってみる。
em1 なツリーの hardware/libhardware_legacy/wifi/wifi.c で定義されている関数が以下。

static int insmod(const char *filename, const char *args)
static int rmmod(const char *modname)
int do_dhcp_request(int *ipaddr, int *gateway, int *mask,
                    int *dns1, int *dns2, int *server, int *lease) {
const char *get_dhcp_error_string()
static int check_driver_loaded()
int wifi_load_driver()
int wifi_unload_driver()
int ensure_config_file_exists()
int wifi_start_supplicant()
int wifi_stop_supplicant()
int wifi_connect_to_supplicant()
int wifi_send_command(struct wpa_ctrl *ctrl, const char *cmd, char *reply, size_t *reply_len)
int wifi_wait_for_event(char *buf, size_t buflen)
void wifi_close_supplicant_connection()
int wifi_command(const char *command, char *reply, size_t *reply_len)

基本的に static が付いてるソレは private で逆は public な手続きとして libhardware_legacy 配下をこれで grep してみた。

$ find . |xargs grep do_dhcp_request
./include/hardware_legacy/wifi.h: * do_dhcp_request() issues a dhcp request and returns the acquired
./include/hardware_legacy/wifi.h:int do_dhcp_request(int *ipaddr, int *gateway, int *mask,
./include/hardware_legacy/wifi.h: * Return the error string of the last do_dhcp_request().
./wifi/wifi.c:int do_dhcp_request(int *ipaddr, int *gateway, int *mask,
$ find . |xargs grep get_dhcp_error_string
./include/hardware_legacy/wifi.h:const char *get_dhcp_error_string();
./wifi/wifi.c:const char *get_dhcp_error_string() {
$ find . |xargs grep check_driver_loaded  
./wifi/wifi.c:static int check_driver_loaded() {
./wifi/wifi.c:    if (check_driver_loaded()) {
./wifi/wifi.c:          if (!check_driver_loaded())
$ find . |xargs grep wifi_load_driver   
./include/hardware_legacy/wifi.h:int wifi_load_driver();
./wifi/wifi.c:int wifi_load_driver()
$ find . |xargs grep wifi_unload_driver
./include/hardware_legacy/wifi.h:int wifi_unload_driver();
./wifi/wifi.c:int wifi_unload_driver()
$

うーん、こん中でヤッちゃ駄目だな。いっちゃん下からヤんないと駄目か。とりあえず当たりをつける意味でも find |xargs grep してますが、時間かかるはずなのでそのまま終わる可能性が大きいです。