Lines Matching refs:params
547 struct wpa_driver_ap_params *params) in ieee802_11_build_ap_params_mbssid() argument
599 params->mbssid_tx_iface = tx_bss->conf->iface; in ieee802_11_build_ap_params_mbssid()
600 params->mbssid_index = hostapd_mbssid_get_bss_index(hapd); in ieee802_11_build_ap_params_mbssid()
601 params->mbssid_elem = elem; in ieee802_11_build_ap_params_mbssid()
602 params->mbssid_elem_len = end - elem; in ieee802_11_build_ap_params_mbssid()
603 params->mbssid_elem_count = elem_count; in ieee802_11_build_ap_params_mbssid()
604 params->mbssid_elem_offset = elem_offset; in ieee802_11_build_ap_params_mbssid()
605 params->rnr_elem = rnr_elem; in ieee802_11_build_ap_params_mbssid()
606 params->rnr_elem_len = rnr_len; in ieee802_11_build_ap_params_mbssid()
607 params->rnr_elem_count = rnr_elem_count; in ieee802_11_build_ap_params_mbssid()
608 params->rnr_elem_offset = rnr_elem_offset; in ieee802_11_build_ap_params_mbssid()
610 params->ema = true; in ieee802_11_build_ap_params_mbssid()
696 static void hostapd_free_probe_resp_params(struct probe_resp_params *params) in hostapd_free_probe_resp_params() argument
699 if (!params) in hostapd_free_probe_resp_params()
701 ap_sta_free_sta_profile(params->mld_info); in hostapd_free_probe_resp_params()
702 os_free(params->mld_info); in hostapd_free_probe_resp_params()
703 params->mld_info = NULL; in hostapd_free_probe_resp_params()
709 struct probe_resp_params *params) in hostapd_probe_resp_elems_len() argument
745 if (!params->is_ml_sta_info && hapd->conf->mld_ap) { in hostapd_probe_resp_elems_len()
747 params->mld_ap ? params->mld_ap : hapd; in hostapd_probe_resp_elems_len()
750 ml_elem_ap, params->mld_info, !!params->mld_ap); in hostapd_probe_resp_elems_len()
756 params->known_bss, in hostapd_probe_resp_elems_len()
757 params->known_bss_len, NULL); in hostapd_probe_resp_elems_len()
758 if (!params->is_ml_sta_info) in hostapd_probe_resp_elems_len()
773 struct probe_resp_params *params, in hostapd_probe_resp_fill_elems() argument
781 if (!params->is_ml_sta_info) { in hostapd_probe_resp_fill_elems()
804 if (!params->is_ml_sta_info) { in hostapd_probe_resp_fill_elems()
807 params->csa_pos = csa_pos - 1; in hostapd_probe_resp_fill_elems()
809 params->csa_pos = NULL; in hostapd_probe_resp_fill_elems()
822 NULL, params->known_bss, params->known_bss_len, in hostapd_probe_resp_fill_elems()
831 if (!params->is_ml_sta_info) { in hostapd_probe_resp_fill_elems()
834 params->ecsa_pos = csa_pos - 1; in hostapd_probe_resp_fill_elems()
836 params->ecsa_pos = NULL; in hostapd_probe_resp_fill_elems()
848 !params->known_bss_len); in hostapd_probe_resp_fill_elems()
882 if (!params->is_ml_sta_info) in hostapd_probe_resp_fill_elems()
898 params->cca_pos = cca_pos - 2; in hostapd_probe_resp_fill_elems()
900 params->cca_pos = NULL; in hostapd_probe_resp_fill_elems()
912 params->mld_ap ? params->mld_ap : hapd; in hostapd_probe_resp_fill_elems()
916 ml_elem_ap, params->mld_info, in hostapd_probe_resp_fill_elems()
917 pos, !!params->mld_ap); in hostapd_probe_resp_fill_elems()
945 if ((hapd->conf->p2p & P2P_ENABLED) && params->is_p2p && in hostapd_probe_resp_fill_elems()
989 struct probe_resp_params *params) in hostapd_gen_probe_resp() argument
998 buflen += hostapd_probe_resp_elems_len(hapd, params); in hostapd_gen_probe_resp()
999 params->resp = os_zalloc(buflen); in hostapd_gen_probe_resp()
1000 if (!params->resp) { in hostapd_gen_probe_resp()
1001 params->resp_len = 0; in hostapd_gen_probe_resp()
1005 params->resp->frame_control = IEEE80211_FC(WLAN_FC_TYPE_MGMT, in hostapd_gen_probe_resp()
1013 if (params->req && (!is_6ghz_op_class(hapd->iconf->op_class) || in hostapd_gen_probe_resp()
1015 os_memcpy(params->resp->da, params->req->sa, ETH_ALEN); in hostapd_gen_probe_resp()
1017 os_memset(params->resp->da, 0xff, ETH_ALEN); in hostapd_gen_probe_resp()
1018 os_memcpy(params->resp->sa, hapd->own_addr, ETH_ALEN); in hostapd_gen_probe_resp()
1020 os_memcpy(params->resp->bssid, hapd->own_addr, ETH_ALEN); in hostapd_gen_probe_resp()
1021 params->resp->u.probe_resp.beacon_int = in hostapd_gen_probe_resp()
1025 params->resp->u.probe_resp.capab_info = in hostapd_gen_probe_resp()
1028 pos = hostapd_probe_resp_fill_elems(hapd, params, in hostapd_gen_probe_resp()
1029 params->resp->u.probe_resp.variable, in hostapd_gen_probe_resp()
1032 params->resp_len = pos - (u8 *) params->resp; in hostapd_gen_probe_resp()
1038 struct probe_resp_params *params, in hostapd_fill_probe_resp_ml_params() argument
1045 params->mld_ap = NULL; in hostapd_fill_probe_resp_ml_params()
1046 params->mld_info = os_zalloc(sizeof(*params->mld_info)); in hostapd_fill_probe_resp_ml_params()
1047 if (!params->mld_info) in hostapd_fill_probe_resp_ml_params()
1068 params->mld_ap = link; in hostapd_fill_probe_resp_ml_params()
1078 link_info = ¶ms->mld_info->links[mld_link_id]; in hostapd_fill_probe_resp_ml_params()
1080 sta_info_params.req = params->req; in hostapd_fill_probe_resp_ml_params()
1124 if (mld_id != -1 && !params->mld_ap) { in hostapd_fill_probe_resp_ml_params()
1134 hostapd_free_probe_resp_params(params); in hostapd_fill_probe_resp_ml_params()
1135 params->mld_ap = NULL; in hostapd_fill_probe_resp_ml_params()
1136 params->mld_info = NULL; in hostapd_fill_probe_resp_ml_params()
1437 struct probe_resp_params params; in handle_probe_req() local
1673 os_memset(¶ms, 0, sizeof(params)); in handle_probe_req()
1679 hostapd_fill_probe_resp_ml_params(hapd, ¶ms, mgmt, in handle_probe_req()
1684 params.req = mgmt; in handle_probe_req()
1685 params.is_p2p = !!elems.p2p; in handle_probe_req()
1686 params.known_bss = elems.mbssid_known_bss; in handle_probe_req()
1687 params.known_bss_len = elems.mbssid_known_bss_len; in handle_probe_req()
1688 params.is_ml_sta_info = false; in handle_probe_req()
1690 hostapd_gen_probe_resp(hapd, ¶ms); in handle_probe_req()
1692 hostapd_free_probe_resp_params(¶ms); in handle_probe_req()
1694 if (!params.resp) in handle_probe_req()
1706 if (params.csa_pos) in handle_probe_req()
1708 params.csa_pos - (u8 *) params.resp; in handle_probe_req()
1710 if (params.ecsa_pos) in handle_probe_req()
1712 params.ecsa_pos - (u8 *) params.resp; in handle_probe_req()
1715 ret = hostapd_drv_send_mlme(hapd, params.resp, params.resp_len, noack, in handle_probe_req()
1722 os_free(params.resp); in handle_probe_req()
1733 struct probe_resp_params params; in hostapd_probe_resp_offloads() local
1764 os_memset(¶ms, 0, sizeof(params)); in hostapd_probe_resp_offloads()
1765 params.req = NULL; in hostapd_probe_resp_offloads()
1766 params.is_p2p = false; in hostapd_probe_resp_offloads()
1767 params.known_bss = NULL; in hostapd_probe_resp_offloads()
1768 params.known_bss_len = 0; in hostapd_probe_resp_offloads()
1769 params.is_ml_sta_info = false; in hostapd_probe_resp_offloads()
1770 params.mld_ap = NULL; in hostapd_probe_resp_offloads()
1771 params.mld_info = NULL; in hostapd_probe_resp_offloads()
1773 hostapd_gen_probe_resp(hapd, ¶ms); in hostapd_probe_resp_offloads()
1774 *resp_len = params.resp_len; in hostapd_probe_resp_offloads()
1775 if (!params.resp) in hostapd_probe_resp_offloads()
1779 if (params.csa_pos) in hostapd_probe_resp_offloads()
1780 hapd->cs_c_off_proberesp = params.csa_pos - (u8 *) params.resp; in hostapd_probe_resp_offloads()
1781 if (params.ecsa_pos) in hostapd_probe_resp_offloads()
1782 hapd->cs_c_off_ecsa_proberesp = params.ecsa_pos - in hostapd_probe_resp_offloads()
1783 (u8 *) params.resp; in hostapd_probe_resp_offloads()
1785 if (params.cca_pos) in hostapd_probe_resp_offloads()
1786 hapd->cca_c_off_proberesp = params.cca_pos - (u8 *) params.resp; in hostapd_probe_resp_offloads()
1789 return (u8 *) params.resp; in hostapd_probe_resp_offloads()
2152 struct wpa_driver_ap_params *params) in hostapd_fils_discovery() argument
2154 params->fd_max_int = hapd->conf->fils_discovery_max_int; in hostapd_fils_discovery()
2156 params->fd_max_int > FD_MAX_INTERVAL_6GHZ) in hostapd_fils_discovery()
2157 params->fd_max_int = FD_MAX_INTERVAL_6GHZ; in hostapd_fils_discovery()
2159 params->fd_min_int = hapd->conf->fils_discovery_min_int; in hostapd_fils_discovery()
2160 if (params->fd_min_int > params->fd_max_int) in hostapd_fils_discovery()
2161 params->fd_min_int = params->fd_max_int; in hostapd_fils_discovery()
2163 if (params->fd_max_int) in hostapd_fils_discovery()
2165 ¶ms->fd_frame_tmpl_len); in hostapd_fils_discovery()
2174 struct wpa_driver_ap_params *params) in ieee802_11_build_ap_params() argument
2187 os_memset(params, 0, sizeof(*params)); in ieee802_11_build_ap_params()
2328 if (ieee802_11_build_ap_params_mbssid(hapd, params)) { in ieee802_11_build_ap_params()
2337 params->mbssid_elem_count == 1); in ieee802_11_build_ap_params()
2381 params->mbssid_elem_count); in ieee802_11_build_ap_params()
2479 os_memcpy(params->psk, hapd->conf->ssid.wpa_psk->psk, in ieee802_11_build_ap_params()
2481 params->psk_len = PMK_LEN; in ieee802_11_build_ap_params()
2486 params->psk, PMK_LEN) == 0) { in ieee802_11_build_ap_params()
2487 params->psk_len = PMK_LEN; in ieee802_11_build_ap_params()
2511 params->sae_password = sae_get_password(hapd, NULL, NULL, NULL, in ieee802_11_build_ap_params()
2513 if (!params->sae_password) { in ieee802_11_build_ap_params()
2520 params->head = (u8 *) head; in ieee802_11_build_ap_params()
2521 params->head_len = head_len; in ieee802_11_build_ap_params()
2522 params->tail = tail; in ieee802_11_build_ap_params()
2523 params->tail_len = tail_len; in ieee802_11_build_ap_params()
2524 params->proberesp = resp; in ieee802_11_build_ap_params()
2525 params->proberesp_len = resp_len; in ieee802_11_build_ap_params()
2526 params->dtim_period = hapd->conf->dtim_period; in ieee802_11_build_ap_params()
2527 params->beacon_int = hapd->iconf->beacon_int; in ieee802_11_build_ap_params()
2528 params->basic_rates = hapd->iface->basic_rates; in ieee802_11_build_ap_params()
2529 params->beacon_rate = hapd->iconf->beacon_rate; in ieee802_11_build_ap_params()
2530 params->rate_type = hapd->iconf->rate_type; in ieee802_11_build_ap_params()
2531 params->ssid = hapd->conf->ssid.ssid; in ieee802_11_build_ap_params()
2532 params->ssid_len = hapd->conf->ssid.ssid_len; in ieee802_11_build_ap_params()
2535 params->pairwise_ciphers = hapd->conf->wpa_pairwise | in ieee802_11_build_ap_params()
2538 params->pairwise_ciphers = hapd->conf->rsn_pairwise; in ieee802_11_build_ap_params()
2540 params->pairwise_ciphers = hapd->conf->wpa_pairwise; in ieee802_11_build_ap_params()
2541 params->group_cipher = hapd->conf->wpa_group; in ieee802_11_build_ap_params()
2542 params->key_mgmt_suites = hapd->conf->wpa_key_mgmt | in ieee802_11_build_ap_params()
2545 params->auth_algs = hapd->conf->auth_algs; in ieee802_11_build_ap_params()
2546 params->wpa_version = hapd->conf->wpa; in ieee802_11_build_ap_params()
2547 params->privacy = hapd->conf->wpa; in ieee802_11_build_ap_params()
2549 params->privacy |= hapd->conf->ssid.wep.keys_set || in ieee802_11_build_ap_params()
2556 params->hide_ssid = NO_SSID_HIDING; in ieee802_11_build_ap_params()
2559 params->hide_ssid = HIDDEN_SSID_ZERO_LEN; in ieee802_11_build_ap_params()
2562 params->hide_ssid = HIDDEN_SSID_ZERO_CONTENTS; in ieee802_11_build_ap_params()
2565 params->isolate = hapd->conf->isolate; in ieee802_11_build_ap_params()
2567 params->cts_protect = !!(ieee802_11_erp_info(hapd) & in ieee802_11_build_ap_params()
2569 params->preamble = hapd->iface->num_sta_no_short_preamble == 0 && in ieee802_11_build_ap_params()
2573 params->short_slot_time = in ieee802_11_build_ap_params()
2576 params->short_slot_time = -1; in ieee802_11_build_ap_params()
2578 params->ht_opmode = -1; in ieee802_11_build_ap_params()
2580 params->ht_opmode = hapd->iface->ht_op_mode; in ieee802_11_build_ap_params()
2582 params->interworking = hapd->conf->interworking; in ieee802_11_build_ap_params()
2585 params->hessid = hapd->conf->hessid; in ieee802_11_build_ap_params()
2586 params->access_network_type = hapd->conf->access_network_type; in ieee802_11_build_ap_params()
2587 params->ap_max_inactivity = hapd->conf->ap_max_inactivity; in ieee802_11_build_ap_params()
2589 params->p2p_go_ctwindow = hapd->iconf->p2p_go_ctwindow; in ieee802_11_build_ap_params()
2592 params->disable_dgaf = hapd->conf->disable_dgaf; in ieee802_11_build_ap_params()
2594 params->privacy = 1; in ieee802_11_build_ap_params()
2595 params->osen = 1; in ieee802_11_build_ap_params()
2598 params->multicast_to_unicast = hapd->conf->multicast_to_unicast; in ieee802_11_build_ap_params()
2599 params->pbss = hapd->conf->pbss; in ieee802_11_build_ap_params()
2603 params->ftm_responder = 1; in ieee802_11_build_ap_params()
2604 params->lci = hapd->iface->conf->lci; in ieee802_11_build_ap_params()
2605 params->civic = hapd->iface->conf->civic; in ieee802_11_build_ap_params()
2615 params->mld_ap = true; in ieee802_11_build_ap_params()
2616 params->mld_link_id = hapd->mld_link_id; in ieee802_11_build_ap_params()
2624 void ieee802_11_free_ap_params(struct wpa_driver_ap_params *params) in ieee802_11_free_ap_params() argument
2626 os_free(params->tail); in ieee802_11_free_ap_params()
2627 params->tail = NULL; in ieee802_11_free_ap_params()
2628 os_free(params->head); in ieee802_11_free_ap_params()
2629 params->head = NULL; in ieee802_11_free_ap_params()
2630 os_free(params->proberesp); in ieee802_11_free_ap_params()
2631 params->proberesp = NULL; in ieee802_11_free_ap_params()
2632 os_free(params->mbssid_elem); in ieee802_11_free_ap_params()
2633 params->mbssid_elem = NULL; in ieee802_11_free_ap_params()
2634 os_free(params->mbssid_elem_offset); in ieee802_11_free_ap_params()
2635 params->mbssid_elem_offset = NULL; in ieee802_11_free_ap_params()
2636 os_free(params->rnr_elem); in ieee802_11_free_ap_params()
2637 params->rnr_elem = NULL; in ieee802_11_free_ap_params()
2638 os_free(params->rnr_elem_offset); in ieee802_11_free_ap_params()
2639 params->rnr_elem_offset = NULL; in ieee802_11_free_ap_params()
2641 os_free(params->fd_frame_tmpl); in ieee802_11_free_ap_params()
2642 params->fd_frame_tmpl = NULL; in ieee802_11_free_ap_params()
2645 os_free(params->ubpr.unsol_bcast_probe_resp_tmpl); in ieee802_11_free_ap_params()
2646 params->ubpr.unsol_bcast_probe_resp_tmpl = NULL; in ieee802_11_free_ap_params()
2648 os_free(params->allowed_freqs); in ieee802_11_free_ap_params()
2649 params->allowed_freqs = NULL; in ieee802_11_free_ap_params()
2655 struct wpa_driver_ap_params params; in __ieee802_11_set_beacon() local
2677 if (ieee802_11_build_ap_params(hapd, ¶ms) < 0) in __ieee802_11_set_beacon()
2684 params.beacon_ies = beacon; in __ieee802_11_set_beacon()
2685 params.proberesp_ies = proberesp; in __ieee802_11_set_beacon()
2686 params.assocresp_ies = assocresp; in __ieee802_11_set_beacon()
2687 params.reenable = hapd->reenable_beacon; in __ieee802_11_set_beacon()
2689 params.he_spr_ctrl = hapd->iface->conf->spr.sr_control; in __ieee802_11_set_beacon()
2690 params.he_spr_non_srg_obss_pd_max_offset = in __ieee802_11_set_beacon()
2692 params.he_spr_srg_obss_pd_min_offset = in __ieee802_11_set_beacon()
2694 params.he_spr_srg_obss_pd_max_offset = in __ieee802_11_set_beacon()
2696 os_memcpy(params.he_spr_bss_color_bitmap, in __ieee802_11_set_beacon()
2698 os_memcpy(params.he_spr_partial_bssid_bitmap, in __ieee802_11_set_beacon()
2700 params.he_bss_color_disabled = in __ieee802_11_set_beacon()
2702 params.he_bss_color_partial = in __ieee802_11_set_beacon()
2704 params.he_bss_color = hapd->iface->conf->he_op.he_bss_color; in __ieee802_11_set_beacon()
2707 params.ubpr.unsol_bcast_probe_resp_tmpl = in __ieee802_11_set_beacon()
2708 hostapd_unsol_bcast_probe_resp(hapd, ¶ms.ubpr); in __ieee802_11_set_beacon()
2710 params.twt_responder = in __ieee802_11_set_beacon()
2714 params.sae_pwe = hapd->conf->sae_pwe; in __ieee802_11_set_beacon()
2718 params.fd_frame_tmpl = hostapd_fils_discovery(hapd, ¶ms); in __ieee802_11_set_beacon()
2722 params.punct_bitmap = iconf->punct_bitmap; in __ieee802_11_set_beacon()
2744 params.freq = &freq; in __ieee802_11_set_beacon()
2757 true, ¶ms.allowed_freqs); in __ieee802_11_set_beacon()
2760 res = hostapd_drv_set_ap(hapd, ¶ms); in __ieee802_11_set_beacon()
2767 ieee802_11_free_ap_params(¶ms); in __ieee802_11_set_beacon()