aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nl80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/nl80211.h')
-rw-r--r--include/linux/nl80211.h147
1 files changed, 145 insertions, 2 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 9bad65400fba..79827345351d 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -25,8 +25,9 @@
25 * 25 *
26 * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request 26 * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request
27 * to get a list of all present wiphys. 27 * to get a list of all present wiphys.
28 * @NL80211_CMD_SET_WIPHY: set wiphy name, needs %NL80211_ATTR_WIPHY and 28 * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
29 * %NL80211_ATTR_WIPHY_NAME. 29 * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME
30 * and/or %NL80211_ATTR_WIPHY_TXQ_PARAMS.
30 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request 31 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
31 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and 32 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and
32 * %NL80211_ATTR_WIPHY_NAME. 33 * %NL80211_ATTR_WIPHY_NAME.
@@ -106,6 +107,12 @@
106 * to the the specified ISO/IEC 3166-1 alpha2 country code. The core will 107 * to the the specified ISO/IEC 3166-1 alpha2 country code. The core will
107 * store this as a valid request and then query userspace for it. 108 * store this as a valid request and then query userspace for it.
108 * 109 *
110 * @NL80211_CMD_GET_MESH_PARAMS: Get mesh networking properties for the
111 * interface identified by %NL80211_ATTR_IFINDEX
112 *
113 * @NL80211_CMD_SET_MESH_PARAMS: Set mesh networking properties for the
114 * interface identified by %NL80211_ATTR_IFINDEX
115 *
109 * @NL80211_CMD_MAX: highest used command number 116 * @NL80211_CMD_MAX: highest used command number
110 * @__NL80211_CMD_AFTER_LAST: internal use 117 * @__NL80211_CMD_AFTER_LAST: internal use
111 */ 118 */
@@ -148,6 +155,9 @@ enum nl80211_commands {
148 NL80211_CMD_SET_REG, 155 NL80211_CMD_SET_REG,
149 NL80211_CMD_REQ_SET_REG, 156 NL80211_CMD_REQ_SET_REG,
150 157
158 NL80211_CMD_GET_MESH_PARAMS,
159 NL80211_CMD_SET_MESH_PARAMS,
160
151 /* add new commands above here */ 161 /* add new commands above here */
152 162
153 /* used to define NL80211_CMD_MAX below */ 163 /* used to define NL80211_CMD_MAX below */
@@ -169,6 +179,7 @@ enum nl80211_commands {
169 * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf. 179 * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf.
170 * /sys/class/ieee80211/<phyname>/index 180 * /sys/class/ieee80211/<phyname>/index
171 * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) 181 * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming)
182 * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters
172 * 183 *
173 * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on 184 * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on
174 * @NL80211_ATTR_IFNAME: network interface name 185 * @NL80211_ATTR_IFNAME: network interface name
@@ -234,6 +245,9 @@ enum nl80211_commands {
234 * (u8, 0 or 1) 245 * (u8, 0 or 1)
235 * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled 246 * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled
236 * (u8, 0 or 1) 247 * (u8, 0 or 1)
248 * @NL80211_ATTR_BSS_BASIC_RATES: basic rates, array of basic
249 * rates in format defined by IEEE 802.11 7.3.2.2 but without the length
250 * restriction (at most %NL80211_MAX_SUPP_RATES).
237 * 251 *
238 * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from 252 * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from
239 * association request when used with NL80211_CMD_NEW_STATION) 253 * association request when used with NL80211_CMD_NEW_STATION)
@@ -296,6 +310,12 @@ enum nl80211_attrs {
296 NL80211_ATTR_REG_ALPHA2, 310 NL80211_ATTR_REG_ALPHA2,
297 NL80211_ATTR_REG_RULES, 311 NL80211_ATTR_REG_RULES,
298 312
313 NL80211_ATTR_MESH_PARAMS,
314
315 NL80211_ATTR_BSS_BASIC_RATES,
316
317 NL80211_ATTR_WIPHY_TXQ_PARAMS,
318
299 /* add attributes here, update the policy in nl80211.c */ 319 /* add attributes here, update the policy in nl80211.c */
300 320
301 __NL80211_ATTR_AFTER_LAST, 321 __NL80211_ATTR_AFTER_LAST,
@@ -307,6 +327,8 @@ enum nl80211_attrs {
307 * here 327 * here
308 */ 328 */
309#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY 329#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
330#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
331#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
310 332
311#define NL80211_MAX_SUPP_RATES 32 333#define NL80211_MAX_SUPP_RATES 32
312#define NL80211_MAX_SUPP_REG_RULES 32 334#define NL80211_MAX_SUPP_REG_RULES 32
@@ -452,17 +474,29 @@ enum nl80211_mpath_info {
452 * an array of nested frequency attributes 474 * an array of nested frequency attributes
453 * @NL80211_BAND_ATTR_RATES: supported bitrates in this band, 475 * @NL80211_BAND_ATTR_RATES: supported bitrates in this band,
454 * an array of nested bitrate attributes 476 * an array of nested bitrate attributes
477 * @NL80211_BAND_ATTR_HT_MCS_SET: 16-byte attribute containing the MCS set as
478 * defined in 802.11n
479 * @NL80211_BAND_ATTR_HT_CAPA: HT capabilities, as in the HT information IE
480 * @NL80211_BAND_ATTR_HT_AMPDU_FACTOR: A-MPDU factor, as in 11n
481 * @NL80211_BAND_ATTR_HT_AMPDU_DENSITY: A-MPDU density, as in 11n
455 */ 482 */
456enum nl80211_band_attr { 483enum nl80211_band_attr {
457 __NL80211_BAND_ATTR_INVALID, 484 __NL80211_BAND_ATTR_INVALID,
458 NL80211_BAND_ATTR_FREQS, 485 NL80211_BAND_ATTR_FREQS,
459 NL80211_BAND_ATTR_RATES, 486 NL80211_BAND_ATTR_RATES,
460 487
488 NL80211_BAND_ATTR_HT_MCS_SET,
489 NL80211_BAND_ATTR_HT_CAPA,
490 NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
491 NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
492
461 /* keep last */ 493 /* keep last */
462 __NL80211_BAND_ATTR_AFTER_LAST, 494 __NL80211_BAND_ATTR_AFTER_LAST,
463 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 495 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
464}; 496};
465 497
498#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
499
466/** 500/**
467 * enum nl80211_frequency_attr - frequency attributes 501 * enum nl80211_frequency_attr - frequency attributes
468 * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz 502 * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz
@@ -594,4 +628,113 @@ enum nl80211_mntr_flags {
594 NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 628 NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
595}; 629};
596 630
631/**
632 * enum nl80211_meshconf_params - mesh configuration parameters
633 *
634 * Mesh configuration parameters
635 *
636 * @__NL80211_MESHCONF_INVALID: internal use
637 *
638 * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in
639 * millisecond units, used by the Peer Link Open message
640 *
641 * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the inital confirm timeout, in
642 * millisecond units, used by the peer link management to close a peer link
643 *
644 * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in
645 * millisecond units
646 *
647 * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed
648 * on this mesh interface
649 *
650 * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link
651 * open retries that can be sent to establish a new peer link instance in a
652 * mesh
653 *
654 * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
655 * point.
656 *
657 * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically
658 * open peer links when we detect compatible mesh peers.
659 *
660 * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames
661 * containing a PREQ that an MP can send to a particular destination (path
662 * target)
663 *
664 * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths
665 * (in milliseconds)
666 *
667 * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait
668 * until giving up on a path discovery (in milliseconds)
669 *
670 * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh
671 * points receiving a PREQ shall consider the forwarding information from the
672 * root to be valid. (TU = time unit)
673 *
674 * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in
675 * TUs) during which an MP can send only one action frame containing a PREQ
676 * reference element
677 *
678 * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
679 * that it takes for an HWMP information element to propagate across the mesh
680 *
681 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
682 *
683 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
684 */
685enum nl80211_meshconf_params {
686 __NL80211_MESHCONF_INVALID,
687 NL80211_MESHCONF_RETRY_TIMEOUT,
688 NL80211_MESHCONF_CONFIRM_TIMEOUT,
689 NL80211_MESHCONF_HOLDING_TIMEOUT,
690 NL80211_MESHCONF_MAX_PEER_LINKS,
691 NL80211_MESHCONF_MAX_RETRIES,
692 NL80211_MESHCONF_TTL,
693 NL80211_MESHCONF_AUTO_OPEN_PLINKS,
694 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
695 NL80211_MESHCONF_PATH_REFRESH_TIME,
696 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
697 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
698 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
699 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
700
701 /* keep last */
702 __NL80211_MESHCONF_ATTR_AFTER_LAST,
703 NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
704};
705
706/**
707 * enum nl80211_txq_attr - TX queue parameter attributes
708 * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
709 * @NL80211_TXQ_ATTR_QUEUE: TX queue identifier (NL80211_TXQ_Q_*)
710 * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning
711 * disabled
712 * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form
713 * 2^n-1 in the range 1..32767]
714 * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form
715 * 2^n-1 in the range 1..32767]
716 * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255]
717 * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
718 * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number
719 */
720enum nl80211_txq_attr {
721 __NL80211_TXQ_ATTR_INVALID,
722 NL80211_TXQ_ATTR_QUEUE,
723 NL80211_TXQ_ATTR_TXOP,
724 NL80211_TXQ_ATTR_CWMIN,
725 NL80211_TXQ_ATTR_CWMAX,
726 NL80211_TXQ_ATTR_AIFS,
727
728 /* keep last */
729 __NL80211_TXQ_ATTR_AFTER_LAST,
730 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
731};
732
733enum nl80211_txq_q {
734 NL80211_TXQ_Q_VO,
735 NL80211_TXQ_Q_VI,
736 NL80211_TXQ_Q_BE,
737 NL80211_TXQ_Q_BK
738};
739
597#endif /* __LINUX_NL80211_H */ 740#endif /* __LINUX_NL80211_H */