diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 32 |
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 | */ | ||
445 | int 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 | */ |
739 | struct station_parameters { | 752 | struct 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, | |||
3474 | const struct ieee80211_reg_rule *freq_reg_info(struct wiphy *wiphy, | 3497 | const 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 | */ | ||
3507 | const 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 |