aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nl80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/nl80211.h')
-rw-r--r--include/linux/nl80211.h261
1 files changed, 256 insertions, 5 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index e86ed59f9ad5..cbe8ce3bf486 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -47,7 +47,7 @@
47 * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or 47 * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
48 * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, 48 * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME,
49 * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, and/or 49 * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, and/or
50 * %NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET. 50 * %NL80211_ATTR_WIPHY_CHANNEL_TYPE.
51 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request 51 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
52 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and 52 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and
53 * %NL80211_ATTR_WIPHY_NAME. 53 * %NL80211_ATTR_WIPHY_NAME.
@@ -72,8 +72,8 @@
72 * 72 *
73 * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified 73 * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
74 * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. 74 * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.
75 * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT or 75 * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT,
76 * %NL80211_ATTR_KEY_THRESHOLD. 76 * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD.
77 * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, 77 * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA,
78 * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC and %NL80211_ATTR_KEY_CIPHER 78 * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC and %NL80211_ATTR_KEY_CIPHER
79 * attributes. 79 * attributes.
@@ -84,7 +84,7 @@
84 * %NL80222_CMD_NEW_BEACON message) 84 * %NL80222_CMD_NEW_BEACON message)
85 * @NL80211_CMD_SET_BEACON: set the beacon on an access point interface 85 * @NL80211_CMD_SET_BEACON: set the beacon on an access point interface
86 * using the %NL80211_ATTR_BEACON_INTERVAL, %NL80211_ATTR_DTIM_PERIOD, 86 * using the %NL80211_ATTR_BEACON_INTERVAL, %NL80211_ATTR_DTIM_PERIOD,
87 * %NL80211_BEACON_HEAD and %NL80211_BEACON_TAIL attributes. 87 * %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL attributes.
88 * @NL80211_CMD_NEW_BEACON: add a new beacon to an access point interface, 88 * @NL80211_CMD_NEW_BEACON: add a new beacon to an access point interface,
89 * parameters are like for %NL80211_CMD_SET_BEACON. 89 * parameters are like for %NL80211_CMD_SET_BEACON.
90 * @NL80211_CMD_DEL_BEACON: remove the beacon, stop sending it 90 * @NL80211_CMD_DEL_BEACON: remove the beacon, stop sending it
@@ -113,6 +113,8 @@
113 * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by 113 * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by
114 * %NL80211_ATTR_IFINDEX. 114 * %NL80211_ATTR_IFINDEX.
115 * 115 *
116 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
117 * regulatory domain.
116 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command 118 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
117 * after being queried by the kernel. CRDA replies by sending a regulatory 119 * after being queried by the kernel. CRDA replies by sending a regulatory
118 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our 120 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
@@ -133,6 +135,70 @@
133 * @NL80211_CMD_SET_MESH_PARAMS: Set mesh networking properties for the 135 * @NL80211_CMD_SET_MESH_PARAMS: Set mesh networking properties for the
134 * interface identified by %NL80211_ATTR_IFINDEX 136 * interface identified by %NL80211_ATTR_IFINDEX
135 * 137 *
138 * @NL80211_CMD_SET_MGMT_EXTRA_IE: Set extra IEs for management frames. The
139 * interface is identified with %NL80211_ATTR_IFINDEX and the management
140 * frame subtype with %NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be
141 * added to the end of the specified management frame is specified with
142 * %NL80211_ATTR_IE. If the command succeeds, the requested data will be
143 * added to all specified management frames generated by
144 * kernel/firmware/driver.
145 * Note: This command has been removed and it is only reserved at this
146 * point to avoid re-using existing command number. The functionality this
147 * command was planned for has been provided with cleaner design with the
148 * option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN,
149 * NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE,
150 * NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE.
151 *
152 * @NL80211_CMD_GET_SCAN: get scan results
153 * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
154 * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
155 * NL80211_CMD_GET_SCAN and on the "scan" multicast group)
156 * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
157 * partial scan results may be available
158 *
159 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
160 * has been changed and provides details of the request information
161 * that caused the change such as who initiated the regulatory request
162 * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx
163 * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if
164 * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or
165 * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain
166 * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is
167 * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on
168 * to (%NL80211_ATTR_REG_ALPHA2).
169 *
170 * @NL80211_CMD_AUTHENTICATE: authentication request and notification.
171 * This command is used both as a command (request to authenticate) and
172 * as an event on the "mlme" multicast group indicating completion of the
173 * authentication process.
174 * When used as a command, %NL80211_ATTR_IFINDEX is used to identify the
175 * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and
176 * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify
177 * the SSID (mainly for association, but is included in authentication
178 * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used
179 * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE
180 * is used to specify the authentication type. %NL80211_ATTR_IE is used to
181 * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs)
182 * to be added to the frame.
183 * When used as an event, this reports reception of an Authentication
184 * frame in station and IBSS modes when the local MLME processed the
185 * frame, i.e., it was for the local STA and was received in correct
186 * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the
187 * MLME SAP interface (kernel providing MLME, userspace SME). The
188 * included NL80211_ATTR_FRAME attribute contains the management frame
189 * (including both the header and frame body, but not FCS).
190 * @NL80211_CMD_ASSOCIATE: association request and notification; like
191 * NL80211_CMD_AUTHENTICATE but for Association and Reassociation
192 * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request,
193 * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives).
194 * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like
195 * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to
196 * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication
197 * primitives).
198 * @NL80211_CMD_DISASSOCIATE: disassociation request and notification; like
199 * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to
200 * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives).
201 *
136 * @NL80211_CMD_MAX: highest used command number 202 * @NL80211_CMD_MAX: highest used command number
137 * @__NL80211_CMD_AFTER_LAST: internal use 203 * @__NL80211_CMD_AFTER_LAST: internal use
138 */ 204 */
@@ -178,6 +244,22 @@ enum nl80211_commands {
178 NL80211_CMD_GET_MESH_PARAMS, 244 NL80211_CMD_GET_MESH_PARAMS,
179 NL80211_CMD_SET_MESH_PARAMS, 245 NL80211_CMD_SET_MESH_PARAMS,
180 246
247 NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
248
249 NL80211_CMD_GET_REG,
250
251 NL80211_CMD_GET_SCAN,
252 NL80211_CMD_TRIGGER_SCAN,
253 NL80211_CMD_NEW_SCAN_RESULTS,
254 NL80211_CMD_SCAN_ABORTED,
255
256 NL80211_CMD_REG_CHANGE,
257
258 NL80211_CMD_AUTHENTICATE,
259 NL80211_CMD_ASSOCIATE,
260 NL80211_CMD_DEAUTHENTICATE,
261 NL80211_CMD_DISASSOCIATE,
262
181 /* add new commands above here */ 263 /* add new commands above here */
182 264
183 /* used to define NL80211_CMD_MAX below */ 265 /* used to define NL80211_CMD_MAX below */
@@ -190,6 +272,12 @@ enum nl80211_commands {
190 * here 272 * here
191 */ 273 */
192#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS 274#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
275#define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
276#define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
277#define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
278#define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
279#define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
280#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
193 281
194/** 282/**
195 * enum nl80211_attrs - nl80211 netlink attributes 283 * enum nl80211_attrs - nl80211 netlink attributes
@@ -284,6 +372,42 @@ enum nl80211_commands {
284 * supported interface types, each a flag attribute with the number 372 * supported interface types, each a flag attribute with the number
285 * of the interface mode. 373 * of the interface mode.
286 * 374 *
375 * @NL80211_ATTR_MGMT_SUBTYPE: Management frame subtype for
376 * %NL80211_CMD_SET_MGMT_EXTRA_IE.
377 *
378 * @NL80211_ATTR_IE: Information element(s) data (used, e.g., with
379 * %NL80211_CMD_SET_MGMT_EXTRA_IE).
380 *
381 * @NL80211_ATTR_MAX_NUM_SCAN_SSIDS: number of SSIDs you can scan with
382 * a single scan request, a wiphy attribute.
383 *
384 * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz)
385 * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive
386 * scanning and include a zero-length SSID (wildcard) for wildcard scan
387 * @NL80211_ATTR_SCAN_GENERATION: the scan generation increases whenever the
388 * scan result list changes (BSS expired or added) so that applications
389 * can verify that they got a single, consistent snapshot (when all dump
390 * messages carried the same generation number)
391 * @NL80211_ATTR_BSS: scan result BSS
392 *
393 * @NL80211_ATTR_REG_INITIATOR: indicates who requested the regulatory domain
394 * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_*
395 * @NL80211_ATTR_REG_TYPE: indicates the type of the regulatory domain currently
396 * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*)
397 *
398 * @NL80211_ATTR_SUPPORTED_COMMANDS: wiphy attribute that specifies
399 * an array of command numbers (i.e. a mapping index to command number)
400 * that the driver for the given wiphy supports.
401 *
402 * @NL80211_ATTR_FRAME: frame data (binary attribute), including frame header
403 * and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and
404 * NL80211_CMD_ASSOCIATE events
405 * @NL80211_ATTR_SSID: SSID (binary attribute, 0..32 octets)
406 * @NL80211_ATTR_AUTH_TYPE: AuthenticationType, see &enum nl80211_auth_type,
407 * represented as a u32
408 * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and
409 * %NL80211_CMD_DISASSOCIATE, u16
410 *
287 * @NL80211_ATTR_MAX: highest attribute number currently defined 411 * @NL80211_ATTR_MAX: highest attribute number currently defined
288 * @__NL80211_ATTR_AFTER_LAST: internal use 412 * @__NL80211_ATTR_AFTER_LAST: internal use
289 */ 413 */
@@ -346,6 +470,28 @@ enum nl80211_attrs {
346 NL80211_ATTR_WIPHY_FREQ, 470 NL80211_ATTR_WIPHY_FREQ,
347 NL80211_ATTR_WIPHY_CHANNEL_TYPE, 471 NL80211_ATTR_WIPHY_CHANNEL_TYPE,
348 472
473 NL80211_ATTR_KEY_DEFAULT_MGMT,
474
475 NL80211_ATTR_MGMT_SUBTYPE,
476 NL80211_ATTR_IE,
477
478 NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
479
480 NL80211_ATTR_SCAN_FREQUENCIES,
481 NL80211_ATTR_SCAN_SSIDS,
482 NL80211_ATTR_SCAN_GENERATION,
483 NL80211_ATTR_BSS,
484
485 NL80211_ATTR_REG_INITIATOR,
486 NL80211_ATTR_REG_TYPE,
487
488 NL80211_ATTR_SUPPORTED_COMMANDS,
489
490 NL80211_ATTR_FRAME,
491 NL80211_ATTR_SSID,
492 NL80211_ATTR_AUTH_TYPE,
493 NL80211_ATTR_REASON_CODE,
494
349 /* add attributes here, update the policy in nl80211.c */ 495 /* add attributes here, update the policy in nl80211.c */
350 496
351 __NL80211_ATTR_AFTER_LAST, 497 __NL80211_ATTR_AFTER_LAST,
@@ -360,7 +506,15 @@ enum nl80211_attrs {
360#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES 506#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
361#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS 507#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
362#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ 508#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
363#define NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET 509#define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
510#define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
511#define NL80211_ATTR_IE NL80211_ATTR_IE
512#define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
513#define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
514#define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
515#define NL80211_ATTR_SSID NL80211_ATTR_SSID
516#define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
517#define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
364 518
365#define NL80211_MAX_SUPP_RATES 32 519#define NL80211_MAX_SUPP_RATES 32
366#define NL80211_MAX_SUPP_REG_RULES 32 520#define NL80211_MAX_SUPP_REG_RULES 32
@@ -412,12 +566,14 @@ enum nl80211_iftype {
412 * @NL80211_STA_FLAG_SHORT_PREAMBLE: station is capable of receiving frames 566 * @NL80211_STA_FLAG_SHORT_PREAMBLE: station is capable of receiving frames
413 * with short barker preamble 567 * with short barker preamble
414 * @NL80211_STA_FLAG_WME: station is WME/QoS capable 568 * @NL80211_STA_FLAG_WME: station is WME/QoS capable
569 * @NL80211_STA_FLAG_MFP: station uses management frame protection
415 */ 570 */
416enum nl80211_sta_flags { 571enum nl80211_sta_flags {
417 __NL80211_STA_FLAG_INVALID, 572 __NL80211_STA_FLAG_INVALID,
418 NL80211_STA_FLAG_AUTHORIZED, 573 NL80211_STA_FLAG_AUTHORIZED,
419 NL80211_STA_FLAG_SHORT_PREAMBLE, 574 NL80211_STA_FLAG_SHORT_PREAMBLE,
420 NL80211_STA_FLAG_WME, 575 NL80211_STA_FLAG_WME,
576 NL80211_STA_FLAG_MFP,
421 577
422 /* keep last */ 578 /* keep last */
423 __NL80211_STA_FLAG_AFTER_LAST, 579 __NL80211_STA_FLAG_AFTER_LAST,
@@ -465,6 +621,9 @@ enum nl80211_rate_info {
465 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 621 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
466 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 622 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
467 * containing info as possible, see &enum nl80211_sta_info_txrate. 623 * containing info as possible, see &enum nl80211_sta_info_txrate.
624 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
625 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this
626 * station)
468 */ 627 */
469enum nl80211_sta_info { 628enum nl80211_sta_info {
470 __NL80211_STA_INFO_INVALID, 629 __NL80211_STA_INFO_INVALID,
@@ -476,6 +635,8 @@ enum nl80211_sta_info {
476 NL80211_STA_INFO_PLINK_STATE, 635 NL80211_STA_INFO_PLINK_STATE,
477 NL80211_STA_INFO_SIGNAL, 636 NL80211_STA_INFO_SIGNAL,
478 NL80211_STA_INFO_TX_BITRATE, 637 NL80211_STA_INFO_TX_BITRATE,
638 NL80211_STA_INFO_RX_PACKETS,
639 NL80211_STA_INFO_TX_PACKETS,
479 640
480 /* keep last */ 641 /* keep last */
481 __NL80211_STA_INFO_AFTER_LAST, 642 __NL80211_STA_INFO_AFTER_LAST,
@@ -607,6 +768,48 @@ enum nl80211_bitrate_attr {
607}; 768};
608 769
609/** 770/**
771 * enum nl80211_initiator - Indicates the initiator of a reg domain request
772 * @NL80211_REGDOM_SET_BY_CORE: Core queried CRDA for a dynamic world
773 * regulatory domain.
774 * @NL80211_REGDOM_SET_BY_USER: User asked the wireless core to set the
775 * regulatory domain.
776 * @NL80211_REGDOM_SET_BY_DRIVER: a wireless drivers has hinted to the
777 * wireless core it thinks its knows the regulatory domain we should be in.
778 * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
779 * 802.11 country information element with regulatory information it
780 * thinks we should consider.
781 */
782enum nl80211_reg_initiator {
783 NL80211_REGDOM_SET_BY_CORE,
784 NL80211_REGDOM_SET_BY_USER,
785 NL80211_REGDOM_SET_BY_DRIVER,
786 NL80211_REGDOM_SET_BY_COUNTRY_IE,
787};
788
789/**
790 * enum nl80211_reg_type - specifies the type of regulatory domain
791 * @NL80211_REGDOM_TYPE_COUNTRY: the regulatory domain set is one that pertains
792 * to a specific country. When this is set you can count on the
793 * ISO / IEC 3166 alpha2 country code being valid.
794 * @NL80211_REGDOM_TYPE_WORLD: the regulatory set domain is the world regulatory
795 * domain.
796 * @NL80211_REGDOM_TYPE_CUSTOM_WORLD: the regulatory domain set is a custom
797 * driver specific world regulatory domain. These do not apply system-wide
798 * and are only applicable to the individual devices which have requested
799 * them to be applied.
800 * @NL80211_REGDOM_TYPE_INTERSECTION: the regulatory domain set is the product
801 * of an intersection between two regulatory domains -- the previously
802 * set regulatory domain on the system and the last accepted regulatory
803 * domain request to be processed.
804 */
805enum nl80211_reg_type {
806 NL80211_REGDOM_TYPE_COUNTRY,
807 NL80211_REGDOM_TYPE_WORLD,
808 NL80211_REGDOM_TYPE_CUSTOM_WORLD,
809 NL80211_REGDOM_TYPE_INTERSECTION,
810};
811
812/**
610 * enum nl80211_reg_rule_attr - regulatory rule attributes 813 * enum nl80211_reg_rule_attr - regulatory rule attributes
611 * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional 814 * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional
612 * considerations for a given frequency range. These are the 815 * considerations for a given frequency range. These are the
@@ -811,4 +1014,52 @@ enum nl80211_channel_type {
811 NL80211_CHAN_HT40MINUS, 1014 NL80211_CHAN_HT40MINUS,
812 NL80211_CHAN_HT40PLUS 1015 NL80211_CHAN_HT40PLUS
813}; 1016};
1017
1018/**
1019 * enum nl80211_bss - netlink attributes for a BSS
1020 *
1021 * @__NL80211_BSS_INVALID: invalid
1022 * @NL80211_BSS_FREQUENCY: frequency in MHz (u32)
1023 * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64)
1024 * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16)
1025 * @NL80211_BSS_CAPABILITY: capability field (CPU order, u16)
1026 * @NL80211_BSS_INFORMATION_ELEMENTS: binary attribute containing the
1027 * raw information elements from the probe response/beacon (bin)
1028 * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon
1029 * in mBm (100 * dBm) (s32)
1030 * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon
1031 * in unspecified units, scaled to 0..100 (u8)
1032 * @__NL80211_BSS_AFTER_LAST: internal
1033 * @NL80211_BSS_MAX: highest BSS attribute
1034 */
1035enum nl80211_bss {
1036 __NL80211_BSS_INVALID,
1037 NL80211_BSS_BSSID,
1038 NL80211_BSS_FREQUENCY,
1039 NL80211_BSS_TSF,
1040 NL80211_BSS_BEACON_INTERVAL,
1041 NL80211_BSS_CAPABILITY,
1042 NL80211_BSS_INFORMATION_ELEMENTS,
1043 NL80211_BSS_SIGNAL_MBM,
1044 NL80211_BSS_SIGNAL_UNSPEC,
1045
1046 /* keep last */
1047 __NL80211_BSS_AFTER_LAST,
1048 NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
1049};
1050
1051/**
1052 * enum nl80211_auth_type - AuthenticationType
1053 *
1054 * @NL80211_AUTHTYPE_OPEN_SYSTEM: Open System authentication
1055 * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only)
1056 * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
1057 * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
1058 */
1059enum nl80211_auth_type {
1060 NL80211_AUTHTYPE_OPEN_SYSTEM,
1061 NL80211_AUTHTYPE_SHARED_KEY,
1062 NL80211_AUTHTYPE_FT,
1063 NL80211_AUTHTYPE_NETWORK_EAP,
1064};
814#endif /* __LINUX_NL80211_H */ 1065#endif /* __LINUX_NL80211_H */