static struct wpa_ctrl * hostapd_cli_open_connection(const char *ifname) { #ifndef CONFIG_CTRL_IFACE_UDP char *cfile; int flen; #endif /* !CONFIG_CTRL_IFACE_UDP */ if (ifname == NULL) return NULL; #ifdef CONFIG_CTRL_IFACE_UDP ctrl_conn = wpa_ctrl_open(ifname); return ctrl_conn; #else /* CONFIG_CTRL_IFACE_UDP */ flen = strlen(ctrl_iface_dir) + strlen(ifname) + 2; cfile = malloc(flen); if (cfile == NULL) return NULL; snprintf(cfile, flen, "%s/%s", ctrl_iface_dir, ifname); if (client_socket_dir && client_socket_dir[0] && access(client_socket_dir, F_OK) < 0) { perror(client_socket_dir); free(cfile); return NULL; } ctrl_conn = wpa_ctrl_open2(cfile, client_socket_dir); free(cfile); return ctrl_conn; #endif /* CONFIG_CTRL_IFACE_UDP */ }
static struct wpa_ctrl * hostapd_cli_open_connection(const char *ifname) { char *cfile; int flen; if (ifname == NULL) return NULL; flen = strlen(ctrl_iface_dir) + strlen(ifname) + 2; cfile = malloc(flen); if (cfile == NULL) return NULL; snprintf(cfile, flen, "%s/%s", ctrl_iface_dir, ifname); if (client_socket_dir && client_socket_dir[0] && access(client_socket_dir, F_OK) < 0) { perror(client_socket_dir); free(cfile); return NULL; } ctrl_conn = wpa_ctrl_open2(cfile, client_socket_dir); free(cfile); return ctrl_conn; }
struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path) { return wpa_ctrl_open2(ctrl_path, NULL); }