nl80211_copy.h revision 51b6ea882f234c14cd1fe1332a3840cf61fafcca
18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef __LINUX_NL80211_H 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define __LINUX_NL80211_H 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 802.11 netlink interface public header 58d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 68d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2008 Michael Wu <flamingice@sourmilk.net> 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com> 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Copyright 2008 Michael Buesch <m@bues.ch> 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com> 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2008 Colin McCabe <colin@cozybit.com> 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Permission to use, copy, modify, and/or distribute this software for any 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * purpose with or without fee is hereby granted, provided that the above 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * copyright notice and this permission notice appear in all copies. 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include <linux/types.h> 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * DOC: Station handling 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Stations are added per interface, but a special case exists with VLAN 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interfaces. When a station is bound to an AP interface, it may be moved 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * into a VLAN identified by a VLAN interface index (%NL80211_ATTR_STA_VLAN). 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * The station is still assumed to belong to the AP interface it was added 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to. 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 392f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * Station handling varies per interface type and depending on the driver's 402f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * capabilities. 412f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 422f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * For drivers supporting TDLS with external setup (WIPHY_FLAG_SUPPORTS_TDLS 432f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * and WIPHY_FLAG_TDLS_EXTERNAL_SETUP), the station lifetime is as follows: 442f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * - a setup station entry is added, not yet authorized, without any rate 452f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * or capability information, this just exists to avoid race conditions 462f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * - when the TDLS setup is done, a single NL80211_CMD_SET_STATION is valid 472f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * to add rate and capability information to the station and at the same 482f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * time mark it authorized. 492f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * - %NL80211_TDLS_ENABLE_LINK is then used 502f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * - after this, the only valid operation is to remove it by tearing down 512f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * the TDLS link (%NL80211_TDLS_DISABLE_LINK) 522f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 532f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * TODO: need more info for other interface types 548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * DOC: Frame transmission/registration support 588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Frame transmission and registration support exists to allow userspace 608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * management entities such as wpa_supplicant react to management frames 618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that are not being handled by the kernel. This includes, for example, 628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * certain classes of action frames that cannot be handled in the kernel 638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * for various reasons. 648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Frame registration is done on a per-interface basis and registrations 668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * cannot be removed other than by closing the socket. It is possible to 678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specify a registration filter to register, for example, only for a 688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * certain type of action frame. In particular with action frames, those 698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that userspace registers for will not be returned as unhandled by the 708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * driver, so that the registered application has to take responsibility 718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * for doing that. 728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * The type of frame that can be registered for is also dependent on the 748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * driver and interface type. The frame types are advertised in wiphy 758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attributes so applications know what to expect. 768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NOTE: When an interface changes type while registrations are active, 788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * these registrations are ignored until the interface type is 798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * changed again. This means that changing the interface type can 808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * lead to a situation that couldn't otherwise be produced, but 818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * any such registrations will be dormant in the sense that they 828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * will not be serviced, i.e. they will not receive any frames. 838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Frame transmission allows userspace to send for example the required 858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * responses to action frames. It is subject to some sanity checking, 868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * but many frames can be transmitted. When a frame was transmitted, its 878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * status is indicated to the sending socket. 888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * For more technical details, see the corresponding command descriptions 908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * below. 918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * DOC: Virtual interface / concurrency capabilities 951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Some devices are able to operate with virtual MACs, they can have 971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * more than one virtual interface. The capability handling for this 981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is a bit complex though, as there may be a number of restrictions 991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * on the types of concurrency that are supported. 1001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 1011f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * To start with, each device supports the interface types listed in 1021f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the %NL80211_ATTR_SUPPORTED_IFTYPES attribute, but by listing the 1031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * types there no concurrency is implied. 1041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 1051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Once concurrency is desired, more attributes must be observed: 1061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * To start with, since some interface types are purely managed in 1071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * software, like the AP-VLAN type in mac80211 for example, there's 1081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * an additional list of these, they can be added at any time and 1091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * are only restricted by some semantic restrictions (e.g. AP-VLAN 1101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * cannot be added without a corresponding AP interface). This list 1111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is exported in the %NL80211_ATTR_SOFTWARE_IFTYPES attribute. 1121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 1131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Further, the list of supported combinations is exported. This is 1141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * in the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute. Basically, 1151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * it exports a list of "groups", and at any point in time the 1161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * interfaces that are currently active must fall into any one of 1171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the advertised groups. Within each group, there are restrictions 1181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * on the number of interfaces of different types that are supported 1191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * and also the number of different channels, along with potentially 1201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * some other restrictions. See &enum nl80211_if_combination_attrs. 1211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 1221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * All together, these attributes define the concurrency of virtual 1231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * interfaces that a given device supports. 1241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 1251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 1261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_commands - supported nl80211 commands 1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_UNSPEC: unspecified command to catch errors 1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request 1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to get a list of all present wiphys. 1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or 1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, 135a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the 136a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attributes determining the channel width; this is used for setting 137a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, 1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, 1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. 1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL 1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * instead, the support here is for backward compatibility only. 1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request 1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or rename notification. Has attributes %NL80211_ATTR_WIPHY and 1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_WIPHY_NAME. 1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEL_WIPHY: Wiphy deleted. Has attributes 1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. 1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration; 1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * either a dump request on a %NL80211_ATTR_WIPHY or a specific get 1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * on an %NL80211_ATTR_IFINDEX is supported. 1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires 1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. 1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response 1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX, 1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also 1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * be sent from userspace to request creation of a new virtual interface, 1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and 1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFNAME. 1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes 1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from 1618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * userspace to request deletion of a virtual interface, then requires 1628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attribute %NL80211_ATTR_IFINDEX. 1638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified 1658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. 1668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, 1678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. 1688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, 1698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, 1708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and %NL80211_ATTR_KEY_SEQ attributes. 1718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX 1728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or %NL80211_ATTR_MAC. 1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 17404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_GET_BEACON: (not used) 17504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface 17604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * using the %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL 17704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * attributes. For drivers that generate the beacon and probe responses 17804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * internally, the following attributes must be provided: %NL80211_ATTR_IE, 17904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * %NL80211_ATTR_IE_PROBE_RESP and %NL80211_ATTR_IE_ASSOC_RESP. 18004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_START_AP: Start AP operation on an AP interface, parameters 18104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * are like for %NL80211_CMD_SET_BEACON, and additionally parameters that 18204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL, 18304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * %NL80211_ATTR_DTIM_PERIOD, %NL80211_ATTR_SSID, 1841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE, 1851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS, 1861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, 187f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, 188f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. 18904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * The channel to use can be set on the interface or be given using the 190a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. 19104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP 19204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface 19304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP 1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_STATION: Get station attributes for station identified by 1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. 1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_STATION: Set station attributes for station identified by 1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. 1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the 2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the interface identified by %NL80211_ATTR_IFINDEX. 2018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC 2028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or, if no MAC address given, all stations, on the interface identified 2038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * by %NL80211_ATTR_IFINDEX. 2048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to 2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * destination %NL80211_ATTR_MAC on the interface identified by 2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX. 2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to 2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * destination %NL80211_ATTR_MAC on the interface identified by 2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX. 2111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by 2121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP. 2131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by 2141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_MAC. 2158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the 2168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the interface identified by %NL80211_ATTR_IFINDEX. 2178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC 2188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or, if no MAC address given, all mesh paths, on the interface identified 2198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * by %NL80211_ATTR_IFINDEX. 2208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by 2218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX. 2228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set 2248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory domain. 2258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command 2268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * after being queried by the kernel. CRDA replies by sending a regulatory 2278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our 2288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * current alpha2 if it found a match. It also provides 2298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each 2308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory rule is a nested set of attributes given by 2318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and 2328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by 2338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and 2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP. 2358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REQ_SET_REG: ask the wireless core to set the regulatory domain 2368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to the specified ISO/IEC 3166-1 alpha2 country code. The core will 2378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * store this as a valid request and then query userspace for it. 2388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_GET_MESH_CONFIG: Get mesh networking properties for the 2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interface identified by %NL80211_ATTR_IFINDEX 2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_SET_MESH_CONFIG: Set mesh networking properties for the 2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interface identified by %NL80211_ATTR_IFINDEX 2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_MGMT_EXTRA_IE: Set extra IEs for management frames. The 2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interface is identified with %NL80211_ATTR_IFINDEX and the management 2478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frame subtype with %NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be 2488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * added to the end of the specified management frame is specified with 2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IE. If the command succeeds, the requested data will be 2508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * added to all specified management frames generated by 2518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * kernel/firmware/driver. 2528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Note: This command has been removed and it is only reserved at this 2538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * point to avoid re-using existing command number. The functionality this 2548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * command was planned for has been provided with cleaner design with the 2558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN, 2568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, 2578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE. 2588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_SCAN: get scan results 2608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters 2611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the 2621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * probe requests at CCK rate or not. 2638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to 2648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_GET_SCAN and on the "scan" multicast group) 2658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons, 2668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * partial scan results may be available 2678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain 2691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL. 2701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS) 2711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * are passed, they are used in the probe requests. For 2721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * broadcast, a broadcast SSID must be passed (ie. an empty 2731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * string). If no SSID is passed, no probe requests are sent and 2741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * a passive scan is performed. %NL80211_ATTR_SCAN_FREQUENCIES, 2751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * if passed, define which channels should be scanned; if not 2761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * passed, all channels allowed for the current regulatory domain 2771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * are used. Extra IEs can also be passed from the userspace by 2781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * using the %NL80211_ATTR_IE attribute. 2791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT 2801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * if scheduled scan is not running. 2811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan 2821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * results available. 2831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has 2841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * stopped. The driver may issue this event at any time during a 2851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * scheduled scan. One reason for stopping the scan is if the hardware 2861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * does not support starting an association or a normal scan while running 2871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * a scheduled scan. This event is also sent when the 2881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface 2891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is brought down while a scheduled scan was running. 2901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 2918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation 2928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or noise level 2938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to 2948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_GET_SURVEY and on the "scan" multicast group) 2958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 29604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry, using %NL80211_ATTR_MAC 29704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (for the BSSID) and %NL80211_ATTR_PMKID. 29804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC 29904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (for the BSSID) and %NL80211_ATTR_PMKID. 30004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries. 30104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 3028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain 3038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * has been changed and provides details of the request information 3048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that caused the change such as who initiated the regulatory request 3058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx 3068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if 3078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or 3088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain 3098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is 3108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on 3118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to (%NL80211_ATTR_REG_ALPHA2). 3128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REG_BEACON_HINT: indicates to userspace that an AP beacon 3138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * has been found while world roaming thus enabling active scan or 3148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * any mode of operation that initiates TX (beacons) on a channel 3158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * where we would not have been able to do either before. As an example 3168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * if you are world roaming (regulatory domain set to world or if your 3178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * driver is using a custom world roaming regulatory domain) and while 3188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * doing a passive scan on the 5 GHz band you find an AP there (if not 3198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * on a DFS channel) you will now be able to actively scan for that AP 3208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * or use AP mode on your card on that same channel. Note that this will 3218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * never be used for channels 1-11 on the 2 GHz band as they are always 3228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enabled world wide. This beacon hint is only sent if your device had 3238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * either disabled active scanning or beaconing on a channel. We send to 3248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * userspace the wiphy on which we removed a restriction from 3258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (%NL80211_ATTR_WIPHY) and the channel on which this occurred 3268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER) 3278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the beacon hint was processed. 3288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_AUTHENTICATE: authentication request and notification. 3308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This command is used both as a command (request to authenticate) and 3318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * as an event on the "mlme" multicast group indicating completion of the 3328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * authentication process. 3338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * When used as a command, %NL80211_ATTR_IFINDEX is used to identify the 3348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and 3358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify 3368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the SSID (mainly for association, but is included in authentication 3378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used 3388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE 3398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * is used to specify the authentication type. %NL80211_ATTR_IE is used to 3408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) 3418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to be added to the frame. 3428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * When used as an event, this reports reception of an Authentication 3438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frame in station and IBSS modes when the local MLME processed the 3448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frame, i.e., it was for the local STA and was received in correct 3458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the 3468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MLME SAP interface (kernel providing MLME, userspace SME). The 3478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * included %NL80211_ATTR_FRAME attribute contains the management frame 3488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (including both the header and frame body, but not FCS). This event is 3498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * also used to indicate if the authentication attempt timed out. In that 3508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * case the %NL80211_ATTR_FRAME attribute is replaced with a 3518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_TIMED_OUT flag (and %NL80211_ATTR_MAC to indicate which 3528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * pending authentication timed out). 3538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_ASSOCIATE: association request and notification; like 3548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_AUTHENTICATE but for Association and Reassociation 3558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, 3568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives). 3578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like 3588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to 3598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication 3608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * primitives). 3618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DISASSOCIATE: disassociation request and notification; like 3628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to 3638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives). 3648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_MICHAEL_MIC_FAILURE: notification of a locally detected Michael 3668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * MIC (part of TKIP) failure; sent on the "mlme" multicast group; the 3678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * event includes %NL80211_ATTR_MAC to describe the source MAC address of 3688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the frame with invalid MIC, %NL80211_ATTR_KEY_TYPE to show the key 3698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * type, %NL80211_ATTR_KEY_IDX to indicate the key identifier, and 3708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this 3718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * event matches with MLME-MICHAELMICFAILURE.indication() primitive 3728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_JOIN_IBSS: Join a new IBSS -- given at least an SSID and a 3748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * FREQ attribute (for the initial frequency if no peer can be found) 3758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those 3768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * should be fixed rather than automatically determined. Can only be 3778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * executed on a network interface that is UP, and fixed BSSID/FREQ 3788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * may be rejected. Another optional parameter is the beacon interval, 3798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * given in the %NL80211_ATTR_BEACON_INTERVAL attribute, which if not 3808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * given defaults to 100 TU (102.4ms). 3818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is 3828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * determined by the network interface. 3838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_TESTMODE: testmode command, takes a wiphy (or ifindex) attribute 3858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to identify the device, and the TESTDATA blob attribute to pass through 3868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to the driver. 3878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_CONNECT: connection request and notification; this command 3898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * requests to connect to a specified network but without separating 3908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * auth and assoc steps. For this, you need to specify the SSID in a 3918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_SSID attribute, and can optionally specify the association 392f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, 393f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, 3948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and 3958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. 39604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Background scan period can optionally be 39704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * specified in %NL80211_ATTR_BG_SCAN_PERIOD, 39804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * if not specified default background scan configuration 39904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * in driver is used and if period value is 0, bg scan will be disabled. 40004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * This attribute is ignored if driver does not support roam scan. 4018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * It is also sent as an event, with the BSSID and response IEs when the 4028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * connection is established or failed to be established. This can be 4038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * determined by the STATUS_CODE attribute. 4048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_ROAM: request that the card roam (currently not implemented), 4058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * sent as an event when the card/driver roamed by itself. 4068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify 4078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * userspace that a connection was dropped by the AP or due to other 4088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and 4098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_REASON_CODE attributes are used. 4108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_WIPHY_NETNS: Set a wiphy's netns. Note that all devices 4128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * associated with this wiphy must be down and will follow. 4138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REMAIN_ON_CHANNEL: Request to remain awake on the specified 4158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * channel for the specified amount of time. This can be used to do 4168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * off-channel operations like transmit a Public Action frame and wait for 4178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a response while being associated to an AP on another channel. 4188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus 4198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the 420a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * frequency for the operation. 4218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds 4228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to remain on the channel. This command is also used as an event to 4238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * notify when the requested duration starts (it may take a while for the 4248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * driver to schedule this time due to other concurrent needs for the 4258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * radio). 4268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * When called, this operation returns a cookie (%NL80211_ATTR_COOKIE) 4278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that will be included with any events pertaining to this request; 4288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the cookie is also used to cancel the request. 4298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL: This command can be used to cancel a 4308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * pending remain-on-channel duration if the desired operation has been 4318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * completed prior to expiration of the originally requested duration. 4328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_WIPHY or %NL80211_ATTR_IFINDEX is used to specify the 4338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * radio. The %NL80211_ATTR_COOKIE attribute must be given as well to 4348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * uniquely identify the request. 4358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This command is also used as an event to notify when a requested 4368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * remain-on-channel duration has expired. 4378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_TX_BITRATE_MASK: Set the mask of rates to be used in TX 4398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rate selection. %NL80211_ATTR_IFINDEX is used to specify the interface 4408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and @NL80211_ATTR_TX_RATES the set of allowed rates. 4418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REGISTER_FRAME: Register for receiving certain mgmt frames 4438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (via @NL80211_CMD_FRAME) for processing in userspace. This command 4448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * requires an interface index, a frame type attribute (optional for 4458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * backward compatibility reasons, if not given assumes action frames) 4468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and a match attribute containing the first few bytes of the frame 4478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that should match, e.g. a single byte for only a category match or 4488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * four bytes for vendor frames including the OUI. The registration 4498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * cannot be dropped, but is removed automatically when the netlink 4508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * socket is closed. Multiple registrations can be made. 4518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for 4528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * backward compatibility 4538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This 4548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * command is used both as a request to transmit a management frame and 4558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * as an event indicating reception of a frame that was not processed in 4568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * kernel code, but is for us (i.e., which may need to be processed in a 4578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * user space application). %NL80211_ATTR_FRAME is used to specify the 458a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used 459a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * to indicate on which channel the frame is to be transmitted or was 460a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * received. If this channel is not the current channel (remain-on-channel 461a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * or the operational channel) the device will switch to the given channel 462a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * and transmit the frame, optionally waiting for a response for the time 4638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specified using %NL80211_ATTR_DURATION. When called, this operation 4648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the 4658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * TX status event pertaining to the TX request. 4661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the 4671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * management frames at CCK rate or not in 2GHz band. 4688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this 4698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * command may be used with the corresponding cookie to cancel the wait 4708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * time if it is known that it is no longer necessary. 4718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility. 4728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame 4738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies 4748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the TX command and %NL80211_ATTR_FRAME includes the contents of the 4758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged 4768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the frame. 4778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for 4788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * backward compatibility. 47904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 48004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_SET_POWER_SAVE: Set powersave, using %NL80211_ATTR_PS_STATE 48104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_GET_POWER_SAVE: Get powersave status in %NL80211_ATTR_PS_STATE 48204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 4838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command 4848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * is used to configure connection quality monitoring notification trigger 4858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * levels. 4868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This 4878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * command is used as an event to indicate the that a trigger level was 4888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * reached. 4898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ 490a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * and the attributes determining channel width) the given interface 491a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * (identifed by %NL80211_ATTR_IFINDEX) shall operate on. 4928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * In case multiple channels are supported by the device, the mechanism 4938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * with which it switches channels is implementation-defined. 4948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * When a monitor interface is given, it can only switch channel while 4958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * no other interfaces are operating to avoid disturbing the operation 4968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * of any other interfaces, and other interfaces will again take 4978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * precedence when they are used. 4988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface. 5008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial 5028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * mesh config parameters may be given. 5038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the 5048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * network is determined by the network interface. 5058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_UNPROT_DEAUTHENTICATE: Unprotected deauthentication frame 5078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * notification. This event is used to indicate that an unprotected 5088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * deauthentication frame was dropped when MFP is in use. 5098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_UNPROT_DISASSOCIATE: Unprotected disassociation frame 5108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * notification. This event is used to indicate that an unprotected 5118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * disassociation frame was dropped when MFP is in use. 5128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a 5141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * beacon or probe response from a compatible mesh peer. This is only 5151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * sent while no station information (sta_info) exists for the new peer 5162f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH, 5172f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_AMPE, or 5182f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_MPM is set. On reception of this 5192f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * notification, userspace may decide to create a new station 5202f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * (@NL80211_CMD_NEW_STATION). To stop this notification from 5211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * reoccurring, the userspace authentication daemon may want to create the 5221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * new station with the AUTHENTICATED flag unset and maybe change it later 5231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * depending on the authentication result. 5241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_GET_WOWLAN: get Wake-on-Wireless-LAN (WoWLAN) settings. 5261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_SET_WOWLAN: set Wake-on-Wireless-LAN (WoWLAN) settings. 5271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Since wireless is more complex than wired ethernet, it supports 5281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * various triggers. These triggers can be configured through this 5291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For 5301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * more background information, see 5311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * http://wireless.kernel.org/en/users/Documentation/WoWLAN. 532f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification 533f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * from the driver reporting the wakeup reason. In this case, the 534f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason 535f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * for the wakeup, if it was caused by wireless. If it is not present 536f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * in the wakeup notification, the wireless device didn't cause the 537f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * wakeup but reports that it was woken up. 5381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver 5401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the necessary information for supporting GTK rekey offload. This 5411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * feature is typically used during WoWLAN. The configuration data 5421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is contained in %NL80211_ATTR_REKEY_DATA (which is nested and 5431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * contains the data in sub-attributes). After rekeying happened, 5441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * this command may also be sent by the driver as an MLME event to 5451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * inform userspace of the new replay counter. 5461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_PMKSA_CANDIDATE: This is used as an event to inform userspace 5481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * of PMKSA caching dandidates. 5491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). 551d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * In addition, this can be used as an event to request userspace to take 552d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * actions on TDLS links (set up a new link or tear down an existing one). 553d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested 554d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * operation, %NL80211_ATTR_MAC contains the peer MAC address, and 555d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * %NL80211_ATTR_REASON_CODE the reason code to be used (only with 556d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * %NL80211_TDLS_TEARDOWN). 5571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. 5581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP 5601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (or GO) interface (i.e. hostapd) to ask for unexpected frames to 5611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * implement sending deauth to stations that send unexpected class 3 5621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * frames. Also used as the event sent by the kernel when such a frame 5631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is received. 5641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * For the event, the %NL80211_ATTR_MAC attribute carries the TA and 5651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * other attributes like the interface index are present. 5661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * If used as the command it must have an interface index and you can 5671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * only unsubscribe from the event by closing the socket. Subscription 5681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is also for %NL80211_CMD_UNEXPECTED_4ADDR_FRAME events. 5691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_UNEXPECTED_4ADDR_FRAME: Sent as an event indicating that the 5711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * associated station identified by %NL80211_ATTR_MAC sent a 4addr frame 5721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * and wasn't already in a 4-addr VLAN. The event will be sent similarly 5731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * to the %NL80211_CMD_UNEXPECTED_FRAME event, to the same listener. 5741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_PROBE_CLIENT: Probe an associated station on an AP interface 5761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * by sending a null data frame to it and reporting when the frame is 5771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * acknowleged. This is used to allow timing out inactive clients. Uses 5781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a 5791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * direct reply with an %NL80211_ATTR_COOKIE that is later used to match 5801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * up the event with the request. The event includes the same data and 5811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * has %NL80211_ATTR_ACK set if the frame was ACKed. 5821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_CMD_REGISTER_BEACONS: Register this socket to receive beacons from 5841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * other BSSes when any interfaces are in AP mode. This helps implement 5851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * OLBC handling in hostapd. Beacons are reported in %NL80211_CMD_FRAME 5861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * messages. Note that per PHY only one application may register. 5871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 588c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_CMD_SET_NOACK_MAP: sets a bitmap for the individual TIDs whether 589c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * No Acknowledgement Policy should be applied. 590c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 59104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels 59204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * independently of the userspace SME, send this event indicating 593a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the 594a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attributes determining channel width. 59504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 596d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by 597d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * its %NL80211_ATTR_WDEV identifier. It must have been created with 598d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the 599d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * P2P Device can be used for P2P operations, e.g. remain-on-channel and 600d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * public action frame TX. 601d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_CMD_STOP_P2P_DEVICE: Stop the given P2P Device, identified by 602d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * its %NL80211_ATTR_WDEV identifier. 603d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 604d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_CMD_CONN_FAILED: connection request to an AP failed; used to 605d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * notify userspace that AP has rejected the connection request from a 606d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON 607d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * is used for this. 608d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 609d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames 610d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * for IBSS or MESH vif. 611d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 612f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_CMD_SET_MAC_ACL: sets ACL for MAC address based access control. 613f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * This is to be used with the drivers advertising the support of MAC 614f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * address based access control. List of MAC addresses is passed in 615f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_MAC_ADDRS and ACL policy is passed in 616f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_ACL_POLICY. Driver will enable ACL with this list, if it 617f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * is not already done. The new list will replace any existing list. Driver 618f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * will clear its ACL when the list of MAC addresses passed is empty. This 619f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * command is used in AP/P2P GO mode. Driver has to make sure to clear its 620f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * ACL list during %NL80211_CMD_STOP_AP. 621f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 622f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once 623f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * a radar is detected or the channel availability scan (CAC) has finished 624f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * or was aborted, or a radar was detected, usermode will be notified with 625f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * this event. This command is also used to notify userspace about radars 626f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * while operating on this channel. 627f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the 628f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * event. 629f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 6302f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_CMD_GET_PROTOCOL_FEATURES: Get global nl80211 protocol features, 6312f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * i.e. features for the nl80211 protocol rather than device features. 6322f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * Returns the features in the %NL80211_ATTR_PROTOCOL_FEATURES bitmap. 6332f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 6342f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_CMD_UPDATE_FT_IES: Pass down the most up-to-date Fast Transition 6352f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * Information Element to the WLAN driver 6362f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 6372f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_CMD_FT_EVENT: Send a Fast transition event from the WLAN driver 6382f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * to the supplicant. This will carry the target AP's MAC address along 6392f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * with the relevant Information Elements. This event is used to report 6402f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * received FT IEs (MDIE, FTIE, RSN IE, TIE, RICIE). 6412f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 64251b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CMD_CRIT_PROTOCOL_START: Indicates user-space will start running 64351b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * a critical protocol that needs more reliability in the connection to 64451b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * complete. 64551b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * 64651b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CMD_CRIT_PROTOCOL_STOP: Indicates the connection reliability can 64751b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * return back to normal. 64851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * 6498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_MAX: highest used command number 6508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_CMD_AFTER_LAST: internal use 6518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 6528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_commands { 6531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* don't change the order or add anything between, this is ABI! */ 6548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_UNSPEC, 6558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_WIPHY, /* can dump */ 6578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_WIPHY, 6588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_WIPHY, 6598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_WIPHY, 6608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_INTERFACE, /* can dump */ 6628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_INTERFACE, 6638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_INTERFACE, 6648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_INTERFACE, 6658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_KEY, 6678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_KEY, 6688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_KEY, 6698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_KEY, 6708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_BEACON, 6728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_BEACON, 67304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CMD_START_AP, 67404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP, 67504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CMD_STOP_AP, 67604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP, 6778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_STATION, 6798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_STATION, 6808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_STATION, 6818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_STATION, 6828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_MPATH, 6848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_MPATH, 6858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_MPATH, 6868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_MPATH, 6878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_BSS, 6898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_REG, 6918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REQ_SET_REG, 6928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_GET_MESH_CONFIG, 6941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_SET_MESH_CONFIG, 6958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */, 6978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_REG, 6998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_SCAN, 7018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_TRIGGER_SCAN, 7028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_SCAN_RESULTS, 7038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SCAN_ABORTED, 7048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REG_CHANGE, 7068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_AUTHENTICATE, 7088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_ASSOCIATE, 7098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEAUTHENTICATE, 7108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DISASSOCIATE, 7118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_MICHAEL_MIC_FAILURE, 7138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REG_BEACON_HINT, 7158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_JOIN_IBSS, 7178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_LEAVE_IBSS, 7188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_TESTMODE, 7208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_CONNECT, 7228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_ROAM, 7238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DISCONNECT, 7248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_WIPHY_NETNS, 7268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_SURVEY, 7288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NEW_SURVEY_RESULTS, 7298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_PMKSA, 7318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_DEL_PMKSA, 7328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_FLUSH_PMKSA, 7338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REMAIN_ON_CHANNEL, 7358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, 7368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_TX_BITRATE_MASK, 7388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REGISTER_FRAME, 7408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME, 7418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_FRAME, 7428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_ACTION = NL80211_CMD_FRAME, 7438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_FRAME_TX_STATUS, 7448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS, 7458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_POWER_SAVE, 7478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_GET_POWER_SAVE, 7488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_CQM, 7508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_NOTIFY_CQM, 7518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_CHANNEL, 7538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_SET_WDS_PEER, 7548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_FRAME_WAIT_CANCEL, 7568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_JOIN_MESH, 7588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_LEAVE_MESH, 7598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_UNPROT_DEAUTHENTICATE, 7618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_UNPROT_DISASSOCIATE, 7628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 7631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_NEW_PEER_CANDIDATE, 7641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_GET_WOWLAN, 7661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_SET_WOWLAN, 7671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_START_SCHED_SCAN, 7691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_STOP_SCHED_SCAN, 7701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_SCHED_SCAN_RESULTS, 7711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_SCHED_SCAN_STOPPED, 7721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_SET_REKEY_OFFLOAD, 7741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_PMKSA_CANDIDATE, 7761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_TDLS_OPER, 7781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_TDLS_MGMT, 7791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_UNEXPECTED_FRAME, 7811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_PROBE_CLIENT, 7831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_REGISTER_BEACONS, 7851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 7861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_CMD_UNEXPECTED_4ADDR_FRAME, 7871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 788c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_CMD_SET_NOACK_MAP, 789c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 79004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CMD_CH_SWITCH_NOTIFY, 79104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 792d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CMD_START_P2P_DEVICE, 793d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CMD_STOP_P2P_DEVICE, 794d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 795d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CMD_CONN_FAILED, 796d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 797d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CMD_SET_MCAST_RATE, 798d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 799f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_CMD_SET_MAC_ACL, 800f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 801f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_CMD_RADAR_DETECT, 802f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 8032f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_CMD_GET_PROTOCOL_FEATURES, 8042f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 8052f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_CMD_UPDATE_FT_IES, 8062f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_CMD_FT_EVENT, 8072f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 80851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CMD_CRIT_PROTOCOL_START, 80951b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CMD_CRIT_PROTOCOL_STOP, 81051b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt 8118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* add new commands above here */ 8128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 8138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* used to define NL80211_CMD_MAX below */ 8148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_CMD_AFTER_LAST, 8158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 8168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 8178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 8188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 8198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Allow user space programs to use #ifdef on new commands by defining them 8208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * here 8218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 8228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS 8238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE 8248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE 8258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE 8268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE 8278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE 8288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE 8298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT 8308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 8311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS 8321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 8331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* source-level API compatibility */ 8341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG 8351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG 8361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE 8371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 8388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 8398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_attrs - nl80211 netlink attributes 8408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 8418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_UNSPEC: unspecified attribute to catch errors 8428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 8438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf. 8448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * /sys/class/ieee80211/<phyname>/index 8458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) 8468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters 847a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz, 848a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * defines the channel together with the (deprecated) 849a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes 850a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1 851a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * and %NL80211_ATTR_CENTER_FREQ2 852a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values 853a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * of &enum nl80211_chan_width, describing the channel width. See the 854a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * documentation of the enum for more information. 855a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the 856a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * channel, used for anything but 20 MHz bandwidth 857a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the 858a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * channel, used only for 80+80 MHz bandwidth 8598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ 860a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * if HT20 or HT40 are to be used (i.e., HT disabled if not included): 8618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including 8628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * this attribute) 8638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CHAN_HT20 = HT20 only 8648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel 8658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel 866a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * This attribute is now deprecated. 8678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is 8688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * less than or equal to the RTS threshold; allowed range: 1..255; 8698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * dot11ShortRetryLimit; u8 8708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_RETRY_LONG: TX retry limit for frames whose length is 8718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * greater than the RTS threshold; allowed range: 1..255; 8728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * dot11ShortLongLimit; u8 8738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_FRAG_THRESHOLD: fragmentation threshold, i.e., maximum 8748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * length in octets for frames; allowed range: 256..8000, disable 8758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * fragmentation with (u32)-1; dot11FragmentationThreshold; u32 8768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_RTS_THRESHOLD: RTS threshold (TX frames with length 8778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * larger than or equal to this use RTS/CTS handshake); allowed range: 8788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 0..65536, disable with (u32)-1; dot11RTSThreshold; u32 8798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_COVERAGE_CLASS: Coverage Class as defined by IEEE 802.11 8808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * section 7.3.2.9; dot11CoverageClass; u8 8818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 8828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on 8838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_IFNAME: network interface name 8848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype 8858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 88661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_ATTR_WDEV: wireless device identifier, used for pseudo-devices 88761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * that don't have a netdev (u64) 88861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * 8898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAC: MAC address (various uses) 8908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 8918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of 8928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC 8938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * keys 8948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_IDX: key ID (u8, 0-3) 8958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11 8968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * section 7.3.2.25.1, e.g. 0x000FAC04) 8978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and 8988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * CCMP keys, each six bytes in little endian 89904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_KEY_DEFAULT: Flag attribute indicating the key is default key 90004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_KEY_DEFAULT_MGMT: Flag attribute indicating the key is the 90104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * default management key 90204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_CIPHER_SUITES_PAIRWISE: For crypto settings for connect or 90304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * other commands, indicates which pairwise cipher suites are used 90404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_CIPHER_SUITE_GROUP: For crypto settings for connect or 90504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * other commands, indicates which group cipher suite is used 9068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU 9088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_DTIM_PERIOD: DTIM period for beaconing 9098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BEACON_HEAD: portion of the beacon before the TIM IE 9108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BEACON_TAIL: portion of the beacon after the TIM IE 9118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_AID: Association ID for the station (u16) 9138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_FLAGS: flags, nested element with NLA_FLAG attributes of 9148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_sta_flags (deprecated, use %NL80211_ATTR_STA_FLAGS2) 9158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_LISTEN_INTERVAL: listen interval as defined by 9168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * IEEE 802.11 7.3.1.6 (u16). 9178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_SUPPORTED_RATES: supported rates, array of supported 9188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rates as defined by IEEE 802.11 7.3.2.2 but without the length 9198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * restriction (at most %NL80211_MAX_SUPP_RATES). 9208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station 9218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to, or the AP interface the station was originally added to to. 9228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_INFO: information about a station, part of station info 9238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * given for %NL80211_CMD_GET_STATION, nested attribute containing 9248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * info as possible, see &enum nl80211_sta_info. 9258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_BANDS: Information about an operating bands, 9278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * consisting of a nested array. 9288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). 9302f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link 9312f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * (see &enum nl80211_plink_action). 9328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. 9338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path 9348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * info given for %NL80211_CMD_GET_MPATH, nested attribute described at 9358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_mpath_info. 9368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of 9388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_mntr_flags. 9398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REG_ALPHA2: an ISO-3166-alpha2 country code for which the 9418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * current regulatory domain should be set to or is already set to. 9428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * For example, 'CR', for Costa Rica. This attribute is used by the kernel 9438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to query the CRDA to retrieve one regulatory domain. This attribute can 9448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * also be used by userspace to query the kernel for the currently set 9458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory domain. We chose an alpha2 as that is also used by the 9468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * IEEE-802.11d country information element to identify a country. 9478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Users can also simply ask the wireless core to set regulatory domain 9488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to a specific alpha2. 9498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REG_RULES: a nested array of regulatory domain regulatory 9508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rules. 9518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BSS_CTS_PROT: whether CTS protection is enabled (u8, 0 or 1) 9538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BSS_SHORT_PREAMBLE: whether short preamble is enabled 9548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (u8, 0 or 1) 9558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled 9568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (u8, 0 or 1) 9578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BSS_BASIC_RATES: basic rates, array of basic 9588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rates in format defined by IEEE 802.11 7.3.2.2 but without the length 9598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * restriction (at most %NL80211_MAX_SUPP_RATES). 9608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from 9628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * association request when used with NL80211_CMD_NEW_STATION) 9638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SUPPORTED_IFTYPES: nested attribute containing all 9658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * supported interface types, each a flag attribute with the number 9668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * of the interface mode. 9678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MGMT_SUBTYPE: Management frame subtype for 9698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_CMD_SET_MGMT_EXTRA_IE. 9708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_IE: Information element(s) data (used, e.g., with 9728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_CMD_SET_MGMT_EXTRA_IE). 9738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAX_NUM_SCAN_SSIDS: number of SSIDs you can scan with 9758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a single scan request, a wiphy attribute. 9761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS: number of SSIDs you can 9771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * scan with a single scheduled scan request, a wiphy attribute. 9788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements 9798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that can be added to a scan request 9801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information 9811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * elements that can be added to a scheduled scan request 9821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_MAX_MATCH_SETS: maximum number of sets that can be 9831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute. 9848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz) 9868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive 9878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * scanning and include a zero-length SSID (wildcard) for wildcard scan 9888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_BSS: scan result BSS 9898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REG_INITIATOR: indicates who requested the regulatory domain 9918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_* 9928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REG_TYPE: indicates the type of the regulatory domain currently 9938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*) 9948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SUPPORTED_COMMANDS: wiphy attribute that specifies 9968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * an array of command numbers (i.e. a mapping index to command number) 9978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that the driver for the given wiphy supports. 9988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 9998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FRAME: frame data (binary attribute), including frame header 10008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and 10018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_ASSOCIATE events 10028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SSID: SSID (binary attribute, 0..32 octets) 10038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_AUTH_TYPE: AuthenticationType, see &enum nl80211_auth_type, 10048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * represented as a u32 10058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and 10068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_CMD_DISASSOCIATE, u16 10078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_TYPE: Key Type, see &enum nl80211_key_type, represented as 10098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a u32 10108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_BEFORE: A channel which has suffered a regulatory change 10128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * due to considerations from a beacon hint. This attribute reflects 10138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the state of the channel _before_ the beacon hint processing. This 10148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attributes consists of a nested attribute containing 10158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_FREQUENCY_ATTR_* 10168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_AFTER: A channel which has suffered a regulatory change 10178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * due to considerations from a beacon hint. This attribute reflects 10188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the state of the channel _after_ the beacon hint processing. This 10198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attributes consists of a nested attribute containing 10208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_FREQUENCY_ATTR_* 10218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported 10238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * cipher suites 10248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look 10268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * for other networks on different channels 10278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_TIMED_OUT: a flag indicating than an operation timed out; this 10298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * is used, e.g., with %NL80211_CMD_AUTHENTICATE event 10308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is 10328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * used for the association (&enum nl80211_mfp, represented as a u32); 10338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * this attribute can be used 1034f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests 10358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STA_FLAGS2: Attribute containing a 10378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &struct nl80211_sta_flag_update. 10388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CONTROL_PORT: A flag indicating whether user space controls 10408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * IEEE 802.1X port, i.e., sets/clears %NL80211_STA_FLAG_AUTHORIZED, in 10418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * station mode. If the flag is included in %NL80211_CMD_ASSOCIATE 10428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * request, the driver will assume that the port is unauthorized until 10438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * authorized by user space. Otherwise, port is marked authorized by 10448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * default in station mode. 10458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the 10468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ethertype that will be used for key negotiation. It can be 10478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specified with the associate and connect commands. If it is not 10488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specified, the value defaults to 0x888E (PAE, 802.1X). This 10498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attribute is also used as a flag in the wiphy information to 10508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * indicate that protocols other than PAE are supported. 10518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with 10528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom 10538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ethertype frames used for key negotiation must not be encrypted. 10548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. 10568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * We recommend using nested, driver-specific attributes within this. 10578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_DISCONNECTED_BY_AP: A flag indicating that the DISCONNECT 10598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * event was due to the AP disconnecting the station, and not due to 10608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a local disconnect request. 10618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_STATUS_CODE: StatusCode for the %NL80211_CMD_CONNECT 10628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * event (u16) 10638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating 10641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * that protected APs should be used. This is also used with NEW_BEACON to 10651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * indicate that the BSS is to use protection. 10668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON 10681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * to indicate which unicast key ciphers will be used with the connection 10698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (an array of u32). 10701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to 10711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * indicate which group key cipher will be used with the connection (a 10721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * u32). 10731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to 10741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * indicate which WPA version(s) the AP we want to associate with is using 10758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (a u32 with flags from &enum nl80211_wpa_versions). 10761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to 10771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * indicate which key management algorithm(s) to use (an array of u32). 10788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REQ_IE: (Re)association request information elements as 10808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * sent out by the card, for ROAM and successful CONNECT events. 10818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_RESP_IE: (Re)association response information elements as 10828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * sent by peer, for ROAM and successful CONNECT events. 10838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used by in ASSOCIATE 10858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * commands to specify using a reassociate frame 10868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY: key information in a nested attribute with 10888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_KEY_* sub-attributes 10898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEYS: array of keys for static WEP keys for connect() 10908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and join_ibss(), key information is in a nested attribute each 10918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * with %NL80211_KEY_* sub-attributes 10928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_PID: Process ID of a network namespace. 10948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 10958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_GENERATION: Used to indicate consistent snapshots for 10968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * dumps. This number increases whenever the object list being 10978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * dumped changes, and as such userspace can verify that it has 10988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * obtained a complete and consistent snapshot by verifying that 10998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * all dump messages contain the same generation number. If it 11008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * changed then the list changed and the dump should be repeated 11018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * completely from scratch. 11028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface 11048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SURVEY_INFO: survey information about a channel, part of 11068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the survey response for %NL80211_CMD_GET_SURVEY, nested attribute 11078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * containing info as possible, see &enum survey_info. 11088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_PMKID: PMK material for PMKSA caching. 11108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAX_NUM_PMKIDS: maximum number of PMKIDs a firmware can 11118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * cache, a wiphy attribute. 11128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_DURATION: Duration of an operation in milliseconds, u32. 11148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION: Device attribute that 11158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specifies the maximum duration that can be requested with the 11168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * remain-on-channel operation, in milliseconds, u32. 11178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_COOKIE: Generic 64-bit cookie to identify objects. 11198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_TX_RATES: Nested set of attributes 11218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (enum nl80211_tx_rate_attributes) describing TX rates per band. The 11228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_band value is used as the index (nla_type() of the nested 11238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * data. If a band is not included, it will be configured to allow all 11248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rates based on negotiated supported rates information. This attribute 11258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * is used with %NL80211_CMD_SET_TX_BITRATE_MASK. 11268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain 11288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME. 11298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FRAME_TYPE: A u16 indicating the frame type/subtype for the 11308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CMD_REGISTER_FRAME command. 11318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_TX_FRAME_TYPES: wiphy capability attribute, which is a 11328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing 11338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * information about which frame types can be transmitted with 11348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_CMD_FRAME. 11358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_RX_FRAME_TYPES: wiphy capability attribute, which is a 11368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing 11378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * information about which frame types can be registered for RX. 11388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was 11408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * acknowledged by the recipient. 11418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 114204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_PS_STATE: powersave state, using &enum nl80211_ps_state values. 114304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 11448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM: connection quality monitor configuration in a 11458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. 11468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_LOCAL_STATE_CHANGE: Flag attribute to indicate that a command 11488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * is requesting a local authentication/association state change without 11498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * invoking actual management frame exchange. This can be used with 11508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_AUTHENTICATE, NL80211_CMD_DEAUTHENTICATE, 11518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * NL80211_CMD_DISASSOCIATE. 11528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_AP_ISOLATE: (AP mode) Do not forward traffic between stations 11548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * connected to this BSS. 11558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_TX_POWER_SETTING: Transmit power setting type. See 11578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_tx_power_setting for possible values. 11588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_TX_POWER_LEVEL: Transmit power level in signed mBm units. 11598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING 11608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * for non-automatic settings. 11618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly 11638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * means support for per-station GTKs. 11648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting. 11668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This can be used to mask out antennas which are not attached or should 11678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * not be used for transmitting. If an antenna is not selected in this 11688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * bitmap the hardware is not allowed to transmit on this antenna. 11698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Each bit represents one antenna, starting with antenna 1 at the first 11718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * bit. Depending on which antennas are selected in the bitmap, 802.11n 11728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * drivers can derive which chainmasks to use (if all antennas belonging to 11738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a particular chain are disabled this chain should be disabled) and if 11748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a chain has diversity antennas wether diversity should be used or not. 11758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * HT capabilities (STBC, TX Beamforming, Antenna selection) can be 11768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * derived from the available chains after applying the antenna mask. 11778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Non-802.11n drivers can derive wether to use diversity or not. 11788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Drivers may reject configurations or RX/TX mask combinations they cannot 11798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * support by returning -EINVAL. 11808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving. 11828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This can be used to mask out antennas which are not attached or should 11838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * not be used for receiving. If an antenna is not selected in this bitmap 11848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the hardware should not be configured to receive on this antenna. 11851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * For a more detailed description see @NL80211_ATTR_WIPHY_ANTENNA_TX. 11861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 11871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX: Bitmap of antennas which are available 11881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * for configuration as TX antennas via the above parameters. 11891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 11901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX: Bitmap of antennas which are available 11911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * for configuration as RX antennas via the above parameters. 11928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS 11948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 11958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_OFFCHANNEL_TX_OK: For management frame TX, the frame may be 11968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * transmitted on another channel when the channel given doesn't match 11978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the current channel. If the current channel doesn't match and this 11988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * flag isn't set, the frame will be rejected. This is also used as an 11998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * nl80211 capability flag. 12008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 120104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_BSS_HT_OPMODE: HT operation mode (u16) 12028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 12038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags 12048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attributes, specifying what a key should be set as default as. 12058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * See &enum nl80211_key_default_types. 12068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 12071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be 12081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * changed once the mesh is active. 12091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute 12101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * containing attributes from &enum nl80211_meshconf_params. 12111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver 12121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * allows auth frames in a mesh to be passed to userspace for processing via 12131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag. 12142f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as defined in 12152f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * &enum nl80211_plink_state. Used when userspace is driving the peer link 12162f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * management state machine. @NL80211_MESH_SETUP_USERSPACE_AMPE or 12172f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_MPM must be enabled. 12181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: indicates, as part of the wiphy 12201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * capabilities, the supported WoWLAN triggers 12211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_WOWLAN_TRIGGERS: used by %NL80211_CMD_SET_WOWLAN to 12221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * indicate which WoW triggers should be enabled. This is also 12231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN 12241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * triggers. 122504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 12261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan 12271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * cycles, in msecs. 122804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 12291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more 12301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * sets of attributes to match during scheduled scans. Only BSSs 12311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * that match any of the sets will be reported. These are 12321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * pass-thru filter rules. 12331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * For a match to succeed, the BSS must match all attributes of a 12341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * set. Since not every hardware supports matching all types of 12351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * attributes, there is no guarantee that the reported BSSs are 12361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * fully complying with the match sets and userspace needs to be 12371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * able to ignore them by itself. 12381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Thus, the implementation is somewhat hardware-dependent, but 12391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * this is only an optimization and the userspace application 12401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * needs to handle all the non-filtered results anyway. 12411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * If the match attributes don't make sense when combined with 12421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID 12431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is included in the probe request, but the match attributes 12441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * will never let it go through), -EINVAL may be returned. 12451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * If ommited, no filtering is done. 12461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported 12481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * interface combinations. In each nested item, it contains attributes 12491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * defined in &enum nl80211_if_combination_attrs. 12501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like 12511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that 12521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * are managed in software: interfaces of these types aren't subject to 12531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * any restrictions in their number or combinations. 12541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 125504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_REKEY_DATA: nested attribute containing the information 12561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data. 12571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan, 12591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * nested array attribute containing an entry for each band, with the entry 12601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but 12611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * without the length restriction (at most %NL80211_MAX_SUPP_RATES). 12621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_HIDDEN_SSID: indicates whether SSID is to be hidden from Beacon 12641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * and Probe Response (when response to wildcard Probe Request); see 12651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * &enum nl80211_hidden_ssid, represented as a u32 12661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_IE_PROBE_RESP: Information element(s) for Probe Response frame. 12681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to 12691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the 12701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * driver (or firmware) replies to Probe Request frames. 12711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_IE_ASSOC_RESP: Information element(s) for (Re)Association 12721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Response frames. This is used with %NL80211_CMD_NEW_BEACON and 12731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into 12741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (Re)Association Response frames when the driver (or firmware) replies to 12751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (Re)Association Request frames. 12761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration 12781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * of the station, see &enum nl80211_sta_wme_attr. 12791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_SUPPORT_AP_UAPSD: the device supports uapsd when working 12801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * as AP. 12811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of 12831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * roaming to another AP in the same ESS if the signal lever is low. 12841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_PMKSA_CANDIDATE: Nested attribute containing the PMKSA caching 12861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * candidate information, see &enum nl80211_pmksa_candidate_attr. 12871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TX_NO_CCK_RATE: Indicates whether to use CCK rate or not 12891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * for management frames transmission. In order to avoid p2p probe/action 12901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * frames are being transmitted at CCK rate in 2GHz band, the user space 12911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * applications use this attribute. 12921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This attribute is used with %NL80211_CMD_TRIGGER_SCAN and 12931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_CMD_FRAME commands. 12941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 12951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TDLS_ACTION: Low level TDLS action code (e.g. link setup 12961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * request, link setup confirm, link teardown, etc.). Values are 12971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * described in the TDLS (802.11z) specification. 12981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TDLS_DIALOG_TOKEN: Non-zero token for uniquely identifying a 12991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * TDLS conversation between two devices. 13001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TDLS_OPERATION: High level TDLS operation; see 13011f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * &enum nl80211_tdls_operation, represented as a u8. 13021f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TDLS_SUPPORT: A flag indicating the device can operate 13031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * as a TDLS peer sta. 13041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_TDLS_EXTERNAL_SETUP: The TDLS discovery/setup and teardown 13051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * procedures should be performed by sending TDLS packets via 13061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * %NL80211_CMD_TDLS_MGMT. Otherwise %NL80211_CMD_TDLS_OPER should be 13071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * used for asking the driver to perform a TDLS operation. 13081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 13091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_DEVICE_AP_SME: This u32 attribute may be listed for devices 13101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * that have AP support to indicate that they have the AP SME integrated 13111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * with support for the features listed in this attribute, see 13121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * &enum nl80211_ap_sme_features. 13131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 13141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_DONT_WAIT_FOR_ACK: Used with %NL80211_CMD_FRAME, this tells 13151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the driver to not wait for an acknowledgement. Note that due to this, 13161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * it will also not give a status callback nor return a cookie. This is 13171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * mostly useful for probe responses to save airtime. 13181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 13191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from 13201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * &enum nl80211_feature_flags and is advertised in wiphy information. 13211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_PROBE_RESP_OFFLOAD: Indicates that the HW responds to probe 13221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * requests while operating in AP-mode. 13231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This attribute holds a bitmap of the supported protocols for 13241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * offloading (see &enum nl80211_probe_resp_offload_support_attr). 13251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 13261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire 13271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * probe-response frame. The DA field in the 802.11 header is zero-ed out, 13281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * to be filled by the FW. 1329c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable 1330c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * this feature. Currently, only supported in mac80211 drivers. 1331c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the 1332c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * ATTR_HT_CAPABILITY to which attention should be paid. 1333c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * Currently, only mac80211 NICs support this feature. 1334c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * The values that may be configured are: 1335c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * MCS rates, MAX-AMSDU, HT-20-40 and HT_CAP_SGI_40 1336c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * AMPDU density and AMPDU factor. 1337c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * All values are treated as suggestions and may be ignored 1338c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * by the driver as required. The actual values may be seen in 1339c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * the station debugfs ht_caps file. 1340c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 1341c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_ATTR_DFS_REGION: region for regulatory rules which this country 1342c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * abides to when initiating radiation on DFS channels. A country maps 1343c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * to one DFS region. 1344c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 1345c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_ATTR_NOACK_MAP: This u16 bitmap contains the No Ack Policy of 1346c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * up to 16 TIDs. 13471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 134804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be 134904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * used by the drivers which has MLME in firmware and does not have support 135004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * to report per station tx/rx activity to free up the staion entry from 135104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * the list. This needs to be used when the driver advertises the 135204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * capability to timeout the stations. 135304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 135404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_RX_SIGNAL_DBM: signal strength in dBm (as a 32-bit int); 135504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * this attribute is (depending on the driver capabilities) added to 135604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * received frames indicated with %NL80211_CMD_FRAME. 135704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 135804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds 135904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * or 0 to disable background scan. 136004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 136161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from 136261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * userspace. If unset it is assumed the hint comes directly from 136361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * a user. If set code could specify exactly what type of source 136461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * was used to provide the hint. For the different types of 136561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * allowed user regulatory hints see nl80211_user_reg_hint_type. 136661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * 1367d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_ATTR_CONN_FAILED_REASON: The reason for which AP has rejected 1368d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * the connection request from a station. nl80211_connect_failed_reason 1369d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * enum has different reasons of connection failure. 1370d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 1371d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts 1372d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * with the Authentication transaction sequence number field. 1373d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 1374d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from 1375d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * association request when used with NL80211_CMD_NEW_STATION) 1376d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 1377d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32) 1378d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 1379a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with 1380a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * the START_AP and SET_BSS commands 1381a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the 1382a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * START_AP and SET_BSS commands. This can have the values 0 or 1; 1383a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * if not given in START_AP 0 is assumed, if not given in SET_BSS 1384a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * no change is made. 1385a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * 1386f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_LOCAL_MESH_POWER_MODE: local mesh STA link-specific power mode 1387f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * defined in &enum nl80211_mesh_power_mode. 1388f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1389f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_ACL_POLICY: ACL policy, see &enum nl80211_acl_policy, 1390f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * carried in a u32 attribute 1391f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1392f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_MAC_ADDRS: Array of nested MAC addresses, used for 1393f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * MAC ACL. 1394f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1395f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_MAC_ACL_MAX: u32 attribute to advertise the maximum 1396f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * number of MAC addresses that a device can support for MAC 1397f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * ACL. 1398f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1399f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace, 1400f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * contains a value of enum nl80211_radar_event (u32). 1401f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1402f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver 1403f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * has and handles. The format is the same as the IE contents. See 1404f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 802.11-2012 8.4.2.29 for more information. 1405f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver 1406f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields. 1407f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1408f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to 1409f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * the driver, e.g., to enable TDLS power save (PU-APSD). 1410f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 1411f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are 1412f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * advertised to the driver, e.g., to enable TDLS off channel operations 1413f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * and PU-APSD. 1414f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 14152f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_PROTOCOL_FEATURES: global nl80211 feature flags, see 14162f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * &enum nl80211_protocol_features, the attribute is a u32. 14172f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 14182f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_SPLIT_WIPHY_DUMP: flag attribute, userspace supports 14192f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * receiving the data for a single wiphy split across multiple 14202f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * messages, given with wiphy dump message 14212f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 14222f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_MDID: Mobility Domain Identifier 14232f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 14242f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_ATTR_IE_RIC: Resource Information Container Information 14252f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * Element 14262f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 142751b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_ATTR_CRIT_PROT_ID: critical protocol identifier requiring increased 142851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * reliability, see &enum nl80211_crit_proto_id (u16). 142951b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_ATTR_MAX_CRIT_PROT_DURATION: duration in milliseconds in which 143051b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * the connection should have increased reliability (u16). 143151b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * 14328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_MAX: highest attribute number currently defined 14338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_ATTR_AFTER_LAST: internal use 14348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 14358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_attrs { 14361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* don't change the order or add anything between, this is ABI! */ 14378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_UNSPEC, 14388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY, 14408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_NAME, 14418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_IFINDEX, 14438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_IFNAME, 14448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_IFTYPE, 14458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAC, 14478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_DATA, 14498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_IDX, 14508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_CIPHER, 14518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_SEQ, 14528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_DEFAULT, 14538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BEACON_INTERVAL, 14558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_DTIM_PERIOD, 14568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BEACON_HEAD, 14578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BEACON_TAIL, 14588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_AID, 14608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_FLAGS, 14618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_LISTEN_INTERVAL, 14628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_SUPPORTED_RATES, 14638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_VLAN, 14648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_INFO, 14658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_BANDS, 14678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MNTR_FLAGS, 14698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MESH_ID, 14718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_PLINK_ACTION, 14728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MPATH_NEXT_HOP, 14738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MPATH_INFO, 14748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS_CTS_PROT, 14768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS_SHORT_PREAMBLE, 14778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS_SHORT_SLOT_TIME, 14788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_HT_CAPABILITY, 14808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SUPPORTED_IFTYPES, 14828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REG_ALPHA2, 14848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REG_RULES, 14858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_MESH_CONFIG, 14878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS_BASIC_RATES, 14898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_TXQ_PARAMS, 14918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_FREQ, 14928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_CHANNEL_TYPE, 14938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_DEFAULT_MGMT, 14958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MGMT_SUBTYPE, 14978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_IE, 14988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 14998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAX_NUM_SCAN_SSIDS, 15008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SCAN_FREQUENCIES, 15028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SCAN_SSIDS, 15038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */ 15048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS, 15058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REG_INITIATOR, 15078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REG_TYPE, 15088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SUPPORTED_COMMANDS, 15108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FRAME, 15128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SSID, 15138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_AUTH_TYPE, 15148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REASON_CODE, 15158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_TYPE, 15178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAX_SCAN_IE_LEN, 15198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CIPHER_SUITES, 15208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_BEFORE, 15228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_AFTER, 15238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_FIXED, 15258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_RETRY_SHORT, 15288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_RETRY_LONG, 15298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_FRAG_THRESHOLD, 15308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_RTS_THRESHOLD, 15318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_TIMED_OUT, 15338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_USE_MFP, 15358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STA_FLAGS2, 15378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CONTROL_PORT, 15398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_TESTDATA, 15418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_PRIVACY, 15438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_DISCONNECTED_BY_AP, 15458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_STATUS_CODE, 15468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CIPHER_SUITES_PAIRWISE, 15488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CIPHER_SUITE_GROUP, 15498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WPA_VERSIONS, 15508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_AKM_SUITES, 15518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REQ_IE, 15538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_RESP_IE, 15548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_PREV_BSSID, 15568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY, 15588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEYS, 15598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_PID, 15618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_4ADDR, 15638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SURVEY_INFO, 15658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_PMKID, 15678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAX_NUM_PMKIDS, 15688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_DURATION, 15708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_COOKIE, 15728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_COVERAGE_CLASS, 15748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_TX_RATES, 15768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FRAME_MATCH, 15788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_ACK, 15808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_PS_STATE, 15828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM, 15848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_LOCAL_STATE_CHANGE, 15868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_AP_ISOLATE, 15888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_TX_POWER_SETTING, 15908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_TX_POWER_LEVEL, 15918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_TX_FRAME_TYPES, 15938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_RX_FRAME_TYPES, 15948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FRAME_TYPE, 15958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CONTROL_PORT_ETHERTYPE, 15978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, 15988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 15998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_SUPPORT_IBSS_RSN, 16008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_ANTENNA_TX, 16028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_WIPHY_ANTENNA_RX, 16038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MCAST_RATE, 16058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_OFFCHANNEL_TX_OK, 16078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_BSS_HT_OPMODE, 16098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_KEY_DEFAULT_TYPES, 16118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION, 16138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_MESH_SETUP, 16151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX, 16171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, 16181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SUPPORT_MESH_AUTH, 16201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_STA_PLINK_STATE, 16211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_WOWLAN_TRIGGERS, 16231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, 16241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SCHED_SCAN_INTERVAL, 16261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_INTERFACE_COMBINATIONS, 16281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SOFTWARE_IFTYPES, 16291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_REKEY_DATA, 16311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, 16331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN, 16341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SCAN_SUPP_RATES, 16361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_HIDDEN_SSID, 16381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_IE_PROBE_RESP, 16401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_IE_ASSOC_RESP, 16411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_STA_WME, 16431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SUPPORT_AP_UAPSD, 16441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_ROAM_SUPPORT, 16461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_SCHED_SCAN_MATCH, 16481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_MAX_MATCH_SETS, 16491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_PMKSA_CANDIDATE, 16511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TX_NO_CCK_RATE, 16531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TDLS_ACTION, 16551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TDLS_DIALOG_TOKEN, 16561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TDLS_OPERATION, 16571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TDLS_SUPPORT, 16581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_TDLS_EXTERNAL_SETUP, 16591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_DEVICE_AP_SME, 16611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_DONT_WAIT_FOR_ACK, 16631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_FEATURE_FLAGS, 16651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_PROBE_RESP_OFFLOAD, 16671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 16681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_ATTR_PROBE_RESP, 16691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 1670c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_ATTR_DFS_REGION, 1671c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 1672c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_ATTR_DISABLE_HT, 1673c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_ATTR_HT_CAPABILITY_MASK, 1674c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 1675c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_ATTR_NOACK_MAP, 1676c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 167704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_ATTR_INACTIVITY_TIMEOUT, 167804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 167904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_ATTR_RX_SIGNAL_DBM, 168004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 168104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_ATTR_BG_SCAN_PERIOD, 168204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 168361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_ATTR_WDEV, 168461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 168561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_ATTR_USER_REG_HINT_TYPE, 168661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 1687d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_ATTR_CONN_FAILED_REASON, 1688d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 1689d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_ATTR_SAE_DATA, 1690d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 1691d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_ATTR_VHT_CAPABILITY, 1692d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 1693d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_ATTR_SCAN_FLAGS, 1694d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 1695a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_ATTR_CHANNEL_WIDTH, 1696a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_ATTR_CENTER_FREQ1, 1697a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_ATTR_CENTER_FREQ2, 1698a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt 1699a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_ATTR_P2P_CTWINDOW, 1700a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_ATTR_P2P_OPPPS, 1701a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt 1702f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_LOCAL_MESH_POWER_MODE, 1703f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1704f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_ACL_POLICY, 1705f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1706f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_MAC_ADDRS, 1707f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1708f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_MAC_ACL_MAX, 1709f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1710f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_RADAR_EVENT, 1711f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1712f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_EXT_CAPA, 1713f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_EXT_CAPA_MASK, 1714f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 1715f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_STA_CAPABILITY, 1716f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ATTR_STA_EXT_CAPABILITY, 1717f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 17182f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_PROTOCOL_FEATURES, 17192f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_SPLIT_WIPHY_DUMP, 17202f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 17212f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_DISABLE_VHT, 17222f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_VHT_CAPABILITY_MASK, 17232f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 17242f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_MDID, 17252f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_ATTR_IE_RIC, 17262f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 172751b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_ATTR_CRIT_PROT_ID, 172851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_ATTR_MAX_CRIT_PROT_DURATION, 172951b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt 17308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* add attributes here, update the policy in nl80211.c */ 17318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 17328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_ATTR_AFTER_LAST, 17338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 17348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 17358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 17368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* source-level API compatibility */ 17378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION 17381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG 17398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 17408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 17418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Allow user space programs to use #ifdef on new attributes by defining them 17428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * here 17438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 17448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_CMD_CONNECT NL80211_CMD_CONNECT 17458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY 17468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES 17478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS 17488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ 17498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE 17508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE 17518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_IE NL80211_ATTR_IE 17528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR 17538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE 17548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_FRAME NL80211_ATTR_FRAME 17558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_SSID NL80211_ATTR_SSID 17568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE 17578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE 17588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE 17598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP 17608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS 17618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES 17628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_KEY NL80211_ATTR_KEY 17638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_ATTR_KEYS NL80211_ATTR_KEYS 17641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS 17658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 17668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_MAX_SUPP_RATES 32 176704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_MAX_SUPP_HT_RATES 77 17688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_MAX_SUPP_REG_RULES 32 17698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 17708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 17718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 17728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_HT_CAPABILITY_LEN 26 1773d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt#define NL80211_VHT_CAPABILITY_LEN 12 17748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 17758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_MAX_NR_CIPHER_SUITES 5 17768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_MAX_NR_AKM_SUITES 2 17778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 177804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 177904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 178004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt/* default RSSI threshold for scan results if none specified. */ 178104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_SCAN_RSSI_THOLD_OFF -300 178204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 178361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define NL80211_CQM_TXE_MAX_INTVL 1800 178461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 17858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 17868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_iftype - (virtual) interface types 17878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 17888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides 17898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_ADHOC: independent BSS member 17908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_STATION: managed BSS member 17918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_AP: access point 17921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points; VLAN interfaces 17931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * are a bit special in that they must always be tied to a pre-existing 17941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * AP type interface. 17958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_WDS: wireless distribution interface 17968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames 17978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_MESH_POINT: mesh point 17988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_P2P_CLIENT: P2P client 17998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_P2P_GO: P2P group owner 1800d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_IFTYPE_P2P_DEVICE: P2P device interface type, this is not a netdev 1801d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * and therefore can't be created in the normal ways, use the 1802d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE 1803d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * commands to create and destroy one 18048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_IFTYPE_MAX: highest interface type number currently defined 18058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NUM_NL80211_IFTYPES: number of defined interface types 18068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * These values are used with the %NL80211_ATTR_IFTYPE 18088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to set the type of an interface. 18098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 18118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_iftype { 18128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_UNSPECIFIED, 18138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_ADHOC, 18148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_STATION, 18158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_AP, 18168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_AP_VLAN, 18178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_WDS, 18188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_MONITOR, 18198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_MESH_POINT, 18208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_P2P_CLIENT, 18218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_P2P_GO, 1822d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_IFTYPE_P2P_DEVICE, 18238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 18248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 18258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NUM_NL80211_IFTYPES, 18268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1 18278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 18288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 18298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 18308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_sta_flags - station flags 18318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Station flags. When a station is added to an AP interface, it is 18338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * assumed to be already associated (and hence authenticated.) 18348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_STA_FLAG_INVALID: attribute number 0 is reserved 18368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_FLAG_AUTHORIZED: station is authorized (802.1X) 18378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_FLAG_SHORT_PREAMBLE: station is capable of receiving frames 18388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * with short barker preamble 18398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_FLAG_WME: station is WME/QoS capable 18408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_FLAG_MFP: station uses management frame protection 18411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_FLAG_AUTHENTICATED: station is authenticated 1842c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_STA_FLAG_TDLS_PEER: station is a TDLS peer -- this flag should 1843c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * only be used in managed mode (even in the flags mask). Note that the 1844c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * flag can't be changed, it is only valid while adding a station, and 1845c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * attempts to change it will silently be ignored (rather than rejected 1846c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * as errors.) 1847f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_FLAG_ASSOCIATED: station is associated; used with drivers 1848f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a 1849f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * previously added station into associated state 18508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_FLAG_MAX: highest station flag number currently defined 18518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_STA_FLAG_AFTER_LAST: internal use 18528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 18538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_sta_flags { 18548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_STA_FLAG_INVALID, 18558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_FLAG_AUTHORIZED, 18568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_FLAG_SHORT_PREAMBLE, 18578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_FLAG_WME, 18588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_FLAG_MFP, 18591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_FLAG_AUTHENTICATED, 18601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_FLAG_TDLS_PEER, 1861f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_FLAG_ASSOCIATED, 18628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 18638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 18648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_STA_FLAG_AFTER_LAST, 18658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1 18668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 18678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 186804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER 186904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 18708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 18718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * struct nl80211_sta_flag_update - station flags mask/set 18728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @mask: mask of station flags to set 18738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @set: which values to set them to 18748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Both mask and set contain bits as per &enum nl80211_sta_flags. 18768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 18778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct nl80211_sta_flag_update { 18788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __u32 mask; 18798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __u32 set; 18808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} __attribute__((packed)); 18818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 18828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 18838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_rate_info - bitrate information 18848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * These attribute types are used with %NL80211_STA_INFO_TXRATE 18868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * when getting information about the bitrate of a station. 188761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * There are 2 attributes for bitrate, a legacy one that represents 188861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * a 16-bit value, and new one that represents a 32-bit value. 188961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * If the rate value fits into 16 bit, both attributes are reported 189061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * with the same value. If the rate is too high to fit into 16 bits 189161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * (>6.5535Gbps) only 32-bit attribute is included. 189261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * User space tools encouraged to use the 32-bit attribute and fall 189361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * back to the 16-bit one for compatibility with older kernels. 18948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 18958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved 18968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s) 18978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8) 1898a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate 18998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval 190061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s) 19018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined 1902a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) 1903a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) 1904a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate 1905a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate 1906a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate 19078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_RATE_INFO_AFTER_LAST: internal use 19088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 19098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_rate_info { 19108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_RATE_INFO_INVALID, 19118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RATE_INFO_BITRATE, 19128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RATE_INFO_MCS, 19138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RATE_INFO_40_MHZ_WIDTH, 19148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RATE_INFO_SHORT_GI, 191561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_RATE_INFO_BITRATE32, 1916a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_RATE_INFO_VHT_MCS, 1917a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_RATE_INFO_VHT_NSS, 1918a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_RATE_INFO_80_MHZ_WIDTH, 1919a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_RATE_INFO_80P80_MHZ_WIDTH, 1920a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_RATE_INFO_160_MHZ_WIDTH, 19218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 19228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 19238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_RATE_INFO_AFTER_LAST, 19248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1 19258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 19268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 19278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 19281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_sta_bss_param - BSS information collected by STA 19291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 19301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * These attribute types are used with %NL80211_STA_INFO_BSS_PARAM 19311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * when getting information about the bitrate of a station. 19321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 19331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_STA_BSS_PARAM_INVALID: attribute number 0 is reserved 19341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_CTS_PROT: whether CTS protection is enabled (flag) 19351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_SHORT_PREAMBLE: whether short preamble is enabled 19361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (flag) 19371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME: whether short slot time is enabled 19381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (flag) 19391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_DTIM_PERIOD: DTIM period for beaconing (u8) 19401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_BEACON_INTERVAL: Beacon interval (u16) 19411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_BSS_PARAM_MAX: highest sta_bss_param number currently defined 19421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_STA_BSS_PARAM_AFTER_LAST: internal use 19431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 19441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_sta_bss_param { 19451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_STA_BSS_PARAM_INVALID, 19461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_CTS_PROT, 19471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_SHORT_PREAMBLE, 19481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME, 19491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_DTIM_PERIOD, 19501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_BEACON_INTERVAL, 19511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 19521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 19531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_STA_BSS_PARAM_AFTER_LAST, 19541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1 19551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 19561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 19571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 19588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_sta_info - station information 19598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 19608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * These attribute types are used with %NL80211_ATTR_STA_INFO 19618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * when getting information about a station. 19628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 19638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved 19648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) 19658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) 19668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) 1967f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station) 1968f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station) 19698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 19708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 19711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * containing info as possible, see &enum nl80211_rate_info 19728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) 19738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this 19748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * station) 19758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) 19768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) 19778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) 19781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_LLID: the station's mesh LLID 19791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_PLID: the station's mesh PLID 19801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station 19811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (see %enum nl80211_plink_state) 19821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_RX_BITRATE: last unicast data frame rx rate, nested 19831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * attribute, like NL80211_STA_INFO_TX_BITRATE. 19841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute 19851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * containing info as possible, see &enum nl80211_sta_bss_param 19861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected 19871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update. 1988c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32) 198904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64) 1990f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_INFO_LOCAL_PM: local mesh STA link-specific power mode 1991f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_INFO_PEER_PM: peer mesh STA link-specific power mode 1992f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_STA_INFO_NONPEER_PM: neighbor mesh STA power save mode towards 1993f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * non-peer STA 19941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_STA_INFO_AFTER_LAST: internal 19951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_INFO_MAX: highest possible station info attribute 19968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 19978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_sta_info { 19988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_STA_INFO_INVALID, 19998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_INACTIVE_TIME, 20008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_RX_BYTES, 20018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_TX_BYTES, 20028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_LLID, 20038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_PLID, 20048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_PLINK_STATE, 20058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_SIGNAL, 20068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_TX_BITRATE, 20078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_RX_PACKETS, 20088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_TX_PACKETS, 20098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_TX_RETRIES, 20108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_TX_FAILED, 20118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_SIGNAL_AVG, 20121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_INFO_RX_BITRATE, 20131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_INFO_BSS_PARAM, 20141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_INFO_CONNECTED_TIME, 20151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_INFO_STA_FLAGS, 2016c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_STA_INFO_BEACON_LOSS, 201704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_STA_INFO_T_OFFSET, 2018f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_INFO_LOCAL_PM, 2019f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_INFO_PEER_PM, 2020f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_INFO_NONPEER_PM, 2021f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_INFO_RX_BYTES64, 2022f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_STA_INFO_TX_BYTES64, 20238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 20248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 20258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_STA_INFO_AFTER_LAST, 20268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 20278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 20288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 20298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 20308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_mpath_flags - nl80211 mesh path flags 20318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 20328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active 20338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_FLAG_RESOLVING: the mesh path discovery process is running 20348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_FLAG_SN_VALID: the mesh path contains a valid SN 20358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_FLAG_FIXED: the mesh path has been manually set 20368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_FLAG_RESOLVED: the mesh path discovery process succeeded 20378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 20388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_mpath_flags { 20398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_FLAG_ACTIVE = 1<<0, 20408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_FLAG_RESOLVING = 1<<1, 20418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_FLAG_SN_VALID = 1<<2, 20428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_FLAG_FIXED = 1<<3, 20438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_FLAG_RESOLVED = 1<<4, 20448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 20458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 20468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 20478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_mpath_info - mesh path information 20488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 20498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * These attribute types are used with %NL80211_ATTR_MPATH_INFO when getting 20508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * information about a mesh path. 20518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 20528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MPATH_INFO_INVALID: attribute number 0 is reserved 20538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_FRAME_QLEN: number of queued frames for this destination 20548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_SN: destination sequence number 20558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_METRIC: metric (cost) of this mesh path 20568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_EXPTIME: expiration time for the path, in msec from now 20578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_FLAGS: mesh path flags, enumerated in 20588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_mpath_flags; 20598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec 20608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries 20618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number 20628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently defind 20638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MPATH_INFO_AFTER_LAST: internal use 20648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 20658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_mpath_info { 20668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MPATH_INFO_INVALID, 20678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_FRAME_QLEN, 20688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_SN, 20698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_METRIC, 20708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_EXPTIME, 20718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_FLAGS, 20728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, 20738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_DISCOVERY_RETRIES, 20748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 20758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 20768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MPATH_INFO_AFTER_LAST, 20778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1 20788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 20798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 20808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 20818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_band_attr - band attributes 20828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved 20838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_FREQS: supported frequencies in this band, 20848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * an array of nested frequency attributes 20858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_RATES: supported bitrates in this band, 20868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * an array of nested bitrate attributes 20878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_HT_MCS_SET: 16-byte attribute containing the MCS set as 20888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * defined in 802.11n 20898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_HT_CAPA: HT capabilities, as in the HT information IE 20908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_HT_AMPDU_FACTOR: A-MPDU factor, as in 11n 20918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_HT_AMPDU_DENSITY: A-MPDU density, as in 11n 209204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as 209304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * defined in 802.11ac 209404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE 20958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined 20968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BAND_ATTR_AFTER_LAST: internal use 20978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 20988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_band_attr { 20998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BAND_ATTR_INVALID, 21008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_FREQS, 21018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_RATES, 21028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_HT_MCS_SET, 21048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_HT_CAPA, 21058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_HT_AMPDU_FACTOR, 21068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_HT_AMPDU_DENSITY, 21078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 210804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_BAND_ATTR_VHT_MCS_SET, 210904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_BAND_ATTR_VHT_CAPA, 211004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 21118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 21128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BAND_ATTR_AFTER_LAST, 21138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 21148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 21158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA 21178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 21198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_frequency_attr - frequency attributes 21208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved 21218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz 21228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current 21238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory domain. 21248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_PASSIVE_SCAN: Only passive scanning is 21258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * permitted on this channel in current regulatory domain. 21268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_NO_IBSS: IBSS networks are not permitted 21278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * on this channel in current regulatory domain. 21288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory 21298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * on this channel in current regulatory domain. 21308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm 21318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (100 * dBm). 2132f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS 2133f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * (enum nl80211_dfs_state) 2134f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long 2135f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * this channel is in this DFS state. 2136f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this 2137f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * channel as the control channel 2138f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this 2139f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * channel as the control channel 2140f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel 2141f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * as the primary or any of the secondary channels isn't possible, 2142f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * this includes 80+80 channels 2143f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel 2144f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * using this channel as the primary or any of the secondary channels 2145f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * isn't possible 21468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number 21478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently defined 21488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use 21498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 21508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_frequency_attr { 21518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_FREQUENCY_ATTR_INVALID, 21528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_FREQ, 21538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_DISABLED, 21548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_PASSIVE_SCAN, 21558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_NO_IBSS, 21568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_RADAR, 21578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_MAX_TX_POWER, 2158f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_DFS_STATE, 2159f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_DFS_TIME, 2160f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_NO_HT40_MINUS, 2161f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, 2162f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_NO_80MHZ, 2163f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FREQUENCY_ATTR_NO_160MHZ, 21648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 21668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_FREQUENCY_ATTR_AFTER_LAST, 21678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 21688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 21698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER 21718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 21738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_bitrate_attr - bitrate attributes 21748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BITRATE_ATTR_INVALID: attribute number 0 is reserved 21758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BITRATE_ATTR_RATE: Bitrate in units of 100 kbps 21768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE: Short preamble supported 21778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * in 2.4 GHz band. 21788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BITRATE_ATTR_MAX: highest bitrate attribute number 21798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently defined 21808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BITRATE_ATTR_AFTER_LAST: internal use 21818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 21828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_bitrate_attr { 21838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BITRATE_ATTR_INVALID, 21848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BITRATE_ATTR_RATE, 21858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE, 21868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 21888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BITRATE_ATTR_AFTER_LAST, 21898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1 21908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 21918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 21928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 21938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_initiator - Indicates the initiator of a reg domain request 21948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_SET_BY_CORE: Core queried CRDA for a dynamic world 21958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory domain. 21968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_SET_BY_USER: User asked the wireless core to set the 21978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * regulatory domain. 21988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_SET_BY_DRIVER: a wireless drivers has hinted to the 21998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wireless core it thinks its knows the regulatory domain we should be in. 22008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an 22018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 802.11 country information element with regulatory information it 22028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * thinks we should consider. cfg80211 only processes the country 22038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * code from the IE, and relies on the regulatory domain information 22041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * structure passed by userspace (CRDA) from our wireless-regdb. 22058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * If a channel is enabled but the country code indicates it should 22068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * be disabled we disable the channel and re-enable it upon disassociation. 22078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 22088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_reg_initiator { 22098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_SET_BY_CORE, 22108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_SET_BY_USER, 22118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_SET_BY_DRIVER, 22128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_SET_BY_COUNTRY_IE, 22138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 22148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 22168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_reg_type - specifies the type of regulatory domain 22178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_TYPE_COUNTRY: the regulatory domain set is one that pertains 22188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to a specific country. When this is set you can count on the 22198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ISO / IEC 3166 alpha2 country code being valid. 22208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_TYPE_WORLD: the regulatory set domain is the world regulatory 22218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * domain. 22228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_TYPE_CUSTOM_WORLD: the regulatory domain set is a custom 22238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * driver specific world regulatory domain. These do not apply system-wide 22248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and are only applicable to the individual devices which have requested 22258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * them to be applied. 22268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REGDOM_TYPE_INTERSECTION: the regulatory domain set is the product 22278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * of an intersection between two regulatory domains -- the previously 22288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * set regulatory domain on the system and the last accepted regulatory 22298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * domain request to be processed. 22308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 22318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_reg_type { 22328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_TYPE_COUNTRY, 22338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_TYPE_WORLD, 22348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_TYPE_CUSTOM_WORLD, 22358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REGDOM_TYPE_INTERSECTION, 22368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 22378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 22398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_reg_rule_attr - regulatory rule attributes 22408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_REG_RULE_ATTR_INVALID: attribute number 0 is reserved 22418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional 22428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * considerations for a given frequency range. These are the 22438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * &enum nl80211_reg_rule_flags. 22448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_RANGE_START: starting frequencry for the regulatory 22458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * rule in KHz. This is not a center of frequency but an actual regulatory 22468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * band edge. 22478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_RANGE_END: ending frequency for the regulatory rule 22488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * in KHz. This is not a center a frequency but an actual regulatory 22498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * band edge. 22508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_FREQ_RANGE_MAX_BW: maximum allowed bandwidth for this 22518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frequency range, in KHz. 22528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN: the maximum allowed antenna gain 22538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * for a given frequency range. The value is in mBi (100 * dBi). 22548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * If you don't have one then don't send this. 22558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_POWER_RULE_MAX_EIRP: the maximum allowed EIRP for 22568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * a given frequency range. The value is in mBm (100 * dBm). 22578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number 22588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently defined 22598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use 22608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 22618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_reg_rule_attr { 22628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_REG_RULE_ATTR_INVALID, 22638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_REG_RULE_FLAGS, 22648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_RANGE_START, 22668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_RANGE_END, 22678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_FREQ_RANGE_MAX_BW, 22688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, 22708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_POWER_RULE_MAX_EIRP, 22718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 22738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_REG_RULE_ATTR_AFTER_LAST, 22748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 22758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 22768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 22778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 22781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_sched_scan_match_attr - scheduled scan match attributes 22791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved 22801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, 22811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * only report BSS with matching SSID. 228204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a 228304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * BSS in scan results. Filtering is turned off if not specified. 22841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter 22851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * attribute number currently defined 22861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use 22871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 22881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_sched_scan_match_attr { 22891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, 22901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 229104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_SCHED_SCAN_MATCH_ATTR_SSID, 229204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, 22931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 22941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 22951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, 22961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 22971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 22981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 22991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 230004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt/* only for backward compatibility */ 230104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_SCHED_SCAN_MATCH_ATTR_SSID 230204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 23031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 23048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_reg_rule_flags - regulatory rule flags 23058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 23068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_NO_OFDM: OFDM modulation not allowed 23078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_NO_CCK: CCK modulation not allowed 23088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_NO_INDOOR: indoor operation not allowed 23098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_NO_OUTDOOR: outdoor operation not allowed 23108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_DFS: DFS support is required to be used 23118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links 23128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links 23138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_PASSIVE_SCAN: passive scan is required 23148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_RRF_NO_IBSS: no IBSS is allowed 23158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 23168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_reg_rule_flags { 23178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_NO_OFDM = 1<<0, 23188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_NO_CCK = 1<<1, 23198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_NO_INDOOR = 1<<2, 23208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_NO_OUTDOOR = 1<<3, 23218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_DFS = 1<<4, 23228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_PTP_ONLY = 1<<5, 23238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_PTMP_ONLY = 1<<6, 23248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_PASSIVE_SCAN = 1<<7, 23258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_RRF_NO_IBSS = 1<<8, 23268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 23278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 23288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 2329c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * enum nl80211_dfs_regions - regulatory DFS regions 2330c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 2331c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_DFS_UNSET: Country has no DFS master region specified 233204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_DFS_FCC: Country follows DFS master rules from FCC 233304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_DFS_ETSI: Country follows DFS master rules from ETSI 233404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_DFS_JP: Country follows DFS master rules from JP/MKK/Telec 2335c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 2336c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidtenum nl80211_dfs_regions { 2337c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_DFS_UNSET = 0, 2338c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_DFS_FCC = 1, 2339c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_DFS_ETSI = 2, 2340c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_DFS_JP = 3, 2341c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt}; 2342c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 2343c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt/** 234461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * enum nl80211_user_reg_hint_type - type of user regulatory hint 234561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * 234661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always 234761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * assumed if the attribute is not set. 234861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular 234961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * base station. Device drivers that have been tested to work 235061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * properly to support this type of hint can enable these hints 235161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature 235261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * capability on the struct wiphy. The wireless core will 235361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * ignore all cell base station hints until at least one device 235461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * present has been registered with the wireless core that 235561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a 235661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * supported feature. 235761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt */ 235861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtenum nl80211_user_reg_hint_type { 235961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_USER_REG_HINT_USER = 0, 236061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_USER_REG_HINT_CELL_BASE = 1, 236161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt}; 236261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 236361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt/** 23648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_survey_info - survey information 23658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 23668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * These attribute types are used with %NL80211_ATTR_SURVEY_INFO 23678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * when getting information about a survey. 23688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 23698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved 23708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel 23718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) 23728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used 23738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio 23748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * spent on this channel 23758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary 23768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * channel was sensed busy (either due to activity or energy detect) 23778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension 23788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * channel was sensed busy 23798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent 23808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * receiving data 23818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent 23828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * transmitting data 23838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number 23848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * currently defined 23858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use 23868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 23878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_survey_info { 23888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_SURVEY_INFO_INVALID, 23898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_FREQUENCY, 23908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_NOISE, 23918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_IN_USE, 23928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_CHANNEL_TIME, 23938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY, 23948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY, 23958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_CHANNEL_TIME_RX, 23968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_CHANNEL_TIME_TX, 23978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 23988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 23998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_SURVEY_INFO_AFTER_LAST, 24008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 24018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 24028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 24038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 24048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_mntr_flags - monitor configuration flags 24058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Monitor configuration flags. 24078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MNTR_FLAG_INVALID: reserved 24098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_FCSFAIL: pass frames with bad FCS 24118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP 24128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_CONTROL: pass control frames 24138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering 24148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing. 24158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * overrides all other flags. 24168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MNTR_FLAG_AFTER_LAST: internal use 24188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MNTR_FLAG_MAX: highest possible monitor flag 24198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 24208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_mntr_flags { 24218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MNTR_FLAG_INVALID, 24228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_FCSFAIL, 24238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_PLCPFAIL, 24248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_CONTROL, 24258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_OTHER_BSS, 24268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_COOK_FRAMES, 24278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 24288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 24298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MNTR_FLAG_AFTER_LAST, 24308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 24318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 24328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 24338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 2434f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * enum nl80211_mesh_power_mode - mesh power save modes 2435f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 2436f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESH_POWER_UNKNOWN: The mesh power mode of the mesh STA is 2437f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * not known or has not been set yet. 2438f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESH_POWER_ACTIVE: Active mesh power mode. The mesh STA is 2439f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * in Awake state all the time. 2440f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESH_POWER_LIGHT_SLEEP: Light sleep mode. The mesh STA will 2441f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * alternate between Active and Doze states, but will wake up for 2442f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * neighbor's beacons. 2443f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESH_POWER_DEEP_SLEEP: Deep sleep mode. The mesh STA will 2444f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * alternate between Active and Doze states, but may not wake up 2445f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * for neighbor's beacons. 2446f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 2447f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @__NL80211_MESH_POWER_AFTER_LAST - internal use 2448f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESH_POWER_MAX - highest possible power save level 2449f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 2450f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 2451f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtenum nl80211_mesh_power_mode { 2452f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESH_POWER_UNKNOWN, 2453f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESH_POWER_ACTIVE, 2454f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESH_POWER_LIGHT_SLEEP, 2455f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESH_POWER_DEEP_SLEEP, 2456f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 2457f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __NL80211_MESH_POWER_AFTER_LAST, 2458f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1 2459f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 2460f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 2461f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 24628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_meshconf_params - mesh configuration parameters 24638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Mesh configuration parameters. These can be changed while the mesh is 24651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * active. 24668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MESHCONF_INVALID: internal use 24688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in 247004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * millisecond units, used by the Peer Link Open message 24718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in 247304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * millisecond units, used by the peer link management to close a peer link 24748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in 247604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * millisecond units 24778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed 247904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * on this mesh interface 24808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link 248204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * open retries that can be sent to establish a new peer link instance in a 248304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * mesh 24848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh 248604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * point. 24878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24882f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically open 24892f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * peer links when we detect compatible mesh peers. Disabled if 24902f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_MPM or @NL80211_MESH_SETUP_USERSPACE_AMPE are 24912f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * set. 24928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames 249404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * containing a PREQ that an MP can send to a particular destination (path 249504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * target) 24968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 24978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths 249804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (in milliseconds) 24998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 25008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait 250104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * until giving up on a path discovery (in milliseconds) 25028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 25038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh 250404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * points receiving a PREQ shall consider the forwarding information from 250504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * the root to be valid. (TU = time unit) 25068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 25078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in 250804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * TUs) during which an MP can send only one action frame containing a PREQ 250904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * reference element 25108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 25118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) 251204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * that it takes for an HWMP information element to propagate across the 251304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * mesh 25148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 25151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not 25161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 25171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 251804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * source mesh point for path selection elements. 25191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 25201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between 252104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * root announcements are transmitted. 25221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 25231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has 252404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * access to a broader network beyond the MBSS. This is done via Root 252504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Announcement frames. 25268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2527c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL: The minimum interval of time (in 252804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * TUs) during which a mesh STA can send only one Action frame containing a 252904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * PERR element. 2530c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 2531c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding 253204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * or forwarding entity (default is TRUE - forwarding entity) 253304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 253404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the 253504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * threshold for average signal strength of candidate station to establish 253604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * a peer link. 253704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 253804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR: maximum number of neighbors 253904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * to synchronize to for 11s default synchronization method 254004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (see 11C.12.2.2) 254104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 254204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_HT_OPMODE: set mesh HT protection mode. 2543c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 25448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute 25458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 254604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT: The time (in TUs) for 254704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * which mesh STAs receiving a proactive PREQ shall consider the forwarding 254804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * information to the root mesh STA to be valid. 254904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 255004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_HWMP_ROOT_INTERVAL: The interval of time (in TUs) between 255104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * proactive PREQs are transmitted. 255204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 255304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL: The minimum interval of time 255404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (in TUs) during which a mesh STA can send only one Action frame 255504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * containing a PREQ element for root path confirmation. 255604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 2557f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESHCONF_POWER_MODE: Default mesh power mode for new peer links. 2558f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * type &enum nl80211_mesh_power_mode (u32) 2559f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 2560f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_MESHCONF_AWAKE_WINDOW: awake window duration (in TUs) 2561f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 25628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use 25638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 25648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_meshconf_params { 25658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MESHCONF_INVALID, 25668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_RETRY_TIMEOUT, 25678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_CONFIRM_TIMEOUT, 25688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HOLDING_TIMEOUT, 25698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_MAX_PEER_LINKS, 25708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_MAX_RETRIES, 25718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_TTL, 25728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_AUTO_OPEN_PLINKS, 25738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES, 25748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_PATH_REFRESH_TIME, 25758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT, 25768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT, 25778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL, 25788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, 25798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_HWMP_ROOTMODE, 25808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_ELEMENT_TTL, 25811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESHCONF_HWMP_RANN_INTERVAL, 25821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESHCONF_GATE_ANNOUNCEMENTS, 2583c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL, 2584c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt NL80211_MESHCONF_FORWARDING, 258504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_RSSI_THRESHOLD, 258604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR, 258704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_HT_OPMODE, 258804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT, 258904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_HWMP_ROOT_INTERVAL, 259004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL, 2591f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESHCONF_POWER_MODE, 2592f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_MESHCONF_AWAKE_WINDOW, 25938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 25948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 25958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_MESHCONF_ATTR_AFTER_LAST, 25968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 25978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 25988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 25998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 26001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_mesh_setup_params - mesh setup parameters 26011f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26021f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Mesh setup parameters. These are used to start/join a mesh and cannot be 26031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * changed while the mesh is active. 26041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_MESH_SETUP_INVALID: Internal use 26061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a 260804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * vendor specific path selection algorithm or disable it to use the 260904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * default HWMP. 26101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a 261204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * vendor specific path metric or disable it to use the default Airtime 261304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * metric. 26141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a 261604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * robust security network ie, or a vendor specific information element 261704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * that vendors will use to identify the path selection methods and 261804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * metrics in use. 26191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication 262104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * daemon will be authenticating mesh candidates. 26221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication 262404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * daemon will be securing peer link frames. AMPE is a secured version of 262504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Mesh Peering Management (MPM) and is implemented with the assistance of 262604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * a userspace daemon. When this flag is set, the kernel will send peer 262704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * management frames to a userspace daemon that will implement AMPE 262804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * functionality (security capabilities selection, key confirmation, and 262904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * key management). When the flag is unset (default), the kernel can 263004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * autonomously complete (unsecured) mesh peering without the need of a 263104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * userspace daemon. 263204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 263304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: Enable this option to use a 263404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * vendor specific synchronization method or disable it to use the default 263504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * neighbor offset synchronization 26361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 26372f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_MESH_SETUP_USERSPACE_MPM: Enable this option if userspace will 26382f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * implement an MPM which handles peer allocation and state. 26392f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 26401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number 264104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 26421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use 26431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 26441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_mesh_setup_params { 26451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_MESH_SETUP_INVALID, 26461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL, 26471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC, 26481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_IE, 26491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_USERSPACE_AUTH, 26501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_USERSPACE_AMPE, 265104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC, 26522f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_MESH_SETUP_USERSPACE_MPM, 26531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 26541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 26551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_MESH_SETUP_ATTR_AFTER_LAST, 26561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1 26571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 26581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 26591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 26608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_txq_attr - TX queue parameter attributes 26618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved 266204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_TXQ_ATTR_AC: AC identifier (NL80211_AC_*) 26638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning 26648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * disabled 26658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form 26668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2^n-1 in the range 1..32767] 26678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form 26688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2^n-1 in the range 1..32767] 26698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255] 26708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal 26718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number 26728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 26738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_txq_attr { 26748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_TXQ_ATTR_INVALID, 267504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_TXQ_ATTR_AC, 26768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXQ_ATTR_TXOP, 26778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXQ_ATTR_CWMIN, 26788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXQ_ATTR_CWMAX, 26798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXQ_ATTR_AIFS, 26808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 26818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 26828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_TXQ_ATTR_AFTER_LAST, 26838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 26848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 26858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 268604949598a23f501be6eec21697465fd46a28840aDmitry Shmidtenum nl80211_ac { 268704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_AC_VO, 268804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_AC_VI, 268904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_AC_BE, 269004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_AC_BK, 269104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_NUM_ACS 26928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 26938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 269404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt/* backward compat */ 269504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC 269604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_TXQ_Q_VO NL80211_AC_VO 269704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_TXQ_Q_VI NL80211_AC_VI 269804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_TXQ_Q_BE NL80211_AC_BE 269904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define NL80211_TXQ_Q_BK NL80211_AC_BK 270004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 2701a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt/** 2702a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * enum nl80211_channel_type - channel type 2703a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel 2704a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_HT20: 20 MHz HT channel 2705a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel 2706a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * below the control channel 2707a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel 2708a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * above the control channel 2709a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt */ 27108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_channel_type { 27118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CHAN_NO_HT, 27128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CHAN_HT20, 27138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CHAN_HT40MINUS, 27148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CHAN_HT40PLUS 27158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 27168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 27178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 2718a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * enum nl80211_chan_width - channel width definitions 2719a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * 2720a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH 2721a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attribute. 2722a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * 2723a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel 2724a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_20: 20 MHz HT channel 2725a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 2726a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attribute must be provided as well 2727a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 2728a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attribute must be provided as well 2729a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 2730a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well 2731a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 2732a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * attribute must be provided as well 2733a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt */ 2734a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtenum nl80211_chan_width { 2735a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_20_NOHT, 2736a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_20, 2737a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_40, 2738a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_80, 2739a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_80P80, 2740a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_CHAN_WIDTH_160, 2741a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt}; 2742a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt 2743a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt/** 27448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_bss - netlink attributes for a BSS 27458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 27468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BSS_INVALID: invalid 27478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_BSSID: BSSID of the BSS (6 octets) 27488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_FREQUENCY: frequency in MHz (u32) 27498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64) 27508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16) 27518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_CAPABILITY: capability field (CPU order, u16) 27528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_INFORMATION_ELEMENTS: binary attribute containing the 27538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * raw information elements from the probe response/beacon (bin); 27548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * if the %NL80211_BSS_BEACON_IES attribute is present, the IEs here are 27558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * from a Probe Response frame; otherwise they are from a Beacon frame. 27568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * However, if the driver does not indicate the source of the IEs, these 27578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * IEs may be from either frame subtype. 27588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon 27598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * in mBm (100 * dBm) (s32) 27608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon 27618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * in unspecified units, scaled to 0..100 (u8) 27628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_STATUS: status, if this BSS is "used" 27638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_SEEN_MS_AGO: age of this BSS entry in ms 27648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_BEACON_IES: binary attribute containing the raw information 27658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * elements from a Beacon frame (bin); not present if no Beacon frame has 27668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * yet been received 27678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_BSS_AFTER_LAST: internal 27688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_MAX: highest BSS attribute 27698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 27708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_bss { 27718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BSS_INVALID, 27728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_BSSID, 27738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_FREQUENCY, 27748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_TSF, 27758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_BEACON_INTERVAL, 27768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_CAPABILITY, 27778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_INFORMATION_ELEMENTS, 27788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_SIGNAL_MBM, 27798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_SIGNAL_UNSPEC, 27808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_STATUS, 27818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_SEEN_MS_AGO, 27828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_BEACON_IES, 27838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 27848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 27858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_BSS_AFTER_LAST, 27868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 27878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 27888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 27898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 27908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_bss_status - BSS "status" 27918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS. 27928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS. 27938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS. 27948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 27958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * The BSS status is a BSS attribute in scan dumps, which 27968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * indicates the status the interface has wrt. this BSS. 27978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 27988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_bss_status { 27998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_STATUS_AUTHENTICATED, 28008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_STATUS_ASSOCIATED, 28018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BSS_STATUS_IBSS_JOINED, 28028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 28058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_auth_type - AuthenticationType 28068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 28078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_OPEN_SYSTEM: Open System authentication 28088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) 28098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) 28108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) 2811d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals 28128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_AUTHTYPE_NUM: internal 28138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm 28148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by 28158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * trying multiple times); this is invalid in netlink -- leave out 28168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the attribute for this on CONNECT commands. 28178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 28188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_auth_type { 28198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_OPEN_SYSTEM, 28208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_SHARED_KEY, 28218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_FT, 28228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_NETWORK_EAP, 2823d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_AUTHTYPE_SAE, 28248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 28268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_AUTHTYPE_NUM, 28278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1, 28288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_AUTHTYPE_AUTOMATIC 28298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 28328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_key_type - Key Type 28338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key 28348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key 28358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS) 28368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NUM_NL80211_KEYTYPES: number of defined key types 28378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 28388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_key_type { 28398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEYTYPE_GROUP, 28408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEYTYPE_PAIRWISE, 28418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEYTYPE_PEERKEY, 28428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NUM_NL80211_KEYTYPES 28448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 28478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_mfp - Management frame protection state 28488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MFP_NO: Management frame protection not used 28498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_MFP_REQUIRED: Management frame protection required 28508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 28518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_mfp { 28528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MFP_NO, 28538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_MFP_REQUIRED, 28548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_wpa_versions { 28578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_WPA_VERSION_1 = 1 << 0, 28588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_WPA_VERSION_2 = 1 << 1, 28598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 28628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_key_default_types - key default types 28638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_KEY_DEFAULT_TYPE_INVALID: invalid 28648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DEFAULT_TYPE_UNICAST: key should be used as default 28658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * unicast key 28668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DEFAULT_TYPE_MULTICAST: key should be used as default 28678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * multicast key 28688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NUM_NL80211_KEY_DEFAULT_TYPES: number of default types 28698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 28708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_key_default_types { 28718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_KEY_DEFAULT_TYPE_INVALID, 28728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DEFAULT_TYPE_UNICAST, 28738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DEFAULT_TYPE_MULTICAST, 28748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NUM_NL80211_KEY_DEFAULT_TYPES 28768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 28778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 28788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 28798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_key_attributes - key attributes 28808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_KEY_INVALID: invalid 28818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DATA: (temporal) key data; for TKIP this consists of 28828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC 28838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * keys 28848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_IDX: key ID (u8, 0-3) 28858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11 28868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * section 7.3.2.25.1, e.g. 0x000FAC04) 28878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and 28888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * CCMP keys, each six bytes in little endian 28898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DEFAULT: flag indicating default key 28908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key 28918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not 28928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * specified the default depends on whether a MAC address was 28938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * given with the command using the key or not (u32) 28948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags 28958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attributes, specifying what a key should be set as default as. 28968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * See &enum nl80211_key_default_types. 28978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_KEY_AFTER_LAST: internal 28988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_KEY_MAX: highest key attribute 28998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 29008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_key_attributes { 29018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_KEY_INVALID, 29028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DATA, 29038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_IDX, 29048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_CIPHER, 29058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_SEQ, 29068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DEFAULT, 29078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DEFAULT_MGMT, 29088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_TYPE, 29098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_DEFAULT_TYPES, 29108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 29128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_KEY_AFTER_LAST, 29138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1 29148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 29158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 29178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_tx_rate_attributes - TX rate set attributes 29188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_TXRATE_INVALID: invalid 29198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXRATE_LEGACY: Legacy (non-MCS) rates allowed for TX rate selection 29208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with 29218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1 = 500 kbps) but without the IE length restriction (at most 29228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * %NL80211_MAX_SUPP_RATES in a single array). 292304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_TXRATE_MCS: HT (MCS) rates allowed for TX rate selection 292404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * in an array of MCS numbers. 29258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_TXRATE_AFTER_LAST: internal 29268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TXRATE_MAX: highest TX rate attribute 29278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 29288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_tx_rate_attributes { 29298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_TXRATE_INVALID, 29308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXRATE_LEGACY, 293104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_TXRATE_MCS, 29328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 29348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_TXRATE_AFTER_LAST, 29358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 29368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 29378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 29398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_band - Frequency band 29408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_2GHZ: 2.4 GHz ISM band 29418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz) 294204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz) 29438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 29448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_band { 29458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_2GHZ, 29468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_BAND_5GHZ, 294704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_BAND_60GHZ, 29488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 29498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 295004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt/** 295104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * enum nl80211_ps_state - powersave state 295204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_PS_DISABLED: powersave is disabled 295304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_PS_ENABLED: powersave is enabled 295404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */ 29558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_ps_state { 29568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_PS_DISABLED, 29578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_PS_ENABLED, 29588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 29598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 29618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_attr_cqm - connection quality monitor attributes 29628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_ATTR_CQM_INVALID: invalid 29638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies 29648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the threshold for the RSSI level at which an event will be sent. Zero 29658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * to disable. 29668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies 29678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the minimum amount the RSSI level must change after an event before a 29688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * new event may be issued (to reduce effects of RSSI oscillation). 29698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event 29708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many 29718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * consecutive packets were not acknowledged by the peer 297261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_ATTR_CQM_TXE_RATE: TX error rate in %. Minimum % of TX failures 297361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * during the given %NL80211_ATTR_CQM_TXE_INTVL before an 297461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and 297561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * %NL80211_ATTR_CQM_TXE_PKTS is generated. 297661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_ATTR_CQM_TXE_PKTS: number of attempted packets in a given 297761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is 297861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * checked. 297961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_ATTR_CQM_TXE_INTVL: interval in seconds. Specifies the periodic 298061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * interval in which %NL80211_ATTR_CQM_TXE_PKTS and 298161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an 298261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. 29838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @__NL80211_ATTR_CQM_AFTER_LAST: internal 29848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_ATTR_CQM_MAX: highest key attribute 29858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 29868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_attr_cqm { 29878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_ATTR_CQM_INVALID, 29888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM_RSSI_THOLD, 29898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM_RSSI_HYST, 29908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, 29918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM_PKT_LOSS_EVENT, 299261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_ATTR_CQM_TXE_RATE, 299361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_ATTR_CQM_TXE_PKTS, 299461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt NL80211_ATTR_CQM_TXE_INTVL, 29958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 29968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* keep last */ 29978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt __NL80211_ATTR_CQM_AFTER_LAST, 29988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 29998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 30008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 30018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 30028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_cqm_rssi_threshold_event - RSSI threshold event 30038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW: The RSSI level is lower than the 30048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * configured threshold 30058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the 30068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * configured threshold 300704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: The device experienced beacon loss. 300804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * (Note that deauth/disassoc will still follow if the AP is not 300904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * available. This event might get used as roaming event, etc.) 30108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 30118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_cqm_rssi_threshold_event { 30128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, 30138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, 301404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt NL80211_CQM_RSSI_BEACON_LOSS_EVENT, 30158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 30168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 30178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 30188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 30198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enum nl80211_tx_power_setting - TX power adjustment 30208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TX_POWER_AUTOMATIC: automatically determine transmit power 30218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TX_POWER_LIMITED: limit TX power by the mBm parameter 30228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @NL80211_TX_POWER_FIXED: fix TX power to the mBm parameter 30238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 30248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum nl80211_tx_power_setting { 30258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TX_POWER_AUTOMATIC, 30268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TX_POWER_LIMITED, 30278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt NL80211_TX_POWER_FIXED, 30288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 30298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 30301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 30311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_wowlan_packet_pattern_attr - WoWLAN packet pattern attribute 30321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_WOWLAN_PKTPAT_INVALID: invalid number for nested attribute 30331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_PKTPAT_PATTERN: the pattern, values where the mask has 30341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * a zero bit are ignored 30351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_PKTPAT_MASK: pattern mask, must be long enough to have 30361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * a bit for each byte in the pattern. The lowest-order bit corresponds 30371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * to the first byte of the pattern, but the bytes of the pattern are 30381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * in a little-endian-like format, i.e. the 9th byte of the pattern 30391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * corresponds to the lowest-order bit in the second byte of the mask. 30401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where 30411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * xx indicates "don't care") would be represented by a pattern of 3042f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * twelve zero bytes, and a mask of "0xed,0x01". 30431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Note that the pattern matching is done as though frames were not 30441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked 30451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * first (including SNAP header unpacking) and then matched. 3046f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_PKTPAT_OFFSET: packet offset, pattern is matched after 3047f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * these fixed number of bytes of received packet 30481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_WOWLAN_PKTPAT: number of attributes 30491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_WOWLAN_PKTPAT: max attribute number 30501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 30511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_wowlan_packet_pattern_attr { 30521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_WOWLAN_PKTPAT_INVALID, 30531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_PKTPAT_MASK, 30541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_PKTPAT_PATTERN, 3055f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_PKTPAT_OFFSET, 30561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 30571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_WOWLAN_PKTPAT, 30581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1, 30591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 30601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 30611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 30621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * struct nl80211_wowlan_pattern_support - pattern support information 30631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @max_patterns: maximum number of patterns supported 30641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @min_pattern_len: minimum length of each pattern 30651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @max_pattern_len: maximum length of each pattern 3066f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @max_pkt_offset: maximum Rx packet offset 30671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 30681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when 30691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the 30701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * capability information given by the kernel to userspace. 30711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 30721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct nl80211_wowlan_pattern_support { 30731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __u32 max_patterns; 30741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __u32 min_pattern_len; 30751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __u32 max_pattern_len; 3076f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __u32 max_pkt_offset; 30771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt} __attribute__((packed)); 30781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 30791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 30801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_wowlan_triggers - WoWLAN trigger definitions 30811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_WOWLAN_TRIG_INVALID: invalid number for nested attributes 30821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put 30831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the chip into a special state -- works best with chips that have 30841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * support for low-power operation already (flag) 30851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect 30861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is detected is implementation-specific (flag) 30871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed 30881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * by 16 repetitions of MAC addr, anywhere in payload) (flag) 30891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns 30901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * which are passed in an array of nested attributes, each nested attribute 30911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern. 3092f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Each pattern defines a wakeup packet. Packet offset is associated with 3093f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * each pattern which is used while matching the pattern. The matching is 3094f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the 3095f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * pattern matching is done after the packet is converted to the MSDU. 30961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 30971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute 30981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * carrying a &struct nl80211_wowlan_pattern_support. 3099f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3100f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * When reporting wakeup. it is a u32 attribute containing the 0-based 3101f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * index of the pattern that caused the wakeup, in the patterns passed 3102f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * to the kernel when configuring. 31031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be 31041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * used when setting, used only to indicate that GTK rekeying is supported 31051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * by the device (flag) 31061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE: wake up on GTK rekey failure (if 31071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * done by the device) (flag) 31081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST: wake up on EAP Identity Request 31091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * packet (flag) 31101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag) 31111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released 31121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (on devices that have rfkill in the device) (flag) 3113f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211: For wakeup reporting only, contains 3114f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame 3115f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN 3116f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * attribute contains the original length. 3117f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN: Original length of the 802.11 3118f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 3119f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * attribute if the packet was truncated somewhere. 3120f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023: For wakeup reporting only, contains the 3121f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may 3122f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute 3123f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * contains the original length. 3124f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3 3125f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 3126f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * attribute if the packet was truncated somewhere. 3127f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section 3128f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * "TCP connection wakeup" for more details. This is a nested attribute 3129f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * containing the exact information for establishing and keeping alive 3130f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * the TCP connection. 3131f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the 3132f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * wakeup packet was received on the TCP connection 3133f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the 3134f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * TCP connection was lost or failed to be established 3135f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, 3136f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * the TCP connection ran out of tokens to use for data to send to the 3137f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * service 31381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers 31391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number 3140f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3141f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * These nested attributes are used to configure the wakeup triggers and 3142f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * to report the wakeup reason(s). 31431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 31441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_wowlan_triggers { 31451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_WOWLAN_TRIG_INVALID, 31461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_ANY, 31471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_DISCONNECT, 31481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_MAGIC_PKT, 31491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_PKT_PATTERN, 31501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED, 31511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE, 31521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST, 31531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE, 31541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_WOWLAN_TRIG_RFKILL_RELEASE, 3155f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211, 3156f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN, 3157f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023, 3158f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN, 3159f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_TCP_CONNECTION, 3160f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, 3161f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, 3162f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, 31631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 31641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 31651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_WOWLAN_TRIG, 31661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1 31671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 31681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 31691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 3170f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * DOC: TCP connection wakeup 3171f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3172f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Some devices can establish a TCP connection in order to be woken up by a 3173f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * packet coming in from outside their network segment, or behind NAT. If 3174f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * configured, the device will establish a TCP connection to the given 3175f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * service, and periodically send data to that service. The first data 3176f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK. 3177f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * The data packets can optionally include a (little endian) sequence 3178f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * number (in the TCP payload!) that is generated by the device, and, also 3179f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * optionally, a token from a list of tokens. This serves as a keep-alive 3180f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * with the service, and for NATed connections, etc. 3181f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3182f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * During this keep-alive period, the server doesn't send any data to the 3183f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * client. When receiving data, it is compared against the wakeup pattern 3184f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * (and mask) and if it matches, the host is woken up. Similarly, if the 3185f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * connection breaks or cannot be established to start with, the host is 3186f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * also woken up. 3187f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3188f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Developer's note: ARP offload is required for this, otherwise TCP 3189f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * response packets might not go through correctly. 3190f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3191f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3192f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3193f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * struct nl80211_wowlan_tcp_data_seq - WoWLAN TCP data sequence 3194f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @start: starting value 3195f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @offset: offset of sequence number in packet 3196f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @len: length of the sequence value to write, 1 through 4 3197f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3198f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Note: don't confuse with the TCP sequence number(s), this is for the 3199f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * keepalive packet payload. The actual value is written into the packet 3200f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * in little endian. 3201f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3202f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtstruct nl80211_wowlan_tcp_data_seq { 3203f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __u32 start, offset, len; 3204f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3205f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3206f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3207f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * struct nl80211_wowlan_tcp_data_token - WoWLAN TCP data token config 3208f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @offset: offset of token in packet 3209f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @len: length of each token 3210f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @token_stream: stream of data to be used for the tokens, the length must 3211f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * be a multiple of @len for this to make sense 3212f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3213f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtstruct nl80211_wowlan_tcp_data_token { 3214f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __u32 offset, len; 3215f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __u8 token_stream[]; 3216f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3217f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3218f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3219f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * struct nl80211_wowlan_tcp_data_token_feature - data token features 3220f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @min_len: minimum token length 3221f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @max_len: maximum token length 3222f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @bufsize: total available token buffer size (max size of @token_stream) 3223f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3224f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtstruct nl80211_wowlan_tcp_data_token_feature { 3225f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __u32 min_len, max_len, bufsize; 3226f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3227f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3228f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3229f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * enum nl80211_wowlan_tcp_attrs - WoWLAN TCP connection parameters 3230f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes 3231f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order) 3232f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address 3233f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * (in network byte order) 3234f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because 3235f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * route lookup when configured might be invalid by the time we suspend, 3236f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * and doing a route lookup when suspending is no longer possible as it 3237f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * might require ARP querying. 3238f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a 3239f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * socket and port will be allocated 3240f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16) 3241f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte. 3242f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * For feature advertising, a u32 attribute holding the maximum length 3243f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * of the data payload. 3244f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration 3245f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature 3246f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * advertising it is just a flag 3247f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration, 3248f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * see &struct nl80211_wowlan_tcp_data_token and for advertising see 3249f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * &struct nl80211_wowlan_tcp_data_token_feature. 3250f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum 3251f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * interval in feature advertising (u32) 3252f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a 3253f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * u32 attribute holding the maximum length 3254f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for 3255f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * feature advertising. The mask works like @NL80211_WOWLAN_PKTPAT_MASK 3256f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * but on the TCP payload only. 3257f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NUM_NL80211_WOWLAN_TCP: number of TCP attributes 3258f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @MAX_NL80211_WOWLAN_TCP: highest attribute number 3259f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3260f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtenum nl80211_wowlan_tcp_attrs { 3261f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt __NL80211_WOWLAN_TCP_INVALID, 3262f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_SRC_IPV4, 3263f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DST_IPV4, 3264f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DST_MAC, 3265f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_SRC_PORT, 3266f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DST_PORT, 3267f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DATA_PAYLOAD, 3268f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ, 3269f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN, 3270f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_DATA_INTERVAL, 3271f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_WAKE_PAYLOAD, 3272f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_WOWLAN_TCP_WAKE_MASK, 3273f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3274f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt /* keep last */ 3275f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NUM_NL80211_WOWLAN_TCP, 3276f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1 3277f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3278f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3279f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 32801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_iface_limit_attrs - limit attributes 32811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_LIMIT_UNSPEC: (reserved) 32821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_LIMIT_MAX: maximum number of interfaces that 32831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * can be chosen from this set of interface types (u32) 32841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_LIMIT_TYPES: nested attribute containing a 32851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * flag attribute for each interface type in this set 32861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_IFACE_LIMIT: number of attributes 32871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_IFACE_LIMIT: highest attribute number 32881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 32891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_iface_limit_attrs { 32901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_LIMIT_UNSPEC, 32911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_LIMIT_MAX, 32921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_LIMIT_TYPES, 32931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 32941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 32951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_IFACE_LIMIT, 32961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1 32971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 32981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 32991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 33001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_if_combination_attrs -- interface combination attributes 33011f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33021f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_COMB_UNSPEC: (reserved) 33031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_COMB_LIMITS: Nested attributes containing the limits 33041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * for given interface types, see &enum nl80211_iface_limit_attrs. 33051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_COMB_MAXNUM: u32 attribute giving the total number of 33061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * interfaces that can be created in this group. This number doesn't 33071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * apply to interfaces purely managed in software, which are listed 33081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * in a separate attribute %NL80211_ATTR_INTERFACES_SOFTWARE. 33091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_COMB_STA_AP_BI_MATCH: flag attribute specifying that 33101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * beacon intervals within this group must be all the same even for 33111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * infrastructure and AP/GO combinations, i.e. the GO(s) must adopt 33121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the infrastructure network's beacon interval. 33131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many 33141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * different channels may be used within this group. 3315f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap 3316f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * of supported channel widths for radar detection. 33171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_IFACE_COMB: number of attributes 33181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_IFACE_COMB: highest attribute number 33191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Examples: 33211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2 33221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * => allows an AP and a STA that must match BIs 33231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8 33251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * => allows 8 of AP/GO 33261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * numbers = [ #{STA} <= 2 ], channels = 2, max = 2 33281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * => allows two STAs on different channels 33291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4 33311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * => allows a STA plus three P2P interfaces 33321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * The list of these four possiblities could completely be contained 33341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate 33351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * that any of these groups must match. 33361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * "Combinations" of just a single interface will not be listed here, 33381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * a single interface of any valid interface type is assumed to always 33391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * be possible by itself. This means that implicitly, for each valid 33401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * interface type, the following group always exists: 33411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * numbers = [ #{<type>} <= 1 ], channels = 1, max = 1 33421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 33431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_if_combination_attrs { 33441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_COMB_UNSPEC, 33451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_COMB_LIMITS, 33461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_COMB_MAXNUM, 33471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_COMB_STA_AP_BI_MATCH, 33481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_IFACE_COMB_NUM_CHANNELS, 3349f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, 33501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 33511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 33521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_IFACE_COMB, 33531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1 33541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 33551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 33561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 33571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 33581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_plink_state - state of a mesh peer link finite state machine 33591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 33601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_LISTEN: initial state, considered the implicit 33611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * state of non existant mesh peer links 33621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to 33631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * this mesh peer 33641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received 33651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * from this mesh peer 33661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_CNF_RCVD: mesh plink confirm frame has been 33671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * received from this mesh peer 33681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_ESTAB: mesh peer link is established 33691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled 33701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh 33711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * plink are discarded 33721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_PLINK_STATES: number of peer link states 33731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_PLINK_STATES: highest numerical value of plink states 33741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 33751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_plink_state { 33761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_LISTEN, 33771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_OPN_SNT, 33781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_OPN_RCVD, 33791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_CNF_RCVD, 33801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_ESTAB, 33811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_HOLDING, 33821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PLINK_BLOCKED, 33831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 33841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 33851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_PLINK_STATES, 33861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1 33871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 33881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 33892f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt/** 33902f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * enum nl80211_plink_action - actions to perform in mesh peers 33912f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 33922f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_PLINK_ACTION_NO_ACTION: perform no action 33932f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_PLINK_ACTION_OPEN: start mesh peer link establishment 33942f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_PLINK_ACTION_BLOCK: block traffic from this mesh peer 33952f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NUM_NL80211_PLINK_ACTIONS: number of possible actions 33962f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt */ 33972f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidtenum plink_actions { 33982f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_PLINK_ACTION_NO_ACTION, 33992f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_PLINK_ACTION_OPEN, 34002f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_PLINK_ACTION_BLOCK, 34012f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 34022f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NUM_NL80211_PLINK_ACTIONS, 34032f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt}; 34042f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 34052f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 34061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_KCK_LEN 16 34071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_KEK_LEN 16 34081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define NL80211_REPLAY_CTR_LEN 8 34091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 34111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_rekey_data - attributes for GTK rekey offload 34121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_REKEY_DATA_INVALID: invalid number for nested attributes 34131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_REKEY_DATA_KEK: key encryption key (binary) 34141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_REKEY_DATA_KCK: key confirmation key (binary) 34151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary) 34161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal) 34171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) 34181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 34191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_rekey_data { 34201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_REKEY_DATA_INVALID, 34211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_REKEY_DATA_KEK, 34221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_REKEY_DATA_KCK, 34231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_REKEY_DATA_REPLAY_CTR, 34241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 34261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_REKEY_DATA, 34271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1 34281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 34291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 34311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_hidden_ssid - values for %NL80211_ATTR_HIDDEN_SSID 34321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_HIDDEN_SSID_NOT_IN_USE: do not hide SSID (i.e., broadcast it in 34331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Beacon frames) 34341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_HIDDEN_SSID_ZERO_LEN: hide SSID by using zero-length SSID element 34351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * in Beacon frames 34361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_HIDDEN_SSID_ZERO_CONTENTS: hide SSID by using correct length of SSID 34371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * element in Beacon frames but zero out each byte in the SSID 34381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 34391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_hidden_ssid { 34401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_HIDDEN_SSID_NOT_IN_USE, 34411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_HIDDEN_SSID_ZERO_LEN, 34421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_HIDDEN_SSID_ZERO_CONTENTS 34431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 34441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 34461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_sta_wme_attr - station WME attributes 34471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_STA_WME_INVALID: invalid number for nested attribute 34481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_WME_UAPSD_QUEUES: bitmap of uapsd queues. the format 34491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * is the same as the AC bitmap in the QoS info field. 34501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_WME_MAX_SP: max service period. the format is the same 34511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * as the MAX_SP field in the QoS info field (but already shifted down). 34521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_STA_WME_AFTER_LAST: internal 34531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_STA_WME_MAX: highest station WME attribute 34541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 34551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_sta_wme_attr { 34561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_STA_WME_INVALID, 34571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_WME_UAPSD_QUEUES, 34581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_WME_MAX_SP, 34591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 34611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_STA_WME_AFTER_LAST, 34621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1 34631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 34641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 34661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_pmksa_candidate_attr - attributes for PMKSA caching candidates 34671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @__NL80211_PMKSA_CANDIDATE_INVALID: invalid number for nested attributes 34681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PMKSA_CANDIDATE_INDEX: candidate index (u32; the smaller, the higher 34691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * priority) 34701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PMKSA_CANDIDATE_BSSID: candidate BSSID (6 octets) 34711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PMKSA_CANDIDATE_PREAUTH: RSN pre-authentication supported (flag) 34721f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NUM_NL80211_PMKSA_CANDIDATE: number of PMKSA caching candidate attributes 34731f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (internal) 34741f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @MAX_NL80211_PMKSA_CANDIDATE: highest PMKSA caching candidate attribute 34751f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * (internal) 34761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 34771f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_pmksa_candidate_attr { 34781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt __NL80211_PMKSA_CANDIDATE_INVALID, 34791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PMKSA_CANDIDATE_INDEX, 34801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PMKSA_CANDIDATE_BSSID, 34811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PMKSA_CANDIDATE_PREAUTH, 34821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /* keep last */ 34841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NUM_NL80211_PMKSA_CANDIDATE, 34851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1 34861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 34871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 34881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 34891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_tdls_operation - values for %NL80211_ATTR_TDLS_OPERATION 34901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_TDLS_DISCOVERY_REQ: Send a TDLS discovery request 34911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_TDLS_SETUP: Setup TDLS link 34921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_TDLS_TEARDOWN: Teardown a TDLS link which is already established 34931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_TDLS_ENABLE_LINK: Enable TDLS link 34941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_TDLS_DISABLE_LINK: Disable TDLS link 34951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 34961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_tdls_operation { 34971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_TDLS_DISCOVERY_REQ, 34981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_TDLS_SETUP, 34991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_TDLS_TEARDOWN, 35001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_TDLS_ENABLE_LINK, 35011f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_TDLS_DISABLE_LINK, 35021f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 35031f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 35041f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* 35051f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_ap_sme_features - device-integrated AP features 35061f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Reserved for future use, no bits are defined in 35071f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * NL80211_ATTR_DEVICE_AP_SME yet. 35081f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_ap_sme_features { 35091f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 35101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 35111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 35121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 35131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_feature_flags - device/driver features 35141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_FEATURE_SK_TX_STATUS: This driver supports reflecting back 35151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * TX status to the socket error queue when requested with the 35161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * socket option. 3517c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. 351804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up 351904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * the connected inactive stations in AP mode. 352061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested 352161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * to work properly to suppport receiving regulatory hints from 352261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * cellular base stations. 3523d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: If this is set, an active 3524d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * P2P Device (%NL80211_IFTYPE_P2P_DEVICE) requires its own channel 3525d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * in the interface combinations, even when it's only used for scan 3526d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * and remain-on-channel. This could be due to, for example, the 3527d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * remain-on-channel implementation requiring a channel context. 3528d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of 3529d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station 3530d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * mode 3531d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan 3532d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported 3533d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif 3534d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting 3535d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform 3536d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * OBSS scans and generate 20/40 BSS coex reports. This flag is used only 3537d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied. 3538a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window 3539a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * setting 3540a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic 3541a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * powersave 3542f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FEATURE_FULL_AP_CLIENT_STATE: The driver supports full state 3543f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * transitions for AP clients. Without this flag (and if the driver 3544f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * doesn't have the AP SME in the device) the driver supports adding 3545f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * stations only when they're associated and adds them in associated 3546f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * state (to later be transitioned into authorized), with this flag 3547f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * they should be added before even sending the authentication reply 3548f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * and then transitioned into authenticated, associated and authorized 3549f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * states using station flags. 3550f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Note that even for drivers that support this, the default is to add 3551f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * stations in authenticated/associated state, so to add unauthenticated 3552f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * stations the authenticated/associated bits have to be set in the mask. 3553f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits 3554f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * (HT40, VHT 80/160 MHz) if this flag is set 35552f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_FEATURE_USERSPACE_MPM: This driver supports a userspace Mesh 35562f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * Peering Management entity which may be implemented by registering for 35572f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is 35582f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * still generated by the driver. 35591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 35601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_feature_flags { 3561d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_SK_TX_STATUS = 1 << 0, 3562d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_HT_IBSS = 1 << 1, 3563d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, 3564d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, 3565d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, 3566d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_SAE = 1 << 5, 3567d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6, 3568d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_SCAN_FLUSH = 1 << 7, 3569d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_AP_SCAN = 1 << 8, 3570d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_VIF_TXPOWER = 1 << 9, 3571d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10, 3572a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11, 3573a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12, 3574f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt /* bit 13 is reserved */ 3575f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14, 3576f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15, 35772f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_FEATURE_USERSPACE_MPM = 1 << 16, 35781f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 35791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 35801f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/** 35811f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * enum nl80211_probe_resp_offload_support_attr - optional supported 35821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * protocols for probe-response offloading by the driver/FW. 35831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute. 35841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Each enum value represents a bit in the bitmap of supported 35851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * protocols. Typically a subset of probe-requests belonging to a 35861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * supported protocol will be excluded from offload and uploaded 35871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * to the host. 35881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 35891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS: Support for WPS ver. 1 35901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2: Support for WPS ver. 2 35911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P: Support for P2P 35921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U: Support for 802.11u 35931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 35941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum nl80211_probe_resp_offload_support_attr { 35951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 1<<0, 35961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 1<<1, 35971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 1<<2, 35981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 1<<3, 35991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt}; 36001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 3601d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt/** 3602d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * enum nl80211_connect_failed_reason - connection request failed reasons 3603d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_CONN_FAIL_MAX_CLIENTS: Maximum number of clients that can be 3604d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * handled by the AP is reached. 3605f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_CONN_FAIL_BLOCKED_CLIENT: Connection request is rejected due to ACL. 3606d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt */ 3607d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtenum nl80211_connect_failed_reason { 3608d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CONN_FAIL_MAX_CLIENTS, 3609d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_CONN_FAIL_BLOCKED_CLIENT, 3610d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt}; 3611d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 3612d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt/** 3613d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * enum nl80211_scan_flags - scan request control flags 3614d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 3615d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * Scan request control flags are used to control the handling 3616d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN 3617d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * requests. 3618d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 3619d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority 3620d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning 3621d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured 3622d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * as AP and the beaconing has already been configured. This attribute is 3623d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * dangerous because will destroy stations performance as a lot of frames 3624d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * will be lost while scanning off-channel, therefore it must be used only 3625d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * when really needed 3626d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt */ 3627d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtenum nl80211_scan_flags { 3628d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, 3629d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_SCAN_FLAG_FLUSH = 1<<1, 3630d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt NL80211_SCAN_FLAG_AP = 1<<2, 3631d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt}; 3632d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 3633f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3634f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * enum nl80211_acl_policy - access control policy 3635f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3636f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Access control policy is applied on a MAC list set by 3637f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * %NL80211_CMD_START_AP and %NL80211_CMD_SET_MAC_ACL, to 3638f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * be used with %NL80211_ATTR_ACL_POLICY. 3639f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3640f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED: Deny stations which are 3641f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * listed in ACL, i.e. allow all the stations which are not listed 3642f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * in ACL to authenticate. 3643f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_ACL_POLICY_DENY_UNLESS_LISTED: Allow the stations which are listed 3644f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * in ACL, i.e. deny all the stations which are not listed in ACL. 3645f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3646f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtenum nl80211_acl_policy { 3647f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED, 3648f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_ACL_POLICY_DENY_UNLESS_LISTED, 3649f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3650f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3651f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3652f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * enum nl80211_radar_event - type of radar event for DFS operation 3653f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3654f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Type of event to be used with NL80211_ATTR_RADAR_EVENT to inform userspace 3655f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * about detected radars or success of the channel available check (CAC) 3656f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3657f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is 3658f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * now unusable. 3659f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished, 3660f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * the channel is now available. 3661f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no 3662f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * change to the channel status. 3663f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is 3664f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * over, channel becomes usable. 3665f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3666f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtenum nl80211_radar_event { 3667f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_RADAR_DETECTED, 3668f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_RADAR_CAC_FINISHED, 3669f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_RADAR_CAC_ABORTED, 3670f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_RADAR_NOP_FINISHED, 3671f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3672f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3673f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt/** 3674f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * enum nl80211_dfs_state - DFS states for channels 3675f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3676f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * Channel states used by the DFS code. 3677f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * 3678f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @IEEE80211_DFS_USABLE: The channel can be used, but channel availability 3679f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * check (CAC) must be performed before using it for AP or IBSS. 3680f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @IEEE80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it 3681f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * is therefore marked as not available. 3682f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt * @IEEE80211_DFS_AVAILABLE: The channel has been CAC checked and is available. 3683f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt */ 3684f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 3685f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidtenum nl80211_dfs_state { 3686f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_DFS_USABLE, 3687f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_DFS_UNAVAILABLE, 3688f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt NL80211_DFS_AVAILABLE, 3689f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt}; 3690f86232838cf712377867cb42417c1613ab5dc425Dmitry Shmidt 36912f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt/** 36922f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * enum enum nl80211_protocol_features - nl80211 protocol features 36932f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting 36942f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * wiphy dumps (if requested by the application with the attribute 36952f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the 36962f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * wiphy dump by %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFINDEX or 36972f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * %NL80211_ATTR_WDEV. 36982f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt */ 36992f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidtenum nl80211_protocol_features { 37002f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0, 37012f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt}; 37022f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 370351b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt/** 370451b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * enum nl80211_crit_proto_id - nl80211 critical protocol identifiers 370551b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * 370651b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CRIT_PROTO_UNSPEC: protocol unspecified. 370751b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CRIT_PROTO_DHCP: BOOTP or DHCPv6 protocol. 370851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CRIT_PROTO_EAPOL: EAPOL protocol. 370951b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NL80211_CRIT_PROTO_APIPA: APIPA protocol. 371051b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt * @NUM_NL80211_CRIT_PROTO: must be kept last. 371151b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt */ 371251b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidtenum nl80211_crit_proto_id { 371351b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CRIT_PROTO_UNSPEC, 371451b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CRIT_PROTO_DHCP, 371551b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CRIT_PROTO_EAPOL, 371651b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NL80211_CRIT_PROTO_APIPA, 371751b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt /* add other protocols before this one */ 371851b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt NUM_NL80211_CRIT_PROTO 371951b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt}; 372051b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt 372151b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt/* maximum duration for critical protocol measures */ 372251b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt#define NL80211_CRIT_PROTO_MAX_DURATION 5000 /* msec */ 372351b6ea882f234c14cd1fe1332a3840cf61fafccaDmitry Shmidt 37248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* __LINUX_NL80211_H */ 3725