diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-11-06 08:13:33 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-09 16:14:08 -0500 |
commit | 1f074bd8eb7a4a210a5119cd7220f89da6c7a2c3 (patch) | |
tree | 336706ad776cf96ce67ae0889f4fb93311c0d29a /include | |
parent | e41215626607f2e9b2227504a8965389a1ba1a25 (diff) |
nl80211: advertise socket TX status capability
The new wifi socket TX capability should be
supported by wifi drivers, let them advertise
whether they do or not.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 18 | ||||
-rw-r--r-- | include/net/cfg80211.h | 3 |
2 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 165e16fc7af1..3152ddfb4294 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -695,6 +695,8 @@ enum nl80211_commands { | |||
695 | #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE | 695 | #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE |
696 | #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT | 696 | #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT |
697 | 697 | ||
698 | #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS | ||
699 | |||
698 | /* source-level API compatibility */ | 700 | /* source-level API compatibility */ |
699 | #define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG | 701 | #define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG |
700 | #define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG | 702 | #define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG |
@@ -1156,6 +1158,9 @@ enum nl80211_commands { | |||
1156 | * it will also not give a status callback nor return a cookie. This is | 1158 | * it will also not give a status callback nor return a cookie. This is |
1157 | * mostly useful for probe responses to save airtime. | 1159 | * mostly useful for probe responses to save airtime. |
1158 | * | 1160 | * |
1161 | * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from | ||
1162 | * &enum nl80211_feature_flags and is advertised in wiphy information. | ||
1163 | * | ||
1159 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1164 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
1160 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1165 | * @__NL80211_ATTR_AFTER_LAST: internal use |
1161 | */ | 1166 | */ |
@@ -1388,6 +1393,8 @@ enum nl80211_attrs { | |||
1388 | 1393 | ||
1389 | NL80211_ATTR_DONT_WAIT_FOR_ACK, | 1394 | NL80211_ATTR_DONT_WAIT_FOR_ACK, |
1390 | 1395 | ||
1396 | NL80211_ATTR_FEATURE_FLAGS, | ||
1397 | |||
1391 | /* add attributes here, update the policy in nl80211.c */ | 1398 | /* add attributes here, update the policy in nl80211.c */ |
1392 | 1399 | ||
1393 | __NL80211_ATTR_AFTER_LAST, | 1400 | __NL80211_ATTR_AFTER_LAST, |
@@ -1422,6 +1429,7 @@ enum nl80211_attrs { | |||
1422 | #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES | 1429 | #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES |
1423 | #define NL80211_ATTR_KEY NL80211_ATTR_KEY | 1430 | #define NL80211_ATTR_KEY NL80211_ATTR_KEY |
1424 | #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS | 1431 | #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS |
1432 | #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS | ||
1425 | 1433 | ||
1426 | #define NL80211_MAX_SUPP_RATES 32 | 1434 | #define NL80211_MAX_SUPP_RATES 32 |
1427 | #define NL80211_MAX_SUPP_REG_RULES 32 | 1435 | #define NL80211_MAX_SUPP_REG_RULES 32 |
@@ -2709,4 +2717,14 @@ enum nl80211_ap_sme_features { | |||
2709 | }; | 2717 | }; |
2710 | */ | 2718 | */ |
2711 | 2719 | ||
2720 | /** | ||
2721 | * enum nl80211_feature_flags - device/driver features | ||
2722 | * @NL80211_FEATURE_SK_TX_STATUS: This driver supports reflecting back | ||
2723 | * TX status to the socket error queue when requested with the | ||
2724 | * socket option. | ||
2725 | */ | ||
2726 | enum nl80211_feature_flags { | ||
2727 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | ||
2728 | }; | ||
2729 | |||
2712 | #endif /* __LINUX_NL80211_H */ | 2730 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 00287bdef919..e1ee1416631d 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1881,6 +1881,7 @@ struct wiphy_wowlan_support { | |||
1881 | * @software_iftypes: bitmask of software interface types, these are not | 1881 | * @software_iftypes: bitmask of software interface types, these are not |
1882 | * subject to any restrictions since they are purely managed in SW. | 1882 | * subject to any restrictions since they are purely managed in SW. |
1883 | * @flags: wiphy flags, see &enum wiphy_flags | 1883 | * @flags: wiphy flags, see &enum wiphy_flags |
1884 | * @features: features advertised to nl80211, see &enum nl80211_feature_flags. | ||
1884 | * @bss_priv_size: each BSS struct has private data allocated with it, | 1885 | * @bss_priv_size: each BSS struct has private data allocated with it, |
1885 | * this variable determines its size | 1886 | * this variable determines its size |
1886 | * @max_scan_ssids: maximum number of SSIDs the device can scan for in | 1887 | * @max_scan_ssids: maximum number of SSIDs the device can scan for in |
@@ -1942,7 +1943,7 @@ struct wiphy { | |||
1942 | /* Supported interface modes, OR together BIT(NL80211_IFTYPE_...) */ | 1943 | /* Supported interface modes, OR together BIT(NL80211_IFTYPE_...) */ |
1943 | u16 interface_modes; | 1944 | u16 interface_modes; |
1944 | 1945 | ||
1945 | u32 flags; | 1946 | u32 flags, features; |
1946 | 1947 | ||
1947 | u32 ap_sme_capa; | 1948 | u32 ap_sme_capa; |
1948 | 1949 | ||