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.h57
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 */
267enum 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 */
301struct station_parameters { 283struct 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 */
676struct cfg80211_assoc_request { 663struct 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,
1396int cfg80211_wext_giwretry(struct net_device *dev, 1388int 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);
1391int cfg80211_wext_siwencodeext(struct net_device *dev,
1392 struct iw_request_info *info,
1393 struct iw_point *erq, char *extra);
1394int cfg80211_wext_siwencode(struct net_device *dev,
1395 struct iw_request_info *info,
1396 struct iw_point *erq, char *keybuf);
1397int 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