aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-11-21 16:39:45 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-21 16:39:45 -0500
commit53b15ef3c2a6bac8e3d9bb58c5689d731ed9593b (patch)
tree6b3194af697d91ac4c2ab1c716bd30c972cf4949 /include/uapi/linux
parentb48c5ec53ef9f0fe617aafa94a752f528fdad149 (diff)
parent9e6f3f472c8f95021ad048acc7cd3e40a827f8ce (diff)
Merge tag 'master-2014-11-20' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says: ==================== pull request: wireless-next 2014-11-21 Please pull this batch of updates intended for the 3.19 stream... For the mac80211 bits, Johannes says: "It has been a while since my last pull request, so we accumulated another relatively large set of changes: * TDLS off-channel support set from Arik/Liad, with some support patches I did * custom regulatory fixes from Arik * minstrel VHT fix (and a small optimisation) from Felix * add back radiotap vendor namespace support (myself) * random MAC address scanning for cfg80211/mac80211/hwsim (myself) * CSA improvements (Luca) * WoWLAN Net Detect (wake on network found) support (Luca) * and lots of other smaller changes from many people" For the Bluetooth bits, Johan says: "Here's another set of patches for 3.19. Most of it is again fixes and cleanups to ieee802154 related code from Alexander Aring. We've also got better handling of hardware error events along with a proper API for HCI drivers to notify the HCI core of such situations. There's also a minor fix for mgmt events as well as a sparse warning fix. The code for sending HCI commands synchronously also gets a fix where we might loose the completion event in the case of very fast HW (particularly easily reproducible with an emulated HCI device)." And... "Here's another bluetooth-next pull request for 3.19. We've got: - Various fixes, cleanups and improvements to ieee802154/mac802154 - Support for a Broadcom BCM20702A1 variant - Lots of lockdep fixes - Fixed handling of LE CoC errors that should trigger SMP" For the Atheros bits, Kalle says: "One ath6kl patch and rest for ath10k, but nothing really major which stands out. Most notable: o fix resume (Bartosz) o firmware restart is now faster and more reliable (Michal) o it's now possible to test hardware restart functionality without crashing the firmware using hw-restart parameter with simulate_fw_crash debugfs file (Michal)" On top of that...both ath9k and mwifiex get their usual level of updates. Of note is the ath9k spectral scan work from Oleksij Rempel. I also pulled from the wireless tree in order to avoid some merge issues. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nl80211.h108
1 files changed, 104 insertions, 4 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 9b3025e4377a..d77524510435 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -643,7 +643,18 @@
643 * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels 643 * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels
644 * independently of the userspace SME, send this event indicating 644 * independently of the userspace SME, send this event indicating
645 * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the 645 * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the
646 * attributes determining channel width. 646 * attributes determining channel width. This indication may also be
647 * sent when a remotely-initiated switch (e.g., when a STA receives a CSA
648 * from the remote AP) is completed;
649 *
650 * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch
651 * has been started on an interface, regardless of the initiator
652 * (ie. whether it was requested from a remote device or
653 * initiated on our own). It indicates that
654 * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ
655 * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may
656 * decide to react to this indication by requesting other
657 * interfaces to change channel as well.
647 * 658 *
648 * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by 659 * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
649 * its %NL80211_ATTR_WDEV identifier. It must have been created with 660 * its %NL80211_ATTR_WDEV identifier. It must have been created with
@@ -751,6 +762,18 @@
751 * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the 762 * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the
752 * network is determined by the network interface. 763 * network is determined by the network interface.
753 * 764 *
765 * @NL80211_CMD_TDLS_CHANNEL_SWITCH: Start channel-switching with a TDLS peer,
766 * identified by the %NL80211_ATTR_MAC parameter. A target channel is
767 * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining
768 * channel width/type. The target operating class is given via
769 * %NL80211_ATTR_OPER_CLASS.
770 * The driver is responsible for continually initiating channel-switching
771 * operations and returning to the base channel for communication with the
772 * AP.
773 * @NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: Stop channel-switching with a TDLS
774 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
775 * when this command completes.
776 *
754 * @NL80211_CMD_MAX: highest used command number 777 * @NL80211_CMD_MAX: highest used command number
755 * @__NL80211_CMD_AFTER_LAST: internal use 778 * @__NL80211_CMD_AFTER_LAST: internal use
756 */ 779 */
@@ -930,6 +953,11 @@ enum nl80211_commands {
930 NL80211_CMD_JOIN_OCB, 953 NL80211_CMD_JOIN_OCB,
931 NL80211_CMD_LEAVE_OCB, 954 NL80211_CMD_LEAVE_OCB,
932 955
956 NL80211_CMD_CH_SWITCH_STARTED_NOTIFY,
957
958 NL80211_CMD_TDLS_CHANNEL_SWITCH,
959 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
960
933 /* add new commands above here */ 961 /* add new commands above here */
934 962
935 /* used to define NL80211_CMD_MAX below */ 963 /* used to define NL80211_CMD_MAX below */
@@ -1624,9 +1652,9 @@ enum nl80211_commands {
1624 * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32. 1652 * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32.
1625 * As specified in the &enum nl80211_tdls_peer_capability. 1653 * As specified in the &enum nl80211_tdls_peer_capability.
1626 * 1654 *
1627 * @NL80211_ATTR_IFACE_SOCKET_OWNER: flag attribute, if set during interface 1655 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
1628 * creation then the new interface will be owned by the netlink socket 1656 * creation then the new interface will be owned by the netlink socket
1629 * that created it and will be destroyed when the socket is closed 1657 * that created it and will be destroyed when the socket is closed.
1630 * 1658 *
1631 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is 1659 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
1632 * the TDLS link initiator. 1660 * the TDLS link initiator.
@@ -1656,6 +1684,11 @@ enum nl80211_commands {
1656 * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see 1684 * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see
1657 * &enum nl80211_smps_mode. 1685 * &enum nl80211_smps_mode.
1658 * 1686 *
1687 * @NL80211_ATTR_OPER_CLASS: operating class
1688 *
1689 * @NL80211_ATTR_MAC_MASK: MAC address mask
1690 *
1691 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1659 * @NL80211_ATTR_MAX: highest attribute number currently defined 1692 * @NL80211_ATTR_MAX: highest attribute number currently defined
1660 * @__NL80211_ATTR_AFTER_LAST: internal use 1693 * @__NL80211_ATTR_AFTER_LAST: internal use
1661 */ 1694 */
@@ -1991,7 +2024,7 @@ enum nl80211_attrs {
1991 2024
1992 NL80211_ATTR_TDLS_PEER_CAPABILITY, 2025 NL80211_ATTR_TDLS_PEER_CAPABILITY,
1993 2026
1994 NL80211_ATTR_IFACE_SOCKET_OWNER, 2027 NL80211_ATTR_SOCKET_OWNER,
1995 2028
1996 NL80211_ATTR_CSA_C_OFFSETS_TX, 2029 NL80211_ATTR_CSA_C_OFFSETS_TX,
1997 NL80211_ATTR_MAX_CSA_COUNTERS, 2030 NL80211_ATTR_MAX_CSA_COUNTERS,
@@ -2008,15 +2041,21 @@ enum nl80211_attrs {
2008 2041
2009 NL80211_ATTR_SMPS_MODE, 2042 NL80211_ATTR_SMPS_MODE,
2010 2043
2044 NL80211_ATTR_OPER_CLASS,
2045
2046 NL80211_ATTR_MAC_MASK,
2047
2011 /* add attributes here, update the policy in nl80211.c */ 2048 /* add attributes here, update the policy in nl80211.c */
2012 2049
2013 __NL80211_ATTR_AFTER_LAST, 2050 __NL80211_ATTR_AFTER_LAST,
2051 NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
2014 NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 2052 NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
2015}; 2053};
2016 2054
2017/* source-level API compatibility */ 2055/* source-level API compatibility */
2018#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION 2056#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
2019#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG 2057#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
2058#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
2020 2059
2021/* 2060/*
2022 * Allow user space programs to use #ifdef on new attributes by defining them 2061 * Allow user space programs to use #ifdef on new attributes by defining them
@@ -2652,6 +2691,11 @@ enum nl80211_sched_scan_match_attr {
2652 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated 2691 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
2653 * base on contiguous rules and wider channels will be allowed to cross 2692 * base on contiguous rules and wider channels will be allowed to cross
2654 * multiple contiguous/overlapping frequency ranges. 2693 * multiple contiguous/overlapping frequency ranges.
2694 * @NL80211_RRF_GO_CONCURRENT: See &NL80211_FREQUENCY_ATTR_GO_CONCURRENT
2695 * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation
2696 * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
2697 * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
2698 * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
2655 */ 2699 */
2656enum nl80211_reg_rule_flags { 2700enum nl80211_reg_rule_flags {
2657 NL80211_RRF_NO_OFDM = 1<<0, 2701 NL80211_RRF_NO_OFDM = 1<<0,
@@ -2664,11 +2708,18 @@ enum nl80211_reg_rule_flags {
2664 NL80211_RRF_NO_IR = 1<<7, 2708 NL80211_RRF_NO_IR = 1<<7,
2665 __NL80211_RRF_NO_IBSS = 1<<8, 2709 __NL80211_RRF_NO_IBSS = 1<<8,
2666 NL80211_RRF_AUTO_BW = 1<<11, 2710 NL80211_RRF_AUTO_BW = 1<<11,
2711 NL80211_RRF_GO_CONCURRENT = 1<<12,
2712 NL80211_RRF_NO_HT40MINUS = 1<<13,
2713 NL80211_RRF_NO_HT40PLUS = 1<<14,
2714 NL80211_RRF_NO_80MHZ = 1<<15,
2715 NL80211_RRF_NO_160MHZ = 1<<16,
2667}; 2716};
2668 2717
2669#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR 2718#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
2670#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR 2719#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
2671#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR 2720#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR
2721#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\
2722 NL80211_RRF_NO_HT40PLUS)
2672 2723
2673/* For backport compatibility with older userspace */ 2724/* For backport compatibility with older userspace */
2674#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) 2725#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)
@@ -3566,6 +3617,25 @@ struct nl80211_pattern_support {
3566 * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, 3617 * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
3567 * the TCP connection ran out of tokens to use for data to send to the 3618 * the TCP connection ran out of tokens to use for data to send to the
3568 * service 3619 * service
3620 * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
3621 * is detected. This is a nested attribute that contains the
3622 * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
3623 * specifies how the scan is performed (e.g. the interval and the
3624 * channels to scan) as well as the scan results that will
3625 * trigger a wake (i.e. the matchsets).
3626 * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
3627 * containing an array with information about what triggered the
3628 * wake up. If no elements are present in the array, it means
3629 * that the information is not available. If more than one
3630 * element is present, it means that more than one match
3631 * occurred.
3632 * Each element in the array is a nested attribute that contains
3633 * one optional %NL80211_ATTR_SSID attribute and one optional
3634 * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of
3635 * these attributes must be present. If
3636 * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one
3637 * frequency, it means that the match occurred in more than one
3638 * channel.
3569 * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers 3639 * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
3570 * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number 3640 * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
3571 * 3641 *
@@ -3591,6 +3661,8 @@ enum nl80211_wowlan_triggers {
3591 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, 3661 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
3592 NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, 3662 NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
3593 NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, 3663 NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
3664 NL80211_WOWLAN_TRIG_NET_DETECT,
3665 NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS,
3594 3666
3595 /* keep last */ 3667 /* keep last */
3596 NUM_NL80211_WOWLAN_TRIG, 3668 NUM_NL80211_WOWLAN_TRIG,
@@ -4070,6 +4142,20 @@ enum nl80211_ap_sme_features {
4070 * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring 4142 * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring
4071 * the vif's MAC address upon creation. 4143 * the vif's MAC address upon creation.
4072 * See 'macaddr' field in the vif_params (cfg80211.h). 4144 * See 'macaddr' field in the vif_params (cfg80211.h).
4145 * @NL80211_FEATURE_TDLS_CHANNEL_SWITCH: Driver supports channel switching when
4146 * operating as a TDLS peer.
4147 * @NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR: This device/driver supports using a
4148 * random MAC address during scan (if the device is unassociated); the
4149 * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC
4150 * address mask/value will be used.
4151 * @NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR: This device/driver supports
4152 * using a random MAC address for every scan iteration during scheduled
4153 * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may
4154 * be set for scheduled scan and the MAC address mask/value will be used.
4155 * @NL80211_FEATURE_ND_RANDOM_MAC_ADDR: This device/driver supports using a
4156 * random MAC address for every scan iteration during "net detect", i.e.
4157 * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may
4158 * be set for scheduled scan and the MAC address mask/value will be used.
4073 */ 4159 */
4074enum nl80211_feature_flags { 4160enum nl80211_feature_flags {
4075 NL80211_FEATURE_SK_TX_STATUS = 1 << 0, 4161 NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
@@ -4100,6 +4186,10 @@ enum nl80211_feature_flags {
4100 NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, 4186 NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25,
4101 NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26, 4187 NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26,
4102 NL80211_FEATURE_MAC_ON_CREATE = 1 << 27, 4188 NL80211_FEATURE_MAC_ON_CREATE = 1 << 27,
4189 NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
4190 NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
4191 NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
4192 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
4103}; 4193};
4104 4194
4105/** 4195/**
@@ -4148,11 +4238,21 @@ enum nl80211_connect_failed_reason {
4148 * dangerous because will destroy stations performance as a lot of frames 4238 * dangerous because will destroy stations performance as a lot of frames
4149 * will be lost while scanning off-channel, therefore it must be used only 4239 * will be lost while scanning off-channel, therefore it must be used only
4150 * when really needed 4240 * when really needed
4241 * @NL80211_SCAN_FLAG_RANDOM_ADDR: use a random MAC address for this scan (or
4242 * for scheduled scan: a different one for every scan iteration). When the
4243 * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and
4244 * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only
4245 * the masked bits will be preserved from the MAC address and the remainder
4246 * randomised. If the attributes are not given full randomisation (46 bits,
4247 * locally administered 1, multicast 0) is assumed.
4248 * This flag must not be requested when the feature isn't supported, check
4249 * the nl80211 feature flags for the device.
4151 */ 4250 */
4152enum nl80211_scan_flags { 4251enum nl80211_scan_flags {
4153 NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, 4252 NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
4154 NL80211_SCAN_FLAG_FLUSH = 1<<1, 4253 NL80211_SCAN_FLAG_FLUSH = 1<<1,
4155 NL80211_SCAN_FLAG_AP = 1<<2, 4254 NL80211_SCAN_FLAG_AP = 1<<2,
4255 NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3,
4156}; 4256};
4157 4257
4158/** 4258/**