diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index b8a76764e1c5..9e17a83d3432 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -252,27 +252,6 @@ struct beacon_parameters { | |||
252 | }; | 252 | }; |
253 | 253 | ||
254 | /** | 254 | /** |
255 | * enum station_flags - station flags | ||
256 | * | ||
257 | * Station capability flags. Note that these must be the bits | ||
258 | * according to the nl80211 flags. | ||
259 | * | ||
260 | * @STATION_FLAG_CHANGED: station flags were changed | ||
261 | * @STATION_FLAG_AUTHORIZED: station is authorized to send frames (802.1X) | ||
262 | * @STATION_FLAG_SHORT_PREAMBLE: station is capable of receiving frames | ||
263 | * with short preambles | ||
264 | * @STATION_FLAG_WME: station is WME/QoS capable | ||
265 | * @STATION_FLAG_MFP: station uses management frame protection | ||
266 | */ | ||
267 | enum station_flags { | ||
268 | STATION_FLAG_CHANGED = 1<<0, | ||
269 | STATION_FLAG_AUTHORIZED = 1<<NL80211_STA_FLAG_AUTHORIZED, | ||
270 | STATION_FLAG_SHORT_PREAMBLE = 1<<NL80211_STA_FLAG_SHORT_PREAMBLE, | ||
271 | STATION_FLAG_WME = 1<<NL80211_STA_FLAG_WME, | ||
272 | STATION_FLAG_MFP = 1<<NL80211_STA_FLAG_MFP, | ||
273 | }; | ||
274 | |||
275 | /** | ||
276 | * enum plink_action - actions to perform in mesh peers | 255 | * enum plink_action - actions to perform in mesh peers |
277 | * | 256 | * |
278 | * @PLINK_ACTION_INVALID: action 0 is reserved | 257 | * @PLINK_ACTION_INVALID: action 0 is reserved |
@@ -294,14 +273,17 @@ enum plink_actions { | |||
294 | * @supported_rates: supported rates in IEEE 802.11 format | 273 | * @supported_rates: supported rates in IEEE 802.11 format |
295 | * (or NULL for no change) | 274 | * (or NULL for no change) |
296 | * @supported_rates_len: number of supported rates | 275 | * @supported_rates_len: number of supported rates |
297 | * @station_flags: station flags (see &enum station_flags) | 276 | * @sta_flags_mask: station flags that changed |
277 | * (bitmask of BIT(NL80211_STA_FLAG_...)) | ||
278 | * @sta_flags_set: station flags values | ||
279 | * (bitmask of BIT(NL80211_STA_FLAG_...)) | ||
298 | * @listen_interval: listen interval or -1 for no change | 280 | * @listen_interval: listen interval or -1 for no change |
299 | * @aid: AID or zero for no change | 281 | * @aid: AID or zero for no change |
300 | */ | 282 | */ |
301 | struct station_parameters { | 283 | struct station_parameters { |
302 | u8 *supported_rates; | 284 | u8 *supported_rates; |
303 | struct net_device *vlan; | 285 | struct net_device *vlan; |
304 | u32 station_flags; | 286 | u32 sta_flags_mask, sta_flags_set; |
305 | int listen_interval; | 287 | int listen_interval; |
306 | u16 aid; | 288 | u16 aid; |
307 | u8 supported_rates_len; | 289 | u8 supported_rates_len; |
@@ -672,6 +654,11 @@ struct cfg80211_auth_request { | |||
672 | * @ssid_len: Length of ssid in octets | 654 | * @ssid_len: Length of ssid in octets |
673 | * @ie: Extra IEs to add to (Re)Association Request frame or %NULL | 655 | * @ie: Extra IEs to add to (Re)Association Request frame or %NULL |
674 | * @ie_len: Length of ie buffer in octets | 656 | * @ie_len: Length of ie buffer in octets |
657 | * @use_mfp: Use management frame protection (IEEE 802.11w) in this association | ||
658 | * @control_port: Whether user space controls IEEE 802.1X port, i.e., | ||
659 | * sets/clears %NL80211_STA_FLAG_AUTHORIZED. If true, the driver is | ||
660 | * required to assume that the port is unauthorized until authorized by | ||
661 | * user space. Otherwise, port is marked authorized by default. | ||
675 | */ | 662 | */ |
676 | struct cfg80211_assoc_request { | 663 | struct cfg80211_assoc_request { |
677 | struct ieee80211_channel *chan; | 664 | struct ieee80211_channel *chan; |
@@ -680,6 +667,8 @@ struct cfg80211_assoc_request { | |||
680 | size_t ssid_len; | 667 | size_t ssid_len; |
681 | const u8 *ie; | 668 | const u8 *ie; |
682 | size_t ie_len; | 669 | size_t ie_len; |
670 | bool use_mfp; | ||
671 | bool control_port; | ||
683 | }; | 672 | }; |
684 | 673 | ||
685 | /** | 674 | /** |
@@ -858,13 +847,13 @@ struct cfg80211_ops { | |||
858 | struct vif_params *params); | 847 | struct vif_params *params); |
859 | 848 | ||
860 | int (*add_key)(struct wiphy *wiphy, struct net_device *netdev, | 849 | int (*add_key)(struct wiphy *wiphy, struct net_device *netdev, |
861 | u8 key_index, u8 *mac_addr, | 850 | u8 key_index, const u8 *mac_addr, |
862 | struct key_params *params); | 851 | struct key_params *params); |
863 | int (*get_key)(struct wiphy *wiphy, struct net_device *netdev, | 852 | int (*get_key)(struct wiphy *wiphy, struct net_device *netdev, |
864 | u8 key_index, u8 *mac_addr, void *cookie, | 853 | u8 key_index, const u8 *mac_addr, void *cookie, |
865 | void (*callback)(void *cookie, struct key_params*)); | 854 | void (*callback)(void *cookie, struct key_params*)); |
866 | int (*del_key)(struct wiphy *wiphy, struct net_device *netdev, | 855 | int (*del_key)(struct wiphy *wiphy, struct net_device *netdev, |
867 | u8 key_index, u8 *mac_addr); | 856 | u8 key_index, const u8 *mac_addr); |
868 | int (*set_default_key)(struct wiphy *wiphy, | 857 | int (*set_default_key)(struct wiphy *wiphy, |
869 | struct net_device *netdev, | 858 | struct net_device *netdev, |
870 | u8 key_index); | 859 | u8 key_index); |
@@ -1145,8 +1134,11 @@ struct wireless_dev { | |||
1145 | 1134 | ||
1146 | #ifdef CONFIG_WIRELESS_EXT | 1135 | #ifdef CONFIG_WIRELESS_EXT |
1147 | /* wext data */ | 1136 | /* wext data */ |
1148 | struct cfg80211_ibss_params wext; | 1137 | struct { |
1149 | u8 wext_bssid[ETH_ALEN]; | 1138 | struct cfg80211_ibss_params ibss; |
1139 | u8 bssid[ETH_ALEN]; | ||
1140 | s8 default_key, default_mgmt_key; | ||
1141 | } wext; | ||
1150 | #endif | 1142 | #endif |
1151 | }; | 1143 | }; |
1152 | 1144 | ||
@@ -1396,6 +1388,15 @@ int cfg80211_wext_siwretry(struct net_device *dev, | |||
1396 | int cfg80211_wext_giwretry(struct net_device *dev, | 1388 | int cfg80211_wext_giwretry(struct net_device *dev, |
1397 | struct iw_request_info *info, | 1389 | struct iw_request_info *info, |
1398 | struct iw_param *retry, char *extra); | 1390 | struct iw_param *retry, char *extra); |
1391 | int cfg80211_wext_siwencodeext(struct net_device *dev, | ||
1392 | struct iw_request_info *info, | ||
1393 | struct iw_point *erq, char *extra); | ||
1394 | int cfg80211_wext_siwencode(struct net_device *dev, | ||
1395 | struct iw_request_info *info, | ||
1396 | struct iw_point *erq, char *keybuf); | ||
1397 | int cfg80211_wext_giwencode(struct net_device *dev, | ||
1398 | struct iw_request_info *info, | ||
1399 | struct iw_point *erq, char *keybuf); | ||
1399 | 1400 | ||
1400 | /* | 1401 | /* |
1401 | * callbacks for asynchronous cfg80211 methods, notification | 1402 | * callbacks for asynchronous cfg80211 methods, notification |