aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h5
-rw-r--r--include/net/cfg80211.h18
2 files changed, 22 insertions, 1 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 48e0913c2209..b043b78dd2c3 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -569,6 +569,9 @@ enum nl80211_commands {
569 * 569 *
570 * @NL80211_ATTR_KEY: key information in a nested attribute with 570 * @NL80211_ATTR_KEY: key information in a nested attribute with
571 * %NL80211_KEY_* sub-attributes 571 * %NL80211_KEY_* sub-attributes
572 * @NL80211_ATTR_KEYS: array of keys for static WEP keys for connect()
573 * and join_ibss(), key information is in a nested attribute each
574 * with %NL80211_KEY_* sub-attributes
572 * 575 *
573 * @NL80211_ATTR_MAX: highest attribute number currently defined 576 * @NL80211_ATTR_MAX: highest attribute number currently defined
574 * @__NL80211_ATTR_AFTER_LAST: internal use 577 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -696,6 +699,7 @@ enum nl80211_attrs {
696 NL80211_ATTR_PREV_BSSID, 699 NL80211_ATTR_PREV_BSSID,
697 700
698 NL80211_ATTR_KEY, 701 NL80211_ATTR_KEY,
702 NL80211_ATTR_KEYS,
699 703
700 /* add attributes here, update the policy in nl80211.c */ 704 /* add attributes here, update the policy in nl80211.c */
701 705
@@ -726,6 +730,7 @@ enum nl80211_attrs {
726#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS 730#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
727#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES 731#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
728#define NL80211_ATTR_KEY NL80211_ATTR_KEY 732#define NL80211_ATTR_KEY NL80211_ATTR_KEY
733#define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
729 734
730#define NL80211_MAX_SUPP_RATES 32 735#define NL80211_MAX_SUPP_RATES 32
731#define NL80211_MAX_SUPP_REG_RULES 32 736#define NL80211_MAX_SUPP_REG_RULES 32
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 83c2c727d71e..65a5cbcb5d14 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -647,12 +647,17 @@ struct cfg80211_crypto_settings {
647 * @auth_type: Authentication type (algorithm) 647 * @auth_type: Authentication type (algorithm)
648 * @ie: Extra IEs to add to Authentication frame or %NULL 648 * @ie: Extra IEs to add to Authentication frame or %NULL
649 * @ie_len: Length of ie buffer in octets 649 * @ie_len: Length of ie buffer in octets
650 * @key_len: length of WEP key for shared key authentication
651 * @key_idx: index of WEP key for shared key authentication
652 * @key: WEP key for shared key authentication
650 */ 653 */
651struct cfg80211_auth_request { 654struct cfg80211_auth_request {
652 struct cfg80211_bss *bss; 655 struct cfg80211_bss *bss;
653 const u8 *ie; 656 const u8 *ie;
654 size_t ie_len; 657 size_t ie_len;
655 enum nl80211_auth_type auth_type; 658 enum nl80211_auth_type auth_type;
659 const u8 *key;
660 u8 key_len, key_idx;
656}; 661};
657 662
658/** 663/**
@@ -727,6 +732,8 @@ struct cfg80211_disassoc_request {
727 * @ie: information element(s) to include in the beacon 732 * @ie: information element(s) to include in the beacon
728 * @ie_len: length of that 733 * @ie_len: length of that
729 * @beacon_interval: beacon interval to use 734 * @beacon_interval: beacon interval to use
735 * @privacy: this is a protected network, keys will be configured
736 * after joining
730 */ 737 */
731struct cfg80211_ibss_params { 738struct cfg80211_ibss_params {
732 u8 *ssid; 739 u8 *ssid;
@@ -736,6 +743,7 @@ struct cfg80211_ibss_params {
736 u8 ssid_len, ie_len; 743 u8 ssid_len, ie_len;
737 u16 beacon_interval; 744 u16 beacon_interval;
738 bool channel_fixed; 745 bool channel_fixed;
746 bool privacy;
739}; 747};
740 748
741/** 749/**
@@ -755,6 +763,9 @@ struct cfg80211_ibss_params {
755 * @assoc_ie_len: Length of assoc_ie in octets 763 * @assoc_ie_len: Length of assoc_ie in octets
756 * @privacy: indicates whether privacy-enabled APs should be used 764 * @privacy: indicates whether privacy-enabled APs should be used
757 * @crypto: crypto settings 765 * @crypto: crypto settings
766 * @key_len: length of WEP key for shared key authentication
767 * @key_idx: index of WEP key for shared key authentication
768 * @key: WEP key for shared key authentication
758 */ 769 */
759struct cfg80211_connect_params { 770struct cfg80211_connect_params {
760 struct ieee80211_channel *channel; 771 struct ieee80211_channel *channel;
@@ -766,6 +777,8 @@ struct cfg80211_connect_params {
766 size_t ie_len; 777 size_t ie_len;
767 bool privacy; 778 bool privacy;
768 struct cfg80211_crypto_settings crypto; 779 struct cfg80211_crypto_settings crypto;
780 const u8 *key;
781 u8 key_len, key_idx;
769}; 782};
770 783
771/** 784/**
@@ -1223,9 +1236,10 @@ extern void wiphy_unregister(struct wiphy *wiphy);
1223 */ 1236 */
1224extern void wiphy_free(struct wiphy *wiphy); 1237extern void wiphy_free(struct wiphy *wiphy);
1225 1238
1226/* internal struct */ 1239/* internal structs */
1227struct cfg80211_conn; 1240struct cfg80211_conn;
1228struct cfg80211_internal_bss; 1241struct cfg80211_internal_bss;
1242struct cfg80211_cached_keys;
1229 1243
1230#define MAX_AUTH_BSSES 4 1244#define MAX_AUTH_BSSES 4
1231 1245
@@ -1267,6 +1281,7 @@ struct wireless_dev {
1267 CFG80211_SME_CONNECTED, 1281 CFG80211_SME_CONNECTED,
1268 } sme_state; 1282 } sme_state;
1269 struct cfg80211_conn *conn; 1283 struct cfg80211_conn *conn;
1284 struct cfg80211_cached_keys *connect_keys;
1270 1285
1271 struct list_head event_list; 1286 struct list_head event_list;
1272 spinlock_t event_lock; 1287 spinlock_t event_lock;
@@ -1280,6 +1295,7 @@ struct wireless_dev {
1280 struct { 1295 struct {
1281 struct cfg80211_ibss_params ibss; 1296 struct cfg80211_ibss_params ibss;
1282 struct cfg80211_connect_params connect; 1297 struct cfg80211_connect_params connect;
1298 struct cfg80211_cached_keys *keys;
1283 u8 *ie; 1299 u8 *ie;
1284 size_t ie_len; 1300 size_t ie_len;
1285 u8 bssid[ETH_ALEN]; 1301 u8 bssid[ETH_ALEN];