wpa_supplicant和framework、netd的接口调用总结

     在分析wpas(wpa_supplicant)与framework通信中,我们知道是通过socket进行通信,但是我们也可以发现,在hardware层中的wifi.c文件中,存在以下代码,其中wpa_ctrl_open(path)的实现是在wpas中的src/common/wpa_ctrl.c中实现,那么这个wpa_ctrl_open在wpa_supplicant这个bin文件中,是在另外的进程中,是怎样实现调用的呢?

int wifi_connect_on_socket_path(const char *path)
{
    char supp_status[PROPERTY_VALUE_MAX] = {'\0'};

    /* Make sure supplicant is running */
	ALOGD("begin to connect on socet");
    if (!property_get(supplicant_prop_name, supp_status, NULL)
            || strcmp(supp_status, "running") != 0) {
        ALOGE("Supplicant not running, cannot connect");
        return -1;
    }

    ctrl_conn = wpa_ctrl_open(path);
    if (ctrl_conn == NULL) {
        ALOGE("Unable to open connection to supplicant on \"%s\": %s",
             path, strerror(errno));
        return -1;
    }
    mon

你可能感兴趣的:(wpa_supplicant和framework、netd的接口调用总结)