]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
update nl80211.h
authorJohannes Berg <johannes@sipsolutions.net>
Thu, 2 Jul 2009 06:57:16 +0000 (08:57 +0200)
committerJohannes Berg <johannes@sipsolutions.net>
Thu, 2 Jul 2009 06:57:16 +0000 (08:57 +0200)
nl80211.h

index 6a1d22d37771c4211b12a7d9689cec8e658df381..b34c17f52f3ea5d01a243e0015e8ff5546898274 100644 (file)
--- a/nl80211.h
+++ b/nl80211.h
  * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is
  *     determined by the network interface.
  *
+ * @NL80211_CMD_TESTMODE: testmode command, takes a wiphy (or ifindex) attribute
+ *     to identify the device, and the TESTDATA blob attribute to pass through
+ *     to the driver.
+ *
  * @NL80211_CMD_CONNECT: connection request and notification; this command
  *     requests to connect to a specified network but without separating
  *     auth and assoc steps. For this, you need to specify the SSID in a
@@ -326,6 +330,8 @@ enum nl80211_commands {
        NL80211_CMD_JOIN_IBSS,
        NL80211_CMD_LEAVE_IBSS,
 
+       NL80211_CMD_TESTMODE,
+
        NL80211_CMD_CONNECT,
        NL80211_CMD_ROAM,
        NL80211_CMD_DISCONNECT,
@@ -531,6 +537,9 @@ enum nl80211_commands {
  *     authorized by user space. Otherwise, port is marked authorized by
  *     default in station mode.
  *
+ * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
+ *     We recommend using nested, driver-specific attributes within this.
+ *
  * @NL80211_ATTR_DISCONNECTED_BY_AP: A flag indicating that the DISCONNECT
  *     event was due to the AP disconnecting the station, and not due to
  *     a local disconnect request.
@@ -539,6 +548,22 @@ enum nl80211_commands {
  * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating
  *     that protected APs should be used.
  *
+ * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT and ASSOCIATE to
+ *     indicate which unicast key ciphers will be used with the connection
+ *     (an array of u32).
+ * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT and ASSOCIATE to indicate
+ *     which group key cipher will be used with the connection (a u32).
+ * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT and ASSOCIATE to indicate
+ *     which WPA version(s) the AP we want to associate with is using
+ *     (a u32 with flags from &enum nl80211_wpa_versions).
+ * @NL80211_ATTR_AKM_SUITES: Used with CONNECT and ASSOCIATE to indicate
+ *     which key management algorithm(s) to use (an array of u32).
+ *
+ * @NL80211_ATTR_REQ_IE: (Re)association request information elements as
+ *     sent out by the card, for ROAM and successful CONNECT events.
+ * @NL80211_ATTR_RESP_IE: (Re)association response information elements as
+ *     sent by peer, for ROAM and successful CONNECT events.
+ *
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
  */
@@ -646,11 +671,22 @@ enum nl80211_attrs {
        NL80211_ATTR_STA_FLAGS2,
 
        NL80211_ATTR_CONTROL_PORT,
+
+       NL80211_ATTR_TESTDATA,
+
        NL80211_ATTR_PRIVACY,
 
        NL80211_ATTR_DISCONNECTED_BY_AP,
        NL80211_ATTR_STATUS_CODE,
 
+       NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
+       NL80211_ATTR_CIPHER_SUITE_GROUP,
+       NL80211_ATTR_WPA_VERSIONS,
+       NL80211_ATTR_AKM_SUITES,
+
+       NL80211_ATTR_REQ_IE,
+       NL80211_ATTR_RESP_IE,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -661,6 +697,7 @@ enum nl80211_attrs {
  * Allow user space programs to use #ifdef on new attributes by defining them
  * here
  */
+#define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
 #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
 #define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
 #define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
@@ -674,6 +711,10 @@ enum nl80211_attrs {
 #define NL80211_ATTR_SSID NL80211_ATTR_SSID
 #define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
 #define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
+#define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
+#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
+#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
+#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
 
 #define NL80211_MAX_SUPP_RATES                 32
 #define NL80211_MAX_SUPP_REG_RULES             32
@@ -682,6 +723,9 @@ enum nl80211_attrs {
 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY    24
 #define NL80211_HT_CAPABILITY_LEN              26
 
+#define NL80211_MAX_NR_CIPHER_SUITES           5
+#define NL80211_MAX_NR_AKM_SUITES              2
+
 /**
  * enum nl80211_iftype - (virtual) interface types
  *
@@ -1226,12 +1270,22 @@ enum nl80211_bss {
  * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only)
  * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
  * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
+ * @__NL80211_AUTHTYPE_NUM: internal
+ * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
+ * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
+ *     trying multiple times); this is invalid in netlink -- leave out
+ *     the attribute for this on CONNECT commands.
  */
 enum nl80211_auth_type {
        NL80211_AUTHTYPE_OPEN_SYSTEM,
        NL80211_AUTHTYPE_SHARED_KEY,
        NL80211_AUTHTYPE_FT,
        NL80211_AUTHTYPE_NETWORK_EAP,
+
+       /* keep last */
+       __NL80211_AUTHTYPE_NUM,
+       NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1,
+       NL80211_AUTHTYPE_AUTOMATIC
 };
 
 /**
@@ -1256,4 +1310,9 @@ enum nl80211_mfp {
        NL80211_MFP_REQUIRED,
 };
 
+enum nl80211_wpa_versions {
+       NL80211_WPA_VERSION_1 = 1 << 0,
+       NL80211_WPA_VERSION_2 = 1 << 1,
+};
+
 #endif /* __LINUX_NL80211_H */