Lines Matching full:modes
1601 struct hostapd_hw_modes *modes; member
2056 mode = os_realloc_array(phy_info->modes, in phy_info_band()
2063 phy_info->modes = mode; in phy_info_band()
2065 mode = &phy_info->modes[*(phy_info->num_modes)]; in phy_info_band()
2087 mode = &phy_info->modes[*(phy_info->num_modes) - 1]; in phy_info_band()
2154 wpa_driver_nl80211_postprocess_modes(struct hostapd_hw_modes *modes, in wpa_driver_nl80211_postprocess_modes() argument
2161 /* heuristic to set up modes */ in wpa_driver_nl80211_postprocess_modes()
2163 if (!modes[m].num_channels) in wpa_driver_nl80211_postprocess_modes()
2166 modes[m].is_6ghz = false; in wpa_driver_nl80211_postprocess_modes()
2168 if (modes[m].channels[0].freq < 2000) { in wpa_driver_nl80211_postprocess_modes()
2169 modes[m].num_channels = 0; in wpa_driver_nl80211_postprocess_modes()
2171 } else if (modes[m].channels[0].freq < 4000) { in wpa_driver_nl80211_postprocess_modes()
2172 modes[m].mode = HOSTAPD_MODE_IEEE80211B; in wpa_driver_nl80211_postprocess_modes()
2173 for (i = 0; i < modes[m].num_rates; i++) { in wpa_driver_nl80211_postprocess_modes()
2174 if (modes[m].rates[i] > 200) { in wpa_driver_nl80211_postprocess_modes()
2175 modes[m].mode = HOSTAPD_MODE_IEEE80211G; in wpa_driver_nl80211_postprocess_modes()
2179 } else if (modes[m].channels[0].freq > 50000) { in wpa_driver_nl80211_postprocess_modes()
2180 modes[m].mode = HOSTAPD_MODE_IEEE80211AD; in wpa_driver_nl80211_postprocess_modes()
2181 } else if (is_6ghz_freq(modes[m].channels[0].freq)) { in wpa_driver_nl80211_postprocess_modes()
2182 modes[m].mode = HOSTAPD_MODE_IEEE80211A; in wpa_driver_nl80211_postprocess_modes()
2183 modes[m].is_6ghz = true; in wpa_driver_nl80211_postprocess_modes()
2185 modes[m].mode = HOSTAPD_MODE_IEEE80211A; in wpa_driver_nl80211_postprocess_modes()
2192 if (modes[m].mode == NUM_HOSTAPD_MODES) { in wpa_driver_nl80211_postprocess_modes()
2195 os_free(modes[m].channels); in wpa_driver_nl80211_postprocess_modes()
2196 os_free(modes[m].rates); in wpa_driver_nl80211_postprocess_modes()
2198 os_memmove(&modes[m], &modes[m + 1], in wpa_driver_nl80211_postprocess_modes()
2211 if (modes[m].mode == HOSTAPD_MODE_IEEE80211B) in wpa_driver_nl80211_postprocess_modes()
2212 return modes; /* 802.11b already included */ in wpa_driver_nl80211_postprocess_modes()
2213 if (modes[m].mode == HOSTAPD_MODE_IEEE80211G) in wpa_driver_nl80211_postprocess_modes()
2218 return modes; /* 2.4 GHz band not supported at all */ in wpa_driver_nl80211_postprocess_modes()
2220 nmodes = os_realloc_array(modes, *num_modes + 1, sizeof(*nmodes)); in wpa_driver_nl80211_postprocess_modes()
2222 return modes; /* Could not add 802.11b mode */ in wpa_driver_nl80211_postprocess_modes()
2227 modes = nmodes; in wpa_driver_nl80211_postprocess_modes()
2231 mode11g = &modes[mode11g_idx]; in wpa_driver_nl80211_postprocess_modes()
2238 return modes; /* Could not add 802.11b mode */ in wpa_driver_nl80211_postprocess_modes()
2246 return modes; /* Could not add 802.11b mode */ in wpa_driver_nl80211_postprocess_modes()
2263 return modes; /* No 802.11b rates */ in wpa_driver_nl80211_postprocess_modes()
2269 return modes; in wpa_driver_nl80211_postprocess_modes()
2310 struct hostapd_hw_modes *mode = &results->modes[m]; in nl80211_reg_rule_max_eirp()
2328 if (!(results->modes[m].ht_capab & in nl80211_reg_rule_ht40()
2331 nl80211_set_ht40_mode(&results->modes[m], start, end); in nl80211_reg_rule_ht40()
2355 if (!(results->modes[m].ht_capab & in nl80211_reg_rule_sec()
2358 nl80211_set_ht40_mode_sec(&results->modes[m], start, end); in nl80211_reg_rule_sec()
2402 if (!(results->modes[m].ht_capab & in nl80211_reg_rule_vht()
2406 if (!results->modes[m].vht_capab) in nl80211_reg_rule_vht()
2409 nl80211_set_vht_mode(&results->modes[m], start, end, max_bw); in nl80211_reg_rule_vht()
2456 if (results->modes[m].num_channels == 0 || in nl80211_reg_rule_6ghz()
2457 !is_6ghz_freq(results->modes[m].channels[0].freq)) in nl80211_reg_rule_6ghz()
2460 nl80211_set_6ghz_mode(&results->modes[m], start, end, max_bw); in nl80211_reg_rule_6ghz()
2633 struct hostapd_hw_modes *modes, in nl80211_dump_chan_list() argument
2638 if (!modes) in nl80211_dump_chan_list()
2642 struct hostapd_hw_modes *mode = &modes[i]; in nl80211_dump_chan_list()
2686 .modes = NULL, in nl80211_get_hw_feature_data()
2706 struct hostapd_hw_modes *modes; in nl80211_get_hw_feature_data() local
2712 for (i = 0; result.modes && i < *num_modes; i++) { in nl80211_get_hw_feature_data()
2713 os_free(result.modes[i].channels); in nl80211_get_hw_feature_data()
2714 os_free(result.modes[i].rates); in nl80211_get_hw_feature_data()
2716 os_free(result.modes); in nl80211_get_hw_feature_data()
2723 modes = wpa_driver_nl80211_postprocess_modes(result.modes, in nl80211_get_hw_feature_data()
2725 nl80211_dump_chan_list(drv, modes, *num_modes); in nl80211_get_hw_feature_data()
2726 return modes; in nl80211_get_hw_feature_data()