mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-29 02:38:22 -05:00
Sync with linux/nl80211.h from wireless-testing.git
This commit is contained in:
parent
95ab606345
commit
7aec3776b9
@ -76,6 +76,39 @@
|
||||
* below.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: Virtual interface / concurrency capabilities
|
||||
*
|
||||
* Some devices are able to operate with virtual MACs, they can have
|
||||
* more than one virtual interface. The capability handling for this
|
||||
* is a bit complex though, as there may be a number of restrictions
|
||||
* on the types of concurrency that are supported.
|
||||
*
|
||||
* To start with, each device supports the interface types listed in
|
||||
* the %NL80211_ATTR_SUPPORTED_IFTYPES attribute, but by listing the
|
||||
* types there no concurrency is implied.
|
||||
*
|
||||
* Once concurrency is desired, more attributes must be observed:
|
||||
* To start with, since some interface types are purely managed in
|
||||
* software, like the AP-VLAN type in mac80211 for example, there's
|
||||
* an additional list of these, they can be added at any time and
|
||||
* are only restricted by some semantic restrictions (e.g. AP-VLAN
|
||||
* cannot be added without a corresponding AP interface). This list
|
||||
* is exported in the %NL80211_ATTR_SOFTWARE_IFTYPES attribute.
|
||||
*
|
||||
* Further, the list of supported combinations is exported. This is
|
||||
* in the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute. Basically,
|
||||
* it exports a list of "groups", and at any point in time the
|
||||
* interfaces that are currently active must fall into any one of
|
||||
* the advertised groups. Within each group, there are restrictions
|
||||
* on the number of interfaces of different types that are supported
|
||||
* and also the number of different channels, along with potentially
|
||||
* some other restrictions. See &enum nl80211_if_combination_attrs.
|
||||
*
|
||||
* All together, these attributes define the concurrency of virtual
|
||||
* interfaces that a given device supports.
|
||||
*/
|
||||
|
||||
/**
|
||||
* enum nl80211_commands - supported nl80211 commands
|
||||
*
|
||||
@ -148,6 +181,10 @@
|
||||
* @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to
|
||||
* destination %NL80211_ATTR_MAC on the interface identified by
|
||||
* %NL80211_ATTR_IFINDEX.
|
||||
* @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by
|
||||
* %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP.
|
||||
* @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
|
||||
* %NL80211_ATTR_MAC.
|
||||
* @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
|
||||
* the interface identified by %NL80211_ATTR_IFINDEX.
|
||||
* @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
|
||||
@ -172,10 +209,10 @@
|
||||
* to the specified ISO/IEC 3166-1 alpha2 country code. The core will
|
||||
* store this as a valid request and then query userspace for it.
|
||||
*
|
||||
* @NL80211_CMD_GET_MESH_PARAMS: Get mesh networking properties for the
|
||||
* @NL80211_CMD_GET_MESH_CONFIG: Get mesh networking properties for the
|
||||
* interface identified by %NL80211_ATTR_IFINDEX
|
||||
*
|
||||
* @NL80211_CMD_SET_MESH_PARAMS: Set mesh networking properties for the
|
||||
* @NL80211_CMD_SET_MESH_CONFIG: Set mesh networking properties for the
|
||||
* interface identified by %NL80211_ATTR_IFINDEX
|
||||
*
|
||||
* @NL80211_CMD_SET_MGMT_EXTRA_IE: Set extra IEs for management frames. The
|
||||
@ -199,6 +236,29 @@
|
||||
* @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
|
||||
* partial scan results may be available
|
||||
*
|
||||
* @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
|
||||
* intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL.
|
||||
* Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
|
||||
* are passed, they are used in the probe requests. For
|
||||
* broadcast, a broadcast SSID must be passed (ie. an empty
|
||||
* string). If no SSID is passed, no probe requests are sent and
|
||||
* a passive scan is performed. %NL80211_ATTR_SCAN_FREQUENCIES,
|
||||
* if passed, define which channels should be scanned; if not
|
||||
* passed, all channels allowed for the current regulatory domain
|
||||
* are used. Extra IEs can also be passed from the userspace by
|
||||
* using the %NL80211_ATTR_IE attribute.
|
||||
* @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT
|
||||
* if scheduled scan is not running.
|
||||
* @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan
|
||||
* results available.
|
||||
* @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has
|
||||
* stopped. The driver may issue this event at any time during a
|
||||
* scheduled scan. One reason for stopping the scan is if the hardware
|
||||
* does not support starting an association or a normal scan while running
|
||||
* a scheduled scan. This event is also sent when the
|
||||
* %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface
|
||||
* is brought down while a scheduled scan was running.
|
||||
*
|
||||
* @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation
|
||||
* or noise level
|
||||
* @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
|
||||
@ -406,11 +466,37 @@
|
||||
* notification. This event is used to indicate that an unprotected
|
||||
* disassociation frame was dropped when MFP is in use.
|
||||
*
|
||||
* @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a
|
||||
* beacon or probe response from a compatible mesh peer. This is only
|
||||
* sent while no station information (sta_info) exists for the new peer
|
||||
* candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH is set. On
|
||||
* reception of this notification, userspace may decide to create a new
|
||||
* station (@NL80211_CMD_NEW_STATION). To stop this notification from
|
||||
* reoccurring, the userspace authentication daemon may want to create the
|
||||
* new station with the AUTHENTICATED flag unset and maybe change it later
|
||||
* depending on the authentication result.
|
||||
*
|
||||
* @NL80211_CMD_GET_WOWLAN: get Wake-on-Wireless-LAN (WoWLAN) settings.
|
||||
* @NL80211_CMD_SET_WOWLAN: set Wake-on-Wireless-LAN (WoWLAN) settings.
|
||||
* Since wireless is more complex than wired ethernet, it supports
|
||||
* various triggers. These triggers can be configured through this
|
||||
* command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For
|
||||
* more background information, see
|
||||
* http://wireless.kernel.org/en/users/Documentation/WoWLAN.
|
||||
*
|
||||
* @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver
|
||||
* the necessary information for supporting GTK rekey offload. This
|
||||
* feature is typically used during WoWLAN. The configuration data
|
||||
* is contained in %NL80211_ATTR_REKEY_DATA (which is nested and
|
||||
* contains the data in sub-attributes). After rekeying happened,
|
||||
* this command may also be sent by the driver as an MLME event to
|
||||
* inform userspace of the new replay counter.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_commands {
|
||||
/* don't change the order or add anything inbetween, this is ABI! */
|
||||
/* don't change the order or add anything between, this is ABI! */
|
||||
NL80211_CMD_UNSPEC,
|
||||
|
||||
NL80211_CMD_GET_WIPHY, /* can dump */
|
||||
@ -448,8 +534,8 @@ enum nl80211_commands {
|
||||
NL80211_CMD_SET_REG,
|
||||
NL80211_CMD_REQ_SET_REG,
|
||||
|
||||
NL80211_CMD_GET_MESH_PARAMS,
|
||||
NL80211_CMD_SET_MESH_PARAMS,
|
||||
NL80211_CMD_GET_MESH_CONFIG,
|
||||
NL80211_CMD_SET_MESH_CONFIG,
|
||||
|
||||
NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
|
||||
|
||||
@ -518,6 +604,18 @@ enum nl80211_commands {
|
||||
NL80211_CMD_UNPROT_DEAUTHENTICATE,
|
||||
NL80211_CMD_UNPROT_DISASSOCIATE,
|
||||
|
||||
NL80211_CMD_NEW_PEER_CANDIDATE,
|
||||
|
||||
NL80211_CMD_GET_WOWLAN,
|
||||
NL80211_CMD_SET_WOWLAN,
|
||||
|
||||
NL80211_CMD_START_SCHED_SCAN,
|
||||
NL80211_CMD_STOP_SCHED_SCAN,
|
||||
NL80211_CMD_SCHED_SCAN_RESULTS,
|
||||
NL80211_CMD_SCHED_SCAN_STOPPED,
|
||||
|
||||
NL80211_CMD_SET_REKEY_OFFLOAD,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@ -538,6 +636,11 @@ enum nl80211_commands {
|
||||
#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
|
||||
#define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
|
||||
|
||||
/* source-level API compatibility */
|
||||
#define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG
|
||||
#define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG
|
||||
#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE
|
||||
|
||||
/**
|
||||
* enum nl80211_attrs - nl80211 netlink attributes
|
||||
*
|
||||
@ -608,7 +711,7 @@ enum nl80211_commands {
|
||||
* consisting of a nested array.
|
||||
*
|
||||
* @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes).
|
||||
* @NL80211_ATTR_PLINK_ACTION: action to perform on the mesh peer link.
|
||||
* @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link.
|
||||
* @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
|
||||
* @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
|
||||
* info given for %NL80211_CMD_GET_MPATH, nested attribute described at
|
||||
@ -852,7 +955,13 @@ enum nl80211_commands {
|
||||
* 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.
|
||||
* For a more detailed description see @NL80211_ATTR_WIPHY_ANTENNA_TX.
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX: Bitmap of antennas which are available
|
||||
* for configuration as TX antennas via the above parameters.
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX: Bitmap of antennas which are available
|
||||
* for configuration as RX antennas via the above parameters.
|
||||
*
|
||||
* @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS
|
||||
*
|
||||
@ -868,11 +977,44 @@ enum nl80211_commands {
|
||||
* attributes, specifying what a key should be set as default as.
|
||||
* See &enum nl80211_key_default_types.
|
||||
*
|
||||
* @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be
|
||||
* changed once the mesh is active.
|
||||
* @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute
|
||||
* containing attributes from &enum nl80211_meshconf_params.
|
||||
* @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver
|
||||
* allows auth frames in a mesh to be passed to userspace for processing via
|
||||
* the @NL80211_MESH_SETUP_USERSPACE_AUTH flag.
|
||||
* @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as
|
||||
* defined in &enum nl80211_plink_state. Used when userspace is
|
||||
* driving the peer link management state machine.
|
||||
* @NL80211_MESH_SETUP_USERSPACE_AMPE must be enabled.
|
||||
*
|
||||
* @NL80211_ATTR_WOWLAN_SUPPORTED: indicates, as part of the wiphy capabilities,
|
||||
* the supported WoWLAN triggers
|
||||
* @NL80211_ATTR_WOWLAN_TRIGGERS: used by %NL80211_CMD_SET_WOWLAN to
|
||||
* indicate which WoW triggers should be enabled. This is also
|
||||
* used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN
|
||||
* triggers.
|
||||
|
||||
* @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan
|
||||
* cycles, in msecs.
|
||||
*
|
||||
* @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
|
||||
* interface combinations. In each nested item, it contains attributes
|
||||
* defined in &enum nl80211_if_combination_attrs.
|
||||
* @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like
|
||||
* %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that
|
||||
* are managed in software: interfaces of these types aren't subject to
|
||||
* any restrictions in their number or combinations.
|
||||
*
|
||||
* @%NL80211_ATTR_REKEY_DATA: nested attribute containing the information
|
||||
* necessary for GTK rekeying in the device, see &enum nl80211_rekey_data.
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_attrs {
|
||||
/* don't change the order or add anything inbetween, this is ABI! */
|
||||
/* don't change the order or add anything between, this is ABI! */
|
||||
NL80211_ATTR_UNSPEC,
|
||||
|
||||
NL80211_ATTR_WIPHY,
|
||||
@ -922,7 +1064,7 @@ enum nl80211_attrs {
|
||||
NL80211_ATTR_REG_ALPHA2,
|
||||
NL80211_ATTR_REG_RULES,
|
||||
|
||||
NL80211_ATTR_MESH_PARAMS,
|
||||
NL80211_ATTR_MESH_CONFIG,
|
||||
|
||||
NL80211_ATTR_BSS_BASIC_RATES,
|
||||
|
||||
@ -1050,6 +1192,24 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION,
|
||||
|
||||
NL80211_ATTR_MESH_SETUP,
|
||||
|
||||
NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX,
|
||||
NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX,
|
||||
|
||||
NL80211_ATTR_SUPPORT_MESH_AUTH,
|
||||
NL80211_ATTR_STA_PLINK_STATE,
|
||||
|
||||
NL80211_ATTR_WOWLAN_TRIGGERS,
|
||||
NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED,
|
||||
|
||||
NL80211_ATTR_SCHED_SCAN_INTERVAL,
|
||||
|
||||
NL80211_ATTR_INTERFACE_COMBINATIONS,
|
||||
NL80211_ATTR_SOFTWARE_IFTYPES,
|
||||
|
||||
NL80211_ATTR_REKEY_DATA,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@ -1058,6 +1218,7 @@ enum nl80211_attrs {
|
||||
|
||||
/* source-level API compatibility */
|
||||
#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
|
||||
#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
|
||||
|
||||
/*
|
||||
* Allow user space programs to use #ifdef on new attributes by defining them
|
||||
@ -1101,7 +1262,9 @@ enum nl80211_attrs {
|
||||
* @NL80211_IFTYPE_ADHOC: independent BSS member
|
||||
* @NL80211_IFTYPE_STATION: managed BSS member
|
||||
* @NL80211_IFTYPE_AP: access point
|
||||
* @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points
|
||||
* @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points; VLAN interfaces
|
||||
* are a bit special in that they must always be tied to a pre-existing
|
||||
* AP type interface.
|
||||
* @NL80211_IFTYPE_WDS: wireless distribution interface
|
||||
* @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
|
||||
* @NL80211_IFTYPE_MESH_POINT: mesh point
|
||||
@ -1143,6 +1306,7 @@ enum nl80211_iftype {
|
||||
* with short barker preamble
|
||||
* @NL80211_STA_FLAG_WME: station is WME/QoS capable
|
||||
* @NL80211_STA_FLAG_MFP: station uses management frame protection
|
||||
* @NL80211_STA_FLAG_AUTHENTICATED: station is authenticated
|
||||
* @NL80211_STA_FLAG_MAX: highest station flag number currently defined
|
||||
* @__NL80211_STA_FLAG_AFTER_LAST: internal use
|
||||
*/
|
||||
@ -1152,6 +1316,7 @@ enum nl80211_sta_flags {
|
||||
NL80211_STA_FLAG_SHORT_PREAMBLE,
|
||||
NL80211_STA_FLAG_WME,
|
||||
NL80211_STA_FLAG_MFP,
|
||||
NL80211_STA_FLAG_AUTHENTICATED,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_FLAG_AFTER_LAST,
|
||||
@ -1196,6 +1361,36 @@ enum nl80211_rate_info {
|
||||
NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_sta_bss_param - BSS information collected by STA
|
||||
*
|
||||
* These attribute types are used with %NL80211_STA_INFO_BSS_PARAM
|
||||
* when getting information about the bitrate of a station.
|
||||
*
|
||||
* @__NL80211_STA_BSS_PARAM_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_STA_BSS_PARAM_CTS_PROT: whether CTS protection is enabled (flag)
|
||||
* @NL80211_STA_BSS_PARAM_SHORT_PREAMBLE: whether short preamble is enabled
|
||||
* (flag)
|
||||
* @NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME: whether short slot time is enabled
|
||||
* (flag)
|
||||
* @NL80211_STA_BSS_PARAM_DTIM_PERIOD: DTIM period for beaconing (u8)
|
||||
* @NL80211_STA_BSS_PARAM_BEACON_INTERVAL: Beacon interval (u16)
|
||||
* @NL80211_STA_BSS_PARAM_MAX: highest sta_bss_param number currently defined
|
||||
* @__NL80211_STA_BSS_PARAM_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_sta_bss_param {
|
||||
__NL80211_STA_BSS_PARAM_INVALID,
|
||||
NL80211_STA_BSS_PARAM_CTS_PROT,
|
||||
NL80211_STA_BSS_PARAM_SHORT_PREAMBLE,
|
||||
NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME,
|
||||
NL80211_STA_BSS_PARAM_DTIM_PERIOD,
|
||||
NL80211_STA_BSS_PARAM_BEACON_INTERVAL,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_BSS_PARAM_AFTER_LAST,
|
||||
NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_sta_info - station information
|
||||
*
|
||||
@ -1206,17 +1401,26 @@ enum nl80211_rate_info {
|
||||
* @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
|
||||
* @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
* @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
|
||||
* @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
|
||||
* containing info as possible, see &enum nl80211_sta_info_txrate.
|
||||
* containing info as possible, see &enum nl80211_rate_info
|
||||
* @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (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_SIGNAL_AVG: signal strength average (u8, dBm)
|
||||
* @NL80211_STA_INFO_LLID: the station's mesh LLID
|
||||
* @NL80211_STA_INFO_PLID: the station's mesh PLID
|
||||
* @NL80211_STA_INFO_PLINK_STATE: peer link state for the station
|
||||
* (see %enum nl80211_plink_state)
|
||||
* @NL80211_STA_INFO_RX_BITRATE: last unicast data frame rx rate, nested
|
||||
* attribute, like NL80211_STA_INFO_TX_BITRATE.
|
||||
* @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute
|
||||
* containing info as possible, see &enum nl80211_sta_bss_param
|
||||
* @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
enum nl80211_sta_info {
|
||||
__NL80211_STA_INFO_INVALID,
|
||||
@ -1233,6 +1437,9 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_TX_RETRIES,
|
||||
NL80211_STA_INFO_TX_FAILED,
|
||||
NL80211_STA_INFO_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_RX_BITRATE,
|
||||
NL80211_STA_INFO_BSS_PARAM,
|
||||
NL80211_STA_INFO_CONNECTED_TIME,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
@ -1388,7 +1595,7 @@ enum nl80211_bitrate_attr {
|
||||
* 802.11 country information element with regulatory information it
|
||||
* 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.
|
||||
* structure passed 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.
|
||||
*/
|
||||
@ -1559,14 +1766,15 @@ enum nl80211_mntr_flags {
|
||||
/**
|
||||
* enum nl80211_meshconf_params - mesh configuration parameters
|
||||
*
|
||||
* Mesh configuration parameters
|
||||
* Mesh configuration parameters. These can be changed while the mesh is
|
||||
* active.
|
||||
*
|
||||
* @__NL80211_MESHCONF_INVALID: internal use
|
||||
*
|
||||
* @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in
|
||||
* millisecond units, used by the Peer Link Open message
|
||||
*
|
||||
* @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the inital confirm timeout, in
|
||||
* @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in
|
||||
* millisecond units, used by the peer link management to close a peer link
|
||||
*
|
||||
* @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in
|
||||
@ -1582,9 +1790,6 @@ enum nl80211_mntr_flags {
|
||||
* @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
|
||||
* 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
|
||||
* open peer links when we detect compatible mesh peers.
|
||||
*
|
||||
@ -1609,7 +1814,10 @@ enum nl80211_mntr_flags {
|
||||
* @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
|
||||
* that it takes for an HWMP information element to propagate across the mesh
|
||||
*
|
||||
* @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not
|
||||
* @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not
|
||||
*
|
||||
* @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
|
||||
* source mesh point for path selection elements.
|
||||
*
|
||||
* @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
|
||||
*
|
||||
@ -1638,6 +1846,54 @@ enum nl80211_meshconf_params {
|
||||
NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_mesh_setup_params - mesh setup parameters
|
||||
*
|
||||
* Mesh setup parameters. These are used to start/join a mesh and cannot be
|
||||
* changed while the mesh is active.
|
||||
*
|
||||
* @__NL80211_MESH_SETUP_INVALID: Internal use
|
||||
*
|
||||
* @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a
|
||||
* vendor specific path selection algorithm or disable it to use the default
|
||||
* HWMP.
|
||||
*
|
||||
* @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a
|
||||
* vendor specific path metric or disable it to use the default Airtime
|
||||
* metric.
|
||||
*
|
||||
* @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a
|
||||
* robust security network ie, or a vendor specific information element that
|
||||
* vendors will use to identify the path selection methods and metrics in use.
|
||||
*
|
||||
* @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication
|
||||
* daemon will be authenticating mesh candidates.
|
||||
*
|
||||
* @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication
|
||||
* daemon will be securing peer link frames. AMPE is a secured version of Mesh
|
||||
* Peering Management (MPM) and is implemented with the assistance of a
|
||||
* userspace daemon. When this flag is set, the kernel will send peer
|
||||
* management frames to a userspace daemon that will implement AMPE
|
||||
* functionality (security capabilities selection, key confirmation, and key
|
||||
* management). When the flag is unset (default), the kernel can autonomously
|
||||
* complete (unsecured) mesh peering without the need of a userspace daemon.
|
||||
*
|
||||
* @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
|
||||
* @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use
|
||||
*/
|
||||
enum nl80211_mesh_setup_params {
|
||||
__NL80211_MESH_SETUP_INVALID,
|
||||
NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL,
|
||||
NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC,
|
||||
NL80211_MESH_SETUP_IE,
|
||||
NL80211_MESH_SETUP_USERSPACE_AUTH,
|
||||
NL80211_MESH_SETUP_USERSPACE_AMPE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MESH_SETUP_ATTR_AFTER_LAST,
|
||||
NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_txq_attr - TX queue parameter attributes
|
||||
* @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
|
||||
@ -1936,4 +2192,213 @@ enum nl80211_tx_power_setting {
|
||||
NL80211_TX_POWER_FIXED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_wowlan_packet_pattern_attr - WoWLAN packet pattern attribute
|
||||
* @__NL80211_WOWLAN_PKTPAT_INVALID: invalid number for nested attribute
|
||||
* @NL80211_WOWLAN_PKTPAT_PATTERN: the pattern, values where the mask has
|
||||
* a zero bit are ignored
|
||||
* @NL80211_WOWLAN_PKTPAT_MASK: pattern mask, must be long enough to have
|
||||
* a bit for each byte in the pattern. The lowest-order bit corresponds
|
||||
* to the first byte of the pattern, but the bytes of the pattern are
|
||||
* in a little-endian-like format, i.e. the 9th byte of the pattern
|
||||
* corresponds to the lowest-order bit in the second byte of the mask.
|
||||
* For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
|
||||
* xx indicates "don't care") would be represented by a pattern of
|
||||
* twelve zero bytes, and a mask of "0xed,0x07".
|
||||
* Note that the pattern matching is done as though frames were not
|
||||
* 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
|
||||
* first (including SNAP header unpacking) and then matched.
|
||||
* @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
|
||||
* @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
|
||||
*/
|
||||
enum nl80211_wowlan_packet_pattern_attr {
|
||||
__NL80211_WOWLAN_PKTPAT_INVALID,
|
||||
NL80211_WOWLAN_PKTPAT_MASK,
|
||||
NL80211_WOWLAN_PKTPAT_PATTERN,
|
||||
|
||||
NUM_NL80211_WOWLAN_PKTPAT,
|
||||
MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct nl80211_wowlan_pattern_support - pattern support information
|
||||
* @max_patterns: maximum number of patterns supported
|
||||
* @min_pattern_len: minimum length of each pattern
|
||||
* @max_pattern_len: maximum length of each pattern
|
||||
*
|
||||
* This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
|
||||
* that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
|
||||
* capability information given by the kernel to userspace.
|
||||
*/
|
||||
struct nl80211_wowlan_pattern_support {
|
||||
__u32 max_patterns;
|
||||
__u32 min_pattern_len;
|
||||
__u32 max_pattern_len;
|
||||
} __attribute__((packed));
|
||||
|
||||
/**
|
||||
* enum nl80211_wowlan_triggers - WoWLAN trigger definitions
|
||||
* @__NL80211_WOWLAN_TRIG_INVALID: invalid number for nested attributes
|
||||
* @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put
|
||||
* the chip into a special state -- works best with chips that have
|
||||
* support for low-power operation already (flag)
|
||||
* @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect
|
||||
* is detected is implementation-specific (flag)
|
||||
* @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed
|
||||
* by 16 repetitions of MAC addr, anywhere in payload) (flag)
|
||||
* @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
|
||||
* which are passed in an array of nested attributes, each nested attribute
|
||||
* defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
|
||||
* Each pattern defines a wakeup packet. The matching is done on the MSDU,
|
||||
* i.e. as though the packet was an 802.3 packet, so the pattern matching
|
||||
* is done after the packet is converted to the MSDU.
|
||||
*
|
||||
* In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
|
||||
* carrying a &struct nl80211_wowlan_pattern_support.
|
||||
* @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
|
||||
* @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
|
||||
*/
|
||||
enum nl80211_wowlan_triggers {
|
||||
__NL80211_WOWLAN_TRIG_INVALID,
|
||||
NL80211_WOWLAN_TRIG_ANY,
|
||||
NL80211_WOWLAN_TRIG_DISCONNECT,
|
||||
NL80211_WOWLAN_TRIG_MAGIC_PKT,
|
||||
NL80211_WOWLAN_TRIG_PKT_PATTERN,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_WOWLAN_TRIG,
|
||||
MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_iface_limit_attrs - limit attributes
|
||||
* @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
|
||||
* @NL80211_IFACE_LIMIT_MAX: maximum number of interfaces that
|
||||
* can be chosen from this set of interface types (u32)
|
||||
* @NL80211_IFACE_LIMIT_TYPES: nested attribute containing a
|
||||
* flag attribute for each interface type in this set
|
||||
* @NUM_NL80211_IFACE_LIMIT: number of attributes
|
||||
* @MAX_NL80211_IFACE_LIMIT: highest attribute number
|
||||
*/
|
||||
enum nl80211_iface_limit_attrs {
|
||||
NL80211_IFACE_LIMIT_UNSPEC,
|
||||
NL80211_IFACE_LIMIT_MAX,
|
||||
NL80211_IFACE_LIMIT_TYPES,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_IFACE_LIMIT,
|
||||
MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_if_combination_attrs -- interface combination attributes
|
||||
*
|
||||
* @NL80211_IFACE_COMB_UNSPEC: (reserved)
|
||||
* @NL80211_IFACE_COMB_LIMITS: Nested attributes containing the limits
|
||||
* for given interface types, see &enum nl80211_iface_limit_attrs.
|
||||
* @NL80211_IFACE_COMB_MAXNUM: u32 attribute giving the total number of
|
||||
* interfaces that can be created in this group. This number doesn't
|
||||
* apply to interfaces purely managed in software, which are listed
|
||||
* in a separate attribute %NL80211_ATTR_INTERFACES_SOFTWARE.
|
||||
* @NL80211_IFACE_COMB_STA_AP_BI_MATCH: flag attribute specifying that
|
||||
* beacon intervals within this group must be all the same even for
|
||||
* infrastructure and AP/GO combinations, i.e. the GO(s) must adopt
|
||||
* the infrastructure network's beacon interval.
|
||||
* @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many
|
||||
* different channels may be used within this group.
|
||||
* @NUM_NL80211_IFACE_COMB: number of attributes
|
||||
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
||||
*
|
||||
* Examples:
|
||||
* limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
|
||||
* => allows an AP and a STA that must match BIs
|
||||
*
|
||||
* numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8
|
||||
* => allows 8 of AP/GO
|
||||
*
|
||||
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
|
||||
* => allows two STAs on different channels
|
||||
*
|
||||
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
||||
* => allows a STA plus three P2P interfaces
|
||||
*
|
||||
* The list of these four possiblities could completely be contained
|
||||
* within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
|
||||
* that any of these groups must match.
|
||||
*
|
||||
* "Combinations" of just a single interface will not be listed here,
|
||||
* a single interface of any valid interface type is assumed to always
|
||||
* be possible by itself. This means that implicitly, for each valid
|
||||
* interface type, the following group always exists:
|
||||
* numbers = [ #{<type>} <= 1 ], channels = 1, max = 1
|
||||
*/
|
||||
enum nl80211_if_combination_attrs {
|
||||
NL80211_IFACE_COMB_UNSPEC,
|
||||
NL80211_IFACE_COMB_LIMITS,
|
||||
NL80211_IFACE_COMB_MAXNUM,
|
||||
NL80211_IFACE_COMB_STA_AP_BI_MATCH,
|
||||
NL80211_IFACE_COMB_NUM_CHANNELS,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_IFACE_COMB,
|
||||
MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* enum nl80211_plink_state - state of a mesh peer link finite state machine
|
||||
*
|
||||
* @NL80211_PLINK_LISTEN: initial state, considered the implicit
|
||||
* state of non existant mesh peer links
|
||||
* @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
|
||||
* this mesh peer
|
||||
* @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
|
||||
* from this mesh peer
|
||||
* @NL80211_PLINK_CNF_RCVD: mesh plink confirm frame has been
|
||||
* received from this mesh peer
|
||||
* @NL80211_PLINK_ESTAB: mesh peer link is established
|
||||
* @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled
|
||||
* @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh
|
||||
* plink are discarded
|
||||
* @NUM_NL80211_PLINK_STATES: number of peer link states
|
||||
* @MAX_NL80211_PLINK_STATES: highest numerical value of plink states
|
||||
*/
|
||||
enum nl80211_plink_state {
|
||||
NL80211_PLINK_LISTEN,
|
||||
NL80211_PLINK_OPN_SNT,
|
||||
NL80211_PLINK_OPN_RCVD,
|
||||
NL80211_PLINK_CNF_RCVD,
|
||||
NL80211_PLINK_ESTAB,
|
||||
NL80211_PLINK_HOLDING,
|
||||
NL80211_PLINK_BLOCKED,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PLINK_STATES,
|
||||
MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1
|
||||
};
|
||||
|
||||
#define NL80211_KCK_LEN 16
|
||||
#define NL80211_KEK_LEN 16
|
||||
#define NL80211_REPLAY_CTR_LEN 8
|
||||
|
||||
/**
|
||||
* enum nl80211_rekey_data - attributes for GTK rekey offload
|
||||
* @__NL80211_REKEY_DATA_INVALID: invalid number for nested attributes
|
||||
* @NL80211_REKEY_DATA_KEK: key encryption key (binary)
|
||||
* @NL80211_REKEY_DATA_KCK: key confirmation key (binary)
|
||||
* @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary)
|
||||
* @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal)
|
||||
* @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal)
|
||||
*/
|
||||
enum nl80211_rekey_data {
|
||||
__NL80211_REKEY_DATA_INVALID,
|
||||
NL80211_REKEY_DATA_KEK,
|
||||
NL80211_REKEY_DATA_KCK,
|
||||
NL80211_REKEY_DATA_REPLAY_CTR,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_REKEY_DATA,
|
||||
MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1
|
||||
};
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
Loading…
Reference in New Issue
Block a user