|
@@ -358,11 +358,16 @@
|
|
* user space application). %NL80211_ATTR_FRAME is used to specify the
|
|
* user space application). %NL80211_ATTR_FRAME is used to specify the
|
|
* frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and
|
|
* frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and
|
|
* optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on
|
|
* optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on
|
|
- * which channel the frame is to be transmitted or was received. This
|
|
|
|
- * channel has to be the current channel (remain-on-channel or the
|
|
|
|
- * operational channel). When called, this operation returns a cookie
|
|
|
|
- * (%NL80211_ATTR_COOKIE) that will be included with the TX status event
|
|
|
|
- * pertaining to the TX request.
|
|
|
|
|
|
+ * which channel the frame is to be transmitted or was received. If this
|
|
|
|
+ * channel is not the current channel (remain-on-channel or the
|
|
|
|
+ * operational channel) the device will switch to the given channel and
|
|
|
|
+ * transmit the frame, optionally waiting for a response for the time
|
|
|
|
+ * specified using %NL80211_ATTR_DURATION. When called, this operation
|
|
|
|
+ * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the
|
|
|
|
+ * TX status event pertaining to the TX request.
|
|
|
|
+ * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
|
|
|
|
+ * command may be used with the corresponding cookie to cancel the wait
|
|
|
|
+ * time if it is known that it is no longer necessary.
|
|
* @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
|
|
* @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
|
|
* @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
|
|
* @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
|
|
* transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
|
|
* transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
|
|
@@ -389,6 +394,18 @@
|
|
*
|
|
*
|
|
* @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
|
|
* @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
|
|
*
|
|
*
|
|
|
|
+ * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial
|
|
|
|
+ * mesh config parameters may be given.
|
|
|
|
+ * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the
|
|
|
|
+ * network is determined by the network interface.
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_CMD_UNPROT_DEAUTHENTICATE: Unprotected deauthentication frame
|
|
|
|
+ * notification. This event is used to indicate that an unprotected
|
|
|
|
+ * deauthentication frame was dropped when MFP is in use.
|
|
|
|
+ * @NL80211_CMD_UNPROT_DISASSOCIATE: Unprotected disassociation frame
|
|
|
|
+ * notification. This event is used to indicate that an unprotected
|
|
|
|
+ * disassociation frame was dropped when MFP is in use.
|
|
|
|
+ *
|
|
* @NL80211_CMD_MAX: highest used command number
|
|
* @NL80211_CMD_MAX: highest used command number
|
|
* @__NL80211_CMD_AFTER_LAST: internal use
|
|
* @__NL80211_CMD_AFTER_LAST: internal use
|
|
*/
|
|
*/
|
|
@@ -493,6 +510,14 @@ enum nl80211_commands {
|
|
NL80211_CMD_SET_CHANNEL,
|
|
NL80211_CMD_SET_CHANNEL,
|
|
NL80211_CMD_SET_WDS_PEER,
|
|
NL80211_CMD_SET_WDS_PEER,
|
|
|
|
|
|
|
|
+ NL80211_CMD_FRAME_WAIT_CANCEL,
|
|
|
|
+
|
|
|
|
+ NL80211_CMD_JOIN_MESH,
|
|
|
|
+ NL80211_CMD_LEAVE_MESH,
|
|
|
|
+
|
|
|
|
+ NL80211_CMD_UNPROT_DEAUTHENTICATE,
|
|
|
|
+ NL80211_CMD_UNPROT_DISASSOCIATE,
|
|
|
|
+
|
|
/* add new commands above here */
|
|
/* add new commands above here */
|
|
|
|
|
|
/* used to define NL80211_CMD_MAX below */
|
|
/* used to define NL80211_CMD_MAX below */
|
|
@@ -758,6 +783,9 @@ enum nl80211_commands {
|
|
* cache, a wiphy attribute.
|
|
* cache, a wiphy attribute.
|
|
*
|
|
*
|
|
* @NL80211_ATTR_DURATION: Duration of an operation in milliseconds, u32.
|
|
* @NL80211_ATTR_DURATION: Duration of an operation in milliseconds, u32.
|
|
|
|
+ * @NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION: Device attribute that
|
|
|
|
+ * specifies the maximum duration that can be requested with the
|
|
|
|
+ * remain-on-channel operation, in milliseconds, u32.
|
|
*
|
|
*
|
|
* @NL80211_ATTR_COOKIE: Generic 64-bit cookie to identify objects.
|
|
* @NL80211_ATTR_COOKIE: Generic 64-bit cookie to identify objects.
|
|
*
|
|
*
|
|
@@ -804,6 +832,42 @@ enum nl80211_commands {
|
|
* @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly
|
|
* @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly
|
|
* means support for per-station GTKs.
|
|
* means support for per-station GTKs.
|
|
*
|
|
*
|
|
|
|
+ * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting.
|
|
|
|
+ * This can be used to mask out antennas which are not attached or should
|
|
|
|
+ * not be used for transmitting. If an antenna is not selected in this
|
|
|
|
+ * bitmap the hardware is not allowed to transmit on this antenna.
|
|
|
|
+ *
|
|
|
|
+ * Each bit represents one antenna, starting with antenna 1 at the first
|
|
|
|
+ * bit. Depending on which antennas are selected in the bitmap, 802.11n
|
|
|
|
+ * drivers can derive which chainmasks to use (if all antennas belonging to
|
|
|
|
+ * a particular chain are disabled this chain should be disabled) and if
|
|
|
|
+ * a chain has diversity antennas wether diversity should be used or not.
|
|
|
|
+ * HT capabilities (STBC, TX Beamforming, Antenna selection) can be
|
|
|
|
+ * derived from the available chains after applying the antenna mask.
|
|
|
|
+ * Non-802.11n drivers can derive wether to use diversity or not.
|
|
|
|
+ * Drivers may reject configurations or RX/TX mask combinations they cannot
|
|
|
|
+ * support by returning -EINVAL.
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving.
|
|
|
|
+ * This can be used to mask out antennas which are not attached or should
|
|
|
|
+ * not be used for receiving. If an antenna is not selected in this bitmap
|
|
|
|
+ * the hardware should not be configured to receive on this antenna.
|
|
|
|
+ * For a more detailed descripton see @NL80211_ATTR_WIPHY_ANTENNA_TX.
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_ATTR_OFFCHANNEL_TX_OK: For management frame TX, the frame may be
|
|
|
|
+ * transmitted on another channel when the channel given doesn't match
|
|
|
|
+ * the current channel. If the current channel doesn't match and this
|
|
|
|
+ * flag isn't set, the frame will be rejected. This is also used as an
|
|
|
|
+ * nl80211 capability flag.
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_ATTR_BSS_HTOPMODE: HT operation mode (u16)
|
|
|
|
+ *
|
|
|
|
+ * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags
|
|
|
|
+ * attributes, specifying what a key should be set as default as.
|
|
|
|
+ * See &enum nl80211_key_default_types.
|
|
|
|
+ *
|
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
|
*/
|
|
*/
|
|
@@ -973,6 +1037,19 @@ enum nl80211_attrs {
|
|
|
|
|
|
NL80211_ATTR_SUPPORT_IBSS_RSN,
|
|
NL80211_ATTR_SUPPORT_IBSS_RSN,
|
|
|
|
|
|
|
|
+ NL80211_ATTR_WIPHY_ANTENNA_TX,
|
|
|
|
+ NL80211_ATTR_WIPHY_ANTENNA_RX,
|
|
|
|
+
|
|
|
|
+ NL80211_ATTR_MCAST_RATE,
|
|
|
|
+
|
|
|
|
+ NL80211_ATTR_OFFCHANNEL_TX_OK,
|
|
|
|
+
|
|
|
|
+ NL80211_ATTR_BSS_HT_OPMODE,
|
|
|
|
+
|
|
|
|
+ NL80211_ATTR_KEY_DEFAULT_TYPES,
|
|
|
|
+
|
|
|
|
+ NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION,
|
|
|
|
+
|
|
/* add attributes here, update the policy in nl80211.c */
|
|
/* add attributes here, update the policy in nl80211.c */
|
|
|
|
|
|
__NL80211_ATTR_AFTER_LAST,
|
|
__NL80211_ATTR_AFTER_LAST,
|
|
@@ -1139,6 +1216,7 @@ enum nl80211_rate_info {
|
|
* station)
|
|
* station)
|
|
* @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
|
|
* @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
|
|
* @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
|
|
* @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
|
|
|
|
+ * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
|
|
*/
|
|
*/
|
|
enum nl80211_sta_info {
|
|
enum nl80211_sta_info {
|
|
__NL80211_STA_INFO_INVALID,
|
|
__NL80211_STA_INFO_INVALID,
|
|
@@ -1154,6 +1232,7 @@ enum nl80211_sta_info {
|
|
NL80211_STA_INFO_TX_PACKETS,
|
|
NL80211_STA_INFO_TX_PACKETS,
|
|
NL80211_STA_INFO_TX_RETRIES,
|
|
NL80211_STA_INFO_TX_RETRIES,
|
|
NL80211_STA_INFO_TX_FAILED,
|
|
NL80211_STA_INFO_TX_FAILED,
|
|
|
|
+ NL80211_STA_INFO_SIGNAL_AVG,
|
|
|
|
|
|
/* keep last */
|
|
/* keep last */
|
|
__NL80211_STA_INFO_AFTER_LAST,
|
|
__NL80211_STA_INFO_AFTER_LAST,
|
|
@@ -1307,7 +1386,11 @@ enum nl80211_bitrate_attr {
|
|
* wireless core it thinks its knows the regulatory domain we should be in.
|
|
* wireless core it thinks its knows the regulatory domain we should be in.
|
|
* @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
|
|
* @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
|
|
* 802.11 country information element with regulatory information it
|
|
* 802.11 country information element with regulatory information it
|
|
- * thinks we should consider.
|
|
|
|
|
|
+ * thinks we should consider. cfg80211 only processes the country
|
|
|
|
+ * code from the IE, and relies on the regulatory domain information
|
|
|
|
+ * structure pased by userspace (CRDA) from our wireless-regdb.
|
|
|
|
+ * If a channel is enabled but the country code indicates it should
|
|
|
|
+ * be disabled we disable the channel and re-enable it upon disassociation.
|
|
*/
|
|
*/
|
|
enum nl80211_reg_initiator {
|
|
enum nl80211_reg_initiator {
|
|
NL80211_REGDOM_SET_BY_CORE,
|
|
NL80211_REGDOM_SET_BY_CORE,
|
|
@@ -1413,6 +1496,16 @@ enum nl80211_reg_rule_flags {
|
|
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
|
|
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
|
|
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
|
|
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
|
|
* @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
|
|
* @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
|
|
|
|
+ * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio
|
|
|
|
+ * spent on this channel
|
|
|
|
+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary
|
|
|
|
+ * channel was sensed busy (either due to activity or energy detect)
|
|
|
|
+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension
|
|
|
|
+ * channel was sensed busy
|
|
|
|
+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent
|
|
|
|
+ * receiving data
|
|
|
|
+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent
|
|
|
|
+ * transmitting data
|
|
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
|
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
|
* currently defined
|
|
* currently defined
|
|
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
|
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
|
@@ -1422,6 +1515,11 @@ enum nl80211_survey_info {
|
|
NL80211_SURVEY_INFO_FREQUENCY,
|
|
NL80211_SURVEY_INFO_FREQUENCY,
|
|
NL80211_SURVEY_INFO_NOISE,
|
|
NL80211_SURVEY_INFO_NOISE,
|
|
NL80211_SURVEY_INFO_IN_USE,
|
|
NL80211_SURVEY_INFO_IN_USE,
|
|
|
|
+ NL80211_SURVEY_INFO_CHANNEL_TIME,
|
|
|
|
+ NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY,
|
|
|
|
+ NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,
|
|
|
|
+ NL80211_SURVEY_INFO_CHANNEL_TIME_RX,
|
|
|
|
+ NL80211_SURVEY_INFO_CHANNEL_TIME_TX,
|
|
|
|
|
|
/* keep last */
|
|
/* keep last */
|
|
__NL80211_SURVEY_INFO_AFTER_LAST,
|
|
__NL80211_SURVEY_INFO_AFTER_LAST,
|
|
@@ -1484,6 +1582,9 @@ enum nl80211_mntr_flags {
|
|
* @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
|
|
* @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
|
|
* point.
|
|
* point.
|
|
*
|
|
*
|
|
|
|
+ * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
|
|
|
|
+ * source mesh point for path selection elements.
|
|
|
|
+ *
|
|
* @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically
|
|
* @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically
|
|
* open peer links when we detect compatible mesh peers.
|
|
* open peer links when we detect compatible mesh peers.
|
|
*
|
|
*
|
|
@@ -1530,6 +1631,7 @@ enum nl80211_meshconf_params {
|
|
NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
|
|
NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
|
|
NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
|
|
NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
|
|
NL80211_MESHCONF_HWMP_ROOTMODE,
|
|
NL80211_MESHCONF_HWMP_ROOTMODE,
|
|
|
|
+ NL80211_MESHCONF_ELEMENT_TTL,
|
|
|
|
|
|
/* keep last */
|
|
/* keep last */
|
|
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
|
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
|
@@ -1693,6 +1795,23 @@ enum nl80211_wpa_versions {
|
|
NL80211_WPA_VERSION_2 = 1 << 1,
|
|
NL80211_WPA_VERSION_2 = 1 << 1,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * enum nl80211_key_default_types - key default types
|
|
|
|
+ * @__NL80211_KEY_DEFAULT_TYPE_INVALID: invalid
|
|
|
|
+ * @NL80211_KEY_DEFAULT_TYPE_UNICAST: key should be used as default
|
|
|
|
+ * unicast key
|
|
|
|
+ * @NL80211_KEY_DEFAULT_TYPE_MULTICAST: key should be used as default
|
|
|
|
+ * multicast key
|
|
|
|
+ * @NUM_NL80211_KEY_DEFAULT_TYPES: number of default types
|
|
|
|
+ */
|
|
|
|
+enum nl80211_key_default_types {
|
|
|
|
+ __NL80211_KEY_DEFAULT_TYPE_INVALID,
|
|
|
|
+ NL80211_KEY_DEFAULT_TYPE_UNICAST,
|
|
|
|
+ NL80211_KEY_DEFAULT_TYPE_MULTICAST,
|
|
|
|
+
|
|
|
|
+ NUM_NL80211_KEY_DEFAULT_TYPES
|
|
|
|
+};
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* enum nl80211_key_attributes - key attributes
|
|
* enum nl80211_key_attributes - key attributes
|
|
* @__NL80211_KEY_INVALID: invalid
|
|
* @__NL80211_KEY_INVALID: invalid
|
|
@@ -1709,6 +1828,9 @@ enum nl80211_wpa_versions {
|
|
* @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not
|
|
* @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not
|
|
* specified the default depends on whether a MAC address was
|
|
* specified the default depends on whether a MAC address was
|
|
* given with the command using the key or not (u32)
|
|
* given with the command using the key or not (u32)
|
|
|
|
+ * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
|
|
|
|
+ * attributes, specifying what a key should be set as default as.
|
|
|
|
+ * See &enum nl80211_key_default_types.
|
|
* @__NL80211_KEY_AFTER_LAST: internal
|
|
* @__NL80211_KEY_AFTER_LAST: internal
|
|
* @NL80211_KEY_MAX: highest key attribute
|
|
* @NL80211_KEY_MAX: highest key attribute
|
|
*/
|
|
*/
|
|
@@ -1721,6 +1843,7 @@ enum nl80211_key_attributes {
|
|
NL80211_KEY_DEFAULT,
|
|
NL80211_KEY_DEFAULT,
|
|
NL80211_KEY_DEFAULT_MGMT,
|
|
NL80211_KEY_DEFAULT_MGMT,
|
|
NL80211_KEY_TYPE,
|
|
NL80211_KEY_TYPE,
|
|
|
|
+ NL80211_KEY_DEFAULT_TYPES,
|
|
|
|
|
|
/* keep last */
|
|
/* keep last */
|
|
__NL80211_KEY_AFTER_LAST,
|
|
__NL80211_KEY_AFTER_LAST,
|
|
@@ -1771,6 +1894,8 @@ enum nl80211_ps_state {
|
|
* the minimum amount the RSSI level must change after an event before a
|
|
* the minimum amount the RSSI level must change after an event before a
|
|
* new event may be issued (to reduce effects of RSSI oscillation).
|
|
* new event may be issued (to reduce effects of RSSI oscillation).
|
|
* @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event
|
|
* @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_AFTER_LAST: internal
|
|
* @__NL80211_ATTR_CQM_AFTER_LAST: internal
|
|
* @NL80211_ATTR_CQM_MAX: highest key attribute
|
|
* @NL80211_ATTR_CQM_MAX: highest key attribute
|
|
*/
|
|
*/
|
|
@@ -1779,6 +1904,7 @@ enum nl80211_attr_cqm {
|
|
NL80211_ATTR_CQM_RSSI_THOLD,
|
|
NL80211_ATTR_CQM_RSSI_THOLD,
|
|
NL80211_ATTR_CQM_RSSI_HYST,
|
|
NL80211_ATTR_CQM_RSSI_HYST,
|
|
NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
|
|
NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
|
|
|
|
+ NL80211_ATTR_CQM_PKT_LOSS_EVENT,
|
|
|
|
|
|
/* keep last */
|
|
/* keep last */
|
|
__NL80211_ATTR_CQM_AFTER_LAST,
|
|
__NL80211_ATTR_CQM_AFTER_LAST,
|