[package] ebtales: update to v2.0.10-4
[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 */