• Home
  • Raw
  • Download

Lines Matching +full:spread +full:- +full:spectrum +full:- +full:center

1 /* SPDX-License-Identifier: GPL-2.0-only */
7 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
8 * Copyright 2013-2014 Intel Mobile Communications GmbH
9 * Copyright 2015-2017 Intel Deutschland GmbH
10 * Copyright (C) 2018-2020 Intel Corporation
35 * Additionally, cfg80211 contains code to help enforce regulatory spectrum
69 * enum ieee80211_channel_flags - channel flags
140 * struct ieee80211_channel - channel definition
145 * @center_freq: center frequency in MHz
147 * @hw_value: hardware-specific value for the channel
183 * enum ieee80211_rate_flags - rate flags
216 * enum ieee80211_bss_type - BSS type filter
233 * enum ieee80211_privacy - BSS privacy filter
249 * struct ieee80211_rate - bitrate definition
256 * @flags: rate-specific flags
269 * struct ieee80211_he_obss_pd - AP settings for spatial reuse
273 * @non_srg_max_offset: non-SRG maximum tx power offset
292 * struct cfg80211_he_bss_color - AP settings for BSS coloring
305 * struct ieee80211_he_bss_color - AP settings for BSS coloring
318 * struct ieee80211_sta_ht_cap - STA's HT capabilities
325 * @ampdu_factor: Maximum A-MPDU length factor
326 * @ampdu_density: Minimum A-MPDU spacing
338 * struct ieee80211_sta_vht_cap - STA's VHT capabilities
356 * struct ieee80211_sta_he_cap - STA's HE capabilities
392 * enum ieee80211_edmg_bw_config - allowed channel bandwidth configurations
428 * struct ieee80211_edmg - EDMG configuration
446 * struct ieee80211_sta_s1g_cap - STA's S1G capabilities
462 * struct ieee80211_supported_band - frequency band definition
501 * ieee80211_get_sband_iftype_data - return sband data for a given iftype
519 for (i = 0; i < sband->n_iftype_data; i++) { in ieee80211_get_sband_iftype_data()
521 &sband->iftype_data[i]; in ieee80211_get_sband_iftype_data()
523 if (data->types_mask & BIT(iftype)) in ieee80211_get_sband_iftype_data()
531 * ieee80211_get_he_iftype_cap - return HE capabilities for an sband's iftype
544 if (data && data->he_cap.has_he) in ieee80211_get_he_iftype_cap()
545 return &data->he_cap; in ieee80211_get_he_iftype_cap()
551 * ieee80211_get_he_sta_cap - return HE capabilities for an sband's STA
563 * ieee80211_get_he_6ghz_capa - return HE 6 GHz capabilities
576 if (WARN_ON(!data || !data->he_cap.has_he)) in ieee80211_get_he_6ghz_capa()
579 return data->he_6ghz_capa.capa; in ieee80211_get_he_6ghz_capa()
583 * wiphy_read_of_freq_limits - read frequency limits from device tree
633 * struct vif_params - describes virtual interface parameters
636 * @use_4addr: use 4-address frames
643 * @vht_mumimo_groups: MU-MIMO groupID, used for monitoring MU-MIMO packets
644 * belonging to that MU-MIMO groupID; %NULL if not changed
645 * @vht_mumimo_follow_addr: MU-MIMO follow address, used for monitoring
646 * MU-MIMO packets going to the specified station; %NULL if not changed
657 * struct key_params - key information
682 * struct cfg80211_chan_def - channel definition
685 * @center_freq1: center frequency of first segment
686 * @center_freq2: center frequency of second segment
689 * If edmg is requested (i.e. the .channels member is non-zero),
704 * cfg80211_bitrate_mask - masks for bitrate control
720 * struct cfg80211_tid_cfg - TID specific configuration
749 * struct cfg80211_tid_config - TID configuration
761 * cfg80211_get_chandef_type - return old channel type from chandef
764 * Return: The old channel type (NOHT, HT20, HT40+/-) from a given
770 switch (chandef->width) { in cfg80211_get_chandef_type()
776 if (chandef->center_freq1 > chandef->chan->center_freq) in cfg80211_get_chandef_type()
786 * cfg80211_chandef_create - create channel definition using channel type
798 * cfg80211_chandef_identical - check if two channel definitions are identical
809 return (chandef1->chan == chandef2->chan && in cfg80211_chandef_identical()
810 chandef1->width == chandef2->width && in cfg80211_chandef_identical()
811 chandef1->center_freq1 == chandef2->center_freq1 && in cfg80211_chandef_identical()
812 chandef1->freq1_offset == chandef2->freq1_offset && in cfg80211_chandef_identical()
813 chandef1->center_freq2 == chandef2->center_freq2); in cfg80211_chandef_identical()
817 * cfg80211_chandef_is_edmg - check if chandef represents an EDMG channel
826 return chandef->edmg.channels || chandef->edmg.bw_config; in cfg80211_chandef_is_edmg()
830 * cfg80211_chandef_compatible - check if two channel definitions are compatible
842 * cfg80211_chandef_valid - check if a channel definition is valid
849 * cfg80211_chandef_usable - check if secondary channels can be used
860 * cfg80211_chandef_dfs_required - checks if radar detection is required
872 * ieee80211_chandef_rate_flags - returns rate flags for a channel
874 * In some channel types, not all rates may be used - for example CCK
884 switch (chandef->width) { in ieee80211_chandef_rate_flags()
896 * ieee80211_chandef_max_power - maximum transmission power for the chandef
900 * max_power for non-standard (20 MHz) channels.
909 switch (chandef->width) { in ieee80211_chandef_max_power()
911 return min(chandef->chan->max_reg_power - 6, in ieee80211_chandef_max_power()
912 chandef->chan->max_power); in ieee80211_chandef_max_power()
914 return min(chandef->chan->max_reg_power - 3, in ieee80211_chandef_max_power()
915 chandef->chan->max_power); in ieee80211_chandef_max_power()
919 return chandef->chan->max_power; in ieee80211_chandef_max_power()
923 * enum survey_info_flags - survey information flags
951 * struct survey_info - channel survey response
966 * Used by dump_survey() to report back per-channel survey information.
987 * struct cfg80211_crypto_settings - Crypto settings
1005 * @control_port_no_preauth: disables pre-auth rx over the nl80211 control
1010 * @psk: PSK (for devices supporting 4-way-handshake offload)
1035 * struct cfg80211_beacon_data - beacon data
1052 * @ftm_responder: enable FTM responder functionality; -1 for no change
1085 * struct cfg80211_acl_data - Access control list data
1101 * struct cfg80211_fils_discovery - FILS discovery parameters from
1102 * IEEE Std 802.11ai-2016, Annex C.3 MIB detail.
1104 * @min_interval: Minimum packet interval in TUs (0 - 10000)
1105 * @max_interval: Maximum packet interval in TUs (0 - 10000)
1118 * struct cfg80211_unsol_bcast_probe_resp - Unsolicited broadcast probe
1122 * in IEEE P802.11ax/D6.0 26.17.2.3.2 - AP behavior for fast passive
1134 * enum cfg80211_ap_settings_flags - AP settings flags
1145 * struct cfg80211_ap_settings - AP configuration
1217 * struct cfg80211_csa_settings - channel switch settings
1248 * struct iface_combination_params - input parameters for interface combinations
1272 * enum station_parameters_apply_mask - station parameter values to apply
1277 * Not all station parameters have in-band "no change" signalling,
1288 * struct sta_txpwr - station txpower configuration
1293 * is not provided, the default per-interface tx power setting will be
1295 * power per-interface or per-station.
1308 * struct station_parameters - station parameters
1320 * @listen_interval: listen interval or -1 for no change
1335 * @local_pm: local link-specific mesh power save mode (no change when set
1388 * struct station_del_parameters - station deletion parameters
1404 * enum cfg80211_station_type - the type of station being modified
1434 * cfg80211_check_station_change - validate parameter changes
1450 * enum rate_info_flags - bitrate info flags
1472 * enum rate_info_bw - rate bandwidth information
1495 * struct rate_info - bitrate information
1508 * @n_bonded_ch: In case of EDMG the number of bonded channels (1-4)
1523 * enum bss_param_flags - bitrate info flags
1539 * struct sta_bss_parameters - BSS parameters for the attached station
1554 * struct cfg80211_txq_stats - TXQ statistics for this TID
1585 * struct cfg80211_tid_stats - per-TID statistics
1607 * struct station_info - station information
1626 * @chain_signal: per-chain signal strength of last received packet in dBm
1627 * @chain_signal_avg: per-chain signal strength average in dBm
1634 * @rx_dropped_misc: Dropped for un-specified reason.
1650 * @nonpeer_pm: non-peer mesh STA power save mode
1660 * @pertid: per-TID statistics, see &struct cfg80211_tid_stats, using the last
1661 * (IEEE80211_NUM_TIDS) index for MSDUs not encapsulated in QoS-MPDUs.
1662 * Note that this doesn't use the @filled bit, but is used if non-NULL.
1735 * cfg80211_get_station - retrieve information about a given station
1751 return -ENOENT; in cfg80211_get_station()
1756 * enum monitor_flags - monitor flags
1780 * enum mpath_info_flags - mesh path information flags
1808 * struct mpath_info - mesh path information
1843 * struct bss_parameters - BSS parameters
1848 * (0 = no, 1 = yes, -1 = do not change)
1850 * (0 = no, 1 = yes, -1 = do not change)
1852 * (0 = no, 1 = yes, -1 = do not change)
1857 * (0 = no, 1 = yes, -1 = do not change)
1859 * (u16 = opmode, -1 = do not change)
1860 * @p2p_ctwindow: P2P CT Window (-1 = no change)
1861 * @p2p_opp_ps: P2P opportunistic PS (-1 = no change)
1875 * struct mesh_config - 802.11s mesh configuration
1921 * @dot11MeshForwarding: whether the Mesh STA is forwarding or non-forwarding
1922 * entity (default is TRUE - forwarding entity)
1947 * @dot11MeshNolearn: Try to avoid multi-hop path discovery (e.g. PREQ/PREP
1949 * not be the optimal decision as a multi-hop route might be better. So
1988 * struct mesh_setup - 802.11s mesh setup configuration
2037 * struct ocb_setup - 802.11p OCB mode setup configuration
2047 * struct ieee80211_txq_params - TX queue parameters
2050 * @cwmin: Minimum contention window [a value of the form 2^n-1 in the range
2052 * @cwmax: Maximum contention window [a value of the form 2^n-1 in the range
2074 * well-formed, and will not exceed the maximum length the driver advertised
2088 * struct cfg80211_ssid - SSID description
2098 * struct cfg80211_scan_info - information about completed scan
2113 * struct cfg80211_scan_6ghz_params - relevant for 6 GHz only
2134 * struct cfg80211_scan_request - scan request description
2211 * struct cfg80211_match_set - sets of attributes to match
2213 * @ssid: SSID to be matched; may be zero-length in case of BSSID match
2215 * @bssid: BSSID to be matched; may be all-zero BSSID in case of SSID match
2234 * struct cfg80211_sched_scan_plan - scan plan for scheduled scan
2248 * struct cfg80211_bss_select_adjust - BSS selection with RSSI adjustment.
2259 * struct cfg80211_sched_scan_request - scheduled scan request description
2291 * @nl_owner_dead: netlink owner socket was closed - this request be freed
2346 * enum cfg80211_signal_type - signal type
2359 * struct cfg80211_inform_bss - BSS inform data
2376 * @chain_signal: per-chain signal strength of last received BSS in dBm.
2390 * struct cfg80211_bss_ies - BSS entry IE data
2406 * struct cfg80211_bss - BSS description
2417 * are well-formed!); this is a pointer to either the beacon_ies or
2419 * received. It is always non-%NULL.
2428 * points to the same data as hidden_beacon_bss->beacon_ies in that case.
2430 * non-transmitted one (multi-BSSID support)
2431 * @nontrans_list: list of non-transmitted BSS, if this is a transmitted one
2432 * (multi-BSSID support)
2435 * @chain_signal: per-chain signal strength of last received BSS in dBm.
2438 * @priv: private area for driver use, has at least wiphy->bss_priv_size bytes
2468 * ieee80211_bss_get_elem - find element with given ID
2472 * Note that the return value is an RCU-protected pointer, so
2479 * ieee80211_bss_get_ie - find IE with given ID
2483 * Note that the return value is an RCU-protected pointer, so
2494 * struct cfg80211_auth_request - Authentication request data
2508 * the authentication frame body (non-IE and IE data), excluding the
2525 * enum cfg80211_assoc_req_flags - Over-ride default behaviour in association.
2543 * struct cfg80211_assoc_request - (Re)Association request data
2562 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
2563 * will be used in ht_capa. Un-supported values will be ignored.
2593 * struct cfg80211_deauth_request - Deauthentication request data
2614 * struct cfg80211_disassoc_request - Disassociation request data
2635 * struct cfg80211_ibss_params - IBSS parameters
2640 * @ssid: The SSID, will always be non-null.
2641 * @ssid_len: The length of the SSID, will always be non-zero.
2645 * @channel_fixed: The channel should be fixed -- do not search for
2662 * @mcast_rate: per-band multicast rate index + 1 (0: disabled)
2663 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
2664 * will be used in ht_capa. Un-supported values will be ignored.
2691 * struct cfg80211_bss_selection - connection parameters for BSS selection.
2707 * struct cfg80211_connect_params - Connection parameters
2712 * @channel: The channel to use or %NULL if not specified (auto-select based
2716 * @bssid: The AP BSSID or %NULL if not specified (auto-select based on scan
2727 * @privacy: indicates whether privacy-enabled APs should be used
2735 * or -1 to indicate that default value is to be used.
2736 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
2737 * will be used in ht_capa. Un-supported values will be ignored.
2750 * @fils_erp_username: EAP re-authentication protocol (ERP) username part of the
2754 * @fils_erp_realm: EAP re-authentication protocol (ERP) realm part of NAI or
2760 * @fils_erp_rrk: ERP re-authentication Root Key (rRK) used to derive additional
2763 * @want_1x: indicates user-space supports and wants to use 802.1X driver
2764 * offload of 4-way handshake.
2805 * enum cfg80211_connect_params_changed - Connection parameters being updated
2822 * enum wiphy_params_flags - set_wiphy_params bitfield values
2823 * @WIPHY_PARAM_RETRY_SHORT: wiphy->retry_short has changed
2824 * @WIPHY_PARAM_RETRY_LONG: wiphy->retry_long has changed
2825 * @WIPHY_PARAM_FRAG_THRESHOLD: wiphy->frag_threshold has changed
2826 * @WIPHY_PARAM_RTS_THRESHOLD: wiphy->rts_threshold has changed
2855 * struct cfg80211_pmksa - PMK Security Association
2869 * @cache_id: 2-octet cache identifier advertized by a FILS AP identifying the
2870 * scope of PMKSA. This is valid only if @ssid_len is non-zero (may be
2897 * struct cfg80211_pkt_pattern - packet pattern
2914 * struct cfg80211_wowlan_tcp - TCP connection parameters
2949 * struct cfg80211_wowlan - Wake on Wireless-LAN support info
2952 * @any: wake up on any activity -- special trigger if device continues
2960 * @four_way_handshake: wake up on 4-way handshake
2977 * struct cfg80211_coalesce_rules - Coalesce rule parameters
2994 * struct cfg80211_coalesce - Packet coalescing settings
3006 * struct cfg80211_wowlan_nd_match - information about the match
3011 * @channels: center frequencies of the channels where a match
3021 * struct cfg80211_wowlan_nd_info - net detect wake up information
3035 * struct cfg80211_wowlan_wakeup - wakeup report
3040 * @four_way_handshake: woke up by 4-way handshake
3042 * @pattern_idx: pattern that caused wakeup, -1 if not due to pattern
3067 * struct cfg80211_gtk_rekey_data - rekey data
3082 * struct cfg80211_update_ft_ies_params - FT IE Information
3097 * struct cfg80211_mgmt_tx_params - mgmt tx parameters
3124 * struct cfg80211_dscp_exception - DSCP exception
3135 * struct cfg80211_dscp_range - DSCP range definition for user priority
3145 /* QoS Map Set element length defined in IEEE Std 802.11-2012, 8.4.2.97 */
3152 * struct cfg80211_qos_map - QoS Map Information
3168 * struct cfg80211_nan_conf - NAN configuration
3172 * @master_pref: master preference (1 - 255)
3183 * enum cfg80211_nan_conf_changes - indicates changed fields in NAN
3195 * struct cfg80211_nan_func_filter - a NAN function Rx / Tx filter
3206 * struct cfg80211_nan_func - a NAN function
3262 * struct cfg80211_pmk_conf - PMK configuration
3267 * @pmk_r0_name: PMK-R0 Name. NULL if not applicable (i.e., the PMK
3268 * is not PMK-R0). When pmk_r0_name is not NULL, the pmk field
3269 * holds PMK-R0.
3279 * struct cfg80211_external_auth_params - Trigger External authentication.
3308 * struct cfg80211_ftm_responder_stats - FTM responder statistics
3318 * @non_asap_num: number of non-ASAP FTM sessions
3319 * @total_duration_ms: total sessions durations - gives an indication
3321 * @unknown_triggers_num: number of unknown FTM triggers - triggers from
3324 * @reschedule_requests_num: number of FTM reschedule requests - initiator asks
3342 * struct cfg80211_pmsr_ftm_result - FTM result
3347 * in [0 .. num_bursts-1] of the burst that's being reported
3361 * @rssi_spread: spread of the RSSI over FTM action frames reported
3367 * @rtt_spread: spread of the RTTs measured
3371 * @dist_spread: spread of distances measured (see also @rtt_spread)
3422 * struct cfg80211_pmsr_result - peer measurement result
3452 * struct cfg80211_pmsr_ftm_request_peer - FTM request data
3488 * struct cfg80211_pmsr_request_peer - peer data for a peer measurement request
3502 * struct cfg80211_pmsr_request - peer measurement request
3504 * @nl_portid: netlink portid - used by cfg80211
3515 * @peers: per-peer measurement request data
3534 * struct cfg80211_update_owe_info - OWE Information
3560 * struct mgmt_frame_regs - management frame registrations data
3575 * struct cfg80211_ops - backend description for wireless configuration
3588 * be %NULL or contain the enabled Wake-on-Wireless triggers that are
3613 * not possible to retrieve the key, -ENOENT if it doesn't exist.
3616 * and @key_index, return -ENOENT if the key doesn't exist.
3635 * might come to the driver in invalid combinations -- make sure to check
3639 * @dump_station: dump station callback -- resume dump at index @idx
3645 * @dump_mpath: dump mesh path callback -- resume dump at index @idx
3647 * @dump_mpp: dump mesh proxy path callback -- resume dump at index @idx
3703 * In both the driver-initiated and new connect() call initiated roaming
3737 * always be %NULL unless the driver supports per-vif TX power
3750 * channel for the specified duration to complete an off-channel
3754 * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation.
3762 * @testmode_dump: Implement a test mode dump. The cb->args[2] and up may be
3764 * return error codes other than -ENOBUFS and -ENOENT will terminate the
3776 * @set_power_mgmt: Configure WLAN power management. A timeout value of -1
3803 * reject TX/RX mask combinations they cannot support by returning -EINVAL
3809 * @tdls_oper: Perform a high-level TDLS operation (e.g. TDLS link setup).
3846 * @channel_switch: initiate channel-switch procedure (with CSA). Driver is
3875 * @tdls_channel_switch: Start channel-switching with a TDLS peer. The driver
3876 * is responsible for continually initiating channel-switching operations
3878 * @tdls_cancel_channel_switch: Stop channel-switching with a TDLS peer. Both
3899 * @set_pmk: configure the PMK to be used for offloaded 802.1X 4-Way handshake.
4263 * enum wiphy_flags - wiphy capability flags
4270 * by default -- this flag will be set depending on the kernel's default
4297 * responds to probe-requests in hardware.
4298 * @WIPHY_FLAG_OFFCHAN_TX: Device supports direct off-channel TX.
4299 * @WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL: Device supports remain-on-channel call.
4335 * struct ieee80211_iface_limit - limit on certain interface types
4345 * struct ieee80211_iface_combination - possible interface combination
4354 * .. code-block:: c
4368 * 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total:
4370 * .. code-block:: c
4384 * 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total.
4388 * .. code-block:: c
4466 * enum wiphy_wowlan_support_flags - WoWLAN support flags
4468 * trigger that keeps the device operating as-is and
4478 * @WIPHY_WOWLAN_4WAY_HANDSHAKE: supports wakeup on 4-way handshake failure
4479 * @WIPHY_WOWLAN_RFKILL_RELEASE: supports wakeup on RF-kill release
4503 * struct wiphy_wowlan_support - WoWLAN support data
4510 * @max_nd_match_sets: maximum number of matchsets for net-detect,
4528 * struct wiphy_coalesce_support - coalesce support data
4547 * enum wiphy_vendor_command_flags - validation flags for vendor commands
4560 * enum wiphy_opmode_flag - Station's ht/vht operation mode information flags
4574 * struct sta_opmode_info - Station's ht/vht operation mode information
4588 #define VENDOR_CMD_RAW_DATA ((const struct nla_policy *)(long)(-ENODATA))
4591 * struct wiphy_vendor_command - vendor command definition
4595 * flags didn't ask for a wdev and non-%NULL otherwise; the data
4598 * @storage points to cb->args[5], ie. is preserved over the multiple
4621 * struct wiphy_iftype_ext_capab - extended capabilities per interface type
4627 * 802.11-2012 8.4.2.29 for the defined fields.
4639 * struct cfg80211_pmsr_capabilities - cfg80211 peer measurement capabilities
4644 * @ftm.asap: ASAP-mode is supported
4645 * @ftm.non_asap: non-ASAP-mode is supported
4651 * (set to -1 if not limited; note that setting this will necessarily
4679 * struct wiphy_iftype_akm_suites - This structure encapsulates supported akm
4694 * struct wiphy - wireless hardware description
4718 * -1 = fragmentation disabled, only odd values >= 256 used
4719 * @rts_threshold: RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled
4724 * four bits are variable then set it to 00-00-00-00-00-0f. The actual
4731 * all-zeroes. In this case it is assumed that the device can handle
4733 * @registered: protects ->resume and ->suspend sysfs callbacks against
4766 * @max_scan_ie_len: maximum length of user-controlled IEs device can
4802 * @max_remain_on_channel_duration: Maximum time a remain-on-channel operation
4811 * @ht_capa_mod_mask: Specify what ht_cap values can be over-ridden.
4812 * If null, then none can be over-ridden.
4813 * @vht_capa_mod_mask: Specify what VHT capabilities can be over-ridden.
4814 * If null, then none can be over-ridden.
4826 * 802.11-2012 8.4.2.29 for the defined fields. These are the default
4873 * @tid_config_support: describes the per-TID config support that the
4970 /* fields below are read-only, assigned by cfg80211 */
5028 return read_pnet(&wiphy->_net); in wiphy_net()
5033 write_pnet(&wiphy->_net, net); in wiphy_net_set()
5037 * wiphy_priv - return priv from wiphy
5045 return &wiphy->priv; in wiphy_priv()
5049 * priv_to_wiphy - return the wiphy containing the priv
5061 * set_wiphy_dev - set device pointer for wiphy
5068 wiphy->dev.parent = dev; in set_wiphy_dev()
5072 * wiphy_dev - get wiphy dev pointer
5079 return wiphy->dev.parent; in wiphy_dev()
5083 * wiphy_name - get wiphy name
5090 return dev_name(&wiphy->dev); in wiphy_name()
5094 * wiphy_new_nm - create a new wiphy for use with cfg80211
5111 * wiphy_new - create a new wiphy for use with cfg80211
5129 * wiphy_register - register a wiphy with cfg80211
5133 * Return: A non-negative wiphy index or a negative error code.
5138 * wiphy_unregister - deregister a wiphy from cfg80211
5149 * wiphy_free - free wiphy
5162 * struct wireless_dev - wireless device state
5170 * For non-netdev uses, it must also be allocated by the driver
5183 * the user-set channel definition.
5205 * netdev and may otherwise be used by driver read-only, will be update
5215 * @is_running: true if this is a non-netdev device that has been started, e.g.
5228 * @disconnect_wk: (private) auto-disconnect work
5229 * @disconnect_bssid: (private) the BSSID to use for auto-disconnect
5262 /* currently used for IBSS and SME - might be rearranged later */
5324 if (wdev->netdev) in wdev_address()
5325 return wdev->netdev->dev_addr; in wdev_address()
5326 return wdev->address; in wdev_address()
5331 if (wdev->netdev) in wdev_running()
5332 return netif_running(wdev->netdev); in wdev_running()
5333 return wdev->is_running; in wdev_running()
5337 * wdev_priv - return wiphy priv from wireless_dev
5345 return wiphy_priv(wdev->wiphy); in wdev_priv()
5355 * ieee80211_channel_equal - compare two struct ieee80211_channel
5359 * Return: true if center frequency of @a == @b
5365 return (a->center_freq == b->center_freq && in ieee80211_channel_equal()
5366 a->freq_offset == b->freq_offset); in ieee80211_channel_equal()
5370 * ieee80211_channel_to_khz - convert ieee80211_channel to frequency in KHz
5377 return MHZ_TO_KHZ(chan->center_freq) + chan->freq_offset; in ieee80211_channel_to_khz()
5381 * ieee80211_s1g_channel_width - get allowed channel width from @chan
5391 * ieee80211_channel_to_freq_khz - convert channel number to frequency
5399 * ieee80211_channel_to_frequency - convert channel number to frequency
5411 * ieee80211_freq_khz_to_channel - convert frequency to channel number
5412 * @freq: center frequency in KHz
5418 * ieee80211_frequency_to_channel - convert frequency to channel number
5419 * @freq: center frequency in MHz
5429 * ieee80211_get_channel_khz - get channel struct from wiphy for specified
5432 * @freq: the center frequency (in KHz) of the channel
5439 * ieee80211_get_channel - get channel struct from wiphy for specified frequency
5442 * @freq: the center frequency (in MHz) of the channel
5452 * cfg80211_channel_is_psc - Check if the channel is a 6 GHz PSC
5460 if (chan->band != NL80211_BAND_6GHZ) in cfg80211_channel_is_psc()
5463 return ieee80211_frequency_to_channel(chan->center_freq) % 16 == 5; in cfg80211_channel_is_psc()
5467 * ieee80211_get_response_rate - get basic rate for a given rate
5483 * ieee80211_mandatory_rates - get mandatory rates for a given band
5494 * Radiotap parsing functions -- for controlled injection support
5497 * Documentation in Documentation/networking/radiotap-headers.rst
5517 * struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args
5579 * ieee80211_get_hdrlen_from_skb - get header length from data
5593 * ieee80211_hdrlen - get header length in bytes from frame control
5594 * @fc: frame control field in little-endian format
5600 * ieee80211_get_mesh_hdrlen - get mesh extension header length
5617 * ieee80211_data_to_8023_exthdr - convert an 802.11 data frame to 802.3
5624 * Return: 0 on success. Non-zero on error.
5631 * ieee80211_data_to_8023 - convert an 802.11 data frame to 802.3
5635 * Return: 0 on success. Non-zero on error.
5644 * ieee80211_amsdu_to_8023s - decode an IEEE 802.11n A-MSDU frame
5646 * Decode an IEEE 802.11 A-MSDU and convert it to a list of 802.3 frames.
5648 * header-less before being passed in here; it is freed in this function.
5650 * @skb: The input A-MSDU frame without any headers.
5665 * cfg80211_classify8021d - determine the 802.1p/1d tag for a data frame
5674 * cfg80211_find_elem_match - match information element and byte array in data
5701 * cfg80211_find_ie_match - match information element and byte array in data
5739 match_offset - 2 : 0); in cfg80211_find_ie_match()
5743 * cfg80211_find_elem - find information element in data
5764 * cfg80211_find_ie - find information element in data
5784 * cfg80211_find_ext_elem - find information element with EID Extension in data
5806 * cfg80211_find_ext_ie - find information element with EID Extension in data
5827 * cfg80211_find_vendor_elem - find vendor specific information element in data
5830 * @oui_type: vendor-specific OUI type (must be < 0xff), negative means any
5846 * cfg80211_find_vendor_ie - find vendor specific information element in data
5849 * @oui_type: vendor-specific OUI type (must be < 0xff), negative means any
5869 * cfg80211_send_layer2_update - send layer 2 update frame
5886 * regulatory_hint - driver hint to the wireless core a regulatory domain
5891 * set this to NULL you should still set rd->alpha2 to some accepted
5906 * an -ENOMEM.
5908 * Return: 0 on success. -ENOMEM.
5913 * regulatory_set_wiphy_regd - set regdom info for self managed drivers
5917 * Set the regulatory domain information for self-managed wiphys, only they
5921 * Return: 0 on success. -EINVAL, -EPERM
5927 * regulatory_set_wiphy_regd_sync_rtnl - set regdom for self-managed drivers
5935 * Return: 0 on success. -EINVAL, -EPERM
5941 * wiphy_apply_custom_regulatory - apply a custom driver regulatory domain
5959 * freq_reg_info - get regulatory information for the given frequency
5971 * value will be -ERANGE if we determine the given center_freq does not even
5973 * See freq_in_rule_band() for our current definition of a band -- this is
5980 * reg_initiator_name - map regulatory request initiator enum to name
5989 * regulatory_pre_cac_allowed - check if pre-CAC allowed in the current regdom
5990 * @wiphy: wiphy for which pre-CAC capability is checked.
5992 * Pre-CAC is allowed only in some regdomains (notable ETSI).
6002 * reg_query_regdb_wmm - Query internal regulatory db for wmm rule
6003 * Regulatory self-managed driver can use it to proactively
6009 * Self-managed wireless drivers can use this function to query
6014 * an -ENODATA.
6016 * Return: 0 on success. -ENODATA.
6027 * cfg80211_scan_done - notify that scan finished
6036 * cfg80211_sched_scan_results - notify that new scan results are available
6044 * cfg80211_sched_scan_stopped - notify that the scheduled scan has stopped
6056 * cfg80211_sched_scan_stopped_rtnl - notify that the scheduled scan has stopped
6069 * cfg80211_inform_bss_frame_data - inform cfg80211 of a received BSS frame
6120 * cfg80211_gen_new_bssid - generate a nontransmitted BSSID for multi-BSSID
6130 u64 mask = GENMASK_ULL(max_bssid - 1, 0); in cfg80211_gen_new_bssid()
6141 * cfg80211_is_element_inherited - returns if element ID should be inherited
6149 * cfg80211_merge_profile - merges a MBSSID profile if it is split between IEs
6163 * enum cfg80211_bss_frame_type - frame type that the BSS data came from
6176 * cfg80211_inform_bss_data - inform cfg80211 of a new BSS
6243 * cfg80211_get_bss - get a BSS reference
6269 * cfg80211_ref_bss - reference BSS struct
6278 * cfg80211_put_bss - unref BSS struct
6287 * cfg80211_unlink_bss - unlink BSS from internal data structures
6299 * cfg80211_bss_iter - iterate all BSS entries
6321 switch (chandef->width) { in cfg80211_chandef_to_scan_width()
6332 * cfg80211_rx_mlme_mgmt - notification of processed MLME management frame
6353 * cfg80211_auth_timeout - notification of timed out authentication
6363 * cfg80211_rx_assoc_resp - notification of processed association response
6386 * cfg80211_assoc_timeout - notification of timed out association
6395 * cfg80211_abandon_assoc - notify cfg80211 of abandoned association attempt
6399 * Call this whenever - for reasons reported through other API, like deauth RX,
6406 * cfg80211_tx_mlme_mgmt - notification of transmitted deauth/disassoc frame
6419 * cfg80211_rx_unprot_mlme_mgmt - notification of unprotected mlme mgmt frame
6436 * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP)
6440 * @key_id: Key identifier (0..3). Can be -1 if missing.
6445 * received frame. This matches with MLME-MICHAELMICFAILURE.indication()
6453 * cfg80211_ibss_joined - notify cfg80211 that device joined an IBSS
6464 * with the locally generated beacon -- this guarantees that there is
6471 * cfg80211_notify_new_peer_candidate - notify cfg80211 of a new mesh peer
6503 * wiphy_rfkill_set_hw_state - notify cfg80211 about hw block state
6510 * wiphy_rfkill_start_polling - start polling rfkill
6516 * wiphy_rfkill_stop_polling - stop polling rfkill
6527 * (typically closed-source) userspace and firmware, using nl80211 as
6537 * "normal" functionality that higher-level userspace like connection
6557 * cfg80211_vendor_cmd_alloc_reply_skb - allocate vendor command reply
6562 * This function allocates and pre-fills an skb for a reply to
6566 * The returned skb is pre-filled with some identifying data in
6577 * Return: An allocated and pre-filled skb. %NULL if any errors happen.
6587 * cfg80211_vendor_cmd_reply - send the reply skb
6610 * cfg80211_vendor_event_alloc - allocate vendor-specific event skb
6618 * This function allocates and pre-fills an skb for an event on the
6619 * vendor-specific multicast group.
6628 * Return: An allocated and pre-filled skb. %NULL if any errors happen.
6640 * cfg80211_vendor_event_alloc_ucast - alloc unicast vendor-specific event skb
6649 * This function allocates and pre-fills an skb for an event to send to
6661 * Return: An allocated and pre-filled skb. %NULL if any errors happen.
6675 * cfg80211_vendor_event - send the event
6692 * interact with driver-specific tools to aid, for instance,
6700 * cfg80211_testmode_alloc_reply_skb - allocate testmode reply
6705 * This function allocates and pre-fills an skb for a reply to
6709 * The returned skb is pre-filled with the wiphy index and set up in
6720 * Return: An allocated and pre-filled skb. %NULL if any errors happen.
6730 * cfg80211_testmode_reply - send the reply skb
6747 * cfg80211_testmode_alloc_event_skb - allocate testmode event
6753 * This function allocates and pre-fills an skb for an event on the
6765 * Return: An allocated and pre-filled skb. %NULL if any errors happen.
6771 NL80211_ATTR_TESTDATA, 0, -1, in cfg80211_testmode_alloc_event_skb()
6776 * cfg80211_testmode_event - send the event
6798 * struct cfg80211_fils_resp_params - FILS connection response params
6822 * struct cfg80211_connect_resp_params - Connection response params
6827 * from the AP) instead of an explicit rejection by the AP, -1 is used to
6863 * cfg80211_connect_done - notify cfg80211 of connection result
6881 * cfg80211_connect_bss - notify cfg80211 of connection result
6899 * from the AP) instead of an explicit rejection by the AP, -1 is used to
6941 * cfg80211_connect_result - notify cfg80211 of connection result
6972 * cfg80211_connect_timeout - notify cfg80211 of connection timeout
6994 cfg80211_connect_bss(dev, bssid, NULL, req_ie, req_ie_len, NULL, 0, -1, in cfg80211_connect_timeout()
6999 * struct cfg80211_roam_info - driver initiated roaming information
7022 * cfg80211_roamed - notify cfg80211 of roaming
7035 * rdev->event_work. In case of any failures, the reference is released
7043 * cfg80211_port_authorized - notify cfg80211 of successful security association
7060 * cfg80211_disconnected - notify cfg80211 that connection was dropped
7077 * cfg80211_ready_on_channel - notification of remain_on_channel start
7090 * cfg80211_remain_on_channel_expired - remain_on_channel duration expired
7101 * cfg80211_tx_mgmt_expired - tx_mgmt duration expired
7111 * cfg80211_sinfo_alloc_tid_stats - allocate per-tid statistics.
7119 * cfg80211_sinfo_release_content - release contents of station info
7122 * Releases any potentially allocated sub-information of the station
7128 kfree(sinfo->pertid); in cfg80211_sinfo_release_content()
7132 * cfg80211_new_sta - notify userspace about station
7143 * cfg80211_del_sta_sinfo - notify userspace about deletion of a station
7153 * cfg80211_del_sta - notify userspace about deletion of a station
7166 * cfg80211_conn_failed - connection request failed notification
7185 * cfg80211_rx_mgmt_khz - notification of received, unprocessed management frame
7205 * cfg80211_rx_mgmt - notification of received, unprocessed management frame
7230 * cfg80211_mgmt_tx_status - notification of TX status for management frame
7246 * cfg80211_control_port_tx_status - notification of TX status for control
7264 * cfg80211_rx_control_port - notification about a received control port frame
7267 * is 802.3 formatted (with 802.3 header). The skb can be non-linear.
7270 * skb->protocol is set appropriately.
7286 * cfg80211_cqm_rssi_notify - connection quality monitoring rssi event
7300 * cfg80211_cqm_pktloss_notify - notify userspace about packetloss to peer
7303 * @num_packets: how many packets were lost -- should be a fixed threshold
7312 * cfg80211_cqm_txe_notify - TX error rate event
7327 * cfg80211_cqm_beacon_loss_notify - beacon loss event
7336 * cfg80211_radar_event - radar detection event
7347 * cfg80211_sta_opmode_change_notify - STA's ht/vht operation mode change event
7361 * cfg80211_cac_event - Channel availability check (CAC) event
7369 * also by full-MAC drivers.
7377 * cfg80211_gtk_rekey_notify - notify userspace about driver rekeying
7387 * cfg80211_pmksa_candidate_notify - notify about PMKSA caching candidate
7391 * @preauth: Whether AP advertises support for RSN pre-authentication
7398 * cfg80211_rx_spurious_frame - inform userspace about a spurious frame
7413 * cfg80211_rx_unexpected_4addr_frame - inform about unexpected WDS frame
7429 * cfg80211_probe_status - notify userspace about probe status
7443 * cfg80211_report_obss_beacon_khz - report beacon from other APs
7458 * cfg80211_report_obss_beacon - report beacon from other APs
7478 * cfg80211_reg_can_beacon - check if beaconing is allowed
7491 * cfg80211_reg_can_beacon_relax - check if beaconing is allowed with relaxation
7498 * also checks if IR-relaxation conditions apply, to allow beaconing under
7508 * cfg80211_ch_switch_notify - update wdev channel and notify userspace
7519 * cfg80211_ch_switch_started_notify - notify channel switch start
7533 * ieee80211_operating_class_to_band - convert operating class to band
7544 * ieee80211_chandef_to_operating_class - convert chandef to operation class
7555 * ieee80211_chandef_to_khz - convert chandef to frequency in KHz
7559 * Returns the center frequency of chandef (1st segment) in KHz.
7564 return MHZ_TO_KHZ(chandef->center_freq1) + chandef->freq1_offset; in ieee80211_chandef_to_khz()
7568 * cfg80211_tdls_oper_request - request userspace to perform TDLS operation
7587 * cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units)
7595 * cfg80211_unregister_wdev - remove the given wdev
7611 * struct cfg80211_ft_event_params - FT Information Elements
7627 * cfg80211_ft_event - notify userspace about FT IE and RIC IE
7635 * cfg80211_get_p2p_attr - find and copy a P2P attribute from IE buffer
7646 * Return: A negative error code (-%EILSEQ or -%ENOENT) if the data is
7655 * ieee80211_ie_split_ric - split an IE buffer according to ordering (with RIC)
7660 * EID in the list is a sub-element of the EXTENSION IE.
7670 * It assumes that the given IE buffer is well-formed, this
7687 * ieee80211_ie_split - split an IE buffer according to ordering
7692 * EID in the list is a sub-element of the EXTENSION IE.
7700 * It assumes that the given IE buffer is well-formed, this
7718 * cfg80211_report_wowlan_wakeup - report wakeup from WoWLAN
7733 * cfg80211_crit_proto_stopped() - indicate critical protocol stopped by driver.
7745 * ieee80211_get_num_supported_channels - get number of channels device has
7753 * cfg80211_check_combinations - check interface combinations
7766 * cfg80211_iter_combinations - iterate over matching combinations
7784 * cfg80211_stop_iface - trigger interface disconnection
7799 * cfg80211_shutdown_all_interfaces - shut down all interfaces for a wiphy
7803 * calling dev_close() (and treating non-netdev interfaces as needed).
7813 * wiphy_ext_feature_set - set the extended feature flag
7826 ft_byte = &wiphy->ext_features[ftidx / 8]; in wiphy_ext_feature_set()
7831 * wiphy_ext_feature_isset - check the extended feature flag
7845 ft_byte = wiphy->ext_features[ftidx / 8]; in wiphy_ext_feature_isset()
7850 * cfg80211_free_nan_func - free NAN function
7858 * struct cfg80211_nan_match_params - NAN match parameters
7882 * cfg80211_nan_match - report a match for a NAN function.
7895 * cfg80211_nan_func_terminated - notify about NAN function termination.
7914 * cfg80211_external_auth_request - userspace request for authentication
7925 * cfg80211_pmsr_report - report peer measurement result data
7937 * cfg80211_pmsr_complete - report peer measurement completed
7950 * cfg80211_iftype_allowed - check whether the interface can be allowed
7969 dev_printk(level, &(wiphy)->dev, format, ##args)
7971 dev_emerg(&(wiphy)->dev, format, ##args)
7973 dev_alert(&(wiphy)->dev, format, ##args)
7975 dev_crit(&(wiphy)->dev, format, ##args)
7977 dev_err(&(wiphy)->dev, format, ##args)
7979 dev_warn(&(wiphy)->dev, format, ##args)
7981 dev_notice(&(wiphy)->dev, format, ##args)
7983 dev_info(&(wiphy)->dev, format, ##args)
7986 dev_err_ratelimited(&(wiphy)->dev, format, ##args)
7988 dev_warn_ratelimited(&(wiphy)->dev, format, ##args)
7994 dev_dbg(&(wiphy)->dev, format, ##args)
8016 * cfg80211_update_owe_info_event - Notify the peer's OWE info to user space
8026 * cfg80211_bss_flush - resets all the scan entries