Lines Matching refs:params
866 result->params[parse.idx].cipher = parse.p.cipher; in nl80211_parse_connkeys()
867 result->params[parse.idx].key_len = parse.p.key_len; in nl80211_parse_connkeys()
868 result->params[parse.idx].key = result->data[parse.idx]; in nl80211_parse_connkeys()
2563 struct vif_params params; in nl80211_set_interface() local
2570 memset(¶ms, 0, sizeof(params)); in nl80211_set_interface()
2601 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); in nl80211_set_interface()
2603 err = nl80211_valid_4addr(rdev, dev, params.use_4addr, ntype); in nl80211_set_interface()
2607 params.use_4addr = -1; in nl80211_set_interface()
2627 err = cfg80211_change_iface(rdev, dev, ntype, flags, ¶ms); in nl80211_set_interface()
2631 if (!err && params.use_4addr != -1) in nl80211_set_interface()
2632 dev->ieee80211_ptr->use_4addr = params.use_4addr; in nl80211_set_interface()
2640 struct vif_params params; in nl80211_new_interface() local
2650 memset(¶ms, 0, sizeof(params)); in nl80211_new_interface()
2668 nla_memcpy(params.macaddr, info->attrs[NL80211_ATTR_MAC], in nl80211_new_interface()
2670 if (!is_valid_ether_addr(params.macaddr)) in nl80211_new_interface()
2675 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); in nl80211_new_interface()
2676 err = nl80211_valid_4addr(rdev, NULL, params.use_4addr, type); in nl80211_new_interface()
2696 ¶ms); in nl80211_new_interface()
2823 static void get_key_callback(void *c, struct key_params *params) in get_key_callback() argument
2828 if ((params->key && in get_key_callback()
2830 params->key_len, params->key)) || in get_key_callback()
2831 (params->seq && in get_key_callback()
2833 params->seq_len, params->seq)) || in get_key_callback()
2834 (params->cipher && in get_key_callback()
2836 params->cipher))) in get_key_callback()
2843 if ((params->key && in get_key_callback()
2845 params->key_len, params->key)) || in get_key_callback()
2846 (params->seq && in get_key_callback()
2848 params->seq_len, params->seq)) || in get_key_callback()
2849 (params->cipher && in get_key_callback()
2851 params->cipher))) in get_key_callback()
3264 struct cfg80211_ap_settings *params) in nl80211_get_ap_channel() argument
3277 params->chandef = wdev->preset_chandef; in nl80211_get_ap_channel()
3314 struct cfg80211_ap_settings params; in nl80211_start_ap() local
3327 memset(¶ms, 0, sizeof(params)); in nl80211_start_ap()
3335 err = nl80211_parse_beacon(info->attrs, ¶ms.beacon); in nl80211_start_ap()
3339 params.beacon_interval = in nl80211_start_ap()
3341 params.dtim_period = in nl80211_start_ap()
3344 err = cfg80211_validate_beacon_int(rdev, params.beacon_interval); in nl80211_start_ap()
3356 params.ssid = nla_data(info->attrs[NL80211_ATTR_SSID]); in nl80211_start_ap()
3357 params.ssid_len = in nl80211_start_ap()
3359 if (params.ssid_len == 0 || in nl80211_start_ap()
3360 params.ssid_len > IEEE80211_MAX_SSID_LEN) in nl80211_start_ap()
3365 params.hidden_ssid = nla_get_u32( in nl80211_start_ap()
3367 if (params.hidden_ssid != NL80211_HIDDEN_SSID_NOT_IN_USE && in nl80211_start_ap()
3368 params.hidden_ssid != NL80211_HIDDEN_SSID_ZERO_LEN && in nl80211_start_ap()
3369 params.hidden_ssid != NL80211_HIDDEN_SSID_ZERO_CONTENTS) in nl80211_start_ap()
3373 params.privacy = !!info->attrs[NL80211_ATTR_PRIVACY]; in nl80211_start_ap()
3376 params.auth_type = nla_get_u32( in nl80211_start_ap()
3378 if (!nl80211_valid_auth_type(rdev, params.auth_type, in nl80211_start_ap()
3382 params.auth_type = NL80211_AUTHTYPE_AUTOMATIC; in nl80211_start_ap()
3384 err = nl80211_crypto_settings(rdev, info, ¶ms.crypto, in nl80211_start_ap()
3392 params.inactivity_timeout = nla_get_u16( in nl80211_start_ap()
3399 params.p2p_ctwindow = in nl80211_start_ap()
3401 if (params.p2p_ctwindow > 127) in nl80211_start_ap()
3403 if (params.p2p_ctwindow != 0 && in nl80211_start_ap()
3416 params.p2p_opp_ps = tmp; in nl80211_start_ap()
3417 if (params.p2p_opp_ps != 0 && in nl80211_start_ap()
3423 err = nl80211_parse_chandef(rdev, info, ¶ms.chandef); in nl80211_start_ap()
3427 params.chandef = wdev->preset_chandef; in nl80211_start_ap()
3428 } else if (!nl80211_get_ap_channel(rdev, ¶ms)) in nl80211_start_ap()
3431 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, ¶ms.chandef, in nl80211_start_ap()
3436 params.smps_mode = in nl80211_start_ap()
3438 switch (params.smps_mode) { in nl80211_start_ap()
3455 params.smps_mode = NL80211_SMPS_OFF; in nl80211_start_ap()
3459 params.acl = parse_acl_data(&rdev->wiphy, info); in nl80211_start_ap()
3460 if (IS_ERR(params.acl)) in nl80211_start_ap()
3461 return PTR_ERR(params.acl); in nl80211_start_ap()
3465 err = rdev_start_ap(rdev, dev, ¶ms); in nl80211_start_ap()
3467 wdev->preset_chandef = params.chandef; in nl80211_start_ap()
3468 wdev->beacon_interval = params.beacon_interval; in nl80211_start_ap()
3469 wdev->chandef = params.chandef; in nl80211_start_ap()
3470 wdev->ssid_len = params.ssid_len; in nl80211_start_ap()
3471 memcpy(wdev->ssid, params.ssid, wdev->ssid_len); in nl80211_start_ap()
3475 kfree(params.acl); in nl80211_start_ap()
3485 struct cfg80211_beacon_data params; in nl80211_set_beacon() local
3498 err = nl80211_parse_beacon(info->attrs, ¶ms); in nl80211_set_beacon()
3503 err = rdev_change_beacon(rdev, dev, ¶ms); in nl80211_set_beacon()
3528 struct station_parameters *params) in parse_station_flags() argument
3543 params->sta_flags_mask = sta_flags->mask; in parse_station_flags()
3544 params->sta_flags_set = sta_flags->set; in parse_station_flags()
3545 params->sta_flags_set &= params->sta_flags_mask; in parse_station_flags()
3546 if ((params->sta_flags_mask | in parse_station_flags()
3547 params->sta_flags_set) & BIT(__NL80211_STA_FLAG_INVALID)) in parse_station_flags()
3572 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in parse_station_flags()
3579 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in parse_station_flags()
3583 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHENTICATED) | in parse_station_flags()
3592 params->sta_flags_set |= (1<<flag); in parse_station_flags()
3968 struct station_parameters *params, in cfg80211_check_station_change() argument
3971 if (params->listen_interval != -1 && in cfg80211_check_station_change()
3975 if (params->aid && in cfg80211_check_station_change()
3976 !(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) && in cfg80211_check_station_change()
3991 if (params->sta_flags_mask & in cfg80211_check_station_change()
3999 if (!(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) in cfg80211_check_station_change()
4002 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in cfg80211_check_station_change()
4006 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION) in cfg80211_check_station_change()
4008 if (params->local_pm) in cfg80211_check_station_change()
4010 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE) in cfg80211_check_station_change()
4017 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) in cfg80211_check_station_change()
4024 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in cfg80211_check_station_change()
4030 if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) in cfg80211_check_station_change()
4032 if (params->sta_modify_mask & STATION_PARAM_APPLY_CAPABILITY) in cfg80211_check_station_change()
4034 if (params->supported_rates) in cfg80211_check_station_change()
4036 if (params->ext_capab || params->ht_capa || params->vht_capa) in cfg80211_check_station_change()
4042 if (params->vlan) in cfg80211_check_station_change()
4049 if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED))) in cfg80211_check_station_change()
4055 if (params->sta_flags_mask & in cfg80211_check_station_change()
4066 params->sta_flags_mask & in cfg80211_check_station_change()
4074 if (params->sta_flags_mask & ~BIT(NL80211_STA_FLAG_AUTHORIZED)) in cfg80211_check_station_change()
4079 if (params->sta_flags_mask & ~(BIT(NL80211_STA_FLAG_AUTHORIZED) | in cfg80211_check_station_change()
4083 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_AUTHORIZED) && in cfg80211_check_station_change()
4084 !params->supported_rates) in cfg80211_check_station_change()
4091 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE) in cfg80211_check_station_change()
4095 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION && in cfg80211_check_station_change()
4096 params->plink_action != NL80211_PLINK_ACTION_BLOCK) in cfg80211_check_station_change()
4152 struct station_parameters *params) in nl80211_parse_sta_wme() argument
4169 params->uapsd_queues = nla_get_u8( in nl80211_parse_sta_wme()
4171 if (params->uapsd_queues & ~IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK) in nl80211_parse_sta_wme()
4175 params->max_sp = nla_get_u8(tb[NL80211_STA_WME_MAX_SP]); in nl80211_parse_sta_wme()
4177 if (params->max_sp & ~IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK) in nl80211_parse_sta_wme()
4180 params->sta_modify_mask |= STATION_PARAM_APPLY_UAPSD; in nl80211_parse_sta_wme()
4186 struct station_parameters *params) in nl80211_parse_sta_channel_info() argument
4189 params->supported_channels = in nl80211_parse_sta_channel_info()
4191 params->supported_channels_len = in nl80211_parse_sta_channel_info()
4198 if (params->supported_channels_len < 2) in nl80211_parse_sta_channel_info()
4200 if (params->supported_channels_len % 2) in nl80211_parse_sta_channel_info()
4205 params->supported_oper_classes = in nl80211_parse_sta_channel_info()
4207 params->supported_oper_classes_len = in nl80211_parse_sta_channel_info()
4213 if (params->supported_oper_classes_len < 2 || in nl80211_parse_sta_channel_info()
4214 params->supported_oper_classes_len > 253) in nl80211_parse_sta_channel_info()
4221 struct station_parameters *params) in nl80211_set_station_tdls() argument
4226 params->aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]); in nl80211_set_station_tdls()
4228 params->ht_capa = in nl80211_set_station_tdls()
4231 params->vht_capa = in nl80211_set_station_tdls()
4234 err = nl80211_parse_sta_channel_info(info, params); in nl80211_set_station_tdls()
4238 return nl80211_parse_sta_wme(info, params); in nl80211_set_station_tdls()
4245 struct station_parameters params; in nl80211_set_station() local
4249 memset(¶ms, 0, sizeof(params)); in nl80211_set_station()
4260 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]); in nl80211_set_station()
4263 params.listen_interval = in nl80211_set_station()
4266 params.listen_interval = -1; in nl80211_set_station()
4274 params.supported_rates = in nl80211_set_station()
4276 params.supported_rates_len = in nl80211_set_station()
4281 params.capability = in nl80211_set_station()
4283 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY; in nl80211_set_station()
4287 params.ext_capab = in nl80211_set_station()
4289 params.ext_capab_len = in nl80211_set_station()
4293 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, ¶ms)) in nl80211_set_station()
4297 params.plink_action = in nl80211_set_station()
4299 if (params.plink_action >= NUM_NL80211_PLINK_ACTIONS) in nl80211_set_station()
4304 params.plink_state = in nl80211_set_station()
4306 if (params.plink_state >= NUM_NL80211_PLINK_STATES) in nl80211_set_station()
4308 params.sta_modify_mask |= STATION_PARAM_APPLY_PLINK_STATE; in nl80211_set_station()
4319 params.local_pm = pm; in nl80211_set_station()
4323 err = nl80211_set_station_tdls(info, ¶ms); in nl80211_set_station()
4327 params.vlan = get_vlan(info, rdev); in nl80211_set_station()
4328 if (IS_ERR(params.vlan)) in nl80211_set_station()
4329 return PTR_ERR(params.vlan); in nl80211_set_station()
4346 err = rdev_change_station(rdev, dev, mac_addr, ¶ms); in nl80211_set_station()
4349 if (params.vlan) in nl80211_set_station()
4350 dev_put(params.vlan); in nl80211_set_station()
4360 struct station_parameters params; in nl80211_new_station() local
4363 memset(¶ms, 0, sizeof(params)); in nl80211_new_station()
4382 params.supported_rates = in nl80211_new_station()
4384 params.supported_rates_len = in nl80211_new_station()
4386 params.listen_interval = in nl80211_new_station()
4390 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]); in nl80211_new_station()
4392 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]); in nl80211_new_station()
4393 if (!params.aid || params.aid > IEEE80211_MAX_AID) in nl80211_new_station()
4397 params.capability = in nl80211_new_station()
4399 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY; in nl80211_new_station()
4403 params.ext_capab = in nl80211_new_station()
4405 params.ext_capab_len = in nl80211_new_station()
4410 params.ht_capa = in nl80211_new_station()
4414 params.vht_capa = in nl80211_new_station()
4418 params.opmode_notif_used = true; in nl80211_new_station()
4419 params.opmode_notif = in nl80211_new_station()
4424 params.plink_action = in nl80211_new_station()
4426 if (params.plink_action >= NUM_NL80211_PLINK_ACTIONS) in nl80211_new_station()
4430 err = nl80211_parse_sta_channel_info(info, ¶ms); in nl80211_new_station()
4434 err = nl80211_parse_sta_wme(info, ¶ms); in nl80211_new_station()
4438 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, ¶ms)) in nl80211_new_station()
4446 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) { in nl80211_new_station()
4447 params.ht_capa = NULL; in nl80211_new_station()
4448 params.vht_capa = NULL; in nl80211_new_station()
4460 !(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) in nl80211_new_station()
4461 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4464 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) || in nl80211_new_station()
4468 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in nl80211_new_station()
4473 params.sta_flags_mask & in nl80211_new_station()
4479 params.vlan = get_vlan(info, rdev); in nl80211_new_station()
4480 if (IS_ERR(params.vlan)) in nl80211_new_station()
4481 return PTR_ERR(params.vlan); in nl80211_new_station()
4485 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4488 if (params.sta_flags_mask & BIT(NL80211_STA_FLAG_ASSOCIATED)) in nl80211_new_station()
4491 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) || in nl80211_new_station()
4498 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4501 if (params.sta_flags_mask & in nl80211_new_station()
4506 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) in nl80211_new_station()
4518 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_AUTHORIZED); in nl80211_new_station()
4526 err = rdev_add_station(rdev, dev, mac_addr, ¶ms); in nl80211_new_station()
4528 if (params.vlan) in nl80211_new_station()
4529 dev_put(params.vlan); in nl80211_new_station()
4537 struct station_del_parameters params; in nl80211_del_station() local
4539 memset(¶ms, 0, sizeof(params)); in nl80211_del_station()
4542 params.mac = nla_data(info->attrs[NL80211_ATTR_MAC]); in nl80211_del_station()
4554 params.subtype = in nl80211_del_station()
4556 if (params.subtype != IEEE80211_STYPE_DISASSOC >> 4 && in nl80211_del_station()
4557 params.subtype != IEEE80211_STYPE_DEAUTH >> 4) in nl80211_del_station()
4561 params.subtype = IEEE80211_STYPE_DEAUTH >> 4; in nl80211_del_station()
4565 params.reason_code = in nl80211_del_station()
4567 if (params.reason_code == 0) in nl80211_del_station()
4571 params.reason_code = WLAN_REASON_PREV_AUTH_NOT_VALID; in nl80211_del_station()
4574 return rdev_del_station(rdev, dev, ¶ms); in nl80211_del_station()
4882 struct bss_parameters params; in nl80211_set_bss() local
4885 memset(¶ms, 0, sizeof(params)); in nl80211_set_bss()
4887 params.use_cts_prot = -1; in nl80211_set_bss()
4888 params.use_short_preamble = -1; in nl80211_set_bss()
4889 params.use_short_slot_time = -1; in nl80211_set_bss()
4890 params.ap_isolate = -1; in nl80211_set_bss()
4891 params.ht_opmode = -1; in nl80211_set_bss()
4892 params.p2p_ctwindow = -1; in nl80211_set_bss()
4893 params.p2p_opp_ps = -1; in nl80211_set_bss()
4896 params.use_cts_prot = in nl80211_set_bss()
4899 params.use_short_preamble = in nl80211_set_bss()
4902 params.use_short_slot_time = in nl80211_set_bss()
4905 params.basic_rates = in nl80211_set_bss()
4907 params.basic_rates_len = in nl80211_set_bss()
4911 params.ap_isolate = !!nla_get_u8(info->attrs[NL80211_ATTR_AP_ISOLATE]); in nl80211_set_bss()
4913 params.ht_opmode = in nl80211_set_bss()
4919 params.p2p_ctwindow = in nl80211_set_bss()
4921 if (params.p2p_ctwindow < 0) in nl80211_set_bss()
4923 if (params.p2p_ctwindow != 0 && in nl80211_set_bss()
4936 params.p2p_opp_ps = tmp; in nl80211_set_bss()
4937 if (params.p2p_opp_ps && in nl80211_set_bss()
4950 err = rdev_change_bss(rdev, dev, ¶ms); in nl80211_set_bss()
6526 struct cfg80211_csa_settings params; in nl80211_channel_switch() local
6561 memset(¶ms, 0, sizeof(params)); in nl80211_channel_switch()
6578 params.count = cs_count; in nl80211_channel_switch()
6583 err = nl80211_parse_beacon(info->attrs, ¶ms.beacon_after); in nl80211_channel_switch()
6593 err = nl80211_parse_beacon(csa_attrs, ¶ms.beacon_csa); in nl80211_channel_switch()
6604 params.n_counter_offsets_beacon = len / sizeof(u16); in nl80211_channel_switch()
6606 (params.n_counter_offsets_beacon > in nl80211_channel_switch()
6610 params.counter_offsets_beacon = in nl80211_channel_switch()
6614 for (i = 0; i < params.n_counter_offsets_beacon; i++) { in nl80211_channel_switch()
6615 u16 offset = params.counter_offsets_beacon[i]; in nl80211_channel_switch()
6617 if (offset >= params.beacon_csa.tail_len) in nl80211_channel_switch()
6620 if (params.beacon_csa.tail[offset] != params.count) in nl80211_channel_switch()
6629 params.n_counter_offsets_presp = len / sizeof(u16); in nl80211_channel_switch()
6631 (params.n_counter_offsets_beacon > in nl80211_channel_switch()
6635 params.counter_offsets_presp = in nl80211_channel_switch()
6639 for (i = 0; i < params.n_counter_offsets_presp; i++) { in nl80211_channel_switch()
6640 u16 offset = params.counter_offsets_presp[i]; in nl80211_channel_switch()
6642 if (offset >= params.beacon_csa.probe_resp_len) in nl80211_channel_switch()
6645 if (params.beacon_csa.probe_resp[offset] != in nl80211_channel_switch()
6646 params.count) in nl80211_channel_switch()
6652 err = nl80211_parse_chandef(rdev, info, ¶ms.chandef); in nl80211_channel_switch()
6656 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, ¶ms.chandef, in nl80211_channel_switch()
6661 ¶ms.chandef, in nl80211_channel_switch()
6667 params.radar_required = true; in nl80211_channel_switch()
6670 params.block_tx = true; in nl80211_channel_switch()
6673 err = rdev_channel_switch(rdev, dev, ¶ms); in nl80211_channel_switch()
8490 struct cfg80211_mgmt_tx_params params = { in nl80211_tx_mgmt() local
8520 params.wait = nla_get_u32(info->attrs[NL80211_ATTR_DURATION]); in nl80211_tx_mgmt()
8526 if (params.wait < NL80211_MIN_REMAIN_ON_CHANNEL_TIME || in nl80211_tx_mgmt()
8527 params.wait > rdev->wiphy.max_remain_on_channel_duration) in nl80211_tx_mgmt()
8532 params.offchan = info->attrs[NL80211_ATTR_OFFCHANNEL_TX_OK]; in nl80211_tx_mgmt()
8534 if (params.offchan && !(rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX)) in nl80211_tx_mgmt()
8537 params.no_cck = nla_get_flag(info->attrs[NL80211_ATTR_TX_NO_CCK_RATE]); in nl80211_tx_mgmt()
8549 if (!chandef.chan && params.offchan) in nl80211_tx_mgmt()
8552 params.buf = nla_data(info->attrs[NL80211_ATTR_FRAME]); in nl80211_tx_mgmt()
8553 params.len = nla_len(info->attrs[NL80211_ATTR_FRAME]); in nl80211_tx_mgmt()
8562 params.n_csa_offsets = len / sizeof(u16); in nl80211_tx_mgmt()
8563 params.csa_offsets = in nl80211_tx_mgmt()
8567 for (i = 0; i < params.n_csa_offsets; i++) { in nl80211_tx_mgmt()
8568 if (params.csa_offsets[i] >= params.len) in nl80211_tx_mgmt()
8573 if (!params.dont_wait_for_ack) { in nl80211_tx_mgmt()
8586 params.chan = chandef.chan; in nl80211_tx_mgmt()
8587 err = cfg80211_mlme_mgmt_tx(rdev, wdev, ¶ms, &cookie); in nl80211_tx_mgmt()