iw: update to v3.1, add support for per-chain signal strength info
[openwrt.git] / package / iw / patches / 001-nl80211_h_sync.patch
1 --- a/nl80211.h
2 +++ b/nl80211.h
3 @@ -6,7 +6,7 @@
4 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
5 * Copyright 2008 Michael Wu <flamingice@sourmilk.net>
6 * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com>
7 - * Copyright 2008 Michael Buesch <mb@bu3sch.de>
8 + * Copyright 2008 Michael Buesch <m@bues.ch>
9 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
10 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
11 * Copyright 2008 Colin McCabe <colin@cozybit.com>
12 @@ -161,6 +161,13 @@
13 * @NL80211_CMD_SET_BEACON: set the beacon on an access point interface
14 * using the %NL80211_ATTR_BEACON_INTERVAL, %NL80211_ATTR_DTIM_PERIOD,
15 * %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL attributes.
16 + * Following attributes are provided for drivers that generate full Beacon
17 + * and Probe Response frames internally: %NL80211_ATTR_SSID,
18 + * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE,
19 + * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS,
20 + * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY,
21 + * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_IE, %NL80211_ATTR_IE_PROBE_RESP,
22 + * %NL80211_ATTR_IE_ASSOC_RESP.
23 * @NL80211_CMD_NEW_BEACON: add a new beacon to an access point interface,
24 * parameters are like for %NL80211_CMD_SET_BEACON.
25 * @NL80211_CMD_DEL_BEACON: remove the beacon, stop sending it
26 @@ -762,6 +769,8 @@ enum nl80211_commands {
27 * that can be added to a scan request
28 * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information
29 * elements that can be added to a scheduled scan request
30 + * @NL80211_ATTR_MAX_MATCH_SETS: maximum number of sets that can be
31 + * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute.
32 *
33 * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz)
34 * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive
35 @@ -842,18 +851,20 @@ enum nl80211_commands {
36 * @NL80211_ATTR_STATUS_CODE: StatusCode for the %NL80211_CMD_CONNECT
37 * event (u16)
38 * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating
39 - * that protected APs should be used.
40 + * that protected APs should be used. This is also used with NEW_BEACON to
41 + * indicate that the BSS is to use protection.
42 *
43 - * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT and ASSOCIATE to
44 - * indicate which unicast key ciphers will be used with the connection
45 + * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON
46 + * to indicate which unicast key ciphers will be used with the connection
47 * (an array of u32).
48 - * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT and ASSOCIATE to indicate
49 - * which group key cipher will be used with the connection (a u32).
50 - * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT and ASSOCIATE to indicate
51 - * which WPA version(s) the AP we want to associate with is using
52 + * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
53 + * indicate which group key cipher will be used with the connection (a
54 + * u32).
55 + * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
56 + * indicate which WPA version(s) the AP we want to associate with is using
57 * (a u32 with flags from &enum nl80211_wpa_versions).
58 - * @NL80211_ATTR_AKM_SUITES: Used with CONNECT and ASSOCIATE to indicate
59 - * which key management algorithm(s) to use (an array of u32).
60 + * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
61 + * indicate which key management algorithm(s) to use (an array of u32).
62 *
63 * @NL80211_ATTR_REQ_IE: (Re)association request information elements as
64 * sent out by the card, for ROAM and successful CONNECT events.
65 @@ -1002,6 +1013,24 @@ enum nl80211_commands {
66
67 * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan
68 * cycles, in msecs.
69 +
70 + * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more
71 + * sets of attributes to match during scheduled scans. Only BSSs
72 + * that match any of the sets will be reported. These are
73 + * pass-thru filter rules.
74 + * For a match to succeed, the BSS must match all attributes of a
75 + * set. Since not every hardware supports matching all types of
76 + * attributes, there is no guarantee that the reported BSSs are
77 + * fully complying with the match sets and userspace needs to be
78 + * able to ignore them by itself.
79 + * Thus, the implementation is somewhat hardware-dependent, but
80 + * this is only an optimization and the userspace application
81 + * needs to handle all the non-filtered results anyway.
82 + * If the match attributes don't make sense when combined with
83 + * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
84 + * is included in the probe request, but the match attributes
85 + * will never let it go through), -EINVAL may be returned.
86 + * If ommited, no filtering is done.
87 *
88 * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
89 * interface combinations. In each nested item, it contains attributes
90 @@ -1014,6 +1043,33 @@ enum nl80211_commands {
91 * @%NL80211_ATTR_REKEY_DATA: nested attribute containing the information
92 * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data.
93 *
94 + * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan,
95 + * nested array attribute containing an entry for each band, with the entry
96 + * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but
97 + * without the length restriction (at most %NL80211_MAX_SUPP_RATES).
98 + *
99 + * @NL80211_ATTR_HIDDEN_SSID: indicates whether SSID is to be hidden from Beacon
100 + * and Probe Response (when response to wildcard Probe Request); see
101 + * &enum nl80211_hidden_ssid, represented as a u32
102 + *
103 + * @NL80211_ATTR_IE_PROBE_RESP: Information element(s) for Probe Response frame.
104 + * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to
105 + * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the
106 + * driver (or firmware) replies to Probe Request frames.
107 + * @NL80211_ATTR_IE_ASSOC_RESP: Information element(s) for (Re)Association
108 + * Response frames. This is used with %NL80211_CMD_NEW_BEACON and
109 + * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into
110 + * (Re)Association Response frames when the driver (or firmware) replies to
111 + * (Re)Association Request frames.
112 + *
113 + * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration
114 + * of the station, see &enum nl80211_sta_wme_attr.
115 + * @NL80211_ATTR_SUPPORT_AP_UAPSD: the device supports uapsd when working
116 + * as AP.
117 + *
118 + * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of
119 + * roaming to another AP in the same ESS if the signal lever is low.
120 + *
121 * @NL80211_ATTR_MAX: highest attribute number currently defined
122 * @__NL80211_ATTR_AFTER_LAST: internal use
123 */
124 @@ -1217,6 +1273,21 @@ enum nl80211_attrs {
125 NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS,
126 NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
127
128 + NL80211_ATTR_SCAN_SUPP_RATES,
129 +
130 + NL80211_ATTR_HIDDEN_SSID,
131 +
132 + NL80211_ATTR_IE_PROBE_RESP,
133 + NL80211_ATTR_IE_ASSOC_RESP,
134 +
135 + NL80211_ATTR_STA_WME,
136 + NL80211_ATTR_SUPPORT_AP_UAPSD,
137 +
138 + NL80211_ATTR_ROAM_SUPPORT,
139 +
140 + NL80211_ATTR_SCHED_SCAN_MATCH,
141 + NL80211_ATTR_MAX_MATCH_SETS,
142 +
143 /* add attributes here, update the policy in nl80211.c */
144
145 __NL80211_ATTR_AFTER_LAST,
146 @@ -1426,6 +1497,8 @@ enum nl80211_sta_bss_param {
147 * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute
148 * containing info as possible, see &enum nl80211_sta_bss_param
149 * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected
150 + * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU
151 + * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
152 * @__NL80211_STA_INFO_AFTER_LAST: internal
153 * @NL80211_STA_INFO_MAX: highest possible station info attribute
154 */
155 @@ -1447,6 +1520,8 @@ enum nl80211_sta_info {
156 NL80211_STA_INFO_RX_BITRATE,
157 NL80211_STA_INFO_BSS_PARAM,
158 NL80211_STA_INFO_CONNECTED_TIME,
159 + NL80211_STA_INFO_CHAIN_SIGNAL,
160 + NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
161
162 /* keep last */
163 __NL80211_STA_INFO_AFTER_LAST,
164 @@ -1676,6 +1751,26 @@ enum nl80211_reg_rule_attr {
165 };
166
167 /**
168 + * enum nl80211_sched_scan_match_attr - scheduled scan match attributes
169 + * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved
170 + * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching,
171 + * only report BSS with matching SSID.
172 + * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
173 + * attribute number currently defined
174 + * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
175 + */
176 +enum nl80211_sched_scan_match_attr {
177 + __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID,
178 +
179 + NL80211_ATTR_SCHED_SCAN_MATCH_SSID,
180 +
181 + /* keep last */
182 + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
183 + NL80211_SCHED_SCAN_MATCH_ATTR_MAX =
184 + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1
185 +};
186 +
187 +/**
188 * enum nl80211_reg_rule_flags - regulatory rule flags
189 *
190 * @NL80211_RRF_NO_OFDM: OFDM modulation not allowed
191 @@ -1826,6 +1921,13 @@ enum nl80211_mntr_flags {
192 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
193 * source mesh point for path selection elements.
194 *
195 + * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between
196 + * root announcements are transmitted.
197 + *
198 + * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has
199 + * access to a broader network beyond the MBSS. This is done via Root
200 + * Announcement frames.
201 + *
202 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
203 *
204 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
205 @@ -1847,6 +1949,8 @@ enum nl80211_meshconf_params {
206 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
207 NL80211_MESHCONF_HWMP_ROOTMODE,
208 NL80211_MESHCONF_ELEMENT_TTL,
209 + NL80211_MESHCONF_HWMP_RANN_INTERVAL,
210 + NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
211
212 /* keep last */
213 __NL80211_MESHCONF_ATTR_AFTER_LAST,
214 @@ -2423,4 +2527,37 @@ enum nl80211_rekey_data {
215 MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1
216 };
217
218 +/**
219 + * enum nl80211_hidden_ssid - values for %NL80211_ATTR_HIDDEN_SSID
220 + * @NL80211_HIDDEN_SSID_NOT_IN_USE: do not hide SSID (i.e., broadcast it in
221 + * Beacon frames)
222 + * @NL80211_HIDDEN_SSID_ZERO_LEN: hide SSID by using zero-length SSID element
223 + * in Beacon frames
224 + * @NL80211_HIDDEN_SSID_ZERO_CONTENTS: hide SSID by using correct length of SSID
225 + * element in Beacon frames but zero out each byte in the SSID
226 + */
227 +enum nl80211_hidden_ssid {
228 + NL80211_HIDDEN_SSID_NOT_IN_USE,
229 + NL80211_HIDDEN_SSID_ZERO_LEN,
230 + NL80211_HIDDEN_SSID_ZERO_CONTENTS
231 +};
232 +
233 +/**
234 + * enum nl80211_sta_wme_attr - station WME attributes
235 + * @__NL80211_STA_WME_INVALID: invalid number for nested attribute
236 + * @NL80211_STA_WME_QUEUES: bitmap of uapsd queues.
237 + * @NL80211_STA_WME_MAX_SP: max service period.
238 + * @__NL80211_STA_WME_AFTER_LAST: internal
239 + * @NL80211_STA_WME_MAX: highest station WME attribute
240 + */
241 +enum nl80211_sta_wme_attr {
242 + __NL80211_STA_WME_INVALID,
243 + NL80211_STA_WME_UAPSD_QUEUES,
244 + NL80211_STA_WME_MAX_SP,
245 +
246 + /* keep last */
247 + __NL80211_STA_WME_AFTER_LAST,
248 + NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1
249 +};
250 +
251 #endif /* __LINUX_NL80211_H */
This page took 0.06293 seconds and 5 git commands to generate.