Lines Matching refs:conf
217 struct hostapd_bss_config *conf)
226 os_free(conf->eap_user_sqlite);
227 conf->eap_user_sqlite = os_strdup(fname + 7);
520 hostapd_config_free_eap_users(conf->eap_user);
521 conf->eap_user = new_user;
808 static int hostapd_parse_chanlist(struct hostapd_config *conf, char *val)
812 /* for backwards compatibility, translate ' ' in conf str to ',' */
819 if (freq_range_list_parse(&conf->acs_ch_list, val))
865 static int hostapd_config_bss(struct hostapd_config *conf, const char *ifname)
872 all = os_realloc_array(conf->bss, conf->num_bss + 1,
879 conf->bss = all;
892 conf->bss[conf->num_bss++] = bss;
893 conf->last_bss = bss;
939 static int hostapd_config_tx_queue(struct hostapd_config *conf,
967 queue = &conf->tx_queue[num];
1095 static int hostapd_config_ht_capab(struct hostapd_config *conf,
1099 conf->ht_capab |= HT_CAP_INFO_LDPC_CODING_CAP;
1101 conf->ht_capab |= HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
1102 conf->secondary_channel = -1;
1105 conf->ht_capab |= HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
1106 conf->secondary_channel = 1;
1109 conf->ht_capab &= ~HT_CAP_INFO_SMPS_MASK;
1110 conf->ht_capab |= HT_CAP_INFO_SMPS_STATIC;
1113 conf->ht_capab &= ~HT_CAP_INFO_SMPS_MASK;
1114 conf->ht_capab |= HT_CAP_INFO_SMPS_DYNAMIC;
1117 conf->ht_capab |= HT_CAP_INFO_GREEN_FIELD;
1119 conf->ht_capab |= HT_CAP_INFO_SHORT_GI20MHZ;
1121 conf->ht_capab |= HT_CAP_INFO_SHORT_GI40MHZ;
1123 conf->ht_capab |= HT_CAP_INFO_TX_STBC;
1125 conf->ht_capab &= ~HT_CAP_INFO_RX_STBC_MASK;
1126 conf->ht_capab |= HT_CAP_INFO_RX_STBC_1;
1129 conf->ht_capab &= ~HT_CAP_INFO_RX_STBC_MASK;
1130 conf->ht_capab |= HT_CAP_INFO_RX_STBC_12;
1133 conf->ht_capab &= ~HT_CAP_INFO_RX_STBC_MASK;
1134 conf->ht_capab |= HT_CAP_INFO_RX_STBC_123;
1137 conf->ht_capab |= HT_CAP_INFO_DELAYED_BA;
1139 conf->ht_capab |= HT_CAP_INFO_MAX_AMSDU_SIZE;
1141 conf->ht_capab |= HT_CAP_INFO_DSSS_CCK40MHZ;
1143 conf->ht_capab |= HT_CAP_INFO_40MHZ_INTOLERANT;
1145 conf->ht_capab |= HT_CAP_INFO_LSIG_TXOP_PROTECT_SUPPORT;
1153 static int hostapd_config_vht_capab(struct hostapd_config *conf,
1157 conf->vht_capab |= VHT_CAP_MAX_MPDU_LENGTH_7991;
1159 conf->vht_capab |= VHT_CAP_MAX_MPDU_LENGTH_11454;
1161 conf->vht_capab |= VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
1163 conf->vht_capab |= VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
1165 conf->vht_capab |= VHT_CAP_RXLDPC;
1167 conf->vht_capab |= VHT_CAP_SHORT_GI_80;
1169 conf->vht_capab |= VHT_CAP_SHORT_GI_160;
1171 conf->vht_capab |= VHT_CAP_TXSTBC;
1173 conf->vht_capab |= VHT_CAP_RXSTBC_1;
1175 conf->vht_capab |= VHT_CAP_RXSTBC_2;
1177 conf->vht_capab |= VHT_CAP_RXSTBC_3;
1179 conf->vht_capab |= VHT_CAP_RXSTBC_4;
1181 conf->vht_capab |= VHT_CAP_SU_BEAMFORMER_CAPABLE;
1183 conf->vht_capab |= VHT_CAP_SU_BEAMFORMEE_CAPABLE;
1185 (conf->vht_capab & VHT_CAP_SU_BEAMFORMEE_CAPABLE))
1186 conf->vht_capab |= (1 << VHT_CAP_BEAMFORMEE_STS_OFFSET);
1188 (conf->vht_capab & VHT_CAP_SU_BEAMFORMEE_CAPABLE))
1189 conf->vht_capab |= (2 << VHT_CAP_BEAMFORMEE_STS_OFFSET);
1191 (conf->vht_capab & VHT_CAP_SU_BEAMFORMEE_CAPABLE))
1192 conf->vht_capab |= (3 << VHT_CAP_BEAMFORMEE_STS_OFFSET);
1194 (conf->vht_capab & VHT_CAP_SU_BEAMFORMER_CAPABLE))
1195 conf->vht_capab |= (1 << VHT_CAP_SOUNDING_DIMENSION_OFFSET);
1197 (conf->vht_capab & VHT_CAP_SU_BEAMFORMER_CAPABLE))
1198 conf->vht_capab |= (2 << VHT_CAP_SOUNDING_DIMENSION_OFFSET);
1200 (conf->vht_capab & VHT_CAP_SU_BEAMFORMER_CAPABLE))
1201 conf->vht_capab |= (3 << VHT_CAP_SOUNDING_DIMENSION_OFFSET);
1203 conf->vht_capab |= VHT_CAP_MU_BEAMFORMER_CAPABLE;
1205 conf->vht_capab |= VHT_CAP_VHT_TXOP_PS;
1207 conf->vht_capab |= VHT_CAP_HTC_VHT;
1209 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX;
1211 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_6;
1213 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_5;
1215 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_4;
1217 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_3;
1219 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_2;
1221 conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_1;
1223 (conf->vht_capab & VHT_CAP_HTC_VHT))
1224 conf->vht_capab |= VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB;
1226 (conf->vht_capab & VHT_CAP_HTC_VHT))
1227 conf->vht_capab |= VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB;
1229 conf->vht_capab |= VHT_CAP_RX_ANTENNA_PATTERN;
1231 conf->vht_capab |= VHT_CAP_TX_ANTENNA_PATTERN;
1943 static int hostapd_config_parse_acs_chan_bias(struct hostapd_config *conf,
1972 os_free(conf->acs_chan_bias);
1973 conf->acs_chan_bias = bias;
1974 conf->num_acs_chan_bias = num;
2032 static int hostapd_config_fill(struct hostapd_config *conf,
2037 os_strlcpy(conf->bss[0]->iface, pos,
2038 sizeof(conf->bss[0]->iface));
2061 conf->driver = driver;
2063 os_free(conf->driver_params);
2064 conf->driver_params = os_strdup(pos);
2140 os_memcpy(conf->country, pos, 2);
2142 conf->country[2] = ' ';
2144 conf->ieee80211d = atoi(pos);
2146 conf->ieee80211h = atoi(pos);
2683 conf->hw_mode = HOSTAPD_MODE_IEEE80211A;
2685 conf->hw_mode = HOSTAPD_MODE_IEEE80211B;
2687 conf->hw_mode = HOSTAPD_MODE_IEEE80211G;
2689 conf->hw_mode = HOSTAPD_MODE_IEEE80211AD;
2691 conf->hw_mode = HOSTAPD_MODE_IEEE80211ANY;
2721 conf->acs = 1;
2722 conf->channel = 0;
2725 conf->channel = atoi(pos);
2726 conf->acs = conf->channel == 0;
2729 if (hostapd_parse_chanlist(conf, pos)) {
2746 conf->beacon_int = val;
2755 conf->acs_num_scans = val;
2757 if (hostapd_config_parse_acs_chan_bias(conf, pos)) {
2782 conf->rts_threshold = atoi(pos);
2783 if (conf->rts_threshold < -1 || conf->rts_threshold > 65535) {
2786 line, conf->rts_threshold);
2790 conf->fragm_threshold = atoi(pos);
2791 if (conf->fragm_threshold == -1) {
2793 } else if (conf->fragm_threshold < 256 ||
2794 conf->fragm_threshold > 2346) {
2797 line, conf->fragm_threshold);
2807 conf->send_probe_response = val;
2809 if (hostapd_parse_intlist(&conf->supported_rates, pos)) {
2815 if (hostapd_parse_intlist(&conf->basic_rates, pos)) {
2831 conf->rate_type = BEACON_RATE_HT;
2832 conf->beacon_rate = val;
2841 conf->rate_type = BEACON_RATE_VHT;
2842 conf->beacon_rate = val;
2851 conf->rate_type = BEACON_RATE_LEGACY;
2852 conf->beacon_rate = val;
2856 conf->preamble = SHORT_PREAMBLE;
2858 conf->preamble = LONG_PREAMBLE;
2908 conf->ap_table_max_size = atoi(pos);
2910 conf->ap_table_expiration_time = atoi(pos);
2912 if (hostapd_config_tx_queue(conf, buf, pos)) {
2924 if (hostapd_config_wmm_ac(conf->wmm_ac_params, buf, pos)) {
2930 if (hostapd_config_bss(conf, pos)) {
2942 conf->use_driver_iface_addr = atoi(pos);
2977 conf->ieee80211n = atoi(pos);
2979 if (hostapd_config_ht_capab(conf, pos) < 0) {
2985 conf->require_ht = atoi(pos);
2987 conf->obss_interval = atoi(pos);
2991 conf->ieee80211ac = atoi(pos);
2993 if (hostapd_config_vht_capab(conf, pos) < 0) {
2999 conf->require_vht = atoi(pos);
3001 conf->vht_oper_chwidth = atoi(pos);
3003 conf->vht_oper_centr_freq_seg0_idx = atoi(pos);
3005 conf->vht_oper_centr_freq_seg1_idx = atoi(pos);
3013 conf->ieee80211ax = atoi(pos);
3015 conf->he_phy_capab.he_su_beamformer = atoi(pos);
3017 conf->he_phy_capab.he_su_beamformee = atoi(pos);
3019 conf->he_phy_capab.he_mu_beamformer = atoi(pos);
3021 conf->he_op.he_bss_color = atoi(pos);
3023 conf->he_op.he_default_pe_duration = atoi(pos);
3025 conf->he_op.he_twt_required = atoi(pos);
3027 conf->he_op.he_rts_threshold = atoi(pos);
3454 conf->_val = strtod(pos, &end); \
3455 if (*end || conf->_val < 0.0 || \
3456 conf->_val > 1.0) { \
3468 conf->ecsa_ie_only = atoi(pos);
3539 conf->local_pwr_constraint = val;
3541 conf->spectrum_mgmt_required = atoi(pos);
3549 if (!len || len >= sizeof(conf->fst_cfg.group_id)) {
3556 if (conf->fst_cfg.group_id[0]) {
3563 os_strlcpy(conf->fst_cfg.group_id, pos,
3564 sizeof(conf->fst_cfg.group_id));
3583 conf->fst_cfg.priority = (u8) val;
3602 conf->fst_cfg.llt = (u32) val;
3605 conf->track_sta_max_num = atoi(pos);
3607 conf->track_sta_max_age = atoi(pos);
3615 wpabuf_free(conf->lci);
3616 conf->lci = wpabuf_parse_bin(pos);
3617 if (conf->lci && wpabuf_len(conf->lci) == 0) {
3618 wpabuf_free(conf->lci);
3619 conf->lci = NULL;
3622 wpabuf_free(conf->civic);
3623 conf->civic = wpabuf_parse_bin(pos);
3624 if (conf->civic && wpabuf_len(conf->civic) == 0) {
3625 wpabuf_free(conf->civic);
3626 conf->civic = NULL;
3641 conf->stationary_ap = atoi(pos);
3694 struct hostapd_config *conf;
3708 conf = hostapd_config_defaults();
3709 if (conf == NULL) {
3715 conf->driver = wpa_drivers[0];
3716 if (conf->driver == NULL) {
3718 hostapd_config_free(conf);
3723 conf->last_bss = conf->bss[0];
3728 bss = conf->last_bss;
3753 errors += hostapd_config_fill(conf, bss, buf, pos, line);
3758 for (i = 0; i < conf->num_bss; i++)
3759 hostapd_set_security_params(conf->bss[i], 1);
3761 if (hostapd_config_check(conf, 1))
3768 hostapd_config_free(conf);
3769 conf = NULL;
3773 return conf;
3777 int hostapd_set_iface(struct hostapd_config *conf,
3784 errors = hostapd_config_fill(conf, bss, field, value, 0);
3791 for (i = 0; i < conf->num_bss; i++)
3792 hostapd_set_security_params(conf->bss[i], 0);
3794 if (hostapd_config_check(conf, 0)) {