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.h38
1 files changed, 25 insertions, 13 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 3ec70e1681d3..77686ca28948 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -535,7 +535,7 @@ struct mac_address {
535 * struct cfg80211_acl_data - Access control list data 535 * struct cfg80211_acl_data - Access control list data
536 * 536 *
537 * @acl_policy: ACL policy to be applied on the station's 537 * @acl_policy: ACL policy to be applied on the station's
538 entry specified by mac_addr 538 * entry specified by mac_addr
539 * @n_acl_entries: Number of MAC address entries passed 539 * @n_acl_entries: Number of MAC address entries passed
540 * @mac_addrs: List of MAC addresses of stations to be used for ACL 540 * @mac_addrs: List of MAC addresses of stations to be used for ACL
541 */ 541 */
@@ -666,6 +666,8 @@ struct station_parameters {
666 * @STATION_INFO_INACTIVE_TIME: @inactive_time filled 666 * @STATION_INFO_INACTIVE_TIME: @inactive_time filled
667 * @STATION_INFO_RX_BYTES: @rx_bytes filled 667 * @STATION_INFO_RX_BYTES: @rx_bytes filled
668 * @STATION_INFO_TX_BYTES: @tx_bytes filled 668 * @STATION_INFO_TX_BYTES: @tx_bytes filled
669 * @STATION_INFO_RX_BYTES64: @rx_bytes filled with 64-bit value
670 * @STATION_INFO_TX_BYTES64: @tx_bytes filled with 64-bit value
669 * @STATION_INFO_LLID: @llid filled 671 * @STATION_INFO_LLID: @llid filled
670 * @STATION_INFO_PLID: @plid filled 672 * @STATION_INFO_PLID: @plid filled
671 * @STATION_INFO_PLINK_STATE: @plink_state filled 673 * @STATION_INFO_PLINK_STATE: @plink_state filled
@@ -674,8 +676,6 @@ struct station_parameters {
674 * (tx_bitrate, tx_bitrate_flags and tx_bitrate_mcs) 676 * (tx_bitrate, tx_bitrate_flags and tx_bitrate_mcs)
675 * @STATION_INFO_RX_PACKETS: @rx_packets filled with 32-bit value 677 * @STATION_INFO_RX_PACKETS: @rx_packets filled with 32-bit value
676 * @STATION_INFO_TX_PACKETS: @tx_packets filled with 32-bit value 678 * @STATION_INFO_TX_PACKETS: @tx_packets filled with 32-bit value
677 * @STATION_INFO_RX_PACKETS64: @rx_packets filled with 64-bit value
678 * @STATION_INFO_TX_PACKETS64: @tx_packets filled with 64-bit value
679 * @STATION_INFO_TX_RETRIES: @tx_retries filled 679 * @STATION_INFO_TX_RETRIES: @tx_retries filled
680 * @STATION_INFO_TX_FAILED: @tx_failed filled 680 * @STATION_INFO_TX_FAILED: @tx_failed filled
681 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled 681 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled
@@ -1226,6 +1226,7 @@ struct cfg80211_match_set {
1226 * @n_match_sets: number of match sets 1226 * @n_match_sets: number of match sets
1227 * @wiphy: the wiphy this was for 1227 * @wiphy: the wiphy this was for
1228 * @dev: the interface 1228 * @dev: the interface
1229 * @scan_start: start time of the scheduled scan
1229 * @channels: channels to scan 1230 * @channels: channels to scan
1230 * @rssi_thold: don't report scan results below this threshold (in s32 dBm) 1231 * @rssi_thold: don't report scan results below this threshold (in s32 dBm)
1231 */ 1232 */
@@ -1265,11 +1266,13 @@ enum cfg80211_signal_type {
1265 1266
1266/** 1267/**
1267 * struct cfg80211_bss_ie_data - BSS entry IE data 1268 * struct cfg80211_bss_ie_data - BSS entry IE data
1269 * @tsf: TSF contained in the frame that carried these IEs
1268 * @rcu_head: internal use, for freeing 1270 * @rcu_head: internal use, for freeing
1269 * @len: length of the IEs 1271 * @len: length of the IEs
1270 * @data: IE data 1272 * @data: IE data
1271 */ 1273 */
1272struct cfg80211_bss_ies { 1274struct cfg80211_bss_ies {
1275 u64 tsf;
1273 struct rcu_head rcu_head; 1276 struct rcu_head rcu_head;
1274 int len; 1277 int len;
1275 u8 data[]; 1278 u8 data[];
@@ -1283,27 +1286,33 @@ struct cfg80211_bss_ies {
1283 * 1286 *
1284 * @channel: channel this BSS is on 1287 * @channel: channel this BSS is on
1285 * @bssid: BSSID of the BSS 1288 * @bssid: BSSID of the BSS
1286 * @tsf: timestamp of last received update
1287 * @beacon_interval: the beacon interval as from the frame 1289 * @beacon_interval: the beacon interval as from the frame
1288 * @capability: the capability field in host byte order 1290 * @capability: the capability field in host byte order
1289 * @ies: the information elements (Note that there 1291 * @ies: the information elements (Note that there is no guarantee that these
1290 * is no guarantee that these are well-formed!); this is a pointer to 1292 * are well-formed!); this is a pointer to either the beacon_ies or
1291 * either the beacon_ies or proberesp_ies depending on whether Probe 1293 * proberesp_ies depending on whether Probe Response frame has been
1292 * Response frame has been received 1294 * received. It is always non-%NULL.
1293 * @beacon_ies: the information elements from the last Beacon frame 1295 * @beacon_ies: the information elements from the last Beacon frame
1296 * (implementation note: if @hidden_beacon_bss is set this struct doesn't
1297 * own the beacon_ies, but they're just pointers to the ones from the
1298 * @hidden_beacon_bss struct)
1294 * @proberesp_ies: the information elements from the last Probe Response frame 1299 * @proberesp_ies: the information elements from the last Probe Response frame
1300 * @hidden_beacon_bss: in case this BSS struct represents a probe response from
1301 * a BSS that hides the SSID in its beacon, this points to the BSS struct
1302 * that holds the beacon data. @beacon_ies is still valid, of course, and
1303 * points to the same data as hidden_beacon_bss->beacon_ies in that case.
1295 * @signal: signal strength value (type depends on the wiphy's signal_type) 1304 * @signal: signal strength value (type depends on the wiphy's signal_type)
1296 * @priv: private area for driver use, has at least wiphy->bss_priv_size bytes 1305 * @priv: private area for driver use, has at least wiphy->bss_priv_size bytes
1297 */ 1306 */
1298struct cfg80211_bss { 1307struct cfg80211_bss {
1299 u64 tsf;
1300
1301 struct ieee80211_channel *channel; 1308 struct ieee80211_channel *channel;
1302 1309
1303 const struct cfg80211_bss_ies __rcu *ies; 1310 const struct cfg80211_bss_ies __rcu *ies;
1304 const struct cfg80211_bss_ies __rcu *beacon_ies; 1311 const struct cfg80211_bss_ies __rcu *beacon_ies;
1305 const struct cfg80211_bss_ies __rcu *proberesp_ies; 1312 const struct cfg80211_bss_ies __rcu *proberesp_ies;
1306 1313
1314 struct cfg80211_bss *hidden_beacon_bss;
1315
1307 s32 signal; 1316 s32 signal;
1308 1317
1309 u16 beacon_interval; 1318 u16 beacon_interval;
@@ -1404,6 +1413,8 @@ struct cfg80211_assoc_request {
1404 * @ie: Extra IEs to add to Deauthentication frame or %NULL 1413 * @ie: Extra IEs to add to Deauthentication frame or %NULL
1405 * @ie_len: Length of ie buffer in octets 1414 * @ie_len: Length of ie buffer in octets
1406 * @reason_code: The reason code for the deauthentication 1415 * @reason_code: The reason code for the deauthentication
1416 * @local_state_change: if set, change local state only and
1417 * do not set a deauth frame
1407 */ 1418 */
1408struct cfg80211_deauth_request { 1419struct cfg80211_deauth_request {
1409 const u8 *bssid; 1420 const u8 *bssid;
@@ -2629,7 +2640,6 @@ struct cfg80211_cached_keys;
2629 * the user-set AP, monitor and WDS channel 2640 * the user-set AP, monitor and WDS channel
2630 * @preset_chan: (private) Used by the internal configuration code to 2641 * @preset_chan: (private) Used by the internal configuration code to
2631 * track the channel to be used for AP later 2642 * track the channel to be used for AP later
2632 * @preset_chantype: (private) the corresponding channel type
2633 * @bssid: (private) Used by the internal configuration code 2643 * @bssid: (private) Used by the internal configuration code
2634 * @ssid: (private) Used by the internal configuration code 2644 * @ssid: (private) Used by the internal configuration code
2635 * @ssid_len: (private) Used by the internal configuration code 2645 * @ssid_len: (private) Used by the internal configuration code
@@ -3166,19 +3176,21 @@ cfg80211_get_ibss(struct wiphy *wiphy,
3166 3176
3167/** 3177/**
3168 * cfg80211_ref_bss - reference BSS struct 3178 * cfg80211_ref_bss - reference BSS struct
3179 * @wiphy: the wiphy this BSS struct belongs to
3169 * @bss: the BSS struct to reference 3180 * @bss: the BSS struct to reference
3170 * 3181 *
3171 * Increments the refcount of the given BSS struct. 3182 * Increments the refcount of the given BSS struct.
3172 */ 3183 */
3173void cfg80211_ref_bss(struct cfg80211_bss *bss); 3184void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *bss);
3174 3185
3175/** 3186/**
3176 * cfg80211_put_bss - unref BSS struct 3187 * cfg80211_put_bss - unref BSS struct
3188 * @wiphy: the wiphy this BSS struct belongs to
3177 * @bss: the BSS struct 3189 * @bss: the BSS struct
3178 * 3190 *
3179 * Decrements the refcount of the given BSS struct. 3191 * Decrements the refcount of the given BSS struct.
3180 */ 3192 */
3181void cfg80211_put_bss(struct cfg80211_bss *bss); 3193void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *bss);
3182 3194
3183/** 3195/**
3184 * cfg80211_unlink_bss - unlink BSS from internal data structures 3196 * cfg80211_unlink_bss - unlink BSS from internal data structures