|
@@ -771,6 +771,9 @@ enum nl80211_commands {
|
|
|
* @NL80211_ATTR_IFNAME: network interface name
|
|
|
* @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype
|
|
|
*
|
|
|
+ * @NL80211_ATTR_WDEV: wireless device identifier, used for pseudo-devices
|
|
|
+ * that don't have a netdev (u64)
|
|
|
+ *
|
|
|
* @NL80211_ATTR_MAC: MAC address (various uses)
|
|
|
*
|
|
|
* @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of
|
|
@@ -1242,6 +1245,12 @@ enum nl80211_commands {
|
|
|
* @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds
|
|
|
* or 0 to disable background scan.
|
|
|
*
|
|
|
+ * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from
|
|
|
+ * userspace. If unset it is assumed the hint comes directly from
|
|
|
+ * a user. If set code could specify exactly what type of source
|
|
|
+ * was used to provide the hint. For the different types of
|
|
|
+ * allowed user regulatory hints see nl80211_user_reg_hint_type.
|
|
|
+ *
|
|
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
|
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
|
|
*/
|
|
@@ -1493,6 +1502,10 @@ enum nl80211_attrs {
|
|
|
|
|
|
NL80211_ATTR_BG_SCAN_PERIOD,
|
|
|
|
|
|
+ NL80211_ATTR_WDEV,
|
|
|
+
|
|
|
+ NL80211_ATTR_USER_REG_HINT_TYPE,
|
|
|
+
|
|
|
/* add attributes here, update the policy in nl80211.c */
|
|
|
|
|
|
__NL80211_ATTR_AFTER_LAST,
|
|
@@ -1545,6 +1558,8 @@ enum nl80211_attrs {
|
|
|
/* default RSSI threshold for scan results if none specified. */
|
|
|
#define NL80211_SCAN_RSSI_THOLD_OFF -300
|
|
|
|
|
|
+#define NL80211_CQM_TXE_MAX_INTVL 1800
|
|
|
+
|
|
|
/**
|
|
|
* enum nl80211_iftype - (virtual) interface types
|
|
|
*
|
|
@@ -1638,12 +1653,20 @@ struct nl80211_sta_flag_update {
|
|
|
*
|
|
|
* These attribute types are used with %NL80211_STA_INFO_TXRATE
|
|
|
* when getting information about the bitrate of a station.
|
|
|
+ * There are 2 attributes for bitrate, a legacy one that represents
|
|
|
+ * a 16-bit value, and new one that represents a 32-bit value.
|
|
|
+ * If the rate value fits into 16 bit, both attributes are reported
|
|
|
+ * with the same value. If the rate is too high to fit into 16 bits
|
|
|
+ * (>6.5535Gbps) only 32-bit attribute is included.
|
|
|
+ * User space tools encouraged to use the 32-bit attribute and fall
|
|
|
+ * back to the 16-bit one for compatibility with older kernels.
|
|
|
*
|
|
|
* @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved
|
|
|
* @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s)
|
|
|
* @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8)
|
|
|
* @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 Mhz dualchannel bitrate
|
|
|
* @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval
|
|
|
+ * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s)
|
|
|
* @NL80211_RATE_INFO_MAX: highest rate_info number currently defined
|
|
|
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
|
|
*/
|
|
@@ -1653,6 +1676,7 @@ enum nl80211_rate_info {
|
|
|
NL80211_RATE_INFO_MCS,
|
|
|
NL80211_RATE_INFO_40_MHZ_WIDTH,
|
|
|
NL80211_RATE_INFO_SHORT_GI,
|
|
|
+ NL80211_RATE_INFO_BITRATE32,
|
|
|
|
|
|
/* keep last */
|
|
|
__NL80211_RATE_INFO_AFTER_LAST,
|
|
@@ -2044,6 +2068,26 @@ enum nl80211_dfs_regions {
|
|
|
NL80211_DFS_JP = 3,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum nl80211_user_reg_hint_type - type of user regulatory hint
|
|
|
+ *
|
|
|
+ * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always
|
|
|
+ * assumed if the attribute is not set.
|
|
|
+ * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular
|
|
|
+ * base station. Device drivers that have been tested to work
|
|
|
+ * properly to support this type of hint can enable these hints
|
|
|
+ * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature
|
|
|
+ * capability on the struct wiphy. The wireless core will
|
|
|
+ * ignore all cell base station hints until at least one device
|
|
|
+ * present has been registered with the wireless core that
|
|
|
+ * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a
|
|
|
+ * supported feature.
|
|
|
+ */
|
|
|
+enum nl80211_user_reg_hint_type {
|
|
|
+ NL80211_USER_REG_HINT_USER = 0,
|
|
|
+ NL80211_USER_REG_HINT_CELL_BASE = 1,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum nl80211_survey_info - survey information
|
|
|
*
|
|
@@ -2575,6 +2619,17 @@ enum nl80211_ps_state {
|
|
|
* @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event
|
|
|
* @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many
|
|
|
* consecutive packets were not acknowledged by the peer
|
|
|
+ * @NL80211_ATTR_CQM_TXE_RATE: TX error rate in %. Minimum % of TX failures
|
|
|
+ * during the given %NL80211_ATTR_CQM_TXE_INTVL before an
|
|
|
+ * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and
|
|
|
+ * %NL80211_ATTR_CQM_TXE_PKTS is generated.
|
|
|
+ * @NL80211_ATTR_CQM_TXE_PKTS: number of attempted packets in a given
|
|
|
+ * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is
|
|
|
+ * checked.
|
|
|
+ * @NL80211_ATTR_CQM_TXE_INTVL: interval in seconds. Specifies the periodic
|
|
|
+ * interval in which %NL80211_ATTR_CQM_TXE_PKTS and
|
|
|
+ * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an
|
|
|
+ * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting.
|
|
|
* @__NL80211_ATTR_CQM_AFTER_LAST: internal
|
|
|
* @NL80211_ATTR_CQM_MAX: highest key attribute
|
|
|
*/
|
|
@@ -2584,6 +2639,9 @@ enum nl80211_attr_cqm {
|
|
|
NL80211_ATTR_CQM_RSSI_HYST,
|
|
|
NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
|
|
|
NL80211_ATTR_CQM_PKT_LOSS_EVENT,
|
|
|
+ NL80211_ATTR_CQM_TXE_RATE,
|
|
|
+ NL80211_ATTR_CQM_TXE_PKTS,
|
|
|
+ NL80211_ATTR_CQM_TXE_INTVL,
|
|
|
|
|
|
/* keep last */
|
|
|
__NL80211_ATTR_CQM_AFTER_LAST,
|
|
@@ -2933,11 +2991,15 @@ enum nl80211_ap_sme_features {
|
|
|
* @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates.
|
|
|
* @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up
|
|
|
* the connected inactive stations in AP mode.
|
|
|
+ * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
|
|
|
+ * to work properly to suppport receiving regulatory hints from
|
|
|
+ * cellular base stations.
|
|
|
*/
|
|
|
enum nl80211_feature_flags {
|
|
|
NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
|
|
|
NL80211_FEATURE_HT_IBSS = 1 << 1,
|
|
|
NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
|
|
|
+ NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
|
|
|
};
|
|
|
|
|
|
/**
|