diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 42 |
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 | */ |
525 | enum station_info_flags { | 526 | enum 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 | */ |
647 | struct station_info { | 650 | struct 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 { | |||
834 | struct mesh_setup { | 841 | struct 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 | */ |
856 | struct ieee80211_txq_params { | 864 | struct 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 { | |||
1507 | struct cfg80211_ops { | 1518 | struct 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 | */ | ||
3362 | void 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 | * |