blob: 2c924ac84511ae2c53bbeca337762e5e336e54ba [file] [log] [blame]
developer05f3b2b2024-08-19 19:17:34 +08001From b49a539e13572f6ab61834d307d5f9e84c03c929 Mon Sep 17 00:00:00 2001
2From: Johannes Berg <johannes.berg@intel.com>
3Date: Wed, 3 Jul 2024 10:37:44 +0200
4Subject: [PATCH 06/13] update nl80211.h
5
6Signed-off-by: Johannes Berg <johannes.berg@intel.com>
7---
8 nl80211.h | 242 +++++++++++++++++++++++++++++-------------------------
9 1 file changed, 130 insertions(+), 112 deletions(-)
10
11diff --git a/nl80211.h b/nl80211.h
12index f23ecbd..6ae3997 100644
13--- a/nl80211.h
14+++ b/nl80211.h
15@@ -413,8 +413,8 @@
16 * are like for %NL80211_CMD_SET_BEACON, and additionally parameters that
17 * do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL,
18 * %NL80211_ATTR_DTIM_PERIOD, %NL80211_ATTR_SSID,
19- * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE,
20- * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS,
21+ * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
22+ * %NL80211_ATTR_CIPHER_SUITE_GROUP, %NL80211_ATTR_WPA_VERSIONS,
23 * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY,
24 * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT,
25 * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS.
26@@ -442,20 +442,15 @@
27 * stations connected and using at least that link as one of its links.
28 *
29 * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to
30- * destination %NL80211_ATTR_MAC on the interface identified by
31- * %NL80211_ATTR_IFINDEX.
32+ * destination %NL80211_ATTR_MAC on the interface identified by
33+ * %NL80211_ATTR_IFINDEX.
34 * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to
35- * destination %NL80211_ATTR_MAC on the interface identified by
36- * %NL80211_ATTR_IFINDEX.
37+ * destination %NL80211_ATTR_MAC on the interface identified by
38+ * %NL80211_ATTR_IFINDEX.
39 * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by
40 * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP.
41 * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
42 * %NL80211_ATTR_MAC.
43- * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
44- * interface identified by %NL80211_ATTR_IFINDEX.
45- * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
46- * or, if no MAC address given, all mesh paths, on the interface identified
47- * by %NL80211_ATTR_IFINDEX.
48 * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by
49 * %NL80211_ATTR_IFINDEX.
50 *
51@@ -476,15 +471,15 @@
52 * after being queried by the kernel. CRDA replies by sending a regulatory
53 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
54 * current alpha2 if it found a match. It also provides
55- * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each
56- * regulatory rule is a nested set of attributes given by
57- * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and
58- * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by
59- * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and
60- * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP.
61+ * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each
62+ * regulatory rule is a nested set of attributes given by
63+ * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and
64+ * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by
65+ * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and
66+ * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP.
67 * @NL80211_CMD_REQ_SET_REG: ask the wireless core to set the regulatory domain
68- * to the specified ISO/IEC 3166-1 alpha2 country code. The core will
69- * store this as a valid request and then query userspace for it.
70+ * to the specified ISO/IEC 3166-1 alpha2 country code. The core will
71+ * store this as a valid request and then query userspace for it.
72 *
73 * @NL80211_CMD_GET_MESH_CONFIG: Get mesh networking properties for the
74 * interface identified by %NL80211_ATTR_IFINDEX
75@@ -574,31 +569,31 @@
76 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.
77 *
78 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
79- * has been changed and provides details of the request information
80- * that caused the change such as who initiated the regulatory request
81- * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx
82- * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if
83- * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or
84- * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain
85- * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is
86- * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on
87- * to (%NL80211_ATTR_REG_ALPHA2).
88+ * has been changed and provides details of the request information
89+ * that caused the change such as who initiated the regulatory request
90+ * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx
91+ * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if
92+ * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or
93+ * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain
94+ * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is
95+ * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on
96+ * to (%NL80211_ATTR_REG_ALPHA2).
97 * @NL80211_CMD_REG_BEACON_HINT: indicates to userspace that an AP beacon
98- * has been found while world roaming thus enabling active scan or
99- * any mode of operation that initiates TX (beacons) on a channel
100- * where we would not have been able to do either before. As an example
101- * if you are world roaming (regulatory domain set to world or if your
102- * driver is using a custom world roaming regulatory domain) and while
103- * doing a passive scan on the 5 GHz band you find an AP there (if not
104- * on a DFS channel) you will now be able to actively scan for that AP
105- * or use AP mode on your card on that same channel. Note that this will
106- * never be used for channels 1-11 on the 2 GHz band as they are always
107- * enabled world wide. This beacon hint is only sent if your device had
108- * either disabled active scanning or beaconing on a channel. We send to
109- * userspace the wiphy on which we removed a restriction from
110- * (%NL80211_ATTR_WIPHY) and the channel on which this occurred
111- * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER)
112- * the beacon hint was processed.
113+ * has been found while world roaming thus enabling active scan or
114+ * any mode of operation that initiates TX (beacons) on a channel
115+ * where we would not have been able to do either before. As an example
116+ * if you are world roaming (regulatory domain set to world or if your
117+ * driver is using a custom world roaming regulatory domain) and while
118+ * doing a passive scan on the 5 GHz band you find an AP there (if not
119+ * on a DFS channel) you will now be able to actively scan for that AP
120+ * or use AP mode on your card on that same channel. Note that this will
121+ * never be used for channels 1-11 on the 2 GHz band as they are always
122+ * enabled world wide. This beacon hint is only sent if your device had
123+ * either disabled active scanning or beaconing on a channel. We send to
124+ * userspace the wiphy on which we removed a restriction from
125+ * (%NL80211_ATTR_WIPHY) and the channel on which this occurred
126+ * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER)
127+ * the beacon hint was processed.
128 *
129 * @NL80211_CMD_AUTHENTICATE: authentication request and notification.
130 * This command is used both as a command (request to authenticate) and
131@@ -1120,7 +1115,7 @@
132 * current configuration is not changed. If it is present but
133 * set to zero, the configuration is changed to don't-care
134 * (i.e. the device can decide what to do).
135- * @NL80211_CMD_NAN_FUNC_MATCH: Notification sent when a match is reported.
136+ * @NL80211_CMD_NAN_MATCH: Notification sent when a match is reported.
137 * This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and
138 * %NL80211_ATTR_COOKIE.
139 *
140@@ -1715,21 +1710,21 @@ enum nl80211_commands {
141 * (see &enum nl80211_plink_action).
142 * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
143 * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
144- * info given for %NL80211_CMD_GET_MPATH, nested attribute described at
145+ * info given for %NL80211_CMD_GET_MPATH, nested attribute described at
146 * &enum nl80211_mpath_info.
147 *
148 * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of
149 * &enum nl80211_mntr_flags.
150 *
151 * @NL80211_ATTR_REG_ALPHA2: an ISO-3166-alpha2 country code for which the
152- * current regulatory domain should be set to or is already set to.
153- * For example, 'CR', for Costa Rica. This attribute is used by the kernel
154- * to query the CRDA to retrieve one regulatory domain. This attribute can
155- * also be used by userspace to query the kernel for the currently set
156- * regulatory domain. We chose an alpha2 as that is also used by the
157- * IEEE-802.11 country information element to identify a country.
158- * Users can also simply ask the wireless core to set regulatory domain
159- * to a specific alpha2.
160+ * current regulatory domain should be set to or is already set to.
161+ * For example, 'CR', for Costa Rica. This attribute is used by the kernel
162+ * to query the CRDA to retrieve one regulatory domain. This attribute can
163+ * also be used by userspace to query the kernel for the currently set
164+ * regulatory domain. We chose an alpha2 as that is also used by the
165+ * IEEE-802.11 country information element to identify a country.
166+ * Users can also simply ask the wireless core to set regulatory domain
167+ * to a specific alpha2.
168 * @NL80211_ATTR_REG_RULES: a nested array of regulatory domain regulatory
169 * rules.
170 *
171@@ -1772,9 +1767,9 @@ enum nl80211_commands {
172 * @NL80211_ATTR_BSS: scan result BSS
173 *
174 * @NL80211_ATTR_REG_INITIATOR: indicates who requested the regulatory domain
175- * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_*
176+ * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_*
177 * @NL80211_ATTR_REG_TYPE: indicates the type of the regulatory domain currently
178- * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*)
179+ * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*)
180 *
181 * @NL80211_ATTR_SUPPORTED_COMMANDS: wiphy attribute that specifies
182 * an array of command numbers (i.e. a mapping index to command number)
183@@ -1793,15 +1788,15 @@ enum nl80211_commands {
184 * a u32
185 *
186 * @NL80211_ATTR_FREQ_BEFORE: A channel which has suffered a regulatory change
187- * due to considerations from a beacon hint. This attribute reflects
188- * the state of the channel _before_ the beacon hint processing. This
189- * attributes consists of a nested attribute containing
190- * NL80211_FREQUENCY_ATTR_*
191+ * due to considerations from a beacon hint. This attribute reflects
192+ * the state of the channel _before_ the beacon hint processing. This
193+ * attributes consists of a nested attribute containing
194+ * NL80211_FREQUENCY_ATTR_*
195 * @NL80211_ATTR_FREQ_AFTER: A channel which has suffered a regulatory change
196- * due to considerations from a beacon hint. This attribute reflects
197- * the state of the channel _after_ the beacon hint processing. This
198- * attributes consists of a nested attribute containing
199- * NL80211_FREQUENCY_ATTR_*
200+ * due to considerations from a beacon hint. This attribute reflects
201+ * the state of the channel _after_ the beacon hint processing. This
202+ * attributes consists of a nested attribute containing
203+ * NL80211_FREQUENCY_ATTR_*
204 *
205 * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported
206 * cipher suites
207@@ -1862,12 +1857,6 @@ enum nl80211_commands {
208 * that protected APs should be used. This is also used with NEW_BEACON to
209 * indicate that the BSS is to use protection.
210 *
211- * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON
212- * to indicate which unicast key ciphers will be used with the connection
213- * (an array of u32).
214- * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
215- * indicate which group key cipher will be used with the connection (a
216- * u32).
217 * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
218 * indicate which WPA version(s) the AP we want to associate with is using
219 * (a u32 with flags from &enum nl80211_wpa_versions).
220@@ -1898,6 +1887,7 @@ enum nl80211_commands {
221 * with %NL80211_KEY_* sub-attributes
222 *
223 * @NL80211_ATTR_PID: Process ID of a network namespace.
224+ * @NL80211_ATTR_NETNS_FD: File descriptor of a network namespace.
225 *
226 * @NL80211_ATTR_GENERATION: Used to indicate consistent snapshots for
227 * dumps. This number increases whenever the object list being
228@@ -1952,6 +1942,7 @@ enum nl80211_commands {
229 *
230 * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was
231 * acknowledged by the recipient.
232+ * @NL80211_ATTR_ACK_SIGNAL: Station's ack signal strength (s32)
233 *
234 * @NL80211_ATTR_PS_STATE: powersave state, using &enum nl80211_ps_state values.
235 *
236@@ -2149,6 +2140,9 @@ enum nl80211_commands {
237 * @NL80211_ATTR_DISABLE_HE: Force HE capable interfaces to disable
238 * this feature during association. This is a flag attribute.
239 * Currently only supported in mac80211 drivers.
240+ * @NL80211_ATTR_DISABLE_EHT: Force EHT capable interfaces to disable
241+ * this feature during association. This is a flag attribute.
242+ * Currently only supported in mac80211 drivers.
243 * @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the
244 * ATTR_HT_CAPABILITY to which attention should be paid.
245 * Currently, only mac80211 NICs support this feature.
246@@ -2158,6 +2152,12 @@ enum nl80211_commands {
247 * All values are treated as suggestions and may be ignored
248 * by the driver as required. The actual values may be seen in
249 * the station debugfs ht_caps file.
250+ * @NL80211_ATTR_VHT_CAPABILITY_MASK: Specify which bits of the
251+ * ATTR_VHT_CAPABILITY to which attention should be paid.
252+ * Currently, only mac80211 NICs support this feature.
253+ * All values are treated as suggestions and may be ignored
254+ * by the driver as required. The actual values may be seen in
255+ * the station debugfs vht_caps file.
256 *
257 * @NL80211_ATTR_DFS_REGION: region for regulatory rules which this country
258 * abides to when initiating radiation on DFS channels. A country maps
259@@ -2416,7 +2416,7 @@ enum nl80211_commands {
260 * scheduled scan is started. Or the delay before a WoWLAN
261 * net-detect scan is started, counting from the moment the
262 * system is suspended. This value is a u32, in seconds.
263-
264+ *
265 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
266 * is operating in an indoor environment.
267 *
268@@ -3565,7 +3565,7 @@ enum nl80211_sta_flags {
269 * enum nl80211_sta_p2p_ps_status - station support of P2P PS
270 *
271 * @NL80211_P2P_PS_UNSUPPORTED: station doesn't support P2P PS mechanism
272- * @@NL80211_P2P_PS_SUPPORTED: station supports P2P PS mechanism
273+ * @NL80211_P2P_PS_SUPPORTED: station supports P2P PS mechanism
274 * @NUM_NL80211_P2P_PS_STATUS: number of values
275 */
276 enum nl80211_sta_p2p_ps_status {
277@@ -3603,9 +3603,9 @@ enum nl80211_he_gi {
278
279 /**
280 * enum nl80211_he_ltf - HE long training field
281- * @NL80211_RATE_INFO_HE_1xLTF: 3.2 usec
282- * @NL80211_RATE_INFO_HE_2xLTF: 6.4 usec
283- * @NL80211_RATE_INFO_HE_4xLTF: 12.8 usec
284+ * @NL80211_RATE_INFO_HE_1XLTF: 3.2 usec
285+ * @NL80211_RATE_INFO_HE_2XLTF: 6.4 usec
286+ * @NL80211_RATE_INFO_HE_4XLTF: 12.8 usec
287 */
288 enum nl80211_he_ltf {
289 NL80211_RATE_INFO_HE_1XLTF,
290@@ -3720,7 +3720,7 @@ enum nl80211_eht_ru_alloc {
291 * @NL80211_RATE_INFO_HE_GI: HE guard interval identifier
292 * (u8, see &enum nl80211_he_gi)
293 * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
294- * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
295+ * @NL80211_RATE_INFO_HE_RU_ALLOC: HE RU allocation, if not present then
296 * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
297 * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate
298 * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15)
299@@ -3823,7 +3823,7 @@ enum nl80211_sta_bss_param {
300 * (u64, to this station)
301 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
302 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
303- * containing info as possible, see &enum nl80211_rate_info
304+ * containing info as possible, see &enum nl80211_rate_info
305 * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs)
306 * (u32, from this station)
307 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs)
308@@ -3852,8 +3852,8 @@ enum nl80211_sta_bss_param {
309 * Contains a nested array of signal strength attributes (u8, dBm)
310 * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
311 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
312- * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
313- * 802.11 header (u32, kbps)
314+ * @NL80211_STA_INFO_EXPECTED_THROUGHPUT: expected throughput considering also
315+ * the 802.11 header (u32, kbps)
316 * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons
317 * (u64)
318 * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64)
319@@ -4039,7 +4039,7 @@ enum nl80211_mpath_flags {
320 * @NL80211_MPATH_INFO_METRIC: metric (cost) of this mesh path
321 * @NL80211_MPATH_INFO_EXPTIME: expiration time for the path, in msec from now
322 * @NL80211_MPATH_INFO_FLAGS: mesh path flags, enumerated in
323- * &enum nl80211_mpath_flags;
324+ * &enum nl80211_mpath_flags;
325 * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
326 * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
327 * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
328@@ -4179,7 +4179,7 @@ enum nl80211_band_attr {
329 * @NL80211_WMMR_CW_MAX: Maximum contention window slot.
330 * @NL80211_WMMR_AIFSN: Arbitration Inter Frame Space.
331 * @NL80211_WMMR_TXOP: Maximum allowed tx operation time.
332- * @nl80211_WMMR_MAX: highest possible wmm rule.
333+ * @NL80211_WMMR_MAX: highest possible wmm rule.
334 * @__NL80211_WMMR_LAST: Internal use.
335 */
336 enum nl80211_wmm_rule {
337@@ -4201,8 +4201,9 @@ enum nl80211_wmm_rule {
338 * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current
339 * regulatory domain.
340 * @NL80211_FREQUENCY_ATTR_NO_IR: no mechanisms that initiate radiation
341- * are permitted on this channel, this includes sending probe
342- * requests, or modes of operation that require beaconing.
343+ * are permitted on this channel, this includes sending probe
344+ * requests, or modes of operation that require beaconing.
345+ * @__NL80211_FREQUENCY_ATTR_NO_IBSS: obsolete, same as _NO_IR
346 * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory
347 * on this channel in current regulatory domain.
348 * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
349@@ -4276,6 +4277,8 @@ enum nl80211_wmm_rule {
350 * @NL80211_FREQUENCY_ATTR_CAN_MONITOR: This channel can be used in monitor
351 * mode despite other (regulatory) restrictions, even if the channel is
352 * otherwise completely disabled.
353+ * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
354+ * very low power (VLP) AP, despite being NO_IR.
355 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
356 * currently defined
357 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
358@@ -4319,6 +4322,7 @@ enum nl80211_frequency_attr {
359 NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT,
360 NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
361 NL80211_FREQUENCY_ATTR_CAN_MONITOR,
362+ NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
363
364 /* keep last */
365 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
366@@ -4357,16 +4361,16 @@ enum nl80211_bitrate_attr {
367 };
368
369 /**
370- * enum nl80211_initiator - Indicates the initiator of a reg domain request
371+ * enum nl80211_reg_initiator - Indicates the initiator of a reg domain request
372 * @NL80211_REGDOM_SET_BY_CORE: Core queried CRDA for a dynamic world
373- * regulatory domain.
374+ * regulatory domain.
375 * @NL80211_REGDOM_SET_BY_USER: User asked the wireless core to set the
376- * regulatory domain.
377+ * regulatory domain.
378 * @NL80211_REGDOM_SET_BY_DRIVER: a wireless drivers has hinted to the
379- * wireless core it thinks its knows the regulatory domain we should be in.
380+ * wireless core it thinks its knows the regulatory domain we should be in.
381 * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
382- * 802.11 country information element with regulatory information it
383- * thinks we should consider. cfg80211 only processes the country
384+ * 802.11 country information element with regulatory information it
385+ * thinks we should consider. cfg80211 only processes the country
386 * code from the IE, and relies on the regulatory domain information
387 * structure passed by userspace (CRDA) from our wireless-regdb.
388 * If a channel is enabled but the country code indicates it should
389@@ -4385,11 +4389,11 @@ enum nl80211_reg_initiator {
390 * to a specific country. When this is set you can count on the
391 * ISO / IEC 3166 alpha2 country code being valid.
392 * @NL80211_REGDOM_TYPE_WORLD: the regulatory set domain is the world regulatory
393- * domain.
394+ * domain.
395 * @NL80211_REGDOM_TYPE_CUSTOM_WORLD: the regulatory domain set is a custom
396- * driver specific world regulatory domain. These do not apply system-wide
397- * and are only applicable to the individual devices which have requested
398- * them to be applied.
399+ * driver specific world regulatory domain. These do not apply system-wide
400+ * and are only applicable to the individual devices which have requested
401+ * them to be applied.
402 * @NL80211_REGDOM_TYPE_INTERSECTION: the regulatory domain set is the product
403 * of an intersection between two regulatory domains -- the previously
404 * set regulatory domain on the system and the last accepted regulatory
405@@ -4406,21 +4410,21 @@ enum nl80211_reg_type {
406 * enum nl80211_reg_rule_attr - regulatory rule attributes
407 * @__NL80211_REG_RULE_ATTR_INVALID: attribute number 0 is reserved
408 * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional
409- * considerations for a given frequency range. These are the
410- * &enum nl80211_reg_rule_flags.
411+ * considerations for a given frequency range. These are the
412+ * &enum nl80211_reg_rule_flags.
413 * @NL80211_ATTR_FREQ_RANGE_START: starting frequencry for the regulatory
414- * rule in KHz. This is not a center of frequency but an actual regulatory
415- * band edge.
416+ * rule in KHz. This is not a center of frequency but an actual regulatory
417+ * band edge.
418 * @NL80211_ATTR_FREQ_RANGE_END: ending frequency for the regulatory rule
419- * in KHz. This is not a center a frequency but an actual regulatory
420- * band edge.
421+ * in KHz. This is not a center a frequency but an actual regulatory
422+ * band edge.
423 * @NL80211_ATTR_FREQ_RANGE_MAX_BW: maximum allowed bandwidth for this
424 * frequency range, in KHz.
425 * @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN: the maximum allowed antenna gain
426- * for a given frequency range. The value is in mBi (100 * dBi).
427- * If you don't have one then don't send this.
428+ * for a given frequency range. The value is in mBi (100 * dBi).
429+ * If you don't have one then don't send this.
430 * @NL80211_ATTR_POWER_RULE_MAX_EIRP: the maximum allowed EIRP for
431- * a given frequency range. The value is in mBm (100 * dBm).
432+ * a given frequency range. The value is in mBm (100 * dBm).
433 * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds.
434 * If not present or 0 default CAC time will be used.
435 * @NL80211_ATTR_POWER_RULE_PSD: power spectral density (in dBm).
436@@ -4507,8 +4511,9 @@ enum nl80211_sched_scan_match_attr {
437 * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links
438 * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links
439 * @NL80211_RRF_NO_IR: no mechanisms that initiate radiation are allowed,
440- * this includes probe requests or modes of operation that require
441- * beaconing.
442+ * this includes probe requests or modes of operation that require
443+ * beaconing.
444+ * @__NL80211_RRF_NO_IBSS: obsolete, same as NO_IR
445 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
446 * base on contiguous rules and wider channels will be allowed to cross
447 * multiple contiguous/overlapping frequency ranges.
448@@ -4522,11 +4527,13 @@ enum nl80211_sched_scan_match_attr {
449 * @NL80211_RRF_NO_EHT: EHT operation not allowed
450 * @NL80211_RRF_PSD: Ruleset has power spectral density value
451 * @NL80211_RRF_DFS_CONCURRENT: Operation on this channel is allowed for
452- peer-to-peer or adhoc communication under the control of a DFS master
453- which operates on the same channel (FCC-594280 D01 Section B.3).
454- Should be used together with %NL80211_RRF_DFS only.
455+ * peer-to-peer or adhoc communication under the control of a DFS master
456+ * which operates on the same channel (FCC-594280 D01 Section B.3).
457+ * Should be used together with %NL80211_RRF_DFS only.
458 * @NL80211_RRF_NO_6GHZ_VLP_CLIENT: Client connection to VLP AP not allowed
459 * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
460+ * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
461+ * despite NO_IR configuration.
462 */
463 enum nl80211_reg_rule_flags {
464 NL80211_RRF_NO_OFDM = 1<<0,
465@@ -4551,6 +4558,7 @@ enum nl80211_reg_rule_flags {
466 NL80211_RRF_DFS_CONCURRENT = 1<<21,
467 NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
468 NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
469+ NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
470 };
471
472 #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
473@@ -4707,8 +4715,8 @@ enum nl80211_mntr_flags {
474 * alternate between Active and Doze states, but may not wake up
475 * for neighbor's beacons.
476 *
477- * @__NL80211_MESH_POWER_AFTER_LAST - internal use
478- * @NL80211_MESH_POWER_MAX - highest possible power save level
479+ * @__NL80211_MESH_POWER_AFTER_LAST: internal use
480+ * @NL80211_MESH_POWER_MAX: highest possible power save level
481 */
482
483 enum nl80211_mesh_power_mode {
484@@ -5728,7 +5736,7 @@ struct nl80211_pattern_support {
485 * "TCP connection wakeup" for more details. This is a nested attribute
486 * containing the exact information for establishing and keeping alive
487 * the TCP connection.
488- * @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the
489+ * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH: For wakeup reporting only, the
490 * wakeup packet was received on the TCP connection
491 * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the
492 * TCP connection was lost or failed to be established
493@@ -6077,7 +6085,7 @@ enum nl80211_plink_state {
494 * @NL80211_PLINK_ACTION_BLOCK: block traffic from this mesh peer
495 * @NUM_NL80211_PLINK_ACTIONS: number of possible actions
496 */
497-enum plink_actions {
498+enum nl80211_plink_action {
499 NL80211_PLINK_ACTION_NO_ACTION,
500 NL80211_PLINK_ACTION_OPEN,
501 NL80211_PLINK_ACTION_BLOCK,
502@@ -6404,6 +6412,7 @@ enum nl80211_feature_flags {
503 * receiving control port frames over nl80211 instead of the netdevice.
504 * @NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT: This driver/device supports
505 * (average) ACK signal strength reporting.
506+ * @NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT: Backward-compatible ID
507 * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate
508 * TXQs.
509 * @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the
510@@ -6787,6 +6796,8 @@ enum nl80211_acl_policy {
511 * @NL80211_SMPS_STATIC: static SMPS (use a single antenna)
512 * @NL80211_SMPS_DYNAMIC: dynamic smps (start with a single antenna and
513 * turn on other antennas after CTS/RTS).
514+ * @__NL80211_SMPS_AFTER_LAST: internal
515+ * @NL80211_SMPS_MAX: highest used enumeration
516 */
517 enum nl80211_smps_mode {
518 NL80211_SMPS_OFF,
519@@ -7008,6 +7019,8 @@ enum nl80211_bss_select_attr {
520 * @NL80211_NAN_FUNC_PUBLISH: function is publish
521 * @NL80211_NAN_FUNC_SUBSCRIBE: function is subscribe
522 * @NL80211_NAN_FUNC_FOLLOW_UP: function is follow-up
523+ * @__NL80211_NAN_FUNC_TYPE_AFTER_LAST: internal use
524+ * @NL80211_NAN_FUNC_MAX_TYPE: internal use
525 */
526 enum nl80211_nan_function_type {
527 NL80211_NAN_FUNC_PUBLISH,
528@@ -7168,7 +7181,7 @@ enum nl80211_nan_match_attributes {
529 };
530
531 /**
532- * nl80211_external_auth_action - Action to perform with external
533+ * enum nl80211_external_auth_action - Action to perform with external
534 * authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION.
535 * @NL80211_EXTERNAL_AUTH_START: Start the authentication.
536 * @NL80211_EXTERNAL_AUTH_ABORT: Abort the ongoing authentication.
537@@ -7186,7 +7199,7 @@ enum nl80211_external_auth_action {
538 * @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element
539 * (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10),
540 * i.e. starting with the measurement token
541- * @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element
542+ * @NL80211_FTM_RESP_ATTR_CIVICLOC: The content of Measurement Report Element
543 * (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13),
544 * i.e. starting with the measurement token
545 * @__NL80211_FTM_RESP_ATTR_LAST: Internal
546@@ -7829,6 +7842,7 @@ enum nl80211_sae_pwe_mechanism {
547 *
548 * @NL80211_SAR_TYPE_POWER: power limitation specified in 0.25dBm unit
549 *
550+ * @NUM_NL80211_SAR_TYPE: internal
551 */
552 enum nl80211_sar_type {
553 NL80211_SAR_TYPE_POWER,
554@@ -7842,6 +7856,8 @@ enum nl80211_sar_type {
555 /**
556 * enum nl80211_sar_attrs - Attributes for SAR spec
557 *
558+ * @__NL80211_SAR_ATTR_INVALID: Invalid
559+ *
560 * @NL80211_SAR_ATTR_TYPE: the SAR type as defined in &enum nl80211_sar_type.
561 *
562 * @NL80211_SAR_ATTR_SPECS: Nested array of SAR power
563@@ -7873,6 +7889,8 @@ enum nl80211_sar_attrs {
564 /**
565 * enum nl80211_sar_specs_attrs - Attributes for SAR power limit specs
566 *
567+ * @__NL80211_SAR_ATTR_SPECS_INVALID: Invalid
568+ *
569 * @NL80211_SAR_ATTR_SPECS_POWER: Required (s32)value to specify the actual
570 * power limit value in units of 0.25 dBm if type is
571 * NL80211_SAR_TYPE_POWER. (i.e., a value of 44 represents 11 dBm).
572--
5732.18.0
574