Lines Matching refs:params

859 		result->params[parse.idx].cipher = parse.p.cipher;  in nl80211_parse_connkeys()
860 result->params[parse.idx].key_len = parse.p.key_len; in nl80211_parse_connkeys()
861 result->params[parse.idx].key = result->data[parse.idx]; in nl80211_parse_connkeys()
2538 struct vif_params params; in nl80211_set_interface() local
2545 memset(&params, 0, sizeof(params)); in nl80211_set_interface()
2576 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); in nl80211_set_interface()
2578 err = nl80211_valid_4addr(rdev, dev, params.use_4addr, ntype); in nl80211_set_interface()
2582 params.use_4addr = -1; in nl80211_set_interface()
2602 err = cfg80211_change_iface(rdev, dev, ntype, flags, &params); in nl80211_set_interface()
2606 if (!err && params.use_4addr != -1) in nl80211_set_interface()
2607 dev->ieee80211_ptr->use_4addr = params.use_4addr; in nl80211_set_interface()
2615 struct vif_params params; in nl80211_new_interface() local
2625 memset(&params, 0, sizeof(params)); in nl80211_new_interface()
2643 nla_memcpy(params.macaddr, info->attrs[NL80211_ATTR_MAC], in nl80211_new_interface()
2645 if (!is_valid_ether_addr(params.macaddr)) in nl80211_new_interface()
2650 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); in nl80211_new_interface()
2651 err = nl80211_valid_4addr(rdev, NULL, params.use_4addr, type); in nl80211_new_interface()
2671 &params); in nl80211_new_interface()
2798 static void get_key_callback(void *c, struct key_params *params) in get_key_callback() argument
2803 if ((params->key && in get_key_callback()
2805 params->key_len, params->key)) || in get_key_callback()
2806 (params->seq && in get_key_callback()
2808 params->seq_len, params->seq)) || in get_key_callback()
2809 (params->cipher && in get_key_callback()
2811 params->cipher))) in get_key_callback()
2818 if ((params->key && in get_key_callback()
2820 params->key_len, params->key)) || in get_key_callback()
2821 (params->seq && in get_key_callback()
2823 params->seq_len, params->seq)) || in get_key_callback()
2824 (params->cipher && in get_key_callback()
2826 params->cipher))) in get_key_callback()
3239 struct cfg80211_ap_settings *params) in nl80211_get_ap_channel() argument
3252 params->chandef = wdev->preset_chandef; in nl80211_get_ap_channel()
3289 struct cfg80211_ap_settings params; in nl80211_start_ap() local
3302 memset(&params, 0, sizeof(params)); in nl80211_start_ap()
3310 err = nl80211_parse_beacon(info->attrs, &params.beacon); in nl80211_start_ap()
3314 params.beacon_interval = in nl80211_start_ap()
3316 params.dtim_period = in nl80211_start_ap()
3319 err = cfg80211_validate_beacon_int(rdev, params.beacon_interval); in nl80211_start_ap()
3331 params.ssid = nla_data(info->attrs[NL80211_ATTR_SSID]); in nl80211_start_ap()
3332 params.ssid_len = in nl80211_start_ap()
3334 if (params.ssid_len == 0 || in nl80211_start_ap()
3335 params.ssid_len > IEEE80211_MAX_SSID_LEN) in nl80211_start_ap()
3340 params.hidden_ssid = nla_get_u32( in nl80211_start_ap()
3342 if (params.hidden_ssid != NL80211_HIDDEN_SSID_NOT_IN_USE && in nl80211_start_ap()
3343 params.hidden_ssid != NL80211_HIDDEN_SSID_ZERO_LEN && in nl80211_start_ap()
3344 params.hidden_ssid != NL80211_HIDDEN_SSID_ZERO_CONTENTS) in nl80211_start_ap()
3348 params.privacy = !!info->attrs[NL80211_ATTR_PRIVACY]; in nl80211_start_ap()
3351 params.auth_type = nla_get_u32( in nl80211_start_ap()
3353 if (!nl80211_valid_auth_type(rdev, params.auth_type, in nl80211_start_ap()
3357 params.auth_type = NL80211_AUTHTYPE_AUTOMATIC; in nl80211_start_ap()
3359 err = nl80211_crypto_settings(rdev, info, &params.crypto, in nl80211_start_ap()
3367 params.inactivity_timeout = nla_get_u16( in nl80211_start_ap()
3374 params.p2p_ctwindow = in nl80211_start_ap()
3376 if (params.p2p_ctwindow > 127) in nl80211_start_ap()
3378 if (params.p2p_ctwindow != 0 && in nl80211_start_ap()
3391 params.p2p_opp_ps = tmp; in nl80211_start_ap()
3392 if (params.p2p_opp_ps != 0 && in nl80211_start_ap()
3398 err = nl80211_parse_chandef(rdev, info, &params.chandef); in nl80211_start_ap()
3402 params.chandef = wdev->preset_chandef; in nl80211_start_ap()
3403 } else if (!nl80211_get_ap_channel(rdev, &params)) in nl80211_start_ap()
3406 if (!cfg80211_reg_can_beacon(&rdev->wiphy, &params.chandef, in nl80211_start_ap()
3411 params.smps_mode = in nl80211_start_ap()
3413 switch (params.smps_mode) { in nl80211_start_ap()
3430 params.smps_mode = NL80211_SMPS_OFF; in nl80211_start_ap()
3434 params.acl = parse_acl_data(&rdev->wiphy, info); in nl80211_start_ap()
3435 if (IS_ERR(params.acl)) in nl80211_start_ap()
3436 return PTR_ERR(params.acl); in nl80211_start_ap()
3440 err = rdev_start_ap(rdev, dev, &params); in nl80211_start_ap()
3442 wdev->preset_chandef = params.chandef; in nl80211_start_ap()
3443 wdev->beacon_interval = params.beacon_interval; in nl80211_start_ap()
3444 wdev->chandef = params.chandef; in nl80211_start_ap()
3445 wdev->ssid_len = params.ssid_len; in nl80211_start_ap()
3446 memcpy(wdev->ssid, params.ssid, wdev->ssid_len); in nl80211_start_ap()
3450 kfree(params.acl); in nl80211_start_ap()
3460 struct cfg80211_beacon_data params; in nl80211_set_beacon() local
3473 err = nl80211_parse_beacon(info->attrs, &params); in nl80211_set_beacon()
3478 err = rdev_change_beacon(rdev, dev, &params); in nl80211_set_beacon()
3503 struct station_parameters *params) in parse_station_flags() argument
3518 params->sta_flags_mask = sta_flags->mask; in parse_station_flags()
3519 params->sta_flags_set = sta_flags->set; in parse_station_flags()
3520 params->sta_flags_set &= params->sta_flags_mask; in parse_station_flags()
3521 if ((params->sta_flags_mask | in parse_station_flags()
3522 params->sta_flags_set) & BIT(__NL80211_STA_FLAG_INVALID)) in parse_station_flags()
3547 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in parse_station_flags()
3554 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in parse_station_flags()
3558 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHENTICATED) | in parse_station_flags()
3567 params->sta_flags_set |= (1<<flag); in parse_station_flags()
3943 struct station_parameters *params, in cfg80211_check_station_change() argument
3946 if (params->listen_interval != -1) in cfg80211_check_station_change()
3948 if (params->aid && in cfg80211_check_station_change()
3949 !(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) in cfg80211_check_station_change()
3963 if (params->sta_flags_mask & in cfg80211_check_station_change()
3971 if (!(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) in cfg80211_check_station_change()
3974 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in cfg80211_check_station_change()
3978 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION) in cfg80211_check_station_change()
3980 if (params->local_pm) in cfg80211_check_station_change()
3982 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE) in cfg80211_check_station_change()
3989 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) in cfg80211_check_station_change()
3996 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in cfg80211_check_station_change()
4001 if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) in cfg80211_check_station_change()
4003 if (params->sta_modify_mask & STATION_PARAM_APPLY_CAPABILITY) in cfg80211_check_station_change()
4005 if (params->supported_rates) in cfg80211_check_station_change()
4007 if (params->ext_capab || params->ht_capa || params->vht_capa) in cfg80211_check_station_change()
4012 if (params->vlan) in cfg80211_check_station_change()
4019 if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED))) in cfg80211_check_station_change()
4024 if (params->sta_flags_mask & in cfg80211_check_station_change()
4035 params->sta_flags_mask & in cfg80211_check_station_change()
4043 if (params->sta_flags_mask & ~BIT(NL80211_STA_FLAG_AUTHORIZED)) in cfg80211_check_station_change()
4048 if (params->sta_flags_mask & ~(BIT(NL80211_STA_FLAG_AUTHORIZED) | in cfg80211_check_station_change()
4052 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_AUTHORIZED) && in cfg80211_check_station_change()
4053 !params->supported_rates) in cfg80211_check_station_change()
4060 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE) in cfg80211_check_station_change()
4064 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION) in cfg80211_check_station_change()
4120 struct station_parameters *params) in nl80211_parse_sta_wme() argument
4137 params->uapsd_queues = nla_get_u8( in nl80211_parse_sta_wme()
4139 if (params->uapsd_queues & ~IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK) in nl80211_parse_sta_wme()
4143 params->max_sp = nla_get_u8(tb[NL80211_STA_WME_MAX_SP]); in nl80211_parse_sta_wme()
4145 if (params->max_sp & ~IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK) in nl80211_parse_sta_wme()
4148 params->sta_modify_mask |= STATION_PARAM_APPLY_UAPSD; in nl80211_parse_sta_wme()
4154 struct station_parameters *params) in nl80211_parse_sta_channel_info() argument
4157 params->supported_channels = in nl80211_parse_sta_channel_info()
4159 params->supported_channels_len = in nl80211_parse_sta_channel_info()
4166 if (params->supported_channels_len < 2) in nl80211_parse_sta_channel_info()
4168 if (params->supported_channels_len % 2) in nl80211_parse_sta_channel_info()
4173 params->supported_oper_classes = in nl80211_parse_sta_channel_info()
4175 params->supported_oper_classes_len = in nl80211_parse_sta_channel_info()
4181 if (params->supported_oper_classes_len < 2 || in nl80211_parse_sta_channel_info()
4182 params->supported_oper_classes_len > 253) in nl80211_parse_sta_channel_info()
4189 struct station_parameters *params) in nl80211_set_station_tdls() argument
4194 params->aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]); in nl80211_set_station_tdls()
4196 params->ht_capa = in nl80211_set_station_tdls()
4199 params->vht_capa = in nl80211_set_station_tdls()
4202 err = nl80211_parse_sta_channel_info(info, params); in nl80211_set_station_tdls()
4206 return nl80211_parse_sta_wme(info, params); in nl80211_set_station_tdls()
4213 struct station_parameters params; in nl80211_set_station() local
4217 memset(&params, 0, sizeof(params)); in nl80211_set_station()
4219 params.listen_interval = -1; in nl80211_set_station()
4233 params.supported_rates = in nl80211_set_station()
4235 params.supported_rates_len = in nl80211_set_station()
4240 params.capability = in nl80211_set_station()
4242 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY; in nl80211_set_station()
4246 params.ext_capab = in nl80211_set_station()
4248 params.ext_capab_len = in nl80211_set_station()
4255 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, &params)) in nl80211_set_station()
4259 params.plink_action = in nl80211_set_station()
4261 if (params.plink_action >= NUM_NL80211_PLINK_ACTIONS) in nl80211_set_station()
4266 params.plink_state = in nl80211_set_station()
4268 if (params.plink_state >= NUM_NL80211_PLINK_STATES) in nl80211_set_station()
4270 params.sta_modify_mask |= STATION_PARAM_APPLY_PLINK_STATE; in nl80211_set_station()
4281 params.local_pm = pm; in nl80211_set_station()
4285 err = nl80211_set_station_tdls(info, &params); in nl80211_set_station()
4289 params.vlan = get_vlan(info, rdev); in nl80211_set_station()
4290 if (IS_ERR(params.vlan)) in nl80211_set_station()
4291 return PTR_ERR(params.vlan); in nl80211_set_station()
4308 err = rdev_change_station(rdev, dev, mac_addr, &params); in nl80211_set_station()
4311 if (params.vlan) in nl80211_set_station()
4312 dev_put(params.vlan); in nl80211_set_station()
4322 struct station_parameters params; in nl80211_new_station() local
4325 memset(&params, 0, sizeof(params)); in nl80211_new_station()
4344 params.supported_rates = in nl80211_new_station()
4346 params.supported_rates_len = in nl80211_new_station()
4348 params.listen_interval = in nl80211_new_station()
4352 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]); in nl80211_new_station()
4354 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]); in nl80211_new_station()
4355 if (!params.aid || params.aid > IEEE80211_MAX_AID) in nl80211_new_station()
4359 params.capability = in nl80211_new_station()
4361 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY; in nl80211_new_station()
4365 params.ext_capab = in nl80211_new_station()
4367 params.ext_capab_len = in nl80211_new_station()
4372 params.ht_capa = in nl80211_new_station()
4376 params.vht_capa = in nl80211_new_station()
4380 params.opmode_notif_used = true; in nl80211_new_station()
4381 params.opmode_notif = in nl80211_new_station()
4386 params.plink_action = in nl80211_new_station()
4388 if (params.plink_action >= NUM_NL80211_PLINK_ACTIONS) in nl80211_new_station()
4392 err = nl80211_parse_sta_channel_info(info, &params); in nl80211_new_station()
4396 err = nl80211_parse_sta_wme(info, &params); in nl80211_new_station()
4400 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, &params)) in nl80211_new_station()
4408 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) { in nl80211_new_station()
4409 params.ht_capa = NULL; in nl80211_new_station()
4410 params.vht_capa = NULL; in nl80211_new_station()
4422 !(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) in nl80211_new_station()
4423 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4426 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) || in nl80211_new_station()
4430 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER); in nl80211_new_station()
4435 params.sta_flags_mask & in nl80211_new_station()
4441 params.vlan = get_vlan(info, rdev); in nl80211_new_station()
4442 if (IS_ERR(params.vlan)) in nl80211_new_station()
4443 return PTR_ERR(params.vlan); in nl80211_new_station()
4447 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4450 if (params.sta_flags_mask & BIT(NL80211_STA_FLAG_ASSOCIATED)) in nl80211_new_station()
4453 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) || in nl80211_new_station()
4460 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD; in nl80211_new_station()
4463 if (params.sta_flags_mask & in nl80211_new_station()
4468 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))) in nl80211_new_station()
4480 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_AUTHORIZED); in nl80211_new_station()
4488 err = rdev_add_station(rdev, dev, mac_addr, &params); in nl80211_new_station()
4490 if (params.vlan) in nl80211_new_station()
4491 dev_put(params.vlan); in nl80211_new_station()
4499 struct station_del_parameters params; in nl80211_del_station() local
4501 memset(&params, 0, sizeof(params)); in nl80211_del_station()
4504 params.mac = nla_data(info->attrs[NL80211_ATTR_MAC]); in nl80211_del_station()
4516 params.subtype = in nl80211_del_station()
4518 if (params.subtype != IEEE80211_STYPE_DISASSOC >> 4 && in nl80211_del_station()
4519 params.subtype != IEEE80211_STYPE_DEAUTH >> 4) in nl80211_del_station()
4523 params.subtype = IEEE80211_STYPE_DEAUTH >> 4; in nl80211_del_station()
4527 params.reason_code = in nl80211_del_station()
4529 if (params.reason_code == 0) in nl80211_del_station()
4533 params.reason_code = WLAN_REASON_PREV_AUTH_NOT_VALID; in nl80211_del_station()
4536 return rdev_del_station(rdev, dev, &params); in nl80211_del_station()
4844 struct bss_parameters params; in nl80211_set_bss() local
4847 memset(&params, 0, sizeof(params)); in nl80211_set_bss()
4849 params.use_cts_prot = -1; in nl80211_set_bss()
4850 params.use_short_preamble = -1; in nl80211_set_bss()
4851 params.use_short_slot_time = -1; in nl80211_set_bss()
4852 params.ap_isolate = -1; in nl80211_set_bss()
4853 params.ht_opmode = -1; in nl80211_set_bss()
4854 params.p2p_ctwindow = -1; in nl80211_set_bss()
4855 params.p2p_opp_ps = -1; in nl80211_set_bss()
4858 params.use_cts_prot = in nl80211_set_bss()
4861 params.use_short_preamble = in nl80211_set_bss()
4864 params.use_short_slot_time = in nl80211_set_bss()
4867 params.basic_rates = in nl80211_set_bss()
4869 params.basic_rates_len = in nl80211_set_bss()
4873 params.ap_isolate = !!nla_get_u8(info->attrs[NL80211_ATTR_AP_ISOLATE]); in nl80211_set_bss()
4875 params.ht_opmode = in nl80211_set_bss()
4881 params.p2p_ctwindow = in nl80211_set_bss()
4883 if (params.p2p_ctwindow < 0) in nl80211_set_bss()
4885 if (params.p2p_ctwindow != 0 && in nl80211_set_bss()
4898 params.p2p_opp_ps = tmp; in nl80211_set_bss()
4899 if (params.p2p_opp_ps && in nl80211_set_bss()
4912 err = rdev_change_bss(rdev, dev, &params); in nl80211_set_bss()
6364 struct cfg80211_csa_settings params; in nl80211_channel_switch() local
6399 memset(&params, 0, sizeof(params)); in nl80211_channel_switch()
6416 params.count = cs_count; in nl80211_channel_switch()
6421 err = nl80211_parse_beacon(info->attrs, &params.beacon_after); in nl80211_channel_switch()
6431 err = nl80211_parse_beacon(csa_attrs, &params.beacon_csa); in nl80211_channel_switch()
6442 params.n_counter_offsets_beacon = len / sizeof(u16); in nl80211_channel_switch()
6444 (params.n_counter_offsets_beacon > in nl80211_channel_switch()
6448 params.counter_offsets_beacon = in nl80211_channel_switch()
6452 for (i = 0; i < params.n_counter_offsets_beacon; i++) { in nl80211_channel_switch()
6453 u16 offset = params.counter_offsets_beacon[i]; in nl80211_channel_switch()
6455 if (offset >= params.beacon_csa.tail_len) in nl80211_channel_switch()
6458 if (params.beacon_csa.tail[offset] != params.count) in nl80211_channel_switch()
6467 params.n_counter_offsets_presp = len / sizeof(u16); in nl80211_channel_switch()
6469 (params.n_counter_offsets_beacon > in nl80211_channel_switch()
6473 params.counter_offsets_presp = in nl80211_channel_switch()
6477 for (i = 0; i < params.n_counter_offsets_presp; i++) { in nl80211_channel_switch()
6478 u16 offset = params.counter_offsets_presp[i]; in nl80211_channel_switch()
6480 if (offset >= params.beacon_csa.probe_resp_len) in nl80211_channel_switch()
6483 if (params.beacon_csa.probe_resp[offset] != in nl80211_channel_switch()
6484 params.count) in nl80211_channel_switch()
6490 err = nl80211_parse_chandef(rdev, info, &params.chandef); in nl80211_channel_switch()
6494 if (!cfg80211_reg_can_beacon(&rdev->wiphy, &params.chandef, in nl80211_channel_switch()
6499 &params.chandef, in nl80211_channel_switch()
6505 params.radar_required = true; in nl80211_channel_switch()
6508 params.block_tx = true; in nl80211_channel_switch()
6511 err = rdev_channel_switch(rdev, dev, &params); in nl80211_channel_switch()
8320 struct cfg80211_mgmt_tx_params params = { in nl80211_tx_mgmt() local
8350 params.wait = nla_get_u32(info->attrs[NL80211_ATTR_DURATION]); in nl80211_tx_mgmt()
8356 if (params.wait < NL80211_MIN_REMAIN_ON_CHANNEL_TIME || in nl80211_tx_mgmt()
8357 params.wait > rdev->wiphy.max_remain_on_channel_duration) in nl80211_tx_mgmt()
8362 params.offchan = info->attrs[NL80211_ATTR_OFFCHANNEL_TX_OK]; in nl80211_tx_mgmt()
8364 if (params.offchan && !(rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX)) in nl80211_tx_mgmt()
8367 params.no_cck = nla_get_flag(info->attrs[NL80211_ATTR_TX_NO_CCK_RATE]); in nl80211_tx_mgmt()
8379 if (!chandef.chan && params.offchan) in nl80211_tx_mgmt()
8382 params.buf = nla_data(info->attrs[NL80211_ATTR_FRAME]); in nl80211_tx_mgmt()
8383 params.len = nla_len(info->attrs[NL80211_ATTR_FRAME]); in nl80211_tx_mgmt()
8392 params.n_csa_offsets = len / sizeof(u16); in nl80211_tx_mgmt()
8393 params.csa_offsets = in nl80211_tx_mgmt()
8397 for (i = 0; i < params.n_csa_offsets; i++) { in nl80211_tx_mgmt()
8398 if (params.csa_offsets[i] >= params.len) in nl80211_tx_mgmt()
8403 if (!params.dont_wait_for_ack) { in nl80211_tx_mgmt()
8416 params.chan = chandef.chan; in nl80211_tx_mgmt()
8417 err = cfg80211_mlme_mgmt_tx(rdev, wdev, &params, &cookie); in nl80211_tx_mgmt()