diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 38 |
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 | */ |
1272 | struct cfg80211_bss_ies { | 1274 | struct 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 | */ |
1298 | struct cfg80211_bss { | 1307 | struct 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 | */ |
1408 | struct cfg80211_deauth_request { | 1419 | struct 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 | */ |
3173 | void cfg80211_ref_bss(struct cfg80211_bss *bss); | 3184 | void 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 | */ |
3181 | void cfg80211_put_bss(struct cfg80211_bss *bss); | 3193 | void 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 |