aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index cb710913d5c8..3eae46cb1acf 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -437,6 +437,15 @@ bool cfg80211_chandef_usable(struct wiphy *wiphy,
437 u32 prohibited_flags); 437 u32 prohibited_flags);
438 438
439/** 439/**
440 * cfg80211_chandef_dfs_required - checks if radar detection is required
441 * @wiphy: the wiphy to validate against
442 * @chandef: the channel definition to check
443 * Return: 1 if radar detection is required, 0 if it is not, < 0 on error
444 */
445int cfg80211_chandef_dfs_required(struct wiphy *wiphy,
446 const struct cfg80211_chan_def *chandef);
447
448/**
440 * ieee80211_chandef_rate_flags - returns rate flags for a channel 449 * ieee80211_chandef_rate_flags - returns rate flags for a channel
441 * 450 *
442 * In some channel types, not all rates may be used - for example CCK 451 * In some channel types, not all rates may be used - for example CCK
@@ -735,6 +744,10 @@ enum station_parameters_apply_mask {
735 * @capability: station capability 744 * @capability: station capability
736 * @ext_capab: extended capabilities of the station 745 * @ext_capab: extended capabilities of the station
737 * @ext_capab_len: number of extended capabilities 746 * @ext_capab_len: number of extended capabilities
747 * @supported_channels: supported channels in IEEE 802.11 format
748 * @supported_channels_len: number of supported channels
749 * @supported_oper_classes: supported oper classes in IEEE 802.11 format
750 * @supported_oper_classes_len: number of supported operating classes
738 */ 751 */
739struct station_parameters { 752struct station_parameters {
740 const u8 *supported_rates; 753 const u8 *supported_rates;
@@ -754,6 +767,10 @@ struct station_parameters {
754 u16 capability; 767 u16 capability;
755 const u8 *ext_capab; 768 const u8 *ext_capab;
756 u8 ext_capab_len; 769 u8 ext_capab_len;
770 const u8 *supported_channels;
771 u8 supported_channels_len;
772 const u8 *supported_oper_classes;
773 u8 supported_oper_classes_len;
757}; 774};
758 775
759/** 776/**
@@ -1647,6 +1664,9 @@ struct cfg80211_disassoc_request {
1647 * sets/clears %NL80211_STA_FLAG_AUTHORIZED. If true, the driver is 1664 * sets/clears %NL80211_STA_FLAG_AUTHORIZED. If true, the driver is
1648 * required to assume that the port is unauthorized until authorized by 1665 * required to assume that the port is unauthorized until authorized by
1649 * user space. Otherwise, port is marked authorized by default. 1666 * user space. Otherwise, port is marked authorized by default.
1667 * @userspace_handles_dfs: whether user space controls DFS operation, i.e.
1668 * changes the channel when a radar is detected. This is required
1669 * to operate on DFS channels.
1650 * @basic_rates: bitmap of basic rates to use when creating the IBSS 1670 * @basic_rates: bitmap of basic rates to use when creating the IBSS
1651 * @mcast_rate: per-band multicast rate index + 1 (0: disabled) 1671 * @mcast_rate: per-band multicast rate index + 1 (0: disabled)
1652 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask 1672 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
@@ -1664,6 +1684,7 @@ struct cfg80211_ibss_params {
1664 bool channel_fixed; 1684 bool channel_fixed;
1665 bool privacy; 1685 bool privacy;
1666 bool control_port; 1686 bool control_port;
1687 bool userspace_handles_dfs;
1667 int mcast_rate[IEEE80211_NUM_BANDS]; 1688 int mcast_rate[IEEE80211_NUM_BANDS];
1668 struct ieee80211_ht_cap ht_capa; 1689 struct ieee80211_ht_cap ht_capa;
1669 struct ieee80211_ht_cap ht_capa_mask; 1690 struct ieee80211_ht_cap ht_capa_mask;
@@ -3044,6 +3065,7 @@ struct cfg80211_cached_keys;
3044 * @conn: (private) cfg80211 software SME connection state machine data 3065 * @conn: (private) cfg80211 software SME connection state machine data
3045 * @connect_keys: (private) keys to set after connection is established 3066 * @connect_keys: (private) keys to set after connection is established
3046 * @ibss_fixed: (private) IBSS is using fixed BSSID 3067 * @ibss_fixed: (private) IBSS is using fixed BSSID
3068 * @ibss_dfs_possible: (private) IBSS may change to a DFS channel
3047 * @event_list: (private) list for internal event processing 3069 * @event_list: (private) list for internal event processing
3048 * @event_lock: (private) lock for event list 3070 * @event_lock: (private) lock for event list
3049 */ 3071 */
@@ -3082,6 +3104,7 @@ struct wireless_dev {
3082 struct ieee80211_channel *channel; 3104 struct ieee80211_channel *channel;
3083 3105
3084 bool ibss_fixed; 3106 bool ibss_fixed;
3107 bool ibss_dfs_possible;
3085 3108
3086 bool ps; 3109 bool ps;
3087 int ps_timeout; 3110 int ps_timeout;
@@ -3474,6 +3497,15 @@ void wiphy_apply_custom_regulatory(struct wiphy *wiphy,
3474const struct ieee80211_reg_rule *freq_reg_info(struct wiphy *wiphy, 3497const struct ieee80211_reg_rule *freq_reg_info(struct wiphy *wiphy,
3475 u32 center_freq); 3498 u32 center_freq);
3476 3499
3500/**
3501 * reg_initiator_name - map regulatory request initiator enum to name
3502 * @initiator: the regulatory request initiator
3503 *
3504 * You can use this to map the regulatory request initiator enum to a
3505 * proper string representation.
3506 */
3507const char *reg_initiator_name(enum nl80211_reg_initiator initiator);
3508
3477/* 3509/*
3478 * callbacks for asynchronous cfg80211 methods, notification 3510 * callbacks for asynchronous cfg80211 methods, notification
3479 * functions and BSS handling helpers 3511 * functions and BSS handling helpers