static void interworking_scan_res_handler(struct wpa_supplicant *wpa_s, struct wpa_scan_results *scan_res) { wpa_printf(MSG_DEBUG, "Interworking: Scan results available - start " "ANQP fetch"); interworking_start_fetch_anqp(wpa_s); }
int interworking_fetch_anqp(struct wpa_supplicant *wpa_s) { if (wpa_s->fetch_anqp_in_progress || wpa_s->network_select) return 0; wpa_s->network_select = 0; interworking_start_fetch_anqp(wpa_s); return 0; }
static void hs20_osu_scan_res_handler(struct wpa_supplicant *wpa_s, struct wpa_scan_results *scan_res) { wpa_printf(MSG_DEBUG, "OSU provisioning fetch scan completed"); wpa_s->network_select = 0; wpa_s->fetch_all_anqp = 1; wpa_s->fetch_osu_info = 1; wpa_s->fetch_osu_icon_in_progress = 0; interworking_start_fetch_anqp(wpa_s); }
int hs20_fetch_osu(struct wpa_supplicant *wpa_s, int skip_scan) { if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED) { wpa_printf(MSG_DEBUG, "HS 2.0: Cannot start fetch_osu - " "interface disabled"); return -1; } if (wpa_s->scanning) { wpa_printf(MSG_DEBUG, "HS 2.0: Cannot start fetch_osu - " "scanning"); return -1; } if (wpa_s->conf->osu_dir == NULL) { wpa_printf(MSG_DEBUG, "HS 2.0: Cannot start fetch_osu - " "osu_dir not configured"); return -1; } if (wpa_s->fetch_anqp_in_progress || wpa_s->network_select) { wpa_printf(MSG_DEBUG, "HS 2.0: Cannot start fetch_osu - " "fetch in progress (%d, %d)", wpa_s->fetch_anqp_in_progress, wpa_s->network_select); return -1; } wpa_msg(wpa_s, MSG_INFO, "Starting OSU provisioning information fetch"); wpa_s->num_osu_scans = 0; wpa_s->num_prov_found = 0; if (skip_scan) { wpa_s->network_select = 0; wpa_s->fetch_all_anqp = 1; wpa_s->fetch_osu_info = 1; wpa_s->fetch_osu_icon_in_progress = 0; interworking_start_fetch_anqp(wpa_s); } else { hs20_start_osu_scan(wpa_s); } return 0; }