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.h42
1 files changed, 31 insertions, 11 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 83d800c31e3c..815dc3f37e2b 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -521,6 +521,7 @@ struct station_parameters {
521 * @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled 521 * @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled
522 * @STATION_INFO_STA_FLAGS: @sta_flags filled 522 * @STATION_INFO_STA_FLAGS: @sta_flags filled
523 * @STATION_INFO_BEACON_LOSS_COUNT: @beacon_loss_count filled 523 * @STATION_INFO_BEACON_LOSS_COUNT: @beacon_loss_count filled
524 * @STATION_INFO_T_OFFSET: @t_offset filled
524 */ 525 */
525enum station_info_flags { 526enum station_info_flags {
526 STATION_INFO_INACTIVE_TIME = 1<<0, 527 STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -542,7 +543,8 @@ enum station_info_flags {
542 STATION_INFO_CONNECTED_TIME = 1<<16, 543 STATION_INFO_CONNECTED_TIME = 1<<16,
543 STATION_INFO_ASSOC_REQ_IES = 1<<17, 544 STATION_INFO_ASSOC_REQ_IES = 1<<17,
544 STATION_INFO_STA_FLAGS = 1<<18, 545 STATION_INFO_STA_FLAGS = 1<<18,
545 STATION_INFO_BEACON_LOSS_COUNT = 1<<19 546 STATION_INFO_BEACON_LOSS_COUNT = 1<<19,
547 STATION_INFO_T_OFFSET = 1<<20,
546}; 548};
547 549
548/** 550/**
@@ -643,6 +645,7 @@ struct sta_bss_parameters {
643 * @assoc_req_ies_len: Length of assoc_req_ies buffer in octets. 645 * @assoc_req_ies_len: Length of assoc_req_ies buffer in octets.
644 * @sta_flags: station flags mask & values 646 * @sta_flags: station flags mask & values
645 * @beacon_loss_count: Number of times beacon loss event has triggered. 647 * @beacon_loss_count: Number of times beacon loss event has triggered.
648 * @t_offset: Time offset of the station relative to this host.
646 */ 649 */
647struct station_info { 650struct station_info {
648 u32 filled; 651 u32 filled;
@@ -671,6 +674,7 @@ struct station_info {
671 size_t assoc_req_ies_len; 674 size_t assoc_req_ies_len;
672 675
673 u32 beacon_loss_count; 676 u32 beacon_loss_count;
677 s64 t_offset;
674 678
675 /* 679 /*
676 * Note: Add a new enum station_info_flags value for each new field and 680 * Note: Add a new enum station_info_flags value for each new field and
@@ -798,6 +802,8 @@ struct mesh_config {
798 /* ttl used in path selection information elements */ 802 /* ttl used in path selection information elements */
799 u8 element_ttl; 803 u8 element_ttl;
800 bool auto_open_plinks; 804 bool auto_open_plinks;
805 /* neighbor offset synchronization */
806 u32 dot11MeshNbrOffsetMaxNeighbor;
801 /* HWMP parameters */ 807 /* HWMP parameters */
802 u8 dot11MeshHWMPmaxPREQretries; 808 u8 dot11MeshHWMPmaxPREQretries;
803 u32 path_refresh_time; 809 u32 path_refresh_time;
@@ -821,6 +827,7 @@ struct mesh_config {
821 * struct mesh_setup - 802.11s mesh setup configuration 827 * struct mesh_setup - 802.11s mesh setup configuration
822 * @mesh_id: the mesh ID 828 * @mesh_id: the mesh ID
823 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes 829 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes
830 * @sync_method: which synchronization method to use
824 * @path_sel_proto: which path selection protocol to use 831 * @path_sel_proto: which path selection protocol to use
825 * @path_metric: which metric to use 832 * @path_metric: which metric to use
826 * @ie: vendor information elements (optional) 833 * @ie: vendor information elements (optional)
@@ -834,8 +841,9 @@ struct mesh_config {
834struct mesh_setup { 841struct mesh_setup {
835 const u8 *mesh_id; 842 const u8 *mesh_id;
836 u8 mesh_id_len; 843 u8 mesh_id_len;
837 u8 path_sel_proto; 844 u8 sync_method;
838 u8 path_metric; 845 u8 path_sel_proto;
846 u8 path_metric;
839 const u8 *ie; 847 const u8 *ie;
840 u8 ie_len; 848 u8 ie_len;
841 bool is_authenticated; 849 bool is_authenticated;
@@ -845,7 +853,7 @@ struct mesh_setup {
845 853
846/** 854/**
847 * struct ieee80211_txq_params - TX queue parameters 855 * struct ieee80211_txq_params - TX queue parameters
848 * @queue: TX queue identifier (NL80211_TXQ_Q_*) 856 * @ac: AC identifier
849 * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled 857 * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled
850 * @cwmin: Minimum contention window [a value of the form 2^n-1 in the range 858 * @cwmin: Minimum contention window [a value of the form 2^n-1 in the range
851 * 1..32767] 859 * 1..32767]
@@ -854,7 +862,7 @@ struct mesh_setup {
854 * @aifs: Arbitration interframe space [0..255] 862 * @aifs: Arbitration interframe space [0..255]
855 */ 863 */
856struct ieee80211_txq_params { 864struct ieee80211_txq_params {
857 enum nl80211_txq_q queue; 865 enum nl80211_ac ac;
858 u16 txop; 866 u16 txop;
859 u16 cwmin; 867 u16 cwmin;
860 u16 cwmax; 868 u16 cwmax;
@@ -1336,6 +1344,9 @@ struct cfg80211_gtk_rekey_data {
1336 * be %NULL or contain the enabled Wake-on-Wireless triggers that are 1344 * be %NULL or contain the enabled Wake-on-Wireless triggers that are
1337 * configured for the device. 1345 * configured for the device.
1338 * @resume: wiphy device needs to be resumed 1346 * @resume: wiphy device needs to be resumed
1347 * @set_wakeup: Called when WoWLAN is enabled/disabled, use this callback
1348 * to call device_set_wakeup_enable() to enable/disable wakeup from
1349 * the device.
1339 * 1350 *
1340 * @add_virtual_intf: create a new virtual interface with the given name, 1351 * @add_virtual_intf: create a new virtual interface with the given name,
1341 * must set the struct wireless_dev's iftype. Beware: You must create 1352 * must set the struct wireless_dev's iftype. Beware: You must create
@@ -1507,6 +1518,7 @@ struct cfg80211_gtk_rekey_data {
1507struct cfg80211_ops { 1518struct cfg80211_ops {
1508 int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); 1519 int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow);
1509 int (*resume)(struct wiphy *wiphy); 1520 int (*resume)(struct wiphy *wiphy);
1521 void (*set_wakeup)(struct wiphy *wiphy, bool enabled);
1510 1522
1511 struct net_device * (*add_virtual_intf)(struct wiphy *wiphy, 1523 struct net_device * (*add_virtual_intf)(struct wiphy *wiphy,
1512 char *name, 1524 char *name,
@@ -1698,7 +1710,8 @@ struct cfg80211_ops {
1698 struct net_device *dev, 1710 struct net_device *dev,
1699 u16 noack_map); 1711 u16 noack_map);
1700 1712
1701 struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy); 1713 struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy,
1714 enum nl80211_channel_type *type);
1702}; 1715};
1703 1716
1704/* 1717/*
@@ -1732,10 +1745,6 @@ struct cfg80211_ops {
1732 * hints read the documenation for regulatory_hint_found_beacon() 1745 * hints read the documenation for regulatory_hint_found_beacon()
1733 * @WIPHY_FLAG_NETNS_OK: if not set, do not allow changing the netns of this 1746 * @WIPHY_FLAG_NETNS_OK: if not set, do not allow changing the netns of this
1734 * wiphy at all 1747 * wiphy at all
1735 * @WIPHY_FLAG_ENFORCE_COMBINATIONS: Set this flag to enforce interface
1736 * combinations for this device. This flag is used for backward
1737 * compatibility only until all drivers advertise combinations and
1738 * they will always be enforced.
1739 * @WIPHY_FLAG_PS_ON_BY_DEFAULT: if set to true, powersave will be enabled 1748 * @WIPHY_FLAG_PS_ON_BY_DEFAULT: if set to true, powersave will be enabled
1740 * by default -- this flag will be set depending on the kernel's default 1749 * by default -- this flag will be set depending on the kernel's default
1741 * on wiphy_new(), but can be changed by the driver if it has a good 1750 * on wiphy_new(), but can be changed by the driver if it has a good
@@ -1780,7 +1789,7 @@ enum wiphy_flags {
1780 WIPHY_FLAG_IBSS_RSN = BIT(8), 1789 WIPHY_FLAG_IBSS_RSN = BIT(8),
1781 WIPHY_FLAG_MESH_AUTH = BIT(10), 1790 WIPHY_FLAG_MESH_AUTH = BIT(10),
1782 WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11), 1791 WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11),
1783 WIPHY_FLAG_ENFORCE_COMBINATIONS = BIT(12), 1792 /* use hole at 12 */
1784 WIPHY_FLAG_SUPPORTS_FW_ROAM = BIT(13), 1793 WIPHY_FLAG_SUPPORTS_FW_ROAM = BIT(13),
1785 WIPHY_FLAG_AP_UAPSD = BIT(14), 1794 WIPHY_FLAG_AP_UAPSD = BIT(14),
1786 WIPHY_FLAG_SUPPORTS_TDLS = BIT(15), 1795 WIPHY_FLAG_SUPPORTS_TDLS = BIT(15),
@@ -3343,6 +3352,17 @@ int cfg80211_can_beacon_sec_chan(struct wiphy *wiphy,
3343 enum nl80211_channel_type channel_type); 3352 enum nl80211_channel_type channel_type);
3344 3353
3345/* 3354/*
3355 * cfg80211_ch_switch_notify - update wdev channel and notify userspace
3356 * @dev: the device which switched channels
3357 * @freq: new channel frequency (in MHz)
3358 * @type: channel type
3359 *
3360 * Acquires wdev_lock, so must only be called from sleepable driver context!
3361 */
3362void cfg80211_ch_switch_notify(struct net_device *dev, int freq,
3363 enum nl80211_channel_type type);
3364
3365/*
3346 * cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units) 3366 * cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units)
3347 * @rate: given rate_info to calculate bitrate from 3367 * @rate: given rate_info to calculate bitrate from
3348 * 3368 *