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.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 64df51d9a89f..0b146bb2dd14 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -80,7 +80,6 @@ enum ieee80211_channel_flags {
80 * with cfg80211. 80 * with cfg80211.
81 * 81 *
82 * @center_freq: center frequency in MHz 82 * @center_freq: center frequency in MHz
83 * @max_bandwidth: maximum allowed bandwidth for this channel, in MHz
84 * @hw_value: hardware-specific value for the channel 83 * @hw_value: hardware-specific value for the channel
85 * @flags: channel flags from &enum ieee80211_channel_flags. 84 * @flags: channel flags from &enum ieee80211_channel_flags.
86 * @orig_flags: channel flags at registration time, used by regulatory 85 * @orig_flags: channel flags at registration time, used by regulatory
@@ -97,7 +96,6 @@ enum ieee80211_channel_flags {
97struct ieee80211_channel { 96struct ieee80211_channel {
98 enum ieee80211_band band; 97 enum ieee80211_band band;
99 u16 center_freq; 98 u16 center_freq;
100 u8 max_bandwidth;
101 u16 hw_value; 99 u16 hw_value;
102 u32 flags; 100 u32 flags;
103 int max_antenna_gain; 101 int max_antenna_gain;
@@ -372,6 +370,10 @@ struct rate_info {
372 * @txrate: current unicast bitrate to this station 370 * @txrate: current unicast bitrate to this station
373 * @rx_packets: packets received from this station 371 * @rx_packets: packets received from this station
374 * @tx_packets: packets transmitted to this station 372 * @tx_packets: packets transmitted to this station
373 * @generation: generation number for nl80211 dumps.
374 * This number should increase every time the list of stations
375 * changes, i.e. when a station is added or removed, so that
376 * userspace can tell whether it got a consistent snapshot.
375 */ 377 */
376struct station_info { 378struct station_info {
377 u32 filled; 379 u32 filled;
@@ -385,6 +387,8 @@ struct station_info {
385 struct rate_info txrate; 387 struct rate_info txrate;
386 u32 rx_packets; 388 u32 rx_packets;
387 u32 tx_packets; 389 u32 tx_packets;
390
391 int generation;
388}; 392};
389 393
390/** 394/**
@@ -444,6 +448,10 @@ enum mpath_info_flags {
444 * @flags: mesh path flags 448 * @flags: mesh path flags
445 * @discovery_timeout: total mesh path discovery timeout, in msecs 449 * @discovery_timeout: total mesh path discovery timeout, in msecs
446 * @discovery_retries: mesh path discovery retries 450 * @discovery_retries: mesh path discovery retries
451 * @generation: generation number for nl80211 dumps.
452 * This number should increase every time the list of mesh paths
453 * changes, i.e. when a station is added or removed, so that
454 * userspace can tell whether it got a consistent snapshot.
447 */ 455 */
448struct mpath_info { 456struct mpath_info {
449 u32 filled; 457 u32 filled;
@@ -454,6 +462,8 @@ struct mpath_info {
454 u32 discovery_timeout; 462 u32 discovery_timeout;
455 u8 discovery_retries; 463 u8 discovery_retries;
456 u8 flags; 464 u8 flags;
465
466 int generation;
457}; 467};
458 468
459/** 469/**
@@ -547,7 +557,6 @@ struct cfg80211_ssid {
547struct cfg80211_scan_request { 557struct cfg80211_scan_request {
548 struct cfg80211_ssid *ssids; 558 struct cfg80211_ssid *ssids;
549 int n_ssids; 559 int n_ssids;
550 struct ieee80211_channel **channels;
551 u32 n_channels; 560 u32 n_channels;
552 const u8 *ie; 561 const u8 *ie;
553 size_t ie_len; 562 size_t ie_len;
@@ -556,6 +565,9 @@ struct cfg80211_scan_request {
556 struct wiphy *wiphy; 565 struct wiphy *wiphy;
557 struct net_device *dev; 566 struct net_device *dev;
558 bool aborted; 567 bool aborted;
568
569 /* keep last */
570 struct ieee80211_channel *channels[0];
559}; 571};
560 572
561/** 573/**
@@ -1096,6 +1108,9 @@ struct cfg80211_ops {
1096 * @net: the network namespace this wiphy currently lives in 1108 * @net: the network namespace this wiphy currently lives in
1097 * @netnsok: if set to false, do not allow changing the netns of this 1109 * @netnsok: if set to false, do not allow changing the netns of this
1098 * wiphy at all 1110 * wiphy at all
1111 * @ps_default: default for powersave, will be set depending on the
1112 * kernel's default on wiphy_new(), but can be changed by the
1113 * driver if it has a good reason to override the default
1099 */ 1114 */
1100struct wiphy { 1115struct wiphy {
1101 /* assign these fields before you register the wiphy */ 1116 /* assign these fields before you register the wiphy */
@@ -1111,6 +1126,7 @@ struct wiphy {
1111 bool disable_beacon_hints; 1126 bool disable_beacon_hints;
1112 1127
1113 bool netnsok; 1128 bool netnsok;
1129 bool ps_default;
1114 1130
1115 enum cfg80211_signal_type signal_type; 1131 enum cfg80211_signal_type signal_type;
1116 1132
@@ -1335,10 +1351,10 @@ struct wireless_dev {
1335 struct cfg80211_cached_keys *keys; 1351 struct cfg80211_cached_keys *keys;
1336 u8 *ie; 1352 u8 *ie;
1337 size_t ie_len; 1353 size_t ie_len;
1338 u8 bssid[ETH_ALEN]; 1354 u8 bssid[ETH_ALEN], prev_bssid[ETH_ALEN];
1339 u8 ssid[IEEE80211_MAX_SSID_LEN]; 1355 u8 ssid[IEEE80211_MAX_SSID_LEN];
1340 s8 default_key, default_mgmt_key; 1356 s8 default_key, default_mgmt_key;
1341 bool ps; 1357 bool ps, prev_bssid_valid;
1342 int ps_timeout; 1358 int ps_timeout;
1343 } wext; 1359 } wext;
1344#endif 1360#endif