1 /* packet-netlink-nl80211.c
2 * Dissector for nl80211 (over Netlink).
4 * Copyright (c) 2017, Peter Wu <peter@lekensteyn.nl>
5 * Copyright (c) 2018, Mikael Kanstrup <mikael.kanstrup@sony.com>
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * SPDX-License-Identifier: GPL-2.0-or-later
16 #include <epan/packet.h>
17 #include "packet-ieee80211.h"
18 #include "packet-netlink.h"
20 void proto_register_netlink_nl80211(void);
21 void proto_reg_handoff_netlink_nl80211(void);
25 } netlink_nl80211_info_t
;
27 static dissector_handle_t ieee80211_handle
;
28 static dissector_table_t ieee80211_tag_dissector_table
;
30 /* Extracted using tools/generate-nl80211-fields.py */
31 /* Definitions from linux/nl80211.h {{{ */
32 enum ws_nl80211_commands
{
33 WS_NL80211_CMD_UNSPEC
,
34 WS_NL80211_CMD_GET_WIPHY
,
35 WS_NL80211_CMD_SET_WIPHY
,
36 WS_NL80211_CMD_NEW_WIPHY
,
37 WS_NL80211_CMD_DEL_WIPHY
,
38 WS_NL80211_CMD_GET_INTERFACE
,
39 WS_NL80211_CMD_SET_INTERFACE
,
40 WS_NL80211_CMD_NEW_INTERFACE
,
41 WS_NL80211_CMD_DEL_INTERFACE
,
42 WS_NL80211_CMD_GET_KEY
,
43 WS_NL80211_CMD_SET_KEY
,
44 WS_NL80211_CMD_NEW_KEY
,
45 WS_NL80211_CMD_DEL_KEY
,
46 WS_NL80211_CMD_GET_BEACON
,
47 WS_NL80211_CMD_SET_BEACON
,
48 WS_NL80211_CMD_START_AP
,
49 WS_NL80211_CMD_STOP_AP
,
50 WS_NL80211_CMD_GET_STATION
,
51 WS_NL80211_CMD_SET_STATION
,
52 WS_NL80211_CMD_NEW_STATION
,
53 WS_NL80211_CMD_DEL_STATION
,
54 WS_NL80211_CMD_GET_MPATH
,
55 WS_NL80211_CMD_SET_MPATH
,
56 WS_NL80211_CMD_NEW_MPATH
,
57 WS_NL80211_CMD_DEL_MPATH
,
58 WS_NL80211_CMD_SET_BSS
,
59 WS_NL80211_CMD_SET_REG
,
60 WS_NL80211_CMD_REQ_SET_REG
,
61 WS_NL80211_CMD_GET_MESH_CONFIG
,
62 WS_NL80211_CMD_SET_MESH_CONFIG
,
63 WS_NL80211_CMD_SET_MGMT_EXTRA_IE
,
64 WS_NL80211_CMD_GET_REG
,
65 WS_NL80211_CMD_GET_SCAN
,
66 WS_NL80211_CMD_TRIGGER_SCAN
,
67 WS_NL80211_CMD_NEW_SCAN_RESULTS
,
68 WS_NL80211_CMD_SCAN_ABORTED
,
69 WS_NL80211_CMD_REG_CHANGE
,
70 WS_NL80211_CMD_AUTHENTICATE
,
71 WS_NL80211_CMD_ASSOCIATE
,
72 WS_NL80211_CMD_DEAUTHENTICATE
,
73 WS_NL80211_CMD_DISASSOCIATE
,
74 WS_NL80211_CMD_MICHAEL_MIC_FAILURE
,
75 WS_NL80211_CMD_REG_BEACON_HINT
,
76 WS_NL80211_CMD_JOIN_IBSS
,
77 WS_NL80211_CMD_LEAVE_IBSS
,
78 WS_NL80211_CMD_TESTMODE
,
79 WS_NL80211_CMD_CONNECT
,
81 WS_NL80211_CMD_DISCONNECT
,
82 WS_NL80211_CMD_SET_WIPHY_NETNS
,
83 WS_NL80211_CMD_GET_SURVEY
,
84 WS_NL80211_CMD_NEW_SURVEY_RESULTS
,
85 WS_NL80211_CMD_SET_PMKSA
,
86 WS_NL80211_CMD_DEL_PMKSA
,
87 WS_NL80211_CMD_FLUSH_PMKSA
,
88 WS_NL80211_CMD_REMAIN_ON_CHANNEL
,
89 WS_NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL
,
90 WS_NL80211_CMD_SET_TX_BITRATE_MASK
,
91 WS_NL80211_CMD_REGISTER_FRAME
,
93 WS_NL80211_CMD_FRAME_TX_STATUS
,
94 WS_NL80211_CMD_SET_POWER_SAVE
,
95 WS_NL80211_CMD_GET_POWER_SAVE
,
96 WS_NL80211_CMD_SET_CQM
,
97 WS_NL80211_CMD_NOTIFY_CQM
,
98 WS_NL80211_CMD_SET_CHANNEL
,
99 WS_NL80211_CMD_SET_WDS_PEER
,
100 WS_NL80211_CMD_FRAME_WAIT_CANCEL
,
101 WS_NL80211_CMD_JOIN_MESH
,
102 WS_NL80211_CMD_LEAVE_MESH
,
103 WS_NL80211_CMD_UNPROT_DEAUTHENTICATE
,
104 WS_NL80211_CMD_UNPROT_DISASSOCIATE
,
105 WS_NL80211_CMD_NEW_PEER_CANDIDATE
,
106 WS_NL80211_CMD_GET_WOWLAN
,
107 WS_NL80211_CMD_SET_WOWLAN
,
108 WS_NL80211_CMD_START_SCHED_SCAN
,
109 WS_NL80211_CMD_STOP_SCHED_SCAN
,
110 WS_NL80211_CMD_SCHED_SCAN_RESULTS
,
111 WS_NL80211_CMD_SCHED_SCAN_STOPPED
,
112 WS_NL80211_CMD_SET_REKEY_OFFLOAD
,
113 WS_NL80211_CMD_PMKSA_CANDIDATE
,
114 WS_NL80211_CMD_TDLS_OPER
,
115 WS_NL80211_CMD_TDLS_MGMT
,
116 WS_NL80211_CMD_UNEXPECTED_FRAME
,
117 WS_NL80211_CMD_PROBE_CLIENT
,
118 WS_NL80211_CMD_REGISTER_BEACONS
,
119 WS_NL80211_CMD_UNEXPECTED_4ADDR_FRAME
,
120 WS_NL80211_CMD_SET_NOACK_MAP
,
121 WS_NL80211_CMD_CH_SWITCH_NOTIFY
,
122 WS_NL80211_CMD_START_P2P_DEVICE
,
123 WS_NL80211_CMD_STOP_P2P_DEVICE
,
124 WS_NL80211_CMD_CONN_FAILED
,
125 WS_NL80211_CMD_SET_MCAST_RATE
,
126 WS_NL80211_CMD_SET_MAC_ACL
,
127 WS_NL80211_CMD_RADAR_DETECT
,
128 WS_NL80211_CMD_GET_PROTOCOL_FEATURES
,
129 WS_NL80211_CMD_UPDATE_FT_IES
,
130 WS_NL80211_CMD_FT_EVENT
,
131 WS_NL80211_CMD_CRIT_PROTOCOL_START
,
132 WS_NL80211_CMD_CRIT_PROTOCOL_STOP
,
133 WS_NL80211_CMD_GET_COALESCE
,
134 WS_NL80211_CMD_SET_COALESCE
,
135 WS_NL80211_CMD_CHANNEL_SWITCH
,
136 WS_NL80211_CMD_VENDOR
,
137 WS_NL80211_CMD_SET_QOS_MAP
,
138 WS_NL80211_CMD_ADD_TX_TS
,
139 WS_NL80211_CMD_DEL_TX_TS
,
140 WS_NL80211_CMD_GET_MPP
,
141 WS_NL80211_CMD_JOIN_OCB
,
142 WS_NL80211_CMD_LEAVE_OCB
,
143 WS_NL80211_CMD_CH_SWITCH_STARTED_NOTIFY
,
144 WS_NL80211_CMD_TDLS_CHANNEL_SWITCH
,
145 WS_NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH
,
146 WS_NL80211_CMD_WIPHY_REG_CHANGE
,
147 WS_NL80211_CMD_ABORT_SCAN
,
148 WS_NL80211_CMD_START_NAN
,
149 WS_NL80211_CMD_STOP_NAN
,
150 WS_NL80211_CMD_ADD_NAN_FUNCTION
,
151 WS_NL80211_CMD_DEL_NAN_FUNCTION
,
152 WS_NL80211_CMD_CHANGE_NAN_CONFIG
,
153 WS_NL80211_CMD_NAN_MATCH
,
154 WS_NL80211_CMD_SET_MULTICAST_TO_UNICAST
,
155 WS_NL80211_CMD_UPDATE_CONNECT_PARAMS
,
156 WS_NL80211_CMD_SET_PMK
,
157 WS_NL80211_CMD_DEL_PMK
,
158 WS_NL80211_CMD_PORT_AUTHORIZED
,
159 WS_NL80211_CMD_RELOAD_REGDB
,
160 WS_NL80211_CMD_EXTERNAL_AUTH
,
161 WS_NL80211_CMD_STA_OPMODE_CHANGED
,
162 WS_NL80211_CMD_CONTROL_PORT_FRAME
,
163 WS_NL80211_CMD_GET_FTM_RESPONDER_STATS
,
164 WS_NL80211_CMD_PEER_MEASUREMENT_START
,
165 WS_NL80211_CMD_PEER_MEASUREMENT_RESULT
,
166 WS_NL80211_CMD_PEER_MEASUREMENT_COMPLETE
,
167 WS_NL80211_CMD_NOTIFY_RADAR
,
168 WS_NL80211_CMD_UPDATE_OWE_INFO
,
169 WS_NL80211_CMD_PROBE_MESH_LINK
,
170 WS_NL80211_CMD_SET_TID_CONFIG
,
171 WS_NL80211_CMD_UNPROT_BEACON
,
172 WS_NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS
,
173 WS_NL80211_CMD_SET_SAR_SPECS
,
174 WS_NL80211_CMD_OBSS_COLOR_COLLISION
,
175 WS_NL80211_CMD_COLOR_CHANGE_REQUEST
,
176 WS_NL80211_CMD_COLOR_CHANGE_STARTED
,
177 WS_NL80211_CMD_COLOR_CHANGE_ABORTED
,
178 WS_NL80211_CMD_COLOR_CHANGE_COMPLETED
,
179 WS_NL80211_CMD_SET_FILS_AAD
,
180 WS_NL80211_CMD_ASSOC_COMEBACK
,
181 WS_NL80211_CMD_ADD_LINK
,
182 WS_NL80211_CMD_REMOVE_LINK
,
183 WS_NL80211_CMD_ADD_LINK_STA
,
184 WS_NL80211_CMD_MODIFY_LINK_STA
,
185 WS_NL80211_CMD_REMOVE_LINK_STA
,
186 WS_NL80211_CMD_SET_HW_TIMESTAMP
,
187 WS_NL80211_CMD_LINKS_REMOVED
,
188 WS_NL80211_CMD_SET_TID_TO_LINK_MAPPING
,
191 enum ws_nl80211_attrs
{
192 WS_NL80211_ATTR_UNSPEC
,
193 WS_NL80211_ATTR_WIPHY
,
194 WS_NL80211_ATTR_WIPHY_NAME
,
195 WS_NL80211_ATTR_IFINDEX
,
196 WS_NL80211_ATTR_IFNAME
,
197 WS_NL80211_ATTR_IFTYPE
,
199 WS_NL80211_ATTR_KEY_DATA
,
200 WS_NL80211_ATTR_KEY_IDX
,
201 WS_NL80211_ATTR_KEY_CIPHER
,
202 WS_NL80211_ATTR_KEY_SEQ
,
203 WS_NL80211_ATTR_KEY_DEFAULT
,
204 WS_NL80211_ATTR_BEACON_INTERVAL
,
205 WS_NL80211_ATTR_DTIM_PERIOD
,
206 WS_NL80211_ATTR_BEACON_HEAD
,
207 WS_NL80211_ATTR_BEACON_TAIL
,
208 WS_NL80211_ATTR_STA_AID
,
209 WS_NL80211_ATTR_STA_FLAGS
,
210 WS_NL80211_ATTR_STA_LISTEN_INTERVAL
,
211 WS_NL80211_ATTR_STA_SUPPORTED_RATES
,
212 WS_NL80211_ATTR_STA_VLAN
,
213 WS_NL80211_ATTR_STA_INFO
,
214 WS_NL80211_ATTR_WIPHY_BANDS
,
215 WS_NL80211_ATTR_MNTR_FLAGS
,
216 WS_NL80211_ATTR_MESH_ID
,
217 WS_NL80211_ATTR_STA_PLINK_ACTION
,
218 WS_NL80211_ATTR_MPATH_NEXT_HOP
,
219 WS_NL80211_ATTR_MPATH_INFO
,
220 WS_NL80211_ATTR_BSS_CTS_PROT
,
221 WS_NL80211_ATTR_BSS_SHORT_PREAMBLE
,
222 WS_NL80211_ATTR_BSS_SHORT_SLOT_TIME
,
223 WS_NL80211_ATTR_HT_CAPABILITY
,
224 WS_NL80211_ATTR_SUPPORTED_IFTYPES
,
225 WS_NL80211_ATTR_REG_ALPHA2
,
226 WS_NL80211_ATTR_REG_RULES
,
227 WS_NL80211_ATTR_MESH_CONFIG
,
228 WS_NL80211_ATTR_BSS_BASIC_RATES
,
229 WS_NL80211_ATTR_WIPHY_TXQ_PARAMS
,
230 WS_NL80211_ATTR_WIPHY_FREQ
,
231 WS_NL80211_ATTR_WIPHY_CHANNEL_TYPE
,
232 WS_NL80211_ATTR_KEY_DEFAULT_MGMT
,
233 WS_NL80211_ATTR_MGMT_SUBTYPE
,
235 WS_NL80211_ATTR_MAX_NUM_SCAN_SSIDS
,
236 WS_NL80211_ATTR_SCAN_FREQUENCIES
,
237 WS_NL80211_ATTR_SCAN_SSIDS
,
238 WS_NL80211_ATTR_GENERATION
,
240 WS_NL80211_ATTR_REG_INITIATOR
,
241 WS_NL80211_ATTR_REG_TYPE
,
242 WS_NL80211_ATTR_SUPPORTED_COMMANDS
,
243 WS_NL80211_ATTR_FRAME
,
244 WS_NL80211_ATTR_SSID
,
245 WS_NL80211_ATTR_AUTH_TYPE
,
246 WS_NL80211_ATTR_REASON_CODE
,
247 WS_NL80211_ATTR_KEY_TYPE
,
248 WS_NL80211_ATTR_MAX_SCAN_IE_LEN
,
249 WS_NL80211_ATTR_CIPHER_SUITES
,
250 WS_NL80211_ATTR_FREQ_BEFORE
,
251 WS_NL80211_ATTR_FREQ_AFTER
,
252 WS_NL80211_ATTR_FREQ_FIXED
,
253 WS_NL80211_ATTR_WIPHY_RETRY_SHORT
,
254 WS_NL80211_ATTR_WIPHY_RETRY_LONG
,
255 WS_NL80211_ATTR_WIPHY_FRAG_THRESHOLD
,
256 WS_NL80211_ATTR_WIPHY_RTS_THRESHOLD
,
257 WS_NL80211_ATTR_TIMED_OUT
,
258 WS_NL80211_ATTR_USE_MFP
,
259 WS_NL80211_ATTR_STA_FLAGS2
,
260 WS_NL80211_ATTR_CONTROL_PORT
,
261 WS_NL80211_ATTR_TESTDATA
,
262 WS_NL80211_ATTR_PRIVACY
,
263 WS_NL80211_ATTR_DISCONNECTED_BY_AP
,
264 WS_NL80211_ATTR_STATUS_CODE
,
265 WS_NL80211_ATTR_CIPHER_SUITES_PAIRWISE
,
266 WS_NL80211_ATTR_CIPHER_SUITE_GROUP
,
267 WS_NL80211_ATTR_WPA_VERSIONS
,
268 WS_NL80211_ATTR_AKM_SUITES
,
269 WS_NL80211_ATTR_REQ_IE
,
270 WS_NL80211_ATTR_RESP_IE
,
271 WS_NL80211_ATTR_PREV_BSSID
,
273 WS_NL80211_ATTR_KEYS
,
275 WS_NL80211_ATTR_4ADDR
,
276 WS_NL80211_ATTR_SURVEY_INFO
,
277 WS_NL80211_ATTR_PMKID
,
278 WS_NL80211_ATTR_MAX_NUM_PMKIDS
,
279 WS_NL80211_ATTR_DURATION
,
280 WS_NL80211_ATTR_COOKIE
,
281 WS_NL80211_ATTR_WIPHY_COVERAGE_CLASS
,
282 WS_NL80211_ATTR_TX_RATES
,
283 WS_NL80211_ATTR_FRAME_MATCH
,
285 WS_NL80211_ATTR_PS_STATE
,
287 WS_NL80211_ATTR_LOCAL_STATE_CHANGE
,
288 WS_NL80211_ATTR_AP_ISOLATE
,
289 WS_NL80211_ATTR_WIPHY_TX_POWER_SETTING
,
290 WS_NL80211_ATTR_WIPHY_TX_POWER_LEVEL
,
291 WS_NL80211_ATTR_TX_FRAME_TYPES
,
292 WS_NL80211_ATTR_RX_FRAME_TYPES
,
293 WS_NL80211_ATTR_FRAME_TYPE
,
294 WS_NL80211_ATTR_CONTROL_PORT_ETHERTYPE
,
295 WS_NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT
,
296 WS_NL80211_ATTR_SUPPORT_IBSS_RSN
,
297 WS_NL80211_ATTR_WIPHY_ANTENNA_TX
,
298 WS_NL80211_ATTR_WIPHY_ANTENNA_RX
,
299 WS_NL80211_ATTR_MCAST_RATE
,
300 WS_NL80211_ATTR_OFFCHANNEL_TX_OK
,
301 WS_NL80211_ATTR_BSS_HT_OPMODE
,
302 WS_NL80211_ATTR_KEY_DEFAULT_TYPES
,
303 WS_NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION
,
304 WS_NL80211_ATTR_MESH_SETUP
,
305 WS_NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX
,
306 WS_NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX
,
307 WS_NL80211_ATTR_SUPPORT_MESH_AUTH
,
308 WS_NL80211_ATTR_STA_PLINK_STATE
,
309 WS_NL80211_ATTR_WOWLAN_TRIGGERS
,
310 WS_NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED
,
311 WS_NL80211_ATTR_SCHED_SCAN_INTERVAL
,
312 WS_NL80211_ATTR_INTERFACE_COMBINATIONS
,
313 WS_NL80211_ATTR_SOFTWARE_IFTYPES
,
314 WS_NL80211_ATTR_REKEY_DATA
,
315 WS_NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS
,
316 WS_NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN
,
317 WS_NL80211_ATTR_SCAN_SUPP_RATES
,
318 WS_NL80211_ATTR_HIDDEN_SSID
,
319 WS_NL80211_ATTR_IE_PROBE_RESP
,
320 WS_NL80211_ATTR_IE_ASSOC_RESP
,
321 WS_NL80211_ATTR_STA_WME
,
322 WS_NL80211_ATTR_SUPPORT_AP_UAPSD
,
323 WS_NL80211_ATTR_ROAM_SUPPORT
,
324 WS_NL80211_ATTR_SCHED_SCAN_MATCH
,
325 WS_NL80211_ATTR_MAX_MATCH_SETS
,
326 WS_NL80211_ATTR_PMKSA_CANDIDATE
,
327 WS_NL80211_ATTR_TX_NO_CCK_RATE
,
328 WS_NL80211_ATTR_TDLS_ACTION
,
329 WS_NL80211_ATTR_TDLS_DIALOG_TOKEN
,
330 WS_NL80211_ATTR_TDLS_OPERATION
,
331 WS_NL80211_ATTR_TDLS_SUPPORT
,
332 WS_NL80211_ATTR_TDLS_EXTERNAL_SETUP
,
333 WS_NL80211_ATTR_DEVICE_AP_SME
,
334 WS_NL80211_ATTR_DONT_WAIT_FOR_ACK
,
335 WS_NL80211_ATTR_FEATURE_FLAGS
,
336 WS_NL80211_ATTR_PROBE_RESP_OFFLOAD
,
337 WS_NL80211_ATTR_PROBE_RESP
,
338 WS_NL80211_ATTR_DFS_REGION
,
339 WS_NL80211_ATTR_DISABLE_HT
,
340 WS_NL80211_ATTR_HT_CAPABILITY_MASK
,
341 WS_NL80211_ATTR_NOACK_MAP
,
342 WS_NL80211_ATTR_INACTIVITY_TIMEOUT
,
343 WS_NL80211_ATTR_RX_SIGNAL_DBM
,
344 WS_NL80211_ATTR_BG_SCAN_PERIOD
,
345 WS_NL80211_ATTR_WDEV
,
346 WS_NL80211_ATTR_USER_REG_HINT_TYPE
,
347 WS_NL80211_ATTR_CONN_FAILED_REASON
,
348 WS_NL80211_ATTR_AUTH_DATA
,
349 WS_NL80211_ATTR_VHT_CAPABILITY
,
350 WS_NL80211_ATTR_SCAN_FLAGS
,
351 WS_NL80211_ATTR_CHANNEL_WIDTH
,
352 WS_NL80211_ATTR_CENTER_FREQ1
,
353 WS_NL80211_ATTR_CENTER_FREQ2
,
354 WS_NL80211_ATTR_P2P_CTWINDOW
,
355 WS_NL80211_ATTR_P2P_OPPPS
,
356 WS_NL80211_ATTR_LOCAL_MESH_POWER_MODE
,
357 WS_NL80211_ATTR_ACL_POLICY
,
358 WS_NL80211_ATTR_MAC_ADDRS
,
359 WS_NL80211_ATTR_MAC_ACL_MAX
,
360 WS_NL80211_ATTR_RADAR_EVENT
,
361 WS_NL80211_ATTR_EXT_CAPA
,
362 WS_NL80211_ATTR_EXT_CAPA_MASK
,
363 WS_NL80211_ATTR_STA_CAPABILITY
,
364 WS_NL80211_ATTR_STA_EXT_CAPABILITY
,
365 WS_NL80211_ATTR_PROTOCOL_FEATURES
,
366 WS_NL80211_ATTR_SPLIT_WIPHY_DUMP
,
367 WS_NL80211_ATTR_DISABLE_VHT
,
368 WS_NL80211_ATTR_VHT_CAPABILITY_MASK
,
369 WS_NL80211_ATTR_MDID
,
370 WS_NL80211_ATTR_IE_RIC
,
371 WS_NL80211_ATTR_CRIT_PROT_ID
,
372 WS_NL80211_ATTR_MAX_CRIT_PROT_DURATION
,
373 WS_NL80211_ATTR_PEER_AID
,
374 WS_NL80211_ATTR_COALESCE_RULE
,
375 WS_NL80211_ATTR_CH_SWITCH_COUNT
,
376 WS_NL80211_ATTR_CH_SWITCH_BLOCK_TX
,
377 WS_NL80211_ATTR_CSA_IES
,
378 WS_NL80211_ATTR_CNTDWN_OFFS_BEACON
,
379 WS_NL80211_ATTR_CNTDWN_OFFS_PRESP
,
380 WS_NL80211_ATTR_RXMGMT_FLAGS
,
381 WS_NL80211_ATTR_STA_SUPPORTED_CHANNELS
,
382 WS_NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES
,
383 WS_NL80211_ATTR_HANDLE_DFS
,
384 WS_NL80211_ATTR_SUPPORT_5_MHZ
,
385 WS_NL80211_ATTR_SUPPORT_10_MHZ
,
386 WS_NL80211_ATTR_OPMODE_NOTIF
,
387 WS_NL80211_ATTR_VENDOR_ID
,
388 WS_NL80211_ATTR_VENDOR_SUBCMD
,
389 WS_NL80211_ATTR_VENDOR_DATA
,
390 WS_NL80211_ATTR_VENDOR_EVENTS
,
391 WS_NL80211_ATTR_QOS_MAP
,
392 WS_NL80211_ATTR_MAC_HINT
,
393 WS_NL80211_ATTR_WIPHY_FREQ_HINT
,
394 WS_NL80211_ATTR_MAX_AP_ASSOC_STA
,
395 WS_NL80211_ATTR_TDLS_PEER_CAPABILITY
,
396 WS_NL80211_ATTR_SOCKET_OWNER
,
397 WS_NL80211_ATTR_CSA_C_OFFSETS_TX
,
398 WS_NL80211_ATTR_MAX_CSA_COUNTERS
,
399 WS_NL80211_ATTR_TDLS_INITIATOR
,
400 WS_NL80211_ATTR_USE_RRM
,
401 WS_NL80211_ATTR_WIPHY_DYN_ACK
,
402 WS_NL80211_ATTR_TSID
,
403 WS_NL80211_ATTR_USER_PRIO
,
404 WS_NL80211_ATTR_ADMITTED_TIME
,
405 WS_NL80211_ATTR_SMPS_MODE
,
406 WS_NL80211_ATTR_OPER_CLASS
,
407 WS_NL80211_ATTR_MAC_MASK
,
408 WS_NL80211_ATTR_WIPHY_SELF_MANAGED_REG
,
409 WS_NL80211_ATTR_EXT_FEATURES
,
410 WS_NL80211_ATTR_SURVEY_RADIO_STATS
,
411 WS_NL80211_ATTR_NETNS_FD
,
412 WS_NL80211_ATTR_SCHED_SCAN_DELAY
,
413 WS_NL80211_ATTR_REG_INDOOR
,
414 WS_NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS
,
415 WS_NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL
,
416 WS_NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS
,
417 WS_NL80211_ATTR_SCHED_SCAN_PLANS
,
418 WS_NL80211_ATTR_PBSS
,
419 WS_NL80211_ATTR_BSS_SELECT
,
420 WS_NL80211_ATTR_STA_SUPPORT_P2P_PS
,
422 WS_NL80211_ATTR_IFTYPE_EXT_CAPA
,
423 WS_NL80211_ATTR_MU_MIMO_GROUP_DATA
,
424 WS_NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR
,
425 WS_NL80211_ATTR_SCAN_START_TIME_TSF
,
426 WS_NL80211_ATTR_SCAN_START_TIME_TSF_BSSID
,
427 WS_NL80211_ATTR_MEASUREMENT_DURATION
,
428 WS_NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY
,
429 WS_NL80211_ATTR_MESH_PEER_AID
,
430 WS_NL80211_ATTR_NAN_MASTER_PREF
,
431 WS_NL80211_ATTR_BANDS
,
432 WS_NL80211_ATTR_NAN_FUNC
,
433 WS_NL80211_ATTR_NAN_MATCH
,
434 WS_NL80211_ATTR_FILS_KEK
,
435 WS_NL80211_ATTR_FILS_NONCES
,
436 WS_NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED
,
437 WS_NL80211_ATTR_BSSID
,
438 WS_NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI
,
439 WS_NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST
,
440 WS_NL80211_ATTR_TIMEOUT_REASON
,
441 WS_NL80211_ATTR_FILS_ERP_USERNAME
,
442 WS_NL80211_ATTR_FILS_ERP_REALM
,
443 WS_NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM
,
444 WS_NL80211_ATTR_FILS_ERP_RRK
,
445 WS_NL80211_ATTR_FILS_CACHE_ID
,
447 WS_NL80211_ATTR_SCHED_SCAN_MULTI
,
448 WS_NL80211_ATTR_SCHED_SCAN_MAX_REQS
,
449 WS_NL80211_ATTR_WANT_1X_4WAY_HS
,
450 WS_NL80211_ATTR_PMKR0_NAME
,
451 WS_NL80211_ATTR_PORT_AUTHORIZED
,
452 WS_NL80211_ATTR_EXTERNAL_AUTH_ACTION
,
453 WS_NL80211_ATTR_EXTERNAL_AUTH_SUPPORT
,
455 WS_NL80211_ATTR_ACK_SIGNAL
,
456 WS_NL80211_ATTR_CONTROL_PORT_OVER_NL80211
,
457 WS_NL80211_ATTR_TXQ_STATS
,
458 WS_NL80211_ATTR_TXQ_LIMIT
,
459 WS_NL80211_ATTR_TXQ_MEMORY_LIMIT
,
460 WS_NL80211_ATTR_TXQ_QUANTUM
,
461 WS_NL80211_ATTR_HE_CAPABILITY
,
462 WS_NL80211_ATTR_FTM_RESPONDER
,
463 WS_NL80211_ATTR_FTM_RESPONDER_STATS
,
464 WS_NL80211_ATTR_TIMEOUT
,
465 WS_NL80211_ATTR_PEER_MEASUREMENTS
,
466 WS_NL80211_ATTR_AIRTIME_WEIGHT
,
467 WS_NL80211_ATTR_STA_TX_POWER_SETTING
,
468 WS_NL80211_ATTR_STA_TX_POWER
,
469 WS_NL80211_ATTR_SAE_PASSWORD
,
470 WS_NL80211_ATTR_TWT_RESPONDER
,
471 WS_NL80211_ATTR_HE_OBSS_PD
,
472 WS_NL80211_ATTR_WIPHY_EDMG_CHANNELS
,
473 WS_NL80211_ATTR_WIPHY_EDMG_BW_CONFIG
,
474 WS_NL80211_ATTR_VLAN_ID
,
475 WS_NL80211_ATTR_HE_BSS_COLOR
,
476 WS_NL80211_ATTR_IFTYPE_AKM_SUITES
,
477 WS_NL80211_ATTR_TID_CONFIG
,
478 WS_NL80211_ATTR_CONTROL_PORT_NO_PREAUTH
,
479 WS_NL80211_ATTR_PMK_LIFETIME
,
480 WS_NL80211_ATTR_PMK_REAUTH_THRESHOLD
,
481 WS_NL80211_ATTR_RECEIVE_MULTICAST
,
482 WS_NL80211_ATTR_WIPHY_FREQ_OFFSET
,
483 WS_NL80211_ATTR_CENTER_FREQ1_OFFSET
,
484 WS_NL80211_ATTR_SCAN_FREQ_KHZ
,
485 WS_NL80211_ATTR_HE_6GHZ_CAPABILITY
,
486 WS_NL80211_ATTR_FILS_DISCOVERY
,
487 WS_NL80211_ATTR_UNSOL_BCAST_PROBE_RESP
,
488 WS_NL80211_ATTR_S1G_CAPABILITY
,
489 WS_NL80211_ATTR_S1G_CAPABILITY_MASK
,
490 WS_NL80211_ATTR_SAE_PWE
,
491 WS_NL80211_ATTR_RECONNECT_REQUESTED
,
492 WS_NL80211_ATTR_SAR_SPEC
,
493 WS_NL80211_ATTR_DISABLE_HE
,
494 WS_NL80211_ATTR_OBSS_COLOR_BITMAP
,
495 WS_NL80211_ATTR_COLOR_CHANGE_COUNT
,
496 WS_NL80211_ATTR_COLOR_CHANGE_COLOR
,
497 WS_NL80211_ATTR_COLOR_CHANGE_ELEMS
,
498 WS_NL80211_ATTR_MBSSID_CONFIG
,
499 WS_NL80211_ATTR_MBSSID_ELEMS
,
500 WS_NL80211_ATTR_RADAR_BACKGROUND
,
501 WS_NL80211_ATTR_AP_SETTINGS_FLAGS
,
502 WS_NL80211_ATTR_EHT_CAPABILITY
,
503 WS_NL80211_ATTR_DISABLE_EHT
,
504 WS_NL80211_ATTR_MLO_LINKS
,
505 WS_NL80211_ATTR_MLO_LINK_ID
,
506 WS_NL80211_ATTR_MLD_ADDR
,
507 WS_NL80211_ATTR_MLO_SUPPORT
,
508 WS_NL80211_ATTR_MAX_NUM_AKM_SUITES
,
509 WS_NL80211_ATTR_EML_CAPABILITY
,
510 WS_NL80211_ATTR_MLD_CAPA_AND_OPS
,
511 WS_NL80211_ATTR_TX_HW_TIMESTAMP
,
512 WS_NL80211_ATTR_RX_HW_TIMESTAMP
,
513 WS_NL80211_ATTR_TD_BITMAP
,
514 WS_NL80211_ATTR_PUNCT_BITMAP
,
515 WS_NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS
,
516 WS_NL80211_ATTR_HW_TIMESTAMP_ENABLED
,
517 WS_NL80211_ATTR_EMA_RNR_ELEMS
,
518 WS_NL80211_ATTR_MLO_LINK_DISABLED
,
519 WS_NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA
,
520 WS_NL80211_ATTR_MLO_TTLM_DLINK
,
521 WS_NL80211_ATTR_MLO_TTLM_ULINK
,
522 WS_NL80211_ATTR_ASSOC_SPP_AMSDU
,
523 WS_NL80211_ATTR_WIPHY_RADIOS
,
524 WS_NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS
,
527 enum ws_nl80211_iftype
{
528 WS_NL80211_IFTYPE_UNSPECIFIED
,
529 WS_NL80211_IFTYPE_ADHOC
,
530 WS_NL80211_IFTYPE_STATION
,
531 WS_NL80211_IFTYPE_AP
,
532 WS_NL80211_IFTYPE_AP_VLAN
,
533 WS_NL80211_IFTYPE_WDS
,
534 WS_NL80211_IFTYPE_MONITOR
,
535 WS_NL80211_IFTYPE_MESH_POINT
,
536 WS_NL80211_IFTYPE_P2P_CLIENT
,
537 WS_NL80211_IFTYPE_P2P_GO
,
538 WS_NL80211_IFTYPE_P2P_DEVICE
,
539 WS_NL80211_IFTYPE_OCB
,
540 WS_NL80211_IFTYPE_NAN
,
543 enum ws_nl80211_sta_flags
{
544 WS___NL80211_STA_FLAG_INVALID
,
545 WS_NL80211_STA_FLAG_AUTHORIZED
,
546 WS_NL80211_STA_FLAG_SHORT_PREAMBLE
,
547 WS_NL80211_STA_FLAG_WME
,
548 WS_NL80211_STA_FLAG_MFP
,
549 WS_NL80211_STA_FLAG_AUTHENTICATED
,
550 WS_NL80211_STA_FLAG_TDLS_PEER
,
551 WS_NL80211_STA_FLAG_ASSOCIATED
,
552 WS_NL80211_STA_FLAG_SPP_AMSDU
,
555 enum ws_nl80211_sta_p2p_ps_status
{
556 WS_NL80211_P2P_PS_UNSUPPORTED
= 0,
557 WS_NL80211_P2P_PS_SUPPORTED
,
560 enum ws_nl80211_he_gi
{
561 WS_NL80211_RATE_INFO_HE_GI_0_8
,
562 WS_NL80211_RATE_INFO_HE_GI_1_6
,
563 WS_NL80211_RATE_INFO_HE_GI_3_2
,
566 enum ws_nl80211_he_ltf
{
567 WS_NL80211_RATE_INFO_HE_1XLTF
,
568 WS_NL80211_RATE_INFO_HE_2XLTF
,
569 WS_NL80211_RATE_INFO_HE_4XLTF
,
572 enum ws_nl80211_he_ru_alloc
{
573 WS_NL80211_RATE_INFO_HE_RU_ALLOC_26
,
574 WS_NL80211_RATE_INFO_HE_RU_ALLOC_52
,
575 WS_NL80211_RATE_INFO_HE_RU_ALLOC_106
,
576 WS_NL80211_RATE_INFO_HE_RU_ALLOC_242
,
577 WS_NL80211_RATE_INFO_HE_RU_ALLOC_484
,
578 WS_NL80211_RATE_INFO_HE_RU_ALLOC_996
,
579 WS_NL80211_RATE_INFO_HE_RU_ALLOC_2x996
,
582 enum ws_nl80211_eht_gi
{
583 WS_NL80211_RATE_INFO_EHT_GI_0_8
,
584 WS_NL80211_RATE_INFO_EHT_GI_1_6
,
585 WS_NL80211_RATE_INFO_EHT_GI_3_2
,
588 enum ws_nl80211_eht_ru_alloc
{
589 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_26
,
590 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52
,
591 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52P26
,
592 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106
,
593 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106P26
,
594 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_242
,
595 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484
,
596 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484P242
,
597 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996
,
598 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484
,
599 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242
,
600 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996
,
601 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484
,
602 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996
,
603 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484
,
604 WS_NL80211_RATE_INFO_EHT_RU_ALLOC_4x996
,
607 enum ws_nl80211_rate_info
{
608 WS___NL80211_RATE_INFO_INVALID
,
609 WS_NL80211_RATE_INFO_BITRATE
,
610 WS_NL80211_RATE_INFO_MCS
,
611 WS_NL80211_RATE_INFO_40_MHZ_WIDTH
,
612 WS_NL80211_RATE_INFO_SHORT_GI
,
613 WS_NL80211_RATE_INFO_BITRATE32
,
614 WS_NL80211_RATE_INFO_VHT_MCS
,
615 WS_NL80211_RATE_INFO_VHT_NSS
,
616 WS_NL80211_RATE_INFO_80_MHZ_WIDTH
,
617 WS_NL80211_RATE_INFO_80P80_MHZ_WIDTH
,
618 WS_NL80211_RATE_INFO_160_MHZ_WIDTH
,
619 WS_NL80211_RATE_INFO_10_MHZ_WIDTH
,
620 WS_NL80211_RATE_INFO_5_MHZ_WIDTH
,
621 WS_NL80211_RATE_INFO_HE_MCS
,
622 WS_NL80211_RATE_INFO_HE_NSS
,
623 WS_NL80211_RATE_INFO_HE_GI
,
624 WS_NL80211_RATE_INFO_HE_DCM
,
625 WS_NL80211_RATE_INFO_HE_RU_ALLOC
,
626 WS_NL80211_RATE_INFO_320_MHZ_WIDTH
,
627 WS_NL80211_RATE_INFO_EHT_MCS
,
628 WS_NL80211_RATE_INFO_EHT_NSS
,
629 WS_NL80211_RATE_INFO_EHT_GI
,
630 WS_NL80211_RATE_INFO_EHT_RU_ALLOC
,
631 WS_NL80211_RATE_INFO_S1G_MCS
,
632 WS_NL80211_RATE_INFO_S1G_NSS
,
633 WS_NL80211_RATE_INFO_1_MHZ_WIDTH
,
634 WS_NL80211_RATE_INFO_2_MHZ_WIDTH
,
635 WS_NL80211_RATE_INFO_4_MHZ_WIDTH
,
636 WS_NL80211_RATE_INFO_8_MHZ_WIDTH
,
637 WS_NL80211_RATE_INFO_16_MHZ_WIDTH
,
640 enum ws_nl80211_sta_bss_param
{
641 WS___NL80211_STA_BSS_PARAM_INVALID
,
642 WS_NL80211_STA_BSS_PARAM_CTS_PROT
,
643 WS_NL80211_STA_BSS_PARAM_SHORT_PREAMBLE
,
644 WS_NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME
,
645 WS_NL80211_STA_BSS_PARAM_DTIM_PERIOD
,
646 WS_NL80211_STA_BSS_PARAM_BEACON_INTERVAL
,
649 enum ws_nl80211_sta_info
{
650 WS___NL80211_STA_INFO_INVALID
,
651 WS_NL80211_STA_INFO_INACTIVE_TIME
,
652 WS_NL80211_STA_INFO_RX_BYTES
,
653 WS_NL80211_STA_INFO_TX_BYTES
,
654 WS_NL80211_STA_INFO_LLID
,
655 WS_NL80211_STA_INFO_PLID
,
656 WS_NL80211_STA_INFO_PLINK_STATE
,
657 WS_NL80211_STA_INFO_SIGNAL
,
658 WS_NL80211_STA_INFO_TX_BITRATE
,
659 WS_NL80211_STA_INFO_RX_PACKETS
,
660 WS_NL80211_STA_INFO_TX_PACKETS
,
661 WS_NL80211_STA_INFO_TX_RETRIES
,
662 WS_NL80211_STA_INFO_TX_FAILED
,
663 WS_NL80211_STA_INFO_SIGNAL_AVG
,
664 WS_NL80211_STA_INFO_RX_BITRATE
,
665 WS_NL80211_STA_INFO_BSS_PARAM
,
666 WS_NL80211_STA_INFO_CONNECTED_TIME
,
667 WS_NL80211_STA_INFO_STA_FLAGS
,
668 WS_NL80211_STA_INFO_BEACON_LOSS
,
669 WS_NL80211_STA_INFO_T_OFFSET
,
670 WS_NL80211_STA_INFO_LOCAL_PM
,
671 WS_NL80211_STA_INFO_PEER_PM
,
672 WS_NL80211_STA_INFO_NONPEER_PM
,
673 WS_NL80211_STA_INFO_RX_BYTES64
,
674 WS_NL80211_STA_INFO_TX_BYTES64
,
675 WS_NL80211_STA_INFO_CHAIN_SIGNAL
,
676 WS_NL80211_STA_INFO_CHAIN_SIGNAL_AVG
,
677 WS_NL80211_STA_INFO_EXPECTED_THROUGHPUT
,
678 WS_NL80211_STA_INFO_RX_DROP_MISC
,
679 WS_NL80211_STA_INFO_BEACON_RX
,
680 WS_NL80211_STA_INFO_BEACON_SIGNAL_AVG
,
681 WS_NL80211_STA_INFO_TID_STATS
,
682 WS_NL80211_STA_INFO_RX_DURATION
,
683 WS_NL80211_STA_INFO_PAD
,
684 WS_NL80211_STA_INFO_ACK_SIGNAL
,
685 WS_NL80211_STA_INFO_ACK_SIGNAL_AVG
,
686 WS_NL80211_STA_INFO_RX_MPDUS
,
687 WS_NL80211_STA_INFO_FCS_ERROR_COUNT
,
688 WS_NL80211_STA_INFO_CONNECTED_TO_GATE
,
689 WS_NL80211_STA_INFO_TX_DURATION
,
690 WS_NL80211_STA_INFO_AIRTIME_WEIGHT
,
691 WS_NL80211_STA_INFO_AIRTIME_LINK_METRIC
,
692 WS_NL80211_STA_INFO_ASSOC_AT_BOOTTIME
,
693 WS_NL80211_STA_INFO_CONNECTED_TO_AS
,
696 enum ws_nl80211_tid_stats
{
697 WS___NL80211_TID_STATS_INVALID
,
698 WS_NL80211_TID_STATS_RX_MSDU
,
699 WS_NL80211_TID_STATS_TX_MSDU
,
700 WS_NL80211_TID_STATS_TX_MSDU_RETRIES
,
701 WS_NL80211_TID_STATS_TX_MSDU_FAILED
,
702 WS_NL80211_TID_STATS_PAD
,
703 WS_NL80211_TID_STATS_TXQ_STATS
,
706 enum ws_nl80211_txq_stats
{
707 WS___NL80211_TXQ_STATS_INVALID
,
708 WS_NL80211_TXQ_STATS_BACKLOG_BYTES
,
709 WS_NL80211_TXQ_STATS_BACKLOG_PACKETS
,
710 WS_NL80211_TXQ_STATS_FLOWS
,
711 WS_NL80211_TXQ_STATS_DROPS
,
712 WS_NL80211_TXQ_STATS_ECN_MARKS
,
713 WS_NL80211_TXQ_STATS_OVERLIMIT
,
714 WS_NL80211_TXQ_STATS_OVERMEMORY
,
715 WS_NL80211_TXQ_STATS_COLLISIONS
,
716 WS_NL80211_TXQ_STATS_TX_BYTES
,
717 WS_NL80211_TXQ_STATS_TX_PACKETS
,
718 WS_NL80211_TXQ_STATS_MAX_FLOWS
,
721 enum ws_nl80211_mpath_flags
{
722 WS_NL80211_MPATH_FLAG_ACTIVE
= 1<<0,
723 WS_NL80211_MPATH_FLAG_RESOLVING
= 1<<1,
724 WS_NL80211_MPATH_FLAG_SN_VALID
= 1<<2,
725 WS_NL80211_MPATH_FLAG_FIXED
= 1<<3,
726 WS_NL80211_MPATH_FLAG_RESOLVED
= 1<<4,
729 enum ws_nl80211_mpath_info
{
730 WS___NL80211_MPATH_INFO_INVALID
,
731 WS_NL80211_MPATH_INFO_FRAME_QLEN
,
732 WS_NL80211_MPATH_INFO_SN
,
733 WS_NL80211_MPATH_INFO_METRIC
,
734 WS_NL80211_MPATH_INFO_EXPTIME
,
735 WS_NL80211_MPATH_INFO_FLAGS
,
736 WS_NL80211_MPATH_INFO_DISCOVERY_TIMEOUT
,
737 WS_NL80211_MPATH_INFO_DISCOVERY_RETRIES
,
738 WS_NL80211_MPATH_INFO_HOP_COUNT
,
739 WS_NL80211_MPATH_INFO_PATH_CHANGE
,
742 enum ws_nl80211_band_iftype_attr
{
743 WS___NL80211_BAND_IFTYPE_ATTR_INVALID
,
744 WS_NL80211_BAND_IFTYPE_ATTR_IFTYPES
,
745 WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC
,
746 WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY
,
747 WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET
,
748 WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE
,
749 WS_NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA
,
750 WS_NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS
,
751 WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC
,
752 WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
,
753 WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET
,
754 WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE
,
757 enum ws_nl80211_band_attr
{
758 WS___NL80211_BAND_ATTR_INVALID
,
759 WS_NL80211_BAND_ATTR_FREQS
,
760 WS_NL80211_BAND_ATTR_RATES
,
761 WS_NL80211_BAND_ATTR_HT_MCS_SET
,
762 WS_NL80211_BAND_ATTR_HT_CAPA
,
763 WS_NL80211_BAND_ATTR_HT_AMPDU_FACTOR
,
764 WS_NL80211_BAND_ATTR_HT_AMPDU_DENSITY
,
765 WS_NL80211_BAND_ATTR_VHT_MCS_SET
,
766 WS_NL80211_BAND_ATTR_VHT_CAPA
,
767 WS_NL80211_BAND_ATTR_IFTYPE_DATA
,
768 WS_NL80211_BAND_ATTR_EDMG_CHANNELS
,
769 WS_NL80211_BAND_ATTR_EDMG_BW_CONFIG
,
770 WS_NL80211_BAND_ATTR_S1G_MCS_NSS_SET
,
771 WS_NL80211_BAND_ATTR_S1G_CAPA
,
774 enum ws_nl80211_wmm_rule
{
775 WS___NL80211_WMMR_INVALID
,
776 WS_NL80211_WMMR_CW_MIN
,
777 WS_NL80211_WMMR_CW_MAX
,
778 WS_NL80211_WMMR_AIFSN
,
779 WS_NL80211_WMMR_TXOP
,
782 enum ws_nl80211_frequency_attr
{
783 WS___NL80211_FREQUENCY_ATTR_INVALID
,
784 WS_NL80211_FREQUENCY_ATTR_FREQ
,
785 WS_NL80211_FREQUENCY_ATTR_DISABLED
,
786 WS_NL80211_FREQUENCY_ATTR_NO_IR
,
787 WS___NL80211_FREQUENCY_ATTR_NO_IBSS
,
788 WS_NL80211_FREQUENCY_ATTR_RADAR
,
789 WS_NL80211_FREQUENCY_ATTR_MAX_TX_POWER
,
790 WS_NL80211_FREQUENCY_ATTR_DFS_STATE
,
791 WS_NL80211_FREQUENCY_ATTR_DFS_TIME
,
792 WS_NL80211_FREQUENCY_ATTR_NO_HT40_MINUS
,
793 WS_NL80211_FREQUENCY_ATTR_NO_HT40_PLUS
,
794 WS_NL80211_FREQUENCY_ATTR_NO_80MHZ
,
795 WS_NL80211_FREQUENCY_ATTR_NO_160MHZ
,
796 WS_NL80211_FREQUENCY_ATTR_DFS_CAC_TIME
,
797 WS_NL80211_FREQUENCY_ATTR_INDOOR_ONLY
,
798 WS_NL80211_FREQUENCY_ATTR_IR_CONCURRENT
,
799 WS_NL80211_FREQUENCY_ATTR_NO_20MHZ
,
800 WS_NL80211_FREQUENCY_ATTR_NO_10MHZ
,
801 WS_NL80211_FREQUENCY_ATTR_WMM
,
802 WS_NL80211_FREQUENCY_ATTR_NO_HE
,
803 WS_NL80211_FREQUENCY_ATTR_OFFSET
,
804 WS_NL80211_FREQUENCY_ATTR_1MHZ
,
805 WS_NL80211_FREQUENCY_ATTR_2MHZ
,
806 WS_NL80211_FREQUENCY_ATTR_4MHZ
,
807 WS_NL80211_FREQUENCY_ATTR_8MHZ
,
808 WS_NL80211_FREQUENCY_ATTR_16MHZ
,
809 WS_NL80211_FREQUENCY_ATTR_NO_320MHZ
,
810 WS_NL80211_FREQUENCY_ATTR_NO_EHT
,
811 WS_NL80211_FREQUENCY_ATTR_PSD
,
812 WS_NL80211_FREQUENCY_ATTR_DFS_CONCURRENT
,
813 WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT
,
814 WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT
,
815 WS_NL80211_FREQUENCY_ATTR_CAN_MONITOR
,
816 WS_NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP
,
819 enum ws_nl80211_bitrate_attr
{
820 WS___NL80211_BITRATE_ATTR_INVALID
,
821 WS_NL80211_BITRATE_ATTR_RATE
,
822 WS_NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE
,
825 enum ws_nl80211_reg_initiator
{
826 WS_NL80211_REGDOM_SET_BY_CORE
,
827 WS_NL80211_REGDOM_SET_BY_USER
,
828 WS_NL80211_REGDOM_SET_BY_DRIVER
,
829 WS_NL80211_REGDOM_SET_BY_COUNTRY_IE
,
832 enum ws_nl80211_reg_type
{
833 WS_NL80211_REGDOM_TYPE_COUNTRY
,
834 WS_NL80211_REGDOM_TYPE_WORLD
,
835 WS_NL80211_REGDOM_TYPE_CUSTOM_WORLD
,
836 WS_NL80211_REGDOM_TYPE_INTERSECTION
,
839 enum ws_nl80211_reg_rule_attr
{
840 WS___NL80211_REG_RULE_ATTR_INVALID
,
841 WS_NL80211_ATTR_REG_RULE_FLAGS
,
842 WS_NL80211_ATTR_FREQ_RANGE_START
,
843 WS_NL80211_ATTR_FREQ_RANGE_END
,
844 WS_NL80211_ATTR_FREQ_RANGE_MAX_BW
,
845 WS_NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN
,
846 WS_NL80211_ATTR_POWER_RULE_MAX_EIRP
,
847 WS_NL80211_ATTR_DFS_CAC_TIME
,
848 WS_NL80211_ATTR_POWER_RULE_PSD
,
851 enum ws_nl80211_sched_scan_match_attr
{
852 WS___NL80211_SCHED_SCAN_MATCH_ATTR_INVALID
,
853 WS_NL80211_SCHED_SCAN_MATCH_ATTR_SSID
,
854 WS_NL80211_SCHED_SCAN_MATCH_ATTR_RSSI
,
855 WS_NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI
,
856 WS_NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST
,
857 WS_NL80211_SCHED_SCAN_MATCH_ATTR_BSSID
,
858 WS_NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI
,
861 enum ws_nl80211_reg_rule_flags
{
862 WS_NL80211_RRF_NO_OFDM
= 1<<0,
863 WS_NL80211_RRF_NO_CCK
= 1<<1,
864 WS_NL80211_RRF_NO_INDOOR
= 1<<2,
865 WS_NL80211_RRF_NO_OUTDOOR
= 1<<3,
866 WS_NL80211_RRF_DFS
= 1<<4,
867 WS_NL80211_RRF_PTP_ONLY
= 1<<5,
868 WS_NL80211_RRF_PTMP_ONLY
= 1<<6,
869 WS_NL80211_RRF_NO_IR
= 1<<7,
870 WS___NL80211_RRF_NO_IBSS
= 1<<8,
871 WS_NL80211_RRF_AUTO_BW
= 1<<11,
872 WS_NL80211_RRF_IR_CONCURRENT
= 1<<12,
873 WS_NL80211_RRF_NO_HT40MINUS
= 1<<13,
874 WS_NL80211_RRF_NO_HT40PLUS
= 1<<14,
875 WS_NL80211_RRF_NO_80MHZ
= 1<<15,
876 WS_NL80211_RRF_NO_160MHZ
= 1<<16,
877 WS_NL80211_RRF_NO_HE
= 1<<17,
878 WS_NL80211_RRF_NO_320MHZ
= 1<<18,
879 WS_NL80211_RRF_NO_EHT
= 1<<19,
880 WS_NL80211_RRF_PSD
= 1<<20,
881 WS_NL80211_RRF_DFS_CONCURRENT
= 1<<21,
882 WS_NL80211_RRF_NO_6GHZ_VLP_CLIENT
= 1<<22,
883 WS_NL80211_RRF_NO_6GHZ_AFC_CLIENT
= 1<<23,
884 WS_NL80211_RRF_ALLOW_6GHZ_VLP_AP
= 1<<24,
887 enum ws_nl80211_dfs_regions
{
888 WS_NL80211_DFS_UNSET
= 0,
889 WS_NL80211_DFS_FCC
= 1,
890 WS_NL80211_DFS_ETSI
= 2,
891 WS_NL80211_DFS_JP
= 3,
894 enum ws_nl80211_user_reg_hint_type
{
895 WS_NL80211_USER_REG_HINT_USER
= 0,
896 WS_NL80211_USER_REG_HINT_CELL_BASE
= 1,
897 WS_NL80211_USER_REG_HINT_INDOOR
= 2,
900 enum ws_nl80211_survey_info
{
901 WS___NL80211_SURVEY_INFO_INVALID
,
902 WS_NL80211_SURVEY_INFO_FREQUENCY
,
903 WS_NL80211_SURVEY_INFO_NOISE
,
904 WS_NL80211_SURVEY_INFO_IN_USE
,
905 WS_NL80211_SURVEY_INFO_TIME
,
906 WS_NL80211_SURVEY_INFO_TIME_BUSY
,
907 WS_NL80211_SURVEY_INFO_TIME_EXT_BUSY
,
908 WS_NL80211_SURVEY_INFO_TIME_RX
,
909 WS_NL80211_SURVEY_INFO_TIME_TX
,
910 WS_NL80211_SURVEY_INFO_TIME_SCAN
,
911 WS_NL80211_SURVEY_INFO_PAD
,
912 WS_NL80211_SURVEY_INFO_TIME_BSS_RX
,
913 WS_NL80211_SURVEY_INFO_FREQUENCY_OFFSET
,
916 enum ws_nl80211_mntr_flags
{
917 WS___NL80211_MNTR_FLAG_INVALID
,
918 WS_NL80211_MNTR_FLAG_FCSFAIL
,
919 WS_NL80211_MNTR_FLAG_PLCPFAIL
,
920 WS_NL80211_MNTR_FLAG_CONTROL
,
921 WS_NL80211_MNTR_FLAG_OTHER_BSS
,
922 WS_NL80211_MNTR_FLAG_COOK_FRAMES
,
923 WS_NL80211_MNTR_FLAG_ACTIVE
,
926 enum ws_nl80211_mesh_power_mode
{
927 WS_NL80211_MESH_POWER_UNKNOWN
,
928 WS_NL80211_MESH_POWER_ACTIVE
,
929 WS_NL80211_MESH_POWER_LIGHT_SLEEP
,
930 WS_NL80211_MESH_POWER_DEEP_SLEEP
,
933 enum ws_nl80211_meshconf_params
{
934 WS___NL80211_MESHCONF_INVALID
,
935 WS_NL80211_MESHCONF_RETRY_TIMEOUT
,
936 WS_NL80211_MESHCONF_CONFIRM_TIMEOUT
,
937 WS_NL80211_MESHCONF_HOLDING_TIMEOUT
,
938 WS_NL80211_MESHCONF_MAX_PEER_LINKS
,
939 WS_NL80211_MESHCONF_MAX_RETRIES
,
940 WS_NL80211_MESHCONF_TTL
,
941 WS_NL80211_MESHCONF_AUTO_OPEN_PLINKS
,
942 WS_NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES
,
943 WS_NL80211_MESHCONF_PATH_REFRESH_TIME
,
944 WS_NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT
,
945 WS_NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT
,
946 WS_NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL
,
947 WS_NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME
,
948 WS_NL80211_MESHCONF_HWMP_ROOTMODE
,
949 WS_NL80211_MESHCONF_ELEMENT_TTL
,
950 WS_NL80211_MESHCONF_HWMP_RANN_INTERVAL
,
951 WS_NL80211_MESHCONF_GATE_ANNOUNCEMENTS
,
952 WS_NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL
,
953 WS_NL80211_MESHCONF_FORWARDING
,
954 WS_NL80211_MESHCONF_RSSI_THRESHOLD
,
955 WS_NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR
,
956 WS_NL80211_MESHCONF_HT_OPMODE
,
957 WS_NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT
,
958 WS_NL80211_MESHCONF_HWMP_ROOT_INTERVAL
,
959 WS_NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL
,
960 WS_NL80211_MESHCONF_POWER_MODE
,
961 WS_NL80211_MESHCONF_AWAKE_WINDOW
,
962 WS_NL80211_MESHCONF_PLINK_TIMEOUT
,
963 WS_NL80211_MESHCONF_CONNECTED_TO_GATE
,
964 WS_NL80211_MESHCONF_NOLEARN
,
965 WS_NL80211_MESHCONF_CONNECTED_TO_AS
,
968 enum ws_nl80211_mesh_setup_params
{
969 WS___NL80211_MESH_SETUP_INVALID
,
970 WS_NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL
,
971 WS_NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC
,
972 WS_NL80211_MESH_SETUP_IE
,
973 WS_NL80211_MESH_SETUP_USERSPACE_AUTH
,
974 WS_NL80211_MESH_SETUP_USERSPACE_AMPE
,
975 WS_NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC
,
976 WS_NL80211_MESH_SETUP_USERSPACE_MPM
,
977 WS_NL80211_MESH_SETUP_AUTH_PROTOCOL
,
980 enum ws_nl80211_txq_attr
{
981 WS___NL80211_TXQ_ATTR_INVALID
,
982 WS_NL80211_TXQ_ATTR_AC
,
983 WS_NL80211_TXQ_ATTR_TXOP
,
984 WS_NL80211_TXQ_ATTR_CWMIN
,
985 WS_NL80211_TXQ_ATTR_CWMAX
,
986 WS_NL80211_TXQ_ATTR_AIFS
,
997 enum ws_nl80211_channel_type
{
998 WS_NL80211_CHAN_NO_HT
,
999 WS_NL80211_CHAN_HT20
,
1000 WS_NL80211_CHAN_HT40MINUS
,
1001 WS_NL80211_CHAN_HT40PLUS
,
1004 enum ws_nl80211_key_mode
{
1005 WS_NL80211_KEY_RX_TX
,
1006 WS_NL80211_KEY_NO_TX
,
1007 WS_NL80211_KEY_SET_TX
,
1010 enum ws_nl80211_chan_width
{
1011 WS_NL80211_CHAN_WIDTH_20_NOHT
,
1012 WS_NL80211_CHAN_WIDTH_20
,
1013 WS_NL80211_CHAN_WIDTH_40
,
1014 WS_NL80211_CHAN_WIDTH_80
,
1015 WS_NL80211_CHAN_WIDTH_80P80
,
1016 WS_NL80211_CHAN_WIDTH_160
,
1017 WS_NL80211_CHAN_WIDTH_5
,
1018 WS_NL80211_CHAN_WIDTH_10
,
1019 WS_NL80211_CHAN_WIDTH_1
,
1020 WS_NL80211_CHAN_WIDTH_2
,
1021 WS_NL80211_CHAN_WIDTH_4
,
1022 WS_NL80211_CHAN_WIDTH_8
,
1023 WS_NL80211_CHAN_WIDTH_16
,
1024 WS_NL80211_CHAN_WIDTH_320
,
1027 enum ws_nl80211_bss_scan_width
{
1028 WS_NL80211_BSS_CHAN_WIDTH_20
,
1029 WS_NL80211_BSS_CHAN_WIDTH_10
,
1030 WS_NL80211_BSS_CHAN_WIDTH_5
,
1031 WS_NL80211_BSS_CHAN_WIDTH_1
,
1032 WS_NL80211_BSS_CHAN_WIDTH_2
,
1035 enum ws_nl80211_bss_use_for
{
1036 WS_NL80211_BSS_USE_FOR_NORMAL
= 1 << 0,
1037 WS_NL80211_BSS_USE_FOR_MLD_LINK
= 1 << 1,
1040 enum ws_nl80211_bss_cannot_use_reasons
{
1041 WS_NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY
= 1 << 0,
1042 WS_NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH
= 1 << 1,
1045 enum ws_nl80211_bss
{
1046 WS___NL80211_BSS_INVALID
,
1047 WS_NL80211_BSS_BSSID
,
1048 WS_NL80211_BSS_FREQUENCY
,
1050 WS_NL80211_BSS_BEACON_INTERVAL
,
1051 WS_NL80211_BSS_CAPABILITY
,
1052 WS_NL80211_BSS_INFORMATION_ELEMENTS
,
1053 WS_NL80211_BSS_SIGNAL_MBM
,
1054 WS_NL80211_BSS_SIGNAL_UNSPEC
,
1055 WS_NL80211_BSS_STATUS
,
1056 WS_NL80211_BSS_SEEN_MS_AGO
,
1057 WS_NL80211_BSS_BEACON_IES
,
1058 WS_NL80211_BSS_CHAN_WIDTH
,
1059 WS_NL80211_BSS_BEACON_TSF
,
1060 WS_NL80211_BSS_PRESP_DATA
,
1061 WS_NL80211_BSS_LAST_SEEN_BOOTTIME
,
1063 WS_NL80211_BSS_PARENT_TSF
,
1064 WS_NL80211_BSS_PARENT_BSSID
,
1065 WS_NL80211_BSS_CHAIN_SIGNAL
,
1066 WS_NL80211_BSS_FREQUENCY_OFFSET
,
1067 WS_NL80211_BSS_MLO_LINK_ID
,
1068 WS_NL80211_BSS_MLD_ADDR
,
1069 WS_NL80211_BSS_USE_FOR
,
1070 WS_NL80211_BSS_CANNOT_USE_REASONS
,
1073 enum ws_nl80211_bss_status
{
1074 WS_NL80211_BSS_STATUS_AUTHENTICATED
,
1075 WS_NL80211_BSS_STATUS_ASSOCIATED
,
1076 WS_NL80211_BSS_STATUS_IBSS_JOINED
,
1079 enum ws_nl80211_auth_type
{
1080 WS_NL80211_AUTHTYPE_OPEN_SYSTEM
,
1081 WS_NL80211_AUTHTYPE_SHARED_KEY
,
1082 WS_NL80211_AUTHTYPE_FT
,
1083 WS_NL80211_AUTHTYPE_NETWORK_EAP
,
1084 WS_NL80211_AUTHTYPE_SAE
,
1085 WS_NL80211_AUTHTYPE_FILS_SK
,
1086 WS_NL80211_AUTHTYPE_FILS_SK_PFS
,
1087 WS_NL80211_AUTHTYPE_FILS_PK
,
1090 enum ws_nl80211_key_type
{
1091 WS_NL80211_KEYTYPE_GROUP
,
1092 WS_NL80211_KEYTYPE_PAIRWISE
,
1093 WS_NL80211_KEYTYPE_PEERKEY
,
1096 enum ws_nl80211_mfp
{
1098 WS_NL80211_MFP_REQUIRED
,
1099 WS_NL80211_MFP_OPTIONAL
,
1102 enum ws_nl80211_wpa_versions
{
1103 WS_NL80211_WPA_VERSION_1
= 1 << 0,
1104 WS_NL80211_WPA_VERSION_2
= 1 << 1,
1105 WS_NL80211_WPA_VERSION_3
= 1 << 2,
1108 enum ws_nl80211_key_default_types
{
1109 WS___NL80211_KEY_DEFAULT_TYPE_INVALID
,
1110 WS_NL80211_KEY_DEFAULT_TYPE_UNICAST
,
1111 WS_NL80211_KEY_DEFAULT_TYPE_MULTICAST
,
1114 enum ws_nl80211_key_attributes
{
1115 WS___NL80211_KEY_INVALID
,
1116 WS_NL80211_KEY_DATA
,
1118 WS_NL80211_KEY_CIPHER
,
1120 WS_NL80211_KEY_DEFAULT
,
1121 WS_NL80211_KEY_DEFAULT_MGMT
,
1122 WS_NL80211_KEY_TYPE
,
1123 WS_NL80211_KEY_DEFAULT_TYPES
,
1124 WS_NL80211_KEY_MODE
,
1125 WS_NL80211_KEY_DEFAULT_BEACON
,
1128 enum ws_nl80211_tx_rate_attributes
{
1129 WS___NL80211_TXRATE_INVALID
,
1130 WS_NL80211_TXRATE_LEGACY
,
1131 WS_NL80211_TXRATE_HT
,
1132 WS_NL80211_TXRATE_VHT
,
1133 WS_NL80211_TXRATE_GI
,
1134 WS_NL80211_TXRATE_HE
,
1135 WS_NL80211_TXRATE_HE_GI
,
1136 WS_NL80211_TXRATE_HE_LTF
,
1139 enum ws_nl80211_txrate_gi
{
1140 WS_NL80211_TXRATE_DEFAULT_GI
,
1141 WS_NL80211_TXRATE_FORCE_SGI
,
1142 WS_NL80211_TXRATE_FORCE_LGI
,
1145 enum ws_nl80211_band
{
1146 WS_NL80211_BAND_2GHZ
,
1147 WS_NL80211_BAND_5GHZ
,
1148 WS_NL80211_BAND_60GHZ
,
1149 WS_NL80211_BAND_6GHZ
,
1150 WS_NL80211_BAND_S1GHZ
,
1154 enum ws_nl80211_ps_state
{
1155 WS_NL80211_PS_DISABLED
,
1156 WS_NL80211_PS_ENABLED
,
1159 enum ws_nl80211_attr_cqm
{
1160 WS___NL80211_ATTR_CQM_INVALID
,
1161 WS_NL80211_ATTR_CQM_RSSI_THOLD
,
1162 WS_NL80211_ATTR_CQM_RSSI_HYST
,
1163 WS_NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT
,
1164 WS_NL80211_ATTR_CQM_PKT_LOSS_EVENT
,
1165 WS_NL80211_ATTR_CQM_TXE_RATE
,
1166 WS_NL80211_ATTR_CQM_TXE_PKTS
,
1167 WS_NL80211_ATTR_CQM_TXE_INTVL
,
1168 WS_NL80211_ATTR_CQM_BEACON_LOSS_EVENT
,
1169 WS_NL80211_ATTR_CQM_RSSI_LEVEL
,
1172 enum ws_nl80211_cqm_rssi_threshold_event
{
1173 WS_NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW
,
1174 WS_NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH
,
1175 WS_NL80211_CQM_RSSI_BEACON_LOSS_EVENT
,
1178 enum ws_nl80211_tx_power_setting
{
1179 WS_NL80211_TX_POWER_AUTOMATIC
,
1180 WS_NL80211_TX_POWER_LIMITED
,
1181 WS_NL80211_TX_POWER_FIXED
,
1184 enum ws_nl80211_tid_config
{
1185 WS_NL80211_TID_CONFIG_ENABLE
,
1186 WS_NL80211_TID_CONFIG_DISABLE
,
1189 enum ws_nl80211_tx_rate_setting
{
1190 WS_NL80211_TX_RATE_AUTOMATIC
,
1191 WS_NL80211_TX_RATE_LIMITED
,
1192 WS_NL80211_TX_RATE_FIXED
,
1195 enum ws_nl80211_tid_config_attr
{
1196 WS___NL80211_TID_CONFIG_ATTR_INVALID
,
1197 WS_NL80211_TID_CONFIG_ATTR_PAD
,
1198 WS_NL80211_TID_CONFIG_ATTR_VIF_SUPP
,
1199 WS_NL80211_TID_CONFIG_ATTR_PEER_SUPP
,
1200 WS_NL80211_TID_CONFIG_ATTR_OVERRIDE
,
1201 WS_NL80211_TID_CONFIG_ATTR_TIDS
,
1202 WS_NL80211_TID_CONFIG_ATTR_NOACK
,
1203 WS_NL80211_TID_CONFIG_ATTR_RETRY_SHORT
,
1204 WS_NL80211_TID_CONFIG_ATTR_RETRY_LONG
,
1205 WS_NL80211_TID_CONFIG_ATTR_AMPDU_CTRL
,
1206 WS_NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL
,
1207 WS_NL80211_TID_CONFIG_ATTR_AMSDU_CTRL
,
1208 WS_NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE
,
1209 WS_NL80211_TID_CONFIG_ATTR_TX_RATE
,
1212 enum ws_nl80211_packet_pattern_attr
{
1213 WS___NL80211_PKTPAT_INVALID
,
1214 WS_NL80211_PKTPAT_MASK
,
1215 WS_NL80211_PKTPAT_PATTERN
,
1216 WS_NL80211_PKTPAT_OFFSET
,
1219 enum ws_nl80211_wowlan_triggers
{
1220 WS___NL80211_WOWLAN_TRIG_INVALID
,
1221 WS_NL80211_WOWLAN_TRIG_ANY
,
1222 WS_NL80211_WOWLAN_TRIG_DISCONNECT
,
1223 WS_NL80211_WOWLAN_TRIG_MAGIC_PKT
,
1224 WS_NL80211_WOWLAN_TRIG_PKT_PATTERN
,
1225 WS_NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED
,
1226 WS_NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE
,
1227 WS_NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST
,
1228 WS_NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE
,
1229 WS_NL80211_WOWLAN_TRIG_RFKILL_RELEASE
,
1230 WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
,
1231 WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
,
1232 WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
,
1233 WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN
,
1234 WS_NL80211_WOWLAN_TRIG_TCP_CONNECTION
,
1235 WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH
,
1236 WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST
,
1237 WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS
,
1238 WS_NL80211_WOWLAN_TRIG_NET_DETECT
,
1239 WS_NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS
,
1240 WS_NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC
,
1243 enum ws_nl80211_wowlan_tcp_attrs
{
1244 WS___NL80211_WOWLAN_TCP_INVALID
,
1245 WS_NL80211_WOWLAN_TCP_SRC_IPV4
,
1246 WS_NL80211_WOWLAN_TCP_DST_IPV4
,
1247 WS_NL80211_WOWLAN_TCP_DST_MAC
,
1248 WS_NL80211_WOWLAN_TCP_SRC_PORT
,
1249 WS_NL80211_WOWLAN_TCP_DST_PORT
,
1250 WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD
,
1251 WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ
,
1252 WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN
,
1253 WS_NL80211_WOWLAN_TCP_DATA_INTERVAL
,
1254 WS_NL80211_WOWLAN_TCP_WAKE_PAYLOAD
,
1255 WS_NL80211_WOWLAN_TCP_WAKE_MASK
,
1258 enum ws_nl80211_attr_coalesce_rule
{
1259 WS___NL80211_COALESCE_RULE_INVALID
,
1260 WS_NL80211_ATTR_COALESCE_RULE_DELAY
,
1261 WS_NL80211_ATTR_COALESCE_RULE_CONDITION
,
1262 WS_NL80211_ATTR_COALESCE_RULE_PKT_PATTERN
,
1265 enum ws_nl80211_coalesce_condition
{
1266 WS_NL80211_COALESCE_CONDITION_MATCH
,
1267 WS_NL80211_COALESCE_CONDITION_NO_MATCH
,
1270 enum ws_nl80211_iface_limit_attrs
{
1271 WS_NL80211_IFACE_LIMIT_UNSPEC
,
1272 WS_NL80211_IFACE_LIMIT_MAX
,
1273 WS_NL80211_IFACE_LIMIT_TYPES
,
1276 enum ws_nl80211_if_combination_attrs
{
1277 WS_NL80211_IFACE_COMB_UNSPEC
,
1278 WS_NL80211_IFACE_COMB_LIMITS
,
1279 WS_NL80211_IFACE_COMB_MAXNUM
,
1280 WS_NL80211_IFACE_COMB_STA_AP_BI_MATCH
,
1281 WS_NL80211_IFACE_COMB_NUM_CHANNELS
,
1282 WS_NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS
,
1283 WS_NL80211_IFACE_COMB_RADAR_DETECT_REGIONS
,
1284 WS_NL80211_IFACE_COMB_BI_MIN_GCD
,
1287 enum ws_nl80211_plink_state
{
1288 WS_NL80211_PLINK_LISTEN
,
1289 WS_NL80211_PLINK_OPN_SNT
,
1290 WS_NL80211_PLINK_OPN_RCVD
,
1291 WS_NL80211_PLINK_CNF_RCVD
,
1292 WS_NL80211_PLINK_ESTAB
,
1293 WS_NL80211_PLINK_HOLDING
,
1294 WS_NL80211_PLINK_BLOCKED
,
1297 enum ws_nl80211_plink_action
{
1298 WS_NL80211_PLINK_ACTION_NO_ACTION
,
1299 WS_NL80211_PLINK_ACTION_OPEN
,
1300 WS_NL80211_PLINK_ACTION_BLOCK
,
1303 enum ws_nl80211_rekey_data
{
1304 WS___NL80211_REKEY_DATA_INVALID
,
1305 WS_NL80211_REKEY_DATA_KEK
,
1306 WS_NL80211_REKEY_DATA_KCK
,
1307 WS_NL80211_REKEY_DATA_REPLAY_CTR
,
1308 WS_NL80211_REKEY_DATA_AKM
,
1311 enum ws_nl80211_hidden_ssid
{
1312 WS_NL80211_HIDDEN_SSID_NOT_IN_USE
,
1313 WS_NL80211_HIDDEN_SSID_ZERO_LEN
,
1314 WS_NL80211_HIDDEN_SSID_ZERO_CONTENTS
,
1317 enum ws_nl80211_sta_wme_attr
{
1318 WS___NL80211_STA_WME_INVALID
,
1319 WS_NL80211_STA_WME_UAPSD_QUEUES
,
1320 WS_NL80211_STA_WME_MAX_SP
,
1323 enum ws_nl80211_pmksa_candidate_attr
{
1324 WS___NL80211_PMKSA_CANDIDATE_INVALID
,
1325 WS_NL80211_PMKSA_CANDIDATE_INDEX
,
1326 WS_NL80211_PMKSA_CANDIDATE_BSSID
,
1327 WS_NL80211_PMKSA_CANDIDATE_PREAUTH
,
1330 enum ws_nl80211_tdls_operation
{
1331 WS_NL80211_TDLS_DISCOVERY_REQ
,
1332 WS_NL80211_TDLS_SETUP
,
1333 WS_NL80211_TDLS_TEARDOWN
,
1334 WS_NL80211_TDLS_ENABLE_LINK
,
1335 WS_NL80211_TDLS_DISABLE_LINK
,
1338 enum ws_nl80211_ap_sme_features
{
1339 WS_NL80211_AP_SME_SA_QUERY_OFFLOAD
= 1 << 0,
1342 enum ws_nl80211_feature_flags
{
1343 WS_NL80211_FEATURE_SK_TX_STATUS
= 1 << 0,
1344 WS_NL80211_FEATURE_HT_IBSS
= 1 << 1,
1345 WS_NL80211_FEATURE_INACTIVITY_TIMER
= 1 << 2,
1346 WS_NL80211_FEATURE_CELL_BASE_REG_HINTS
= 1 << 3,
1347 WS_NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL
= 1 << 4,
1348 WS_NL80211_FEATURE_SAE
= 1 << 5,
1349 WS_NL80211_FEATURE_LOW_PRIORITY_SCAN
= 1 << 6,
1350 WS_NL80211_FEATURE_SCAN_FLUSH
= 1 << 7,
1351 WS_NL80211_FEATURE_AP_SCAN
= 1 << 8,
1352 WS_NL80211_FEATURE_VIF_TXPOWER
= 1 << 9,
1353 WS_NL80211_FEATURE_NEED_OBSS_SCAN
= 1 << 10,
1354 WS_NL80211_FEATURE_P2P_GO_CTWIN
= 1 << 11,
1355 WS_NL80211_FEATURE_P2P_GO_OPPPS
= 1 << 12,
1356 WS_NL80211_FEATURE_ADVERTISE_CHAN_LIMITS
= 1 << 14,
1357 WS_NL80211_FEATURE_FULL_AP_CLIENT_STATE
= 1 << 15,
1358 WS_NL80211_FEATURE_USERSPACE_MPM
= 1 << 16,
1359 WS_NL80211_FEATURE_ACTIVE_MONITOR
= 1 << 17,
1360 WS_NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE
= 1 << 18,
1361 WS_NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES
= 1 << 19,
1362 WS_NL80211_FEATURE_WFA_TPC_IE_IN_PROBES
= 1 << 20,
1363 WS_NL80211_FEATURE_QUIET
= 1 << 21,
1364 WS_NL80211_FEATURE_TX_POWER_INSERTION
= 1 << 22,
1365 WS_NL80211_FEATURE_ACKTO_ESTIMATION
= 1 << 23,
1366 WS_NL80211_FEATURE_STATIC_SMPS
= 1 << 24,
1367 WS_NL80211_FEATURE_DYNAMIC_SMPS
= 1 << 25,
1368 WS_NL80211_FEATURE_SUPPORTS_WMM_ADMISSION
= 1 << 26,
1369 WS_NL80211_FEATURE_MAC_ON_CREATE
= 1 << 27,
1370 WS_NL80211_FEATURE_TDLS_CHANNEL_SWITCH
= 1 << 28,
1371 WS_NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR
= 1 << 29,
1372 WS_NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR
= 1 << 30,
1373 WS_NL80211_FEATURE_ND_RANDOM_MAC_ADDR
= 1U << 31,
1376 enum ws_nl80211_ext_feature_index
{
1377 WS_NL80211_EXT_FEATURE_VHT_IBSS
,
1378 WS_NL80211_EXT_FEATURE_RRM
,
1379 WS_NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER
,
1380 WS_NL80211_EXT_FEATURE_SCAN_START_TIME
,
1381 WS_NL80211_EXT_FEATURE_BSS_PARENT_TSF
,
1382 WS_NL80211_EXT_FEATURE_SET_SCAN_DWELL
,
1383 WS_NL80211_EXT_FEATURE_BEACON_RATE_LEGACY
,
1384 WS_NL80211_EXT_FEATURE_BEACON_RATE_HT
,
1385 WS_NL80211_EXT_FEATURE_BEACON_RATE_VHT
,
1386 WS_NL80211_EXT_FEATURE_FILS_STA
,
1387 WS_NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA
,
1388 WS_NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED
,
1389 WS_NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI
,
1390 WS_NL80211_EXT_FEATURE_CQM_RSSI_LIST
,
1391 WS_NL80211_EXT_FEATURE_FILS_SK_OFFLOAD
,
1392 WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK
,
1393 WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X
,
1394 WS_NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME
,
1395 WS_NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP
,
1396 WS_NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE
,
1397 WS_NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
,
1398 WS_NL80211_EXT_FEATURE_MFP_OPTIONAL
,
1399 WS_NL80211_EXT_FEATURE_LOW_SPAN_SCAN
,
1400 WS_NL80211_EXT_FEATURE_LOW_POWER_SCAN
,
1401 WS_NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN
,
1402 WS_NL80211_EXT_FEATURE_DFS_OFFLOAD
,
1403 WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211
,
1404 WS_NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT
,
1405 WS_NL80211_EXT_FEATURE_TXQS
,
1406 WS_NL80211_EXT_FEATURE_SCAN_RANDOM_SN
,
1407 WS_NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT
,
1408 WS_NL80211_EXT_FEATURE_CAN_REPLACE_PTK0
,
1409 WS_NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER
,
1410 WS_NL80211_EXT_FEATURE_AIRTIME_FAIRNESS
,
1411 WS_NL80211_EXT_FEATURE_AP_PMKSA_CACHING
,
1412 WS_NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD
,
1413 WS_NL80211_EXT_FEATURE_EXT_KEY_ID
,
1414 WS_NL80211_EXT_FEATURE_STA_TX_PWR
,
1415 WS_NL80211_EXT_FEATURE_SAE_OFFLOAD
,
1416 WS_NL80211_EXT_FEATURE_VLAN_OFFLOAD
,
1417 WS_NL80211_EXT_FEATURE_AQL
,
1418 WS_NL80211_EXT_FEATURE_BEACON_PROTECTION
,
1419 WS_NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH
,
1420 WS_NL80211_EXT_FEATURE_PROTECTED_TWT
,
1421 WS_NL80211_EXT_FEATURE_DEL_IBSS_STA
,
1422 WS_NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS
,
1423 WS_NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT
,
1424 WS_NL80211_EXT_FEATURE_SCAN_FREQ_KHZ
,
1425 WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS
,
1426 WS_NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION
,
1427 WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK
,
1428 WS_NL80211_EXT_FEATURE_SAE_OFFLOAD_AP
,
1429 WS_NL80211_EXT_FEATURE_FILS_DISCOVERY
,
1430 WS_NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP
,
1431 WS_NL80211_EXT_FEATURE_BEACON_RATE_HE
,
1432 WS_NL80211_EXT_FEATURE_SECURE_LTF
,
1433 WS_NL80211_EXT_FEATURE_SECURE_RTT
,
1434 WS_NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE
,
1435 WS_NL80211_EXT_FEATURE_BSS_COLOR
,
1436 WS_NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD
,
1437 WS_NL80211_EXT_FEATURE_RADAR_BACKGROUND
,
1438 WS_NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE
,
1439 WS_NL80211_EXT_FEATURE_PUNCT
,
1440 WS_NL80211_EXT_FEATURE_SECURE_NAN
,
1441 WS_NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA
,
1442 WS_NL80211_EXT_FEATURE_OWE_OFFLOAD
,
1443 WS_NL80211_EXT_FEATURE_OWE_OFFLOAD_AP
,
1444 WS_NL80211_EXT_FEATURE_DFS_CONCURRENT
,
1445 WS_NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT
,
1448 enum ws_nl80211_probe_resp_offload_support_attr
{
1449 WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS
= 1<<0,
1450 WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2
= 1<<1,
1451 WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P
= 1<<2,
1452 WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U
= 1<<3,
1455 enum ws_nl80211_connect_failed_reason
{
1456 WS_NL80211_CONN_FAIL_MAX_CLIENTS
,
1457 WS_NL80211_CONN_FAIL_BLOCKED_CLIENT
,
1460 enum ws_nl80211_timeout_reason
{
1461 WS_NL80211_TIMEOUT_UNSPECIFIED
,
1462 WS_NL80211_TIMEOUT_SCAN
,
1463 WS_NL80211_TIMEOUT_AUTH
,
1464 WS_NL80211_TIMEOUT_ASSOC
,
1467 enum ws_nl80211_scan_flags
{
1468 WS_NL80211_SCAN_FLAG_LOW_PRIORITY
= 1<<0,
1469 WS_NL80211_SCAN_FLAG_FLUSH
= 1<<1,
1470 WS_NL80211_SCAN_FLAG_AP
= 1<<2,
1471 WS_NL80211_SCAN_FLAG_RANDOM_ADDR
= 1<<3,
1472 WS_NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME
= 1<<4,
1473 WS_NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP
= 1<<5,
1474 WS_NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE
= 1<<6,
1475 WS_NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
= 1<<7,
1476 WS_NL80211_SCAN_FLAG_LOW_SPAN
= 1<<8,
1477 WS_NL80211_SCAN_FLAG_LOW_POWER
= 1<<9,
1478 WS_NL80211_SCAN_FLAG_HIGH_ACCURACY
= 1<<10,
1479 WS_NL80211_SCAN_FLAG_RANDOM_SN
= 1<<11,
1480 WS_NL80211_SCAN_FLAG_MIN_PREQ_CONTENT
= 1<<12,
1481 WS_NL80211_SCAN_FLAG_FREQ_KHZ
= 1<<13,
1482 WS_NL80211_SCAN_FLAG_COLOCATED_6GHZ
= 1<<14,
1485 enum ws_nl80211_acl_policy
{
1486 WS_NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED
,
1487 WS_NL80211_ACL_POLICY_DENY_UNLESS_LISTED
,
1490 enum ws_nl80211_smps_mode
{
1491 WS_NL80211_SMPS_OFF
,
1492 WS_NL80211_SMPS_STATIC
,
1493 WS_NL80211_SMPS_DYNAMIC
,
1496 enum ws_nl80211_radar_event
{
1497 WS_NL80211_RADAR_DETECTED
,
1498 WS_NL80211_RADAR_CAC_FINISHED
,
1499 WS_NL80211_RADAR_CAC_ABORTED
,
1500 WS_NL80211_RADAR_NOP_FINISHED
,
1501 WS_NL80211_RADAR_PRE_CAC_EXPIRED
,
1502 WS_NL80211_RADAR_CAC_STARTED
,
1505 enum ws_nl80211_dfs_state
{
1506 WS_NL80211_DFS_USABLE
,
1507 WS_NL80211_DFS_UNAVAILABLE
,
1508 WS_NL80211_DFS_AVAILABLE
,
1511 enum ws_nl80211_protocol_features
{
1512 WS_NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP
= 1 << 0,
1515 enum ws_nl80211_crit_proto_id
{
1516 WS_NL80211_CRIT_PROTO_UNSPEC
,
1517 WS_NL80211_CRIT_PROTO_DHCP
,
1518 WS_NL80211_CRIT_PROTO_EAPOL
,
1519 WS_NL80211_CRIT_PROTO_APIPA
,
1522 enum ws_nl80211_rxmgmt_flags
{
1523 WS_NL80211_RXMGMT_FLAG_ANSWERED
= 1 << 0,
1524 WS_NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
= 1 << 1,
1527 enum ws_nl80211_tdls_peer_capability
{
1528 WS_NL80211_TDLS_PEER_HT
= 1<<0,
1529 WS_NL80211_TDLS_PEER_VHT
= 1<<1,
1530 WS_NL80211_TDLS_PEER_WMM
= 1<<2,
1531 WS_NL80211_TDLS_PEER_HE
= 1<<3,
1534 enum ws_nl80211_sched_scan_plan
{
1535 WS___NL80211_SCHED_SCAN_PLAN_INVALID
,
1536 WS_NL80211_SCHED_SCAN_PLAN_INTERVAL
,
1537 WS_NL80211_SCHED_SCAN_PLAN_ITERATIONS
,
1540 enum ws_nl80211_bss_select_attr
{
1541 WS___NL80211_BSS_SELECT_ATTR_INVALID
,
1542 WS_NL80211_BSS_SELECT_ATTR_RSSI
,
1543 WS_NL80211_BSS_SELECT_ATTR_BAND_PREF
,
1544 WS_NL80211_BSS_SELECT_ATTR_RSSI_ADJUST
,
1547 enum ws_nl80211_nan_function_type
{
1548 WS_NL80211_NAN_FUNC_PUBLISH
,
1549 WS_NL80211_NAN_FUNC_SUBSCRIBE
,
1550 WS_NL80211_NAN_FUNC_FOLLOW_UP
,
1553 enum ws_nl80211_nan_publish_type
{
1554 WS_NL80211_NAN_SOLICITED_PUBLISH
= 1 << 0,
1555 WS_NL80211_NAN_UNSOLICITED_PUBLISH
= 1 << 1,
1558 enum ws_nl80211_nan_func_term_reason
{
1559 WS_NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST
,
1560 WS_NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED
,
1561 WS_NL80211_NAN_FUNC_TERM_REASON_ERROR
,
1564 enum ws_nl80211_nan_func_attributes
{
1565 WS___NL80211_NAN_FUNC_INVALID
,
1566 WS_NL80211_NAN_FUNC_TYPE
,
1567 WS_NL80211_NAN_FUNC_SERVICE_ID
,
1568 WS_NL80211_NAN_FUNC_PUBLISH_TYPE
,
1569 WS_NL80211_NAN_FUNC_PUBLISH_BCAST
,
1570 WS_NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE
,
1571 WS_NL80211_NAN_FUNC_FOLLOW_UP_ID
,
1572 WS_NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID
,
1573 WS_NL80211_NAN_FUNC_FOLLOW_UP_DEST
,
1574 WS_NL80211_NAN_FUNC_CLOSE_RANGE
,
1575 WS_NL80211_NAN_FUNC_TTL
,
1576 WS_NL80211_NAN_FUNC_SERVICE_INFO
,
1577 WS_NL80211_NAN_FUNC_SRF
,
1578 WS_NL80211_NAN_FUNC_RX_MATCH_FILTER
,
1579 WS_NL80211_NAN_FUNC_TX_MATCH_FILTER
,
1580 WS_NL80211_NAN_FUNC_INSTANCE_ID
,
1581 WS_NL80211_NAN_FUNC_TERM_REASON
,
1584 enum ws_nl80211_nan_srf_attributes
{
1585 WS___NL80211_NAN_SRF_INVALID
,
1586 WS_NL80211_NAN_SRF_INCLUDE
,
1587 WS_NL80211_NAN_SRF_BF
,
1588 WS_NL80211_NAN_SRF_BF_IDX
,
1589 WS_NL80211_NAN_SRF_MAC_ADDRS
,
1592 enum ws_nl80211_nan_match_attributes
{
1593 WS___NL80211_NAN_MATCH_INVALID
,
1594 WS_NL80211_NAN_MATCH_FUNC_LOCAL
,
1595 WS_NL80211_NAN_MATCH_FUNC_PEER
,
1598 enum ws_nl80211_external_auth_action
{
1599 WS_NL80211_EXTERNAL_AUTH_START
,
1600 WS_NL80211_EXTERNAL_AUTH_ABORT
,
1603 enum ws_nl80211_ftm_responder_attributes
{
1604 WS___NL80211_FTM_RESP_ATTR_INVALID
,
1605 WS_NL80211_FTM_RESP_ATTR_ENABLED
,
1606 WS_NL80211_FTM_RESP_ATTR_LCI
,
1607 WS_NL80211_FTM_RESP_ATTR_CIVICLOC
,
1610 enum ws_nl80211_ftm_responder_stats
{
1611 WS___NL80211_FTM_STATS_INVALID
,
1612 WS_NL80211_FTM_STATS_SUCCESS_NUM
,
1613 WS_NL80211_FTM_STATS_PARTIAL_NUM
,
1614 WS_NL80211_FTM_STATS_FAILED_NUM
,
1615 WS_NL80211_FTM_STATS_ASAP_NUM
,
1616 WS_NL80211_FTM_STATS_NON_ASAP_NUM
,
1617 WS_NL80211_FTM_STATS_TOTAL_DURATION_MSEC
,
1618 WS_NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM
,
1619 WS_NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM
,
1620 WS_NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM
,
1621 WS_NL80211_FTM_STATS_PAD
,
1624 enum ws_nl80211_preamble
{
1625 WS_NL80211_PREAMBLE_LEGACY
,
1626 WS_NL80211_PREAMBLE_HT
,
1627 WS_NL80211_PREAMBLE_VHT
,
1628 WS_NL80211_PREAMBLE_DMG
,
1629 WS_NL80211_PREAMBLE_HE
,
1632 enum ws_nl80211_peer_measurement_type
{
1633 WS_NL80211_PMSR_TYPE_INVALID
,
1634 WS_NL80211_PMSR_TYPE_FTM
,
1637 enum ws_nl80211_peer_measurement_status
{
1638 WS_NL80211_PMSR_STATUS_SUCCESS
,
1639 WS_NL80211_PMSR_STATUS_REFUSED
,
1640 WS_NL80211_PMSR_STATUS_TIMEOUT
,
1641 WS_NL80211_PMSR_STATUS_FAILURE
,
1644 enum ws_nl80211_peer_measurement_req
{
1645 WS___NL80211_PMSR_REQ_ATTR_INVALID
,
1646 WS_NL80211_PMSR_REQ_ATTR_DATA
,
1647 WS_NL80211_PMSR_REQ_ATTR_GET_AP_TSF
,
1650 enum ws_nl80211_peer_measurement_resp
{
1651 WS___NL80211_PMSR_RESP_ATTR_INVALID
,
1652 WS_NL80211_PMSR_RESP_ATTR_DATA
,
1653 WS_NL80211_PMSR_RESP_ATTR_STATUS
,
1654 WS_NL80211_PMSR_RESP_ATTR_HOST_TIME
,
1655 WS_NL80211_PMSR_RESP_ATTR_AP_TSF
,
1656 WS_NL80211_PMSR_RESP_ATTR_FINAL
,
1657 WS_NL80211_PMSR_RESP_ATTR_PAD
,
1660 enum ws_nl80211_peer_measurement_peer_attrs
{
1661 WS___NL80211_PMSR_PEER_ATTR_INVALID
,
1662 WS_NL80211_PMSR_PEER_ATTR_ADDR
,
1663 WS_NL80211_PMSR_PEER_ATTR_CHAN
,
1664 WS_NL80211_PMSR_PEER_ATTR_REQ
,
1665 WS_NL80211_PMSR_PEER_ATTR_RESP
,
1668 enum ws_nl80211_peer_measurement_attrs
{
1669 WS___NL80211_PMSR_ATTR_INVALID
,
1670 WS_NL80211_PMSR_ATTR_MAX_PEERS
,
1671 WS_NL80211_PMSR_ATTR_REPORT_AP_TSF
,
1672 WS_NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR
,
1673 WS_NL80211_PMSR_ATTR_TYPE_CAPA
,
1674 WS_NL80211_PMSR_ATTR_PEERS
,
1677 enum ws_nl80211_peer_measurement_ftm_capa
{
1678 WS___NL80211_PMSR_FTM_CAPA_ATTR_INVALID
,
1679 WS_NL80211_PMSR_FTM_CAPA_ATTR_ASAP
,
1680 WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP
,
1681 WS_NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI
,
1682 WS_NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC
,
1683 WS_NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES
,
1684 WS_NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS
,
1685 WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT
,
1686 WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST
,
1687 WS_NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED
,
1688 WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED
,
1691 enum ws_nl80211_peer_measurement_ftm_req
{
1692 WS___NL80211_PMSR_FTM_REQ_ATTR_INVALID
,
1693 WS_NL80211_PMSR_FTM_REQ_ATTR_ASAP
,
1694 WS_NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE
,
1695 WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP
,
1696 WS_NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD
,
1697 WS_NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION
,
1698 WS_NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST
,
1699 WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES
,
1700 WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI
,
1701 WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC
,
1702 WS_NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED
,
1703 WS_NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
,
1704 WS_NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK
,
1705 WS_NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR
,
1708 enum ws_nl80211_peer_measurement_ftm_failure_reasons
{
1709 WS_NL80211_PMSR_FTM_FAILURE_UNSPECIFIED
,
1710 WS_NL80211_PMSR_FTM_FAILURE_NO_RESPONSE
,
1711 WS_NL80211_PMSR_FTM_FAILURE_REJECTED
,
1712 WS_NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL
,
1713 WS_NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE
,
1714 WS_NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP
,
1715 WS_NL80211_PMSR_FTM_FAILURE_PEER_BUSY
,
1716 WS_NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS
,
1719 enum ws_nl80211_peer_measurement_ftm_resp
{
1720 WS___NL80211_PMSR_FTM_RESP_ATTR_INVALID
,
1721 WS_NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON
,
1722 WS_NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX
,
1723 WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS
,
1724 WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES
,
1725 WS_NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME
,
1726 WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP
,
1727 WS_NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION
,
1728 WS_NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST
,
1729 WS_NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG
,
1730 WS_NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD
,
1731 WS_NL80211_PMSR_FTM_RESP_ATTR_TX_RATE
,
1732 WS_NL80211_PMSR_FTM_RESP_ATTR_RX_RATE
,
1733 WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG
,
1734 WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE
,
1735 WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD
,
1736 WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG
,
1737 WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE
,
1738 WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD
,
1739 WS_NL80211_PMSR_FTM_RESP_ATTR_LCI
,
1740 WS_NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC
,
1741 WS_NL80211_PMSR_FTM_RESP_ATTR_PAD
,
1744 enum ws_nl80211_obss_pd_attributes
{
1745 WS___NL80211_HE_OBSS_PD_ATTR_INVALID
,
1746 WS_NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET
,
1747 WS_NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET
,
1748 WS_NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET
,
1749 WS_NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP
,
1750 WS_NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP
,
1751 WS_NL80211_HE_OBSS_PD_ATTR_SR_CTRL
,
1754 enum ws_nl80211_bss_color_attributes
{
1755 WS___NL80211_HE_BSS_COLOR_ATTR_INVALID
,
1756 WS_NL80211_HE_BSS_COLOR_ATTR_COLOR
,
1757 WS_NL80211_HE_BSS_COLOR_ATTR_DISABLED
,
1758 WS_NL80211_HE_BSS_COLOR_ATTR_PARTIAL
,
1761 enum ws_nl80211_iftype_akm_attributes
{
1762 WS___NL80211_IFTYPE_AKM_ATTR_INVALID
,
1763 WS_NL80211_IFTYPE_AKM_ATTR_IFTYPES
,
1764 WS_NL80211_IFTYPE_AKM_ATTR_SUITES
,
1767 enum ws_nl80211_fils_discovery_attributes
{
1768 WS___NL80211_FILS_DISCOVERY_ATTR_INVALID
,
1769 WS_NL80211_FILS_DISCOVERY_ATTR_INT_MIN
,
1770 WS_NL80211_FILS_DISCOVERY_ATTR_INT_MAX
,
1771 WS_NL80211_FILS_DISCOVERY_ATTR_TMPL
,
1774 enum ws_nl80211_unsol_bcast_probe_resp_attributes
{
1775 WS___NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID
,
1776 WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT
,
1777 WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL
,
1780 enum ws_nl80211_sae_pwe_mechanism
{
1781 WS_NL80211_SAE_PWE_UNSPECIFIED
,
1782 WS_NL80211_SAE_PWE_HUNT_AND_PECK
,
1783 WS_NL80211_SAE_PWE_HASH_TO_ELEMENT
,
1784 WS_NL80211_SAE_PWE_BOTH
,
1787 enum ws_nl80211_sar_type
{
1788 WS_NL80211_SAR_TYPE_POWER
,
1791 enum ws_nl80211_sar_attrs
{
1792 WS___NL80211_SAR_ATTR_INVALID
,
1793 WS_NL80211_SAR_ATTR_TYPE
,
1794 WS_NL80211_SAR_ATTR_SPECS
,
1797 enum ws_nl80211_sar_specs_attrs
{
1798 WS___NL80211_SAR_ATTR_SPECS_INVALID
,
1799 WS_NL80211_SAR_ATTR_SPECS_POWER
,
1800 WS_NL80211_SAR_ATTR_SPECS_RANGE_INDEX
,
1801 WS_NL80211_SAR_ATTR_SPECS_START_FREQ
,
1802 WS_NL80211_SAR_ATTR_SPECS_END_FREQ
,
1805 enum ws_nl80211_mbssid_config_attributes
{
1806 WS___NL80211_MBSSID_CONFIG_ATTR_INVALID
,
1807 WS_NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES
,
1808 WS_NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY
,
1809 WS_NL80211_MBSSID_CONFIG_ATTR_INDEX
,
1810 WS_NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX
,
1811 WS_NL80211_MBSSID_CONFIG_ATTR_EMA
,
1814 enum ws_nl80211_ap_settings_flags
{
1815 WS_NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT
= 1 << 0,
1816 WS_NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT
= 1 << 1,
1819 enum ws_nl80211_wiphy_radio_attrs
{
1820 WS___NL80211_WIPHY_RADIO_ATTR_INVALID
,
1821 WS_NL80211_WIPHY_RADIO_ATTR_INDEX
,
1822 WS_NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE
,
1823 WS_NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION
,
1826 enum ws_nl80211_wiphy_radio_freq_range
{
1827 WS___NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID
,
1828 WS_NL80211_WIPHY_RADIO_FREQ_ATTR_START
,
1829 WS_NL80211_WIPHY_RADIO_FREQ_ATTR_END
,
1832 static const value_string ws_nl80211_commands_vals
[] = {
1833 { WS_NL80211_CMD_UNSPEC
, "NL80211_CMD_UNSPEC" },
1834 { WS_NL80211_CMD_GET_WIPHY
, "NL80211_CMD_GET_WIPHY" },
1835 { WS_NL80211_CMD_SET_WIPHY
, "NL80211_CMD_SET_WIPHY" },
1836 { WS_NL80211_CMD_NEW_WIPHY
, "NL80211_CMD_NEW_WIPHY" },
1837 { WS_NL80211_CMD_DEL_WIPHY
, "NL80211_CMD_DEL_WIPHY" },
1838 { WS_NL80211_CMD_GET_INTERFACE
, "NL80211_CMD_GET_INTERFACE" },
1839 { WS_NL80211_CMD_SET_INTERFACE
, "NL80211_CMD_SET_INTERFACE" },
1840 { WS_NL80211_CMD_NEW_INTERFACE
, "NL80211_CMD_NEW_INTERFACE" },
1841 { WS_NL80211_CMD_DEL_INTERFACE
, "NL80211_CMD_DEL_INTERFACE" },
1842 { WS_NL80211_CMD_GET_KEY
, "NL80211_CMD_GET_KEY" },
1843 { WS_NL80211_CMD_SET_KEY
, "NL80211_CMD_SET_KEY" },
1844 { WS_NL80211_CMD_NEW_KEY
, "NL80211_CMD_NEW_KEY" },
1845 { WS_NL80211_CMD_DEL_KEY
, "NL80211_CMD_DEL_KEY" },
1846 { WS_NL80211_CMD_GET_BEACON
, "NL80211_CMD_GET_BEACON" },
1847 { WS_NL80211_CMD_SET_BEACON
, "NL80211_CMD_SET_BEACON" },
1848 { WS_NL80211_CMD_START_AP
, "NL80211_CMD_START_AP" },
1849 { WS_NL80211_CMD_STOP_AP
, "NL80211_CMD_STOP_AP" },
1850 { WS_NL80211_CMD_GET_STATION
, "NL80211_CMD_GET_STATION" },
1851 { WS_NL80211_CMD_SET_STATION
, "NL80211_CMD_SET_STATION" },
1852 { WS_NL80211_CMD_NEW_STATION
, "NL80211_CMD_NEW_STATION" },
1853 { WS_NL80211_CMD_DEL_STATION
, "NL80211_CMD_DEL_STATION" },
1854 { WS_NL80211_CMD_GET_MPATH
, "NL80211_CMD_GET_MPATH" },
1855 { WS_NL80211_CMD_SET_MPATH
, "NL80211_CMD_SET_MPATH" },
1856 { WS_NL80211_CMD_NEW_MPATH
, "NL80211_CMD_NEW_MPATH" },
1857 { WS_NL80211_CMD_DEL_MPATH
, "NL80211_CMD_DEL_MPATH" },
1858 { WS_NL80211_CMD_SET_BSS
, "NL80211_CMD_SET_BSS" },
1859 { WS_NL80211_CMD_SET_REG
, "NL80211_CMD_SET_REG" },
1860 { WS_NL80211_CMD_REQ_SET_REG
, "NL80211_CMD_REQ_SET_REG" },
1861 { WS_NL80211_CMD_GET_MESH_CONFIG
, "NL80211_CMD_GET_MESH_CONFIG" },
1862 { WS_NL80211_CMD_SET_MESH_CONFIG
, "NL80211_CMD_SET_MESH_CONFIG" },
1863 { WS_NL80211_CMD_SET_MGMT_EXTRA_IE
, "NL80211_CMD_SET_MGMT_EXTRA_IE" },
1864 { WS_NL80211_CMD_GET_REG
, "NL80211_CMD_GET_REG" },
1865 { WS_NL80211_CMD_GET_SCAN
, "NL80211_CMD_GET_SCAN" },
1866 { WS_NL80211_CMD_TRIGGER_SCAN
, "NL80211_CMD_TRIGGER_SCAN" },
1867 { WS_NL80211_CMD_NEW_SCAN_RESULTS
, "NL80211_CMD_NEW_SCAN_RESULTS" },
1868 { WS_NL80211_CMD_SCAN_ABORTED
, "NL80211_CMD_SCAN_ABORTED" },
1869 { WS_NL80211_CMD_REG_CHANGE
, "NL80211_CMD_REG_CHANGE" },
1870 { WS_NL80211_CMD_AUTHENTICATE
, "NL80211_CMD_AUTHENTICATE" },
1871 { WS_NL80211_CMD_ASSOCIATE
, "NL80211_CMD_ASSOCIATE" },
1872 { WS_NL80211_CMD_DEAUTHENTICATE
, "NL80211_CMD_DEAUTHENTICATE" },
1873 { WS_NL80211_CMD_DISASSOCIATE
, "NL80211_CMD_DISASSOCIATE" },
1874 { WS_NL80211_CMD_MICHAEL_MIC_FAILURE
, "NL80211_CMD_MICHAEL_MIC_FAILURE" },
1875 { WS_NL80211_CMD_REG_BEACON_HINT
, "NL80211_CMD_REG_BEACON_HINT" },
1876 { WS_NL80211_CMD_JOIN_IBSS
, "NL80211_CMD_JOIN_IBSS" },
1877 { WS_NL80211_CMD_LEAVE_IBSS
, "NL80211_CMD_LEAVE_IBSS" },
1878 { WS_NL80211_CMD_TESTMODE
, "NL80211_CMD_TESTMODE" },
1879 { WS_NL80211_CMD_CONNECT
, "NL80211_CMD_CONNECT" },
1880 { WS_NL80211_CMD_ROAM
, "NL80211_CMD_ROAM" },
1881 { WS_NL80211_CMD_DISCONNECT
, "NL80211_CMD_DISCONNECT" },
1882 { WS_NL80211_CMD_SET_WIPHY_NETNS
, "NL80211_CMD_SET_WIPHY_NETNS" },
1883 { WS_NL80211_CMD_GET_SURVEY
, "NL80211_CMD_GET_SURVEY" },
1884 { WS_NL80211_CMD_NEW_SURVEY_RESULTS
, "NL80211_CMD_NEW_SURVEY_RESULTS" },
1885 { WS_NL80211_CMD_SET_PMKSA
, "NL80211_CMD_SET_PMKSA" },
1886 { WS_NL80211_CMD_DEL_PMKSA
, "NL80211_CMD_DEL_PMKSA" },
1887 { WS_NL80211_CMD_FLUSH_PMKSA
, "NL80211_CMD_FLUSH_PMKSA" },
1888 { WS_NL80211_CMD_REMAIN_ON_CHANNEL
, "NL80211_CMD_REMAIN_ON_CHANNEL" },
1889 { WS_NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL
, "NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL" },
1890 { WS_NL80211_CMD_SET_TX_BITRATE_MASK
, "NL80211_CMD_SET_TX_BITRATE_MASK" },
1891 { WS_NL80211_CMD_REGISTER_FRAME
, "NL80211_CMD_REGISTER_FRAME" },
1892 { WS_NL80211_CMD_FRAME
, "NL80211_CMD_FRAME" },
1893 { WS_NL80211_CMD_FRAME_TX_STATUS
, "NL80211_CMD_FRAME_TX_STATUS" },
1894 { WS_NL80211_CMD_SET_POWER_SAVE
, "NL80211_CMD_SET_POWER_SAVE" },
1895 { WS_NL80211_CMD_GET_POWER_SAVE
, "NL80211_CMD_GET_POWER_SAVE" },
1896 { WS_NL80211_CMD_SET_CQM
, "NL80211_CMD_SET_CQM" },
1897 { WS_NL80211_CMD_NOTIFY_CQM
, "NL80211_CMD_NOTIFY_CQM" },
1898 { WS_NL80211_CMD_SET_CHANNEL
, "NL80211_CMD_SET_CHANNEL" },
1899 { WS_NL80211_CMD_SET_WDS_PEER
, "NL80211_CMD_SET_WDS_PEER" },
1900 { WS_NL80211_CMD_FRAME_WAIT_CANCEL
, "NL80211_CMD_FRAME_WAIT_CANCEL" },
1901 { WS_NL80211_CMD_JOIN_MESH
, "NL80211_CMD_JOIN_MESH" },
1902 { WS_NL80211_CMD_LEAVE_MESH
, "NL80211_CMD_LEAVE_MESH" },
1903 { WS_NL80211_CMD_UNPROT_DEAUTHENTICATE
, "NL80211_CMD_UNPROT_DEAUTHENTICATE" },
1904 { WS_NL80211_CMD_UNPROT_DISASSOCIATE
, "NL80211_CMD_UNPROT_DISASSOCIATE" },
1905 { WS_NL80211_CMD_NEW_PEER_CANDIDATE
, "NL80211_CMD_NEW_PEER_CANDIDATE" },
1906 { WS_NL80211_CMD_GET_WOWLAN
, "NL80211_CMD_GET_WOWLAN" },
1907 { WS_NL80211_CMD_SET_WOWLAN
, "NL80211_CMD_SET_WOWLAN" },
1908 { WS_NL80211_CMD_START_SCHED_SCAN
, "NL80211_CMD_START_SCHED_SCAN" },
1909 { WS_NL80211_CMD_STOP_SCHED_SCAN
, "NL80211_CMD_STOP_SCHED_SCAN" },
1910 { WS_NL80211_CMD_SCHED_SCAN_RESULTS
, "NL80211_CMD_SCHED_SCAN_RESULTS" },
1911 { WS_NL80211_CMD_SCHED_SCAN_STOPPED
, "NL80211_CMD_SCHED_SCAN_STOPPED" },
1912 { WS_NL80211_CMD_SET_REKEY_OFFLOAD
, "NL80211_CMD_SET_REKEY_OFFLOAD" },
1913 { WS_NL80211_CMD_PMKSA_CANDIDATE
, "NL80211_CMD_PMKSA_CANDIDATE" },
1914 { WS_NL80211_CMD_TDLS_OPER
, "NL80211_CMD_TDLS_OPER" },
1915 { WS_NL80211_CMD_TDLS_MGMT
, "NL80211_CMD_TDLS_MGMT" },
1916 { WS_NL80211_CMD_UNEXPECTED_FRAME
, "NL80211_CMD_UNEXPECTED_FRAME" },
1917 { WS_NL80211_CMD_PROBE_CLIENT
, "NL80211_CMD_PROBE_CLIENT" },
1918 { WS_NL80211_CMD_REGISTER_BEACONS
, "NL80211_CMD_REGISTER_BEACONS" },
1919 { WS_NL80211_CMD_UNEXPECTED_4ADDR_FRAME
, "NL80211_CMD_UNEXPECTED_4ADDR_FRAME" },
1920 { WS_NL80211_CMD_SET_NOACK_MAP
, "NL80211_CMD_SET_NOACK_MAP" },
1921 { WS_NL80211_CMD_CH_SWITCH_NOTIFY
, "NL80211_CMD_CH_SWITCH_NOTIFY" },
1922 { WS_NL80211_CMD_START_P2P_DEVICE
, "NL80211_CMD_START_P2P_DEVICE" },
1923 { WS_NL80211_CMD_STOP_P2P_DEVICE
, "NL80211_CMD_STOP_P2P_DEVICE" },
1924 { WS_NL80211_CMD_CONN_FAILED
, "NL80211_CMD_CONN_FAILED" },
1925 { WS_NL80211_CMD_SET_MCAST_RATE
, "NL80211_CMD_SET_MCAST_RATE" },
1926 { WS_NL80211_CMD_SET_MAC_ACL
, "NL80211_CMD_SET_MAC_ACL" },
1927 { WS_NL80211_CMD_RADAR_DETECT
, "NL80211_CMD_RADAR_DETECT" },
1928 { WS_NL80211_CMD_GET_PROTOCOL_FEATURES
, "NL80211_CMD_GET_PROTOCOL_FEATURES" },
1929 { WS_NL80211_CMD_UPDATE_FT_IES
, "NL80211_CMD_UPDATE_FT_IES" },
1930 { WS_NL80211_CMD_FT_EVENT
, "NL80211_CMD_FT_EVENT" },
1931 { WS_NL80211_CMD_CRIT_PROTOCOL_START
, "NL80211_CMD_CRIT_PROTOCOL_START" },
1932 { WS_NL80211_CMD_CRIT_PROTOCOL_STOP
, "NL80211_CMD_CRIT_PROTOCOL_STOP" },
1933 { WS_NL80211_CMD_GET_COALESCE
, "NL80211_CMD_GET_COALESCE" },
1934 { WS_NL80211_CMD_SET_COALESCE
, "NL80211_CMD_SET_COALESCE" },
1935 { WS_NL80211_CMD_CHANNEL_SWITCH
, "NL80211_CMD_CHANNEL_SWITCH" },
1936 { WS_NL80211_CMD_VENDOR
, "NL80211_CMD_VENDOR" },
1937 { WS_NL80211_CMD_SET_QOS_MAP
, "NL80211_CMD_SET_QOS_MAP" },
1938 { WS_NL80211_CMD_ADD_TX_TS
, "NL80211_CMD_ADD_TX_TS" },
1939 { WS_NL80211_CMD_DEL_TX_TS
, "NL80211_CMD_DEL_TX_TS" },
1940 { WS_NL80211_CMD_GET_MPP
, "NL80211_CMD_GET_MPP" },
1941 { WS_NL80211_CMD_JOIN_OCB
, "NL80211_CMD_JOIN_OCB" },
1942 { WS_NL80211_CMD_LEAVE_OCB
, "NL80211_CMD_LEAVE_OCB" },
1943 { WS_NL80211_CMD_CH_SWITCH_STARTED_NOTIFY
, "NL80211_CMD_CH_SWITCH_STARTED_NOTIFY" },
1944 { WS_NL80211_CMD_TDLS_CHANNEL_SWITCH
, "NL80211_CMD_TDLS_CHANNEL_SWITCH" },
1945 { WS_NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH
, "NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH" },
1946 { WS_NL80211_CMD_WIPHY_REG_CHANGE
, "NL80211_CMD_WIPHY_REG_CHANGE" },
1947 { WS_NL80211_CMD_ABORT_SCAN
, "NL80211_CMD_ABORT_SCAN" },
1948 { WS_NL80211_CMD_START_NAN
, "NL80211_CMD_START_NAN" },
1949 { WS_NL80211_CMD_STOP_NAN
, "NL80211_CMD_STOP_NAN" },
1950 { WS_NL80211_CMD_ADD_NAN_FUNCTION
, "NL80211_CMD_ADD_NAN_FUNCTION" },
1951 { WS_NL80211_CMD_DEL_NAN_FUNCTION
, "NL80211_CMD_DEL_NAN_FUNCTION" },
1952 { WS_NL80211_CMD_CHANGE_NAN_CONFIG
, "NL80211_CMD_CHANGE_NAN_CONFIG" },
1953 { WS_NL80211_CMD_NAN_MATCH
, "NL80211_CMD_NAN_MATCH" },
1954 { WS_NL80211_CMD_SET_MULTICAST_TO_UNICAST
, "NL80211_CMD_SET_MULTICAST_TO_UNICAST" },
1955 { WS_NL80211_CMD_UPDATE_CONNECT_PARAMS
, "NL80211_CMD_UPDATE_CONNECT_PARAMS" },
1956 { WS_NL80211_CMD_SET_PMK
, "NL80211_CMD_SET_PMK" },
1957 { WS_NL80211_CMD_DEL_PMK
, "NL80211_CMD_DEL_PMK" },
1958 { WS_NL80211_CMD_PORT_AUTHORIZED
, "NL80211_CMD_PORT_AUTHORIZED" },
1959 { WS_NL80211_CMD_RELOAD_REGDB
, "NL80211_CMD_RELOAD_REGDB" },
1960 { WS_NL80211_CMD_EXTERNAL_AUTH
, "NL80211_CMD_EXTERNAL_AUTH" },
1961 { WS_NL80211_CMD_STA_OPMODE_CHANGED
, "NL80211_CMD_STA_OPMODE_CHANGED" },
1962 { WS_NL80211_CMD_CONTROL_PORT_FRAME
, "NL80211_CMD_CONTROL_PORT_FRAME" },
1963 { WS_NL80211_CMD_GET_FTM_RESPONDER_STATS
, "NL80211_CMD_GET_FTM_RESPONDER_STATS" },
1964 { WS_NL80211_CMD_PEER_MEASUREMENT_START
, "NL80211_CMD_PEER_MEASUREMENT_START" },
1965 { WS_NL80211_CMD_PEER_MEASUREMENT_RESULT
, "NL80211_CMD_PEER_MEASUREMENT_RESULT" },
1966 { WS_NL80211_CMD_PEER_MEASUREMENT_COMPLETE
, "NL80211_CMD_PEER_MEASUREMENT_COMPLETE" },
1967 { WS_NL80211_CMD_NOTIFY_RADAR
, "NL80211_CMD_NOTIFY_RADAR" },
1968 { WS_NL80211_CMD_UPDATE_OWE_INFO
, "NL80211_CMD_UPDATE_OWE_INFO" },
1969 { WS_NL80211_CMD_PROBE_MESH_LINK
, "NL80211_CMD_PROBE_MESH_LINK" },
1970 { WS_NL80211_CMD_SET_TID_CONFIG
, "NL80211_CMD_SET_TID_CONFIG" },
1971 { WS_NL80211_CMD_UNPROT_BEACON
, "NL80211_CMD_UNPROT_BEACON" },
1972 { WS_NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS
, "NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS" },
1973 { WS_NL80211_CMD_SET_SAR_SPECS
, "NL80211_CMD_SET_SAR_SPECS" },
1974 { WS_NL80211_CMD_OBSS_COLOR_COLLISION
, "NL80211_CMD_OBSS_COLOR_COLLISION" },
1975 { WS_NL80211_CMD_COLOR_CHANGE_REQUEST
, "NL80211_CMD_COLOR_CHANGE_REQUEST" },
1976 { WS_NL80211_CMD_COLOR_CHANGE_STARTED
, "NL80211_CMD_COLOR_CHANGE_STARTED" },
1977 { WS_NL80211_CMD_COLOR_CHANGE_ABORTED
, "NL80211_CMD_COLOR_CHANGE_ABORTED" },
1978 { WS_NL80211_CMD_COLOR_CHANGE_COMPLETED
, "NL80211_CMD_COLOR_CHANGE_COMPLETED" },
1979 { WS_NL80211_CMD_SET_FILS_AAD
, "NL80211_CMD_SET_FILS_AAD" },
1980 { WS_NL80211_CMD_ASSOC_COMEBACK
, "NL80211_CMD_ASSOC_COMEBACK" },
1981 { WS_NL80211_CMD_ADD_LINK
, "NL80211_CMD_ADD_LINK" },
1982 { WS_NL80211_CMD_REMOVE_LINK
, "NL80211_CMD_REMOVE_LINK" },
1983 { WS_NL80211_CMD_ADD_LINK_STA
, "NL80211_CMD_ADD_LINK_STA" },
1984 { WS_NL80211_CMD_MODIFY_LINK_STA
, "NL80211_CMD_MODIFY_LINK_STA" },
1985 { WS_NL80211_CMD_REMOVE_LINK_STA
, "NL80211_CMD_REMOVE_LINK_STA" },
1986 { WS_NL80211_CMD_SET_HW_TIMESTAMP
, "NL80211_CMD_SET_HW_TIMESTAMP" },
1987 { WS_NL80211_CMD_LINKS_REMOVED
, "NL80211_CMD_LINKS_REMOVED" },
1988 { WS_NL80211_CMD_SET_TID_TO_LINK_MAPPING
, "NL80211_CMD_SET_TID_TO_LINK_MAPPING" },
1991 static value_string_ext ws_nl80211_commands_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_commands_vals
);
1993 static const value_string ws_nl80211_attrs_vals
[] = {
1994 { WS_NL80211_ATTR_UNSPEC
, "NL80211_ATTR_UNSPEC" },
1995 { WS_NL80211_ATTR_WIPHY
, "NL80211_ATTR_WIPHY" },
1996 { WS_NL80211_ATTR_WIPHY_NAME
, "NL80211_ATTR_WIPHY_NAME" },
1997 { WS_NL80211_ATTR_IFINDEX
, "NL80211_ATTR_IFINDEX" },
1998 { WS_NL80211_ATTR_IFNAME
, "NL80211_ATTR_IFNAME" },
1999 { WS_NL80211_ATTR_IFTYPE
, "NL80211_ATTR_IFTYPE" },
2000 { WS_NL80211_ATTR_MAC
, "NL80211_ATTR_MAC" },
2001 { WS_NL80211_ATTR_KEY_DATA
, "NL80211_ATTR_KEY_DATA" },
2002 { WS_NL80211_ATTR_KEY_IDX
, "NL80211_ATTR_KEY_IDX" },
2003 { WS_NL80211_ATTR_KEY_CIPHER
, "NL80211_ATTR_KEY_CIPHER" },
2004 { WS_NL80211_ATTR_KEY_SEQ
, "NL80211_ATTR_KEY_SEQ" },
2005 { WS_NL80211_ATTR_KEY_DEFAULT
, "NL80211_ATTR_KEY_DEFAULT" },
2006 { WS_NL80211_ATTR_BEACON_INTERVAL
, "NL80211_ATTR_BEACON_INTERVAL" },
2007 { WS_NL80211_ATTR_DTIM_PERIOD
, "NL80211_ATTR_DTIM_PERIOD" },
2008 { WS_NL80211_ATTR_BEACON_HEAD
, "NL80211_ATTR_BEACON_HEAD" },
2009 { WS_NL80211_ATTR_BEACON_TAIL
, "NL80211_ATTR_BEACON_TAIL" },
2010 { WS_NL80211_ATTR_STA_AID
, "NL80211_ATTR_STA_AID" },
2011 { WS_NL80211_ATTR_STA_FLAGS
, "NL80211_ATTR_STA_FLAGS" },
2012 { WS_NL80211_ATTR_STA_LISTEN_INTERVAL
, "NL80211_ATTR_STA_LISTEN_INTERVAL" },
2013 { WS_NL80211_ATTR_STA_SUPPORTED_RATES
, "NL80211_ATTR_STA_SUPPORTED_RATES" },
2014 { WS_NL80211_ATTR_STA_VLAN
, "NL80211_ATTR_STA_VLAN" },
2015 { WS_NL80211_ATTR_STA_INFO
, "NL80211_ATTR_STA_INFO" },
2016 { WS_NL80211_ATTR_WIPHY_BANDS
, "NL80211_ATTR_WIPHY_BANDS" },
2017 { WS_NL80211_ATTR_MNTR_FLAGS
, "NL80211_ATTR_MNTR_FLAGS" },
2018 { WS_NL80211_ATTR_MESH_ID
, "NL80211_ATTR_MESH_ID" },
2019 { WS_NL80211_ATTR_STA_PLINK_ACTION
, "NL80211_ATTR_STA_PLINK_ACTION" },
2020 { WS_NL80211_ATTR_MPATH_NEXT_HOP
, "NL80211_ATTR_MPATH_NEXT_HOP" },
2021 { WS_NL80211_ATTR_MPATH_INFO
, "NL80211_ATTR_MPATH_INFO" },
2022 { WS_NL80211_ATTR_BSS_CTS_PROT
, "NL80211_ATTR_BSS_CTS_PROT" },
2023 { WS_NL80211_ATTR_BSS_SHORT_PREAMBLE
, "NL80211_ATTR_BSS_SHORT_PREAMBLE" },
2024 { WS_NL80211_ATTR_BSS_SHORT_SLOT_TIME
, "NL80211_ATTR_BSS_SHORT_SLOT_TIME" },
2025 { WS_NL80211_ATTR_HT_CAPABILITY
, "NL80211_ATTR_HT_CAPABILITY" },
2026 { WS_NL80211_ATTR_SUPPORTED_IFTYPES
, "NL80211_ATTR_SUPPORTED_IFTYPES" },
2027 { WS_NL80211_ATTR_REG_ALPHA2
, "NL80211_ATTR_REG_ALPHA2" },
2028 { WS_NL80211_ATTR_REG_RULES
, "NL80211_ATTR_REG_RULES" },
2029 { WS_NL80211_ATTR_MESH_CONFIG
, "NL80211_ATTR_MESH_CONFIG" },
2030 { WS_NL80211_ATTR_BSS_BASIC_RATES
, "NL80211_ATTR_BSS_BASIC_RATES" },
2031 { WS_NL80211_ATTR_WIPHY_TXQ_PARAMS
, "NL80211_ATTR_WIPHY_TXQ_PARAMS" },
2032 { WS_NL80211_ATTR_WIPHY_FREQ
, "NL80211_ATTR_WIPHY_FREQ" },
2033 { WS_NL80211_ATTR_WIPHY_CHANNEL_TYPE
, "NL80211_ATTR_WIPHY_CHANNEL_TYPE" },
2034 { WS_NL80211_ATTR_KEY_DEFAULT_MGMT
, "NL80211_ATTR_KEY_DEFAULT_MGMT" },
2035 { WS_NL80211_ATTR_MGMT_SUBTYPE
, "NL80211_ATTR_MGMT_SUBTYPE" },
2036 { WS_NL80211_ATTR_IE
, "NL80211_ATTR_IE" },
2037 { WS_NL80211_ATTR_MAX_NUM_SCAN_SSIDS
, "NL80211_ATTR_MAX_NUM_SCAN_SSIDS" },
2038 { WS_NL80211_ATTR_SCAN_FREQUENCIES
, "NL80211_ATTR_SCAN_FREQUENCIES" },
2039 { WS_NL80211_ATTR_SCAN_SSIDS
, "NL80211_ATTR_SCAN_SSIDS" },
2040 { WS_NL80211_ATTR_GENERATION
, "NL80211_ATTR_GENERATION" },
2041 { WS_NL80211_ATTR_BSS
, "NL80211_ATTR_BSS" },
2042 { WS_NL80211_ATTR_REG_INITIATOR
, "NL80211_ATTR_REG_INITIATOR" },
2043 { WS_NL80211_ATTR_REG_TYPE
, "NL80211_ATTR_REG_TYPE" },
2044 { WS_NL80211_ATTR_SUPPORTED_COMMANDS
, "NL80211_ATTR_SUPPORTED_COMMANDS" },
2045 { WS_NL80211_ATTR_FRAME
, "NL80211_ATTR_FRAME" },
2046 { WS_NL80211_ATTR_SSID
, "NL80211_ATTR_SSID" },
2047 { WS_NL80211_ATTR_AUTH_TYPE
, "NL80211_ATTR_AUTH_TYPE" },
2048 { WS_NL80211_ATTR_REASON_CODE
, "NL80211_ATTR_REASON_CODE" },
2049 { WS_NL80211_ATTR_KEY_TYPE
, "NL80211_ATTR_KEY_TYPE" },
2050 { WS_NL80211_ATTR_MAX_SCAN_IE_LEN
, "NL80211_ATTR_MAX_SCAN_IE_LEN" },
2051 { WS_NL80211_ATTR_CIPHER_SUITES
, "NL80211_ATTR_CIPHER_SUITES" },
2052 { WS_NL80211_ATTR_FREQ_BEFORE
, "NL80211_ATTR_FREQ_BEFORE" },
2053 { WS_NL80211_ATTR_FREQ_AFTER
, "NL80211_ATTR_FREQ_AFTER" },
2054 { WS_NL80211_ATTR_FREQ_FIXED
, "NL80211_ATTR_FREQ_FIXED" },
2055 { WS_NL80211_ATTR_WIPHY_RETRY_SHORT
, "NL80211_ATTR_WIPHY_RETRY_SHORT" },
2056 { WS_NL80211_ATTR_WIPHY_RETRY_LONG
, "NL80211_ATTR_WIPHY_RETRY_LONG" },
2057 { WS_NL80211_ATTR_WIPHY_FRAG_THRESHOLD
, "NL80211_ATTR_WIPHY_FRAG_THRESHOLD" },
2058 { WS_NL80211_ATTR_WIPHY_RTS_THRESHOLD
, "NL80211_ATTR_WIPHY_RTS_THRESHOLD" },
2059 { WS_NL80211_ATTR_TIMED_OUT
, "NL80211_ATTR_TIMED_OUT" },
2060 { WS_NL80211_ATTR_USE_MFP
, "NL80211_ATTR_USE_MFP" },
2061 { WS_NL80211_ATTR_STA_FLAGS2
, "NL80211_ATTR_STA_FLAGS2" },
2062 { WS_NL80211_ATTR_CONTROL_PORT
, "NL80211_ATTR_CONTROL_PORT" },
2063 { WS_NL80211_ATTR_TESTDATA
, "NL80211_ATTR_TESTDATA" },
2064 { WS_NL80211_ATTR_PRIVACY
, "NL80211_ATTR_PRIVACY" },
2065 { WS_NL80211_ATTR_DISCONNECTED_BY_AP
, "NL80211_ATTR_DISCONNECTED_BY_AP" },
2066 { WS_NL80211_ATTR_STATUS_CODE
, "NL80211_ATTR_STATUS_CODE" },
2067 { WS_NL80211_ATTR_CIPHER_SUITES_PAIRWISE
, "NL80211_ATTR_CIPHER_SUITES_PAIRWISE" },
2068 { WS_NL80211_ATTR_CIPHER_SUITE_GROUP
, "NL80211_ATTR_CIPHER_SUITE_GROUP" },
2069 { WS_NL80211_ATTR_WPA_VERSIONS
, "NL80211_ATTR_WPA_VERSIONS" },
2070 { WS_NL80211_ATTR_AKM_SUITES
, "NL80211_ATTR_AKM_SUITES" },
2071 { WS_NL80211_ATTR_REQ_IE
, "NL80211_ATTR_REQ_IE" },
2072 { WS_NL80211_ATTR_RESP_IE
, "NL80211_ATTR_RESP_IE" },
2073 { WS_NL80211_ATTR_PREV_BSSID
, "NL80211_ATTR_PREV_BSSID" },
2074 { WS_NL80211_ATTR_KEY
, "NL80211_ATTR_KEY" },
2075 { WS_NL80211_ATTR_KEYS
, "NL80211_ATTR_KEYS" },
2076 { WS_NL80211_ATTR_PID
, "NL80211_ATTR_PID" },
2077 { WS_NL80211_ATTR_4ADDR
, "NL80211_ATTR_4ADDR" },
2078 { WS_NL80211_ATTR_SURVEY_INFO
, "NL80211_ATTR_SURVEY_INFO" },
2079 { WS_NL80211_ATTR_PMKID
, "NL80211_ATTR_PMKID" },
2080 { WS_NL80211_ATTR_MAX_NUM_PMKIDS
, "NL80211_ATTR_MAX_NUM_PMKIDS" },
2081 { WS_NL80211_ATTR_DURATION
, "NL80211_ATTR_DURATION" },
2082 { WS_NL80211_ATTR_COOKIE
, "NL80211_ATTR_COOKIE" },
2083 { WS_NL80211_ATTR_WIPHY_COVERAGE_CLASS
, "NL80211_ATTR_WIPHY_COVERAGE_CLASS" },
2084 { WS_NL80211_ATTR_TX_RATES
, "NL80211_ATTR_TX_RATES" },
2085 { WS_NL80211_ATTR_FRAME_MATCH
, "NL80211_ATTR_FRAME_MATCH" },
2086 { WS_NL80211_ATTR_ACK
, "NL80211_ATTR_ACK" },
2087 { WS_NL80211_ATTR_PS_STATE
, "NL80211_ATTR_PS_STATE" },
2088 { WS_NL80211_ATTR_CQM
, "NL80211_ATTR_CQM" },
2089 { WS_NL80211_ATTR_LOCAL_STATE_CHANGE
, "NL80211_ATTR_LOCAL_STATE_CHANGE" },
2090 { WS_NL80211_ATTR_AP_ISOLATE
, "NL80211_ATTR_AP_ISOLATE" },
2091 { WS_NL80211_ATTR_WIPHY_TX_POWER_SETTING
, "NL80211_ATTR_WIPHY_TX_POWER_SETTING" },
2092 { WS_NL80211_ATTR_WIPHY_TX_POWER_LEVEL
, "NL80211_ATTR_WIPHY_TX_POWER_LEVEL" },
2093 { WS_NL80211_ATTR_TX_FRAME_TYPES
, "NL80211_ATTR_TX_FRAME_TYPES" },
2094 { WS_NL80211_ATTR_RX_FRAME_TYPES
, "NL80211_ATTR_RX_FRAME_TYPES" },
2095 { WS_NL80211_ATTR_FRAME_TYPE
, "NL80211_ATTR_FRAME_TYPE" },
2096 { WS_NL80211_ATTR_CONTROL_PORT_ETHERTYPE
, "NL80211_ATTR_CONTROL_PORT_ETHERTYPE" },
2097 { WS_NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT
, "NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT" },
2098 { WS_NL80211_ATTR_SUPPORT_IBSS_RSN
, "NL80211_ATTR_SUPPORT_IBSS_RSN" },
2099 { WS_NL80211_ATTR_WIPHY_ANTENNA_TX
, "NL80211_ATTR_WIPHY_ANTENNA_TX" },
2100 { WS_NL80211_ATTR_WIPHY_ANTENNA_RX
, "NL80211_ATTR_WIPHY_ANTENNA_RX" },
2101 { WS_NL80211_ATTR_MCAST_RATE
, "NL80211_ATTR_MCAST_RATE" },
2102 { WS_NL80211_ATTR_OFFCHANNEL_TX_OK
, "NL80211_ATTR_OFFCHANNEL_TX_OK" },
2103 { WS_NL80211_ATTR_BSS_HT_OPMODE
, "NL80211_ATTR_BSS_HT_OPMODE" },
2104 { WS_NL80211_ATTR_KEY_DEFAULT_TYPES
, "NL80211_ATTR_KEY_DEFAULT_TYPES" },
2105 { WS_NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION
, "NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION" },
2106 { WS_NL80211_ATTR_MESH_SETUP
, "NL80211_ATTR_MESH_SETUP" },
2107 { WS_NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX
, "NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX" },
2108 { WS_NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX
, "NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX" },
2109 { WS_NL80211_ATTR_SUPPORT_MESH_AUTH
, "NL80211_ATTR_SUPPORT_MESH_AUTH" },
2110 { WS_NL80211_ATTR_STA_PLINK_STATE
, "NL80211_ATTR_STA_PLINK_STATE" },
2111 { WS_NL80211_ATTR_WOWLAN_TRIGGERS
, "NL80211_ATTR_WOWLAN_TRIGGERS" },
2112 { WS_NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED
, "NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED" },
2113 { WS_NL80211_ATTR_SCHED_SCAN_INTERVAL
, "NL80211_ATTR_SCHED_SCAN_INTERVAL" },
2114 { WS_NL80211_ATTR_INTERFACE_COMBINATIONS
, "NL80211_ATTR_INTERFACE_COMBINATIONS" },
2115 { WS_NL80211_ATTR_SOFTWARE_IFTYPES
, "NL80211_ATTR_SOFTWARE_IFTYPES" },
2116 { WS_NL80211_ATTR_REKEY_DATA
, "NL80211_ATTR_REKEY_DATA" },
2117 { WS_NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS
, "NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS" },
2118 { WS_NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN
, "NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN" },
2119 { WS_NL80211_ATTR_SCAN_SUPP_RATES
, "NL80211_ATTR_SCAN_SUPP_RATES" },
2120 { WS_NL80211_ATTR_HIDDEN_SSID
, "NL80211_ATTR_HIDDEN_SSID" },
2121 { WS_NL80211_ATTR_IE_PROBE_RESP
, "NL80211_ATTR_IE_PROBE_RESP" },
2122 { WS_NL80211_ATTR_IE_ASSOC_RESP
, "NL80211_ATTR_IE_ASSOC_RESP" },
2123 { WS_NL80211_ATTR_STA_WME
, "NL80211_ATTR_STA_WME" },
2124 { WS_NL80211_ATTR_SUPPORT_AP_UAPSD
, "NL80211_ATTR_SUPPORT_AP_UAPSD" },
2125 { WS_NL80211_ATTR_ROAM_SUPPORT
, "NL80211_ATTR_ROAM_SUPPORT" },
2126 { WS_NL80211_ATTR_SCHED_SCAN_MATCH
, "NL80211_ATTR_SCHED_SCAN_MATCH" },
2127 { WS_NL80211_ATTR_MAX_MATCH_SETS
, "NL80211_ATTR_MAX_MATCH_SETS" },
2128 { WS_NL80211_ATTR_PMKSA_CANDIDATE
, "NL80211_ATTR_PMKSA_CANDIDATE" },
2129 { WS_NL80211_ATTR_TX_NO_CCK_RATE
, "NL80211_ATTR_TX_NO_CCK_RATE" },
2130 { WS_NL80211_ATTR_TDLS_ACTION
, "NL80211_ATTR_TDLS_ACTION" },
2131 { WS_NL80211_ATTR_TDLS_DIALOG_TOKEN
, "NL80211_ATTR_TDLS_DIALOG_TOKEN" },
2132 { WS_NL80211_ATTR_TDLS_OPERATION
, "NL80211_ATTR_TDLS_OPERATION" },
2133 { WS_NL80211_ATTR_TDLS_SUPPORT
, "NL80211_ATTR_TDLS_SUPPORT" },
2134 { WS_NL80211_ATTR_TDLS_EXTERNAL_SETUP
, "NL80211_ATTR_TDLS_EXTERNAL_SETUP" },
2135 { WS_NL80211_ATTR_DEVICE_AP_SME
, "NL80211_ATTR_DEVICE_AP_SME" },
2136 { WS_NL80211_ATTR_DONT_WAIT_FOR_ACK
, "NL80211_ATTR_DONT_WAIT_FOR_ACK" },
2137 { WS_NL80211_ATTR_FEATURE_FLAGS
, "NL80211_ATTR_FEATURE_FLAGS" },
2138 { WS_NL80211_ATTR_PROBE_RESP_OFFLOAD
, "NL80211_ATTR_PROBE_RESP_OFFLOAD" },
2139 { WS_NL80211_ATTR_PROBE_RESP
, "NL80211_ATTR_PROBE_RESP" },
2140 { WS_NL80211_ATTR_DFS_REGION
, "NL80211_ATTR_DFS_REGION" },
2141 { WS_NL80211_ATTR_DISABLE_HT
, "NL80211_ATTR_DISABLE_HT" },
2142 { WS_NL80211_ATTR_HT_CAPABILITY_MASK
, "NL80211_ATTR_HT_CAPABILITY_MASK" },
2143 { WS_NL80211_ATTR_NOACK_MAP
, "NL80211_ATTR_NOACK_MAP" },
2144 { WS_NL80211_ATTR_INACTIVITY_TIMEOUT
, "NL80211_ATTR_INACTIVITY_TIMEOUT" },
2145 { WS_NL80211_ATTR_RX_SIGNAL_DBM
, "NL80211_ATTR_RX_SIGNAL_DBM" },
2146 { WS_NL80211_ATTR_BG_SCAN_PERIOD
, "NL80211_ATTR_BG_SCAN_PERIOD" },
2147 { WS_NL80211_ATTR_WDEV
, "NL80211_ATTR_WDEV" },
2148 { WS_NL80211_ATTR_USER_REG_HINT_TYPE
, "NL80211_ATTR_USER_REG_HINT_TYPE" },
2149 { WS_NL80211_ATTR_CONN_FAILED_REASON
, "NL80211_ATTR_CONN_FAILED_REASON" },
2150 { WS_NL80211_ATTR_AUTH_DATA
, "NL80211_ATTR_AUTH_DATA" },
2151 { WS_NL80211_ATTR_VHT_CAPABILITY
, "NL80211_ATTR_VHT_CAPABILITY" },
2152 { WS_NL80211_ATTR_SCAN_FLAGS
, "NL80211_ATTR_SCAN_FLAGS" },
2153 { WS_NL80211_ATTR_CHANNEL_WIDTH
, "NL80211_ATTR_CHANNEL_WIDTH" },
2154 { WS_NL80211_ATTR_CENTER_FREQ1
, "NL80211_ATTR_CENTER_FREQ1" },
2155 { WS_NL80211_ATTR_CENTER_FREQ2
, "NL80211_ATTR_CENTER_FREQ2" },
2156 { WS_NL80211_ATTR_P2P_CTWINDOW
, "NL80211_ATTR_P2P_CTWINDOW" },
2157 { WS_NL80211_ATTR_P2P_OPPPS
, "NL80211_ATTR_P2P_OPPPS" },
2158 { WS_NL80211_ATTR_LOCAL_MESH_POWER_MODE
, "NL80211_ATTR_LOCAL_MESH_POWER_MODE" },
2159 { WS_NL80211_ATTR_ACL_POLICY
, "NL80211_ATTR_ACL_POLICY" },
2160 { WS_NL80211_ATTR_MAC_ADDRS
, "NL80211_ATTR_MAC_ADDRS" },
2161 { WS_NL80211_ATTR_MAC_ACL_MAX
, "NL80211_ATTR_MAC_ACL_MAX" },
2162 { WS_NL80211_ATTR_RADAR_EVENT
, "NL80211_ATTR_RADAR_EVENT" },
2163 { WS_NL80211_ATTR_EXT_CAPA
, "NL80211_ATTR_EXT_CAPA" },
2164 { WS_NL80211_ATTR_EXT_CAPA_MASK
, "NL80211_ATTR_EXT_CAPA_MASK" },
2165 { WS_NL80211_ATTR_STA_CAPABILITY
, "NL80211_ATTR_STA_CAPABILITY" },
2166 { WS_NL80211_ATTR_STA_EXT_CAPABILITY
, "NL80211_ATTR_STA_EXT_CAPABILITY" },
2167 { WS_NL80211_ATTR_PROTOCOL_FEATURES
, "NL80211_ATTR_PROTOCOL_FEATURES" },
2168 { WS_NL80211_ATTR_SPLIT_WIPHY_DUMP
, "NL80211_ATTR_SPLIT_WIPHY_DUMP" },
2169 { WS_NL80211_ATTR_DISABLE_VHT
, "NL80211_ATTR_DISABLE_VHT" },
2170 { WS_NL80211_ATTR_VHT_CAPABILITY_MASK
, "NL80211_ATTR_VHT_CAPABILITY_MASK" },
2171 { WS_NL80211_ATTR_MDID
, "NL80211_ATTR_MDID" },
2172 { WS_NL80211_ATTR_IE_RIC
, "NL80211_ATTR_IE_RIC" },
2173 { WS_NL80211_ATTR_CRIT_PROT_ID
, "NL80211_ATTR_CRIT_PROT_ID" },
2174 { WS_NL80211_ATTR_MAX_CRIT_PROT_DURATION
, "NL80211_ATTR_MAX_CRIT_PROT_DURATION" },
2175 { WS_NL80211_ATTR_PEER_AID
, "NL80211_ATTR_PEER_AID" },
2176 { WS_NL80211_ATTR_COALESCE_RULE
, "NL80211_ATTR_COALESCE_RULE" },
2177 { WS_NL80211_ATTR_CH_SWITCH_COUNT
, "NL80211_ATTR_CH_SWITCH_COUNT" },
2178 { WS_NL80211_ATTR_CH_SWITCH_BLOCK_TX
, "NL80211_ATTR_CH_SWITCH_BLOCK_TX" },
2179 { WS_NL80211_ATTR_CSA_IES
, "NL80211_ATTR_CSA_IES" },
2180 { WS_NL80211_ATTR_CNTDWN_OFFS_BEACON
, "NL80211_ATTR_CNTDWN_OFFS_BEACON" },
2181 { WS_NL80211_ATTR_CNTDWN_OFFS_PRESP
, "NL80211_ATTR_CNTDWN_OFFS_PRESP" },
2182 { WS_NL80211_ATTR_RXMGMT_FLAGS
, "NL80211_ATTR_RXMGMT_FLAGS" },
2183 { WS_NL80211_ATTR_STA_SUPPORTED_CHANNELS
, "NL80211_ATTR_STA_SUPPORTED_CHANNELS" },
2184 { WS_NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES
, "NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES" },
2185 { WS_NL80211_ATTR_HANDLE_DFS
, "NL80211_ATTR_HANDLE_DFS" },
2186 { WS_NL80211_ATTR_SUPPORT_5_MHZ
, "NL80211_ATTR_SUPPORT_5_MHZ" },
2187 { WS_NL80211_ATTR_SUPPORT_10_MHZ
, "NL80211_ATTR_SUPPORT_10_MHZ" },
2188 { WS_NL80211_ATTR_OPMODE_NOTIF
, "NL80211_ATTR_OPMODE_NOTIF" },
2189 { WS_NL80211_ATTR_VENDOR_ID
, "NL80211_ATTR_VENDOR_ID" },
2190 { WS_NL80211_ATTR_VENDOR_SUBCMD
, "NL80211_ATTR_VENDOR_SUBCMD" },
2191 { WS_NL80211_ATTR_VENDOR_DATA
, "NL80211_ATTR_VENDOR_DATA" },
2192 { WS_NL80211_ATTR_VENDOR_EVENTS
, "NL80211_ATTR_VENDOR_EVENTS" },
2193 { WS_NL80211_ATTR_QOS_MAP
, "NL80211_ATTR_QOS_MAP" },
2194 { WS_NL80211_ATTR_MAC_HINT
, "NL80211_ATTR_MAC_HINT" },
2195 { WS_NL80211_ATTR_WIPHY_FREQ_HINT
, "NL80211_ATTR_WIPHY_FREQ_HINT" },
2196 { WS_NL80211_ATTR_MAX_AP_ASSOC_STA
, "NL80211_ATTR_MAX_AP_ASSOC_STA" },
2197 { WS_NL80211_ATTR_TDLS_PEER_CAPABILITY
, "NL80211_ATTR_TDLS_PEER_CAPABILITY" },
2198 { WS_NL80211_ATTR_SOCKET_OWNER
, "NL80211_ATTR_SOCKET_OWNER" },
2199 { WS_NL80211_ATTR_CSA_C_OFFSETS_TX
, "NL80211_ATTR_CSA_C_OFFSETS_TX" },
2200 { WS_NL80211_ATTR_MAX_CSA_COUNTERS
, "NL80211_ATTR_MAX_CSA_COUNTERS" },
2201 { WS_NL80211_ATTR_TDLS_INITIATOR
, "NL80211_ATTR_TDLS_INITIATOR" },
2202 { WS_NL80211_ATTR_USE_RRM
, "NL80211_ATTR_USE_RRM" },
2203 { WS_NL80211_ATTR_WIPHY_DYN_ACK
, "NL80211_ATTR_WIPHY_DYN_ACK" },
2204 { WS_NL80211_ATTR_TSID
, "NL80211_ATTR_TSID" },
2205 { WS_NL80211_ATTR_USER_PRIO
, "NL80211_ATTR_USER_PRIO" },
2206 { WS_NL80211_ATTR_ADMITTED_TIME
, "NL80211_ATTR_ADMITTED_TIME" },
2207 { WS_NL80211_ATTR_SMPS_MODE
, "NL80211_ATTR_SMPS_MODE" },
2208 { WS_NL80211_ATTR_OPER_CLASS
, "NL80211_ATTR_OPER_CLASS" },
2209 { WS_NL80211_ATTR_MAC_MASK
, "NL80211_ATTR_MAC_MASK" },
2210 { WS_NL80211_ATTR_WIPHY_SELF_MANAGED_REG
, "NL80211_ATTR_WIPHY_SELF_MANAGED_REG" },
2211 { WS_NL80211_ATTR_EXT_FEATURES
, "NL80211_ATTR_EXT_FEATURES" },
2212 { WS_NL80211_ATTR_SURVEY_RADIO_STATS
, "NL80211_ATTR_SURVEY_RADIO_STATS" },
2213 { WS_NL80211_ATTR_NETNS_FD
, "NL80211_ATTR_NETNS_FD" },
2214 { WS_NL80211_ATTR_SCHED_SCAN_DELAY
, "NL80211_ATTR_SCHED_SCAN_DELAY" },
2215 { WS_NL80211_ATTR_REG_INDOOR
, "NL80211_ATTR_REG_INDOOR" },
2216 { WS_NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS
, "NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS" },
2217 { WS_NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL
, "NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL" },
2218 { WS_NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS
, "NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS" },
2219 { WS_NL80211_ATTR_SCHED_SCAN_PLANS
, "NL80211_ATTR_SCHED_SCAN_PLANS" },
2220 { WS_NL80211_ATTR_PBSS
, "NL80211_ATTR_PBSS" },
2221 { WS_NL80211_ATTR_BSS_SELECT
, "NL80211_ATTR_BSS_SELECT" },
2222 { WS_NL80211_ATTR_STA_SUPPORT_P2P_PS
, "NL80211_ATTR_STA_SUPPORT_P2P_PS" },
2223 { WS_NL80211_ATTR_PAD
, "NL80211_ATTR_PAD" },
2224 { WS_NL80211_ATTR_IFTYPE_EXT_CAPA
, "NL80211_ATTR_IFTYPE_EXT_CAPA" },
2225 { WS_NL80211_ATTR_MU_MIMO_GROUP_DATA
, "NL80211_ATTR_MU_MIMO_GROUP_DATA" },
2226 { WS_NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR
, "NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR" },
2227 { WS_NL80211_ATTR_SCAN_START_TIME_TSF
, "NL80211_ATTR_SCAN_START_TIME_TSF" },
2228 { WS_NL80211_ATTR_SCAN_START_TIME_TSF_BSSID
, "NL80211_ATTR_SCAN_START_TIME_TSF_BSSID" },
2229 { WS_NL80211_ATTR_MEASUREMENT_DURATION
, "NL80211_ATTR_MEASUREMENT_DURATION" },
2230 { WS_NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY
, "NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY" },
2231 { WS_NL80211_ATTR_MESH_PEER_AID
, "NL80211_ATTR_MESH_PEER_AID" },
2232 { WS_NL80211_ATTR_NAN_MASTER_PREF
, "NL80211_ATTR_NAN_MASTER_PREF" },
2233 { WS_NL80211_ATTR_BANDS
, "NL80211_ATTR_BANDS" },
2234 { WS_NL80211_ATTR_NAN_FUNC
, "NL80211_ATTR_NAN_FUNC" },
2235 { WS_NL80211_ATTR_NAN_MATCH
, "NL80211_ATTR_NAN_MATCH" },
2236 { WS_NL80211_ATTR_FILS_KEK
, "NL80211_ATTR_FILS_KEK" },
2237 { WS_NL80211_ATTR_FILS_NONCES
, "NL80211_ATTR_FILS_NONCES" },
2238 { WS_NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED
, "NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED" },
2239 { WS_NL80211_ATTR_BSSID
, "NL80211_ATTR_BSSID" },
2240 { WS_NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI
, "NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI" },
2241 { WS_NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST
, "NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST" },
2242 { WS_NL80211_ATTR_TIMEOUT_REASON
, "NL80211_ATTR_TIMEOUT_REASON" },
2243 { WS_NL80211_ATTR_FILS_ERP_USERNAME
, "NL80211_ATTR_FILS_ERP_USERNAME" },
2244 { WS_NL80211_ATTR_FILS_ERP_REALM
, "NL80211_ATTR_FILS_ERP_REALM" },
2245 { WS_NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM
, "NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM" },
2246 { WS_NL80211_ATTR_FILS_ERP_RRK
, "NL80211_ATTR_FILS_ERP_RRK" },
2247 { WS_NL80211_ATTR_FILS_CACHE_ID
, "NL80211_ATTR_FILS_CACHE_ID" },
2248 { WS_NL80211_ATTR_PMK
, "NL80211_ATTR_PMK" },
2249 { WS_NL80211_ATTR_SCHED_SCAN_MULTI
, "NL80211_ATTR_SCHED_SCAN_MULTI" },
2250 { WS_NL80211_ATTR_SCHED_SCAN_MAX_REQS
, "NL80211_ATTR_SCHED_SCAN_MAX_REQS" },
2251 { WS_NL80211_ATTR_WANT_1X_4WAY_HS
, "NL80211_ATTR_WANT_1X_4WAY_HS" },
2252 { WS_NL80211_ATTR_PMKR0_NAME
, "NL80211_ATTR_PMKR0_NAME" },
2253 { WS_NL80211_ATTR_PORT_AUTHORIZED
, "NL80211_ATTR_PORT_AUTHORIZED" },
2254 { WS_NL80211_ATTR_EXTERNAL_AUTH_ACTION
, "NL80211_ATTR_EXTERNAL_AUTH_ACTION" },
2255 { WS_NL80211_ATTR_EXTERNAL_AUTH_SUPPORT
, "NL80211_ATTR_EXTERNAL_AUTH_SUPPORT" },
2256 { WS_NL80211_ATTR_NSS
, "NL80211_ATTR_NSS" },
2257 { WS_NL80211_ATTR_ACK_SIGNAL
, "NL80211_ATTR_ACK_SIGNAL" },
2258 { WS_NL80211_ATTR_CONTROL_PORT_OVER_NL80211
, "NL80211_ATTR_CONTROL_PORT_OVER_NL80211" },
2259 { WS_NL80211_ATTR_TXQ_STATS
, "NL80211_ATTR_TXQ_STATS" },
2260 { WS_NL80211_ATTR_TXQ_LIMIT
, "NL80211_ATTR_TXQ_LIMIT" },
2261 { WS_NL80211_ATTR_TXQ_MEMORY_LIMIT
, "NL80211_ATTR_TXQ_MEMORY_LIMIT" },
2262 { WS_NL80211_ATTR_TXQ_QUANTUM
, "NL80211_ATTR_TXQ_QUANTUM" },
2263 { WS_NL80211_ATTR_HE_CAPABILITY
, "NL80211_ATTR_HE_CAPABILITY" },
2264 { WS_NL80211_ATTR_FTM_RESPONDER
, "NL80211_ATTR_FTM_RESPONDER" },
2265 { WS_NL80211_ATTR_FTM_RESPONDER_STATS
, "NL80211_ATTR_FTM_RESPONDER_STATS" },
2266 { WS_NL80211_ATTR_TIMEOUT
, "NL80211_ATTR_TIMEOUT" },
2267 { WS_NL80211_ATTR_PEER_MEASUREMENTS
, "NL80211_ATTR_PEER_MEASUREMENTS" },
2268 { WS_NL80211_ATTR_AIRTIME_WEIGHT
, "NL80211_ATTR_AIRTIME_WEIGHT" },
2269 { WS_NL80211_ATTR_STA_TX_POWER_SETTING
, "NL80211_ATTR_STA_TX_POWER_SETTING" },
2270 { WS_NL80211_ATTR_STA_TX_POWER
, "NL80211_ATTR_STA_TX_POWER" },
2271 { WS_NL80211_ATTR_SAE_PASSWORD
, "NL80211_ATTR_SAE_PASSWORD" },
2272 { WS_NL80211_ATTR_TWT_RESPONDER
, "NL80211_ATTR_TWT_RESPONDER" },
2273 { WS_NL80211_ATTR_HE_OBSS_PD
, "NL80211_ATTR_HE_OBSS_PD" },
2274 { WS_NL80211_ATTR_WIPHY_EDMG_CHANNELS
, "NL80211_ATTR_WIPHY_EDMG_CHANNELS" },
2275 { WS_NL80211_ATTR_WIPHY_EDMG_BW_CONFIG
, "NL80211_ATTR_WIPHY_EDMG_BW_CONFIG" },
2276 { WS_NL80211_ATTR_VLAN_ID
, "NL80211_ATTR_VLAN_ID" },
2277 { WS_NL80211_ATTR_HE_BSS_COLOR
, "NL80211_ATTR_HE_BSS_COLOR" },
2278 { WS_NL80211_ATTR_IFTYPE_AKM_SUITES
, "NL80211_ATTR_IFTYPE_AKM_SUITES" },
2279 { WS_NL80211_ATTR_TID_CONFIG
, "NL80211_ATTR_TID_CONFIG" },
2280 { WS_NL80211_ATTR_CONTROL_PORT_NO_PREAUTH
, "NL80211_ATTR_CONTROL_PORT_NO_PREAUTH" },
2281 { WS_NL80211_ATTR_PMK_LIFETIME
, "NL80211_ATTR_PMK_LIFETIME" },
2282 { WS_NL80211_ATTR_PMK_REAUTH_THRESHOLD
, "NL80211_ATTR_PMK_REAUTH_THRESHOLD" },
2283 { WS_NL80211_ATTR_RECEIVE_MULTICAST
, "NL80211_ATTR_RECEIVE_MULTICAST" },
2284 { WS_NL80211_ATTR_WIPHY_FREQ_OFFSET
, "NL80211_ATTR_WIPHY_FREQ_OFFSET" },
2285 { WS_NL80211_ATTR_CENTER_FREQ1_OFFSET
, "NL80211_ATTR_CENTER_FREQ1_OFFSET" },
2286 { WS_NL80211_ATTR_SCAN_FREQ_KHZ
, "NL80211_ATTR_SCAN_FREQ_KHZ" },
2287 { WS_NL80211_ATTR_HE_6GHZ_CAPABILITY
, "NL80211_ATTR_HE_6GHZ_CAPABILITY" },
2288 { WS_NL80211_ATTR_FILS_DISCOVERY
, "NL80211_ATTR_FILS_DISCOVERY" },
2289 { WS_NL80211_ATTR_UNSOL_BCAST_PROBE_RESP
, "NL80211_ATTR_UNSOL_BCAST_PROBE_RESP" },
2290 { WS_NL80211_ATTR_S1G_CAPABILITY
, "NL80211_ATTR_S1G_CAPABILITY" },
2291 { WS_NL80211_ATTR_S1G_CAPABILITY_MASK
, "NL80211_ATTR_S1G_CAPABILITY_MASK" },
2292 { WS_NL80211_ATTR_SAE_PWE
, "NL80211_ATTR_SAE_PWE" },
2293 { WS_NL80211_ATTR_RECONNECT_REQUESTED
, "NL80211_ATTR_RECONNECT_REQUESTED" },
2294 { WS_NL80211_ATTR_SAR_SPEC
, "NL80211_ATTR_SAR_SPEC" },
2295 { WS_NL80211_ATTR_DISABLE_HE
, "NL80211_ATTR_DISABLE_HE" },
2296 { WS_NL80211_ATTR_OBSS_COLOR_BITMAP
, "NL80211_ATTR_OBSS_COLOR_BITMAP" },
2297 { WS_NL80211_ATTR_COLOR_CHANGE_COUNT
, "NL80211_ATTR_COLOR_CHANGE_COUNT" },
2298 { WS_NL80211_ATTR_COLOR_CHANGE_COLOR
, "NL80211_ATTR_COLOR_CHANGE_COLOR" },
2299 { WS_NL80211_ATTR_COLOR_CHANGE_ELEMS
, "NL80211_ATTR_COLOR_CHANGE_ELEMS" },
2300 { WS_NL80211_ATTR_MBSSID_CONFIG
, "NL80211_ATTR_MBSSID_CONFIG" },
2301 { WS_NL80211_ATTR_MBSSID_ELEMS
, "NL80211_ATTR_MBSSID_ELEMS" },
2302 { WS_NL80211_ATTR_RADAR_BACKGROUND
, "NL80211_ATTR_RADAR_BACKGROUND" },
2303 { WS_NL80211_ATTR_AP_SETTINGS_FLAGS
, "NL80211_ATTR_AP_SETTINGS_FLAGS" },
2304 { WS_NL80211_ATTR_EHT_CAPABILITY
, "NL80211_ATTR_EHT_CAPABILITY" },
2305 { WS_NL80211_ATTR_DISABLE_EHT
, "NL80211_ATTR_DISABLE_EHT" },
2306 { WS_NL80211_ATTR_MLO_LINKS
, "NL80211_ATTR_MLO_LINKS" },
2307 { WS_NL80211_ATTR_MLO_LINK_ID
, "NL80211_ATTR_MLO_LINK_ID" },
2308 { WS_NL80211_ATTR_MLD_ADDR
, "NL80211_ATTR_MLD_ADDR" },
2309 { WS_NL80211_ATTR_MLO_SUPPORT
, "NL80211_ATTR_MLO_SUPPORT" },
2310 { WS_NL80211_ATTR_MAX_NUM_AKM_SUITES
, "NL80211_ATTR_MAX_NUM_AKM_SUITES" },
2311 { WS_NL80211_ATTR_EML_CAPABILITY
, "NL80211_ATTR_EML_CAPABILITY" },
2312 { WS_NL80211_ATTR_MLD_CAPA_AND_OPS
, "NL80211_ATTR_MLD_CAPA_AND_OPS" },
2313 { WS_NL80211_ATTR_TX_HW_TIMESTAMP
, "NL80211_ATTR_TX_HW_TIMESTAMP" },
2314 { WS_NL80211_ATTR_RX_HW_TIMESTAMP
, "NL80211_ATTR_RX_HW_TIMESTAMP" },
2315 { WS_NL80211_ATTR_TD_BITMAP
, "NL80211_ATTR_TD_BITMAP" },
2316 { WS_NL80211_ATTR_PUNCT_BITMAP
, "NL80211_ATTR_PUNCT_BITMAP" },
2317 { WS_NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS
, "NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS" },
2318 { WS_NL80211_ATTR_HW_TIMESTAMP_ENABLED
, "NL80211_ATTR_HW_TIMESTAMP_ENABLED" },
2319 { WS_NL80211_ATTR_EMA_RNR_ELEMS
, "NL80211_ATTR_EMA_RNR_ELEMS" },
2320 { WS_NL80211_ATTR_MLO_LINK_DISABLED
, "NL80211_ATTR_MLO_LINK_DISABLED" },
2321 { WS_NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA
, "NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA" },
2322 { WS_NL80211_ATTR_MLO_TTLM_DLINK
, "NL80211_ATTR_MLO_TTLM_DLINK" },
2323 { WS_NL80211_ATTR_MLO_TTLM_ULINK
, "NL80211_ATTR_MLO_TTLM_ULINK" },
2324 { WS_NL80211_ATTR_ASSOC_SPP_AMSDU
, "NL80211_ATTR_ASSOC_SPP_AMSDU" },
2325 { WS_NL80211_ATTR_WIPHY_RADIOS
, "NL80211_ATTR_WIPHY_RADIOS" },
2326 { WS_NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS
, "NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS" },
2329 static value_string_ext ws_nl80211_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_attrs_vals
);
2331 static const value_string ws_nl80211_iftype_vals
[] = {
2332 { WS_NL80211_IFTYPE_UNSPECIFIED
, "NL80211_IFTYPE_UNSPECIFIED" },
2333 { WS_NL80211_IFTYPE_ADHOC
, "NL80211_IFTYPE_ADHOC" },
2334 { WS_NL80211_IFTYPE_STATION
, "NL80211_IFTYPE_STATION" },
2335 { WS_NL80211_IFTYPE_AP
, "NL80211_IFTYPE_AP" },
2336 { WS_NL80211_IFTYPE_AP_VLAN
, "NL80211_IFTYPE_AP_VLAN" },
2337 { WS_NL80211_IFTYPE_WDS
, "NL80211_IFTYPE_WDS" },
2338 { WS_NL80211_IFTYPE_MONITOR
, "NL80211_IFTYPE_MONITOR" },
2339 { WS_NL80211_IFTYPE_MESH_POINT
, "NL80211_IFTYPE_MESH_POINT" },
2340 { WS_NL80211_IFTYPE_P2P_CLIENT
, "NL80211_IFTYPE_P2P_CLIENT" },
2341 { WS_NL80211_IFTYPE_P2P_GO
, "NL80211_IFTYPE_P2P_GO" },
2342 { WS_NL80211_IFTYPE_P2P_DEVICE
, "NL80211_IFTYPE_P2P_DEVICE" },
2343 { WS_NL80211_IFTYPE_OCB
, "NL80211_IFTYPE_OCB" },
2344 { WS_NL80211_IFTYPE_NAN
, "NL80211_IFTYPE_NAN" },
2347 static value_string_ext ws_nl80211_iftype_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_iftype_vals
);
2349 static const value_string ws_nl80211_sta_flags_vals
[] = {
2350 { WS___NL80211_STA_FLAG_INVALID
, "__NL80211_STA_FLAG_INVALID" },
2351 { WS_NL80211_STA_FLAG_AUTHORIZED
, "NL80211_STA_FLAG_AUTHORIZED" },
2352 { WS_NL80211_STA_FLAG_SHORT_PREAMBLE
, "NL80211_STA_FLAG_SHORT_PREAMBLE" },
2353 { WS_NL80211_STA_FLAG_WME
, "NL80211_STA_FLAG_WME" },
2354 { WS_NL80211_STA_FLAG_MFP
, "NL80211_STA_FLAG_MFP" },
2355 { WS_NL80211_STA_FLAG_AUTHENTICATED
, "NL80211_STA_FLAG_AUTHENTICATED" },
2356 { WS_NL80211_STA_FLAG_TDLS_PEER
, "NL80211_STA_FLAG_TDLS_PEER" },
2357 { WS_NL80211_STA_FLAG_ASSOCIATED
, "NL80211_STA_FLAG_ASSOCIATED" },
2358 { WS_NL80211_STA_FLAG_SPP_AMSDU
, "NL80211_STA_FLAG_SPP_AMSDU" },
2361 static value_string_ext ws_nl80211_sta_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sta_flags_vals
);
2363 static const value_string ws_nl80211_sta_p2p_ps_status_vals
[] = {
2364 { WS_NL80211_P2P_PS_UNSUPPORTED
, "NL80211_P2P_PS_UNSUPPORTED" },
2365 { WS_NL80211_P2P_PS_SUPPORTED
, "NL80211_P2P_PS_SUPPORTED" },
2368 static value_string_ext ws_nl80211_sta_p2p_ps_status_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sta_p2p_ps_status_vals
);
2370 static const value_string ws_nl80211_he_gi_vals
[] = {
2371 { WS_NL80211_RATE_INFO_HE_GI_0_8
, "NL80211_RATE_INFO_HE_GI_0_8" },
2372 { WS_NL80211_RATE_INFO_HE_GI_1_6
, "NL80211_RATE_INFO_HE_GI_1_6" },
2373 { WS_NL80211_RATE_INFO_HE_GI_3_2
, "NL80211_RATE_INFO_HE_GI_3_2" },
2376 static value_string_ext ws_nl80211_he_gi_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_he_gi_vals
);
2378 static const value_string ws_nl80211_he_ltf_vals
[] = {
2379 { WS_NL80211_RATE_INFO_HE_1XLTF
, "NL80211_RATE_INFO_HE_1XLTF" },
2380 { WS_NL80211_RATE_INFO_HE_2XLTF
, "NL80211_RATE_INFO_HE_2XLTF" },
2381 { WS_NL80211_RATE_INFO_HE_4XLTF
, "NL80211_RATE_INFO_HE_4XLTF" },
2384 static value_string_ext ws_nl80211_he_ltf_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_he_ltf_vals
);
2386 static const value_string ws_nl80211_he_ru_alloc_vals
[] = {
2387 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_26
, "NL80211_RATE_INFO_HE_RU_ALLOC_26" },
2388 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_52
, "NL80211_RATE_INFO_HE_RU_ALLOC_52" },
2389 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_106
, "NL80211_RATE_INFO_HE_RU_ALLOC_106" },
2390 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_242
, "NL80211_RATE_INFO_HE_RU_ALLOC_242" },
2391 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_484
, "NL80211_RATE_INFO_HE_RU_ALLOC_484" },
2392 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_996
, "NL80211_RATE_INFO_HE_RU_ALLOC_996" },
2393 { WS_NL80211_RATE_INFO_HE_RU_ALLOC_2x996
, "NL80211_RATE_INFO_HE_RU_ALLOC_2x996" },
2396 static value_string_ext ws_nl80211_he_ru_alloc_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_he_ru_alloc_vals
);
2398 static const value_string ws_nl80211_eht_gi_vals
[] = {
2399 { WS_NL80211_RATE_INFO_EHT_GI_0_8
, "NL80211_RATE_INFO_EHT_GI_0_8" },
2400 { WS_NL80211_RATE_INFO_EHT_GI_1_6
, "NL80211_RATE_INFO_EHT_GI_1_6" },
2401 { WS_NL80211_RATE_INFO_EHT_GI_3_2
, "NL80211_RATE_INFO_EHT_GI_3_2" },
2404 static value_string_ext ws_nl80211_eht_gi_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_eht_gi_vals
);
2406 static const value_string ws_nl80211_eht_ru_alloc_vals
[] = {
2407 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_26
, "NL80211_RATE_INFO_EHT_RU_ALLOC_26" },
2408 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52
, "NL80211_RATE_INFO_EHT_RU_ALLOC_52" },
2409 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52P26
, "NL80211_RATE_INFO_EHT_RU_ALLOC_52P26" },
2410 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106
, "NL80211_RATE_INFO_EHT_RU_ALLOC_106" },
2411 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106P26
, "NL80211_RATE_INFO_EHT_RU_ALLOC_106P26" },
2412 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_242
, "NL80211_RATE_INFO_EHT_RU_ALLOC_242" },
2413 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484
, "NL80211_RATE_INFO_EHT_RU_ALLOC_484" },
2414 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484P242
, "NL80211_RATE_INFO_EHT_RU_ALLOC_484P242" },
2415 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996
, "NL80211_RATE_INFO_EHT_RU_ALLOC_996" },
2416 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484
, "NL80211_RATE_INFO_EHT_RU_ALLOC_996P484" },
2417 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242
, "NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242" },
2418 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996
, "NL80211_RATE_INFO_EHT_RU_ALLOC_2x996" },
2419 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484
, "NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484" },
2420 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996
, "NL80211_RATE_INFO_EHT_RU_ALLOC_3x996" },
2421 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484
, "NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484" },
2422 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_4x996
, "NL80211_RATE_INFO_EHT_RU_ALLOC_4x996" },
2425 static value_string_ext ws_nl80211_eht_ru_alloc_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_eht_ru_alloc_vals
);
2427 static const value_string ws_nl80211_rate_info_vals
[] = {
2428 { WS___NL80211_RATE_INFO_INVALID
, "__NL80211_RATE_INFO_INVALID" },
2429 { WS_NL80211_RATE_INFO_BITRATE
, "NL80211_RATE_INFO_BITRATE" },
2430 { WS_NL80211_RATE_INFO_MCS
, "NL80211_RATE_INFO_MCS" },
2431 { WS_NL80211_RATE_INFO_40_MHZ_WIDTH
, "NL80211_RATE_INFO_40_MHZ_WIDTH" },
2432 { WS_NL80211_RATE_INFO_SHORT_GI
, "NL80211_RATE_INFO_SHORT_GI" },
2433 { WS_NL80211_RATE_INFO_BITRATE32
, "NL80211_RATE_INFO_BITRATE32" },
2434 { WS_NL80211_RATE_INFO_VHT_MCS
, "NL80211_RATE_INFO_VHT_MCS" },
2435 { WS_NL80211_RATE_INFO_VHT_NSS
, "NL80211_RATE_INFO_VHT_NSS" },
2436 { WS_NL80211_RATE_INFO_80_MHZ_WIDTH
, "NL80211_RATE_INFO_80_MHZ_WIDTH" },
2437 { WS_NL80211_RATE_INFO_80P80_MHZ_WIDTH
, "NL80211_RATE_INFO_80P80_MHZ_WIDTH" },
2438 { WS_NL80211_RATE_INFO_160_MHZ_WIDTH
, "NL80211_RATE_INFO_160_MHZ_WIDTH" },
2439 { WS_NL80211_RATE_INFO_10_MHZ_WIDTH
, "NL80211_RATE_INFO_10_MHZ_WIDTH" },
2440 { WS_NL80211_RATE_INFO_5_MHZ_WIDTH
, "NL80211_RATE_INFO_5_MHZ_WIDTH" },
2441 { WS_NL80211_RATE_INFO_HE_MCS
, "NL80211_RATE_INFO_HE_MCS" },
2442 { WS_NL80211_RATE_INFO_HE_NSS
, "NL80211_RATE_INFO_HE_NSS" },
2443 { WS_NL80211_RATE_INFO_HE_GI
, "NL80211_RATE_INFO_HE_GI" },
2444 { WS_NL80211_RATE_INFO_HE_DCM
, "NL80211_RATE_INFO_HE_DCM" },
2445 { WS_NL80211_RATE_INFO_HE_RU_ALLOC
, "NL80211_RATE_INFO_HE_RU_ALLOC" },
2446 { WS_NL80211_RATE_INFO_320_MHZ_WIDTH
, "NL80211_RATE_INFO_320_MHZ_WIDTH" },
2447 { WS_NL80211_RATE_INFO_EHT_MCS
, "NL80211_RATE_INFO_EHT_MCS" },
2448 { WS_NL80211_RATE_INFO_EHT_NSS
, "NL80211_RATE_INFO_EHT_NSS" },
2449 { WS_NL80211_RATE_INFO_EHT_GI
, "NL80211_RATE_INFO_EHT_GI" },
2450 { WS_NL80211_RATE_INFO_EHT_RU_ALLOC
, "NL80211_RATE_INFO_EHT_RU_ALLOC" },
2451 { WS_NL80211_RATE_INFO_S1G_MCS
, "NL80211_RATE_INFO_S1G_MCS" },
2452 { WS_NL80211_RATE_INFO_S1G_NSS
, "NL80211_RATE_INFO_S1G_NSS" },
2453 { WS_NL80211_RATE_INFO_1_MHZ_WIDTH
, "NL80211_RATE_INFO_1_MHZ_WIDTH" },
2454 { WS_NL80211_RATE_INFO_2_MHZ_WIDTH
, "NL80211_RATE_INFO_2_MHZ_WIDTH" },
2455 { WS_NL80211_RATE_INFO_4_MHZ_WIDTH
, "NL80211_RATE_INFO_4_MHZ_WIDTH" },
2456 { WS_NL80211_RATE_INFO_8_MHZ_WIDTH
, "NL80211_RATE_INFO_8_MHZ_WIDTH" },
2457 { WS_NL80211_RATE_INFO_16_MHZ_WIDTH
, "NL80211_RATE_INFO_16_MHZ_WIDTH" },
2460 static value_string_ext ws_nl80211_rate_info_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_rate_info_vals
);
2462 static const value_string ws_nl80211_sta_bss_param_vals
[] = {
2463 { WS___NL80211_STA_BSS_PARAM_INVALID
, "__NL80211_STA_BSS_PARAM_INVALID" },
2464 { WS_NL80211_STA_BSS_PARAM_CTS_PROT
, "NL80211_STA_BSS_PARAM_CTS_PROT" },
2465 { WS_NL80211_STA_BSS_PARAM_SHORT_PREAMBLE
, "NL80211_STA_BSS_PARAM_SHORT_PREAMBLE" },
2466 { WS_NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME
, "NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME" },
2467 { WS_NL80211_STA_BSS_PARAM_DTIM_PERIOD
, "NL80211_STA_BSS_PARAM_DTIM_PERIOD" },
2468 { WS_NL80211_STA_BSS_PARAM_BEACON_INTERVAL
, "NL80211_STA_BSS_PARAM_BEACON_INTERVAL" },
2471 static value_string_ext ws_nl80211_sta_bss_param_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sta_bss_param_vals
);
2473 static const value_string ws_nl80211_sta_info_vals
[] = {
2474 { WS___NL80211_STA_INFO_INVALID
, "__NL80211_STA_INFO_INVALID" },
2475 { WS_NL80211_STA_INFO_INACTIVE_TIME
, "NL80211_STA_INFO_INACTIVE_TIME" },
2476 { WS_NL80211_STA_INFO_RX_BYTES
, "NL80211_STA_INFO_RX_BYTES" },
2477 { WS_NL80211_STA_INFO_TX_BYTES
, "NL80211_STA_INFO_TX_BYTES" },
2478 { WS_NL80211_STA_INFO_LLID
, "NL80211_STA_INFO_LLID" },
2479 { WS_NL80211_STA_INFO_PLID
, "NL80211_STA_INFO_PLID" },
2480 { WS_NL80211_STA_INFO_PLINK_STATE
, "NL80211_STA_INFO_PLINK_STATE" },
2481 { WS_NL80211_STA_INFO_SIGNAL
, "NL80211_STA_INFO_SIGNAL" },
2482 { WS_NL80211_STA_INFO_TX_BITRATE
, "NL80211_STA_INFO_TX_BITRATE" },
2483 { WS_NL80211_STA_INFO_RX_PACKETS
, "NL80211_STA_INFO_RX_PACKETS" },
2484 { WS_NL80211_STA_INFO_TX_PACKETS
, "NL80211_STA_INFO_TX_PACKETS" },
2485 { WS_NL80211_STA_INFO_TX_RETRIES
, "NL80211_STA_INFO_TX_RETRIES" },
2486 { WS_NL80211_STA_INFO_TX_FAILED
, "NL80211_STA_INFO_TX_FAILED" },
2487 { WS_NL80211_STA_INFO_SIGNAL_AVG
, "NL80211_STA_INFO_SIGNAL_AVG" },
2488 { WS_NL80211_STA_INFO_RX_BITRATE
, "NL80211_STA_INFO_RX_BITRATE" },
2489 { WS_NL80211_STA_INFO_BSS_PARAM
, "NL80211_STA_INFO_BSS_PARAM" },
2490 { WS_NL80211_STA_INFO_CONNECTED_TIME
, "NL80211_STA_INFO_CONNECTED_TIME" },
2491 { WS_NL80211_STA_INFO_STA_FLAGS
, "NL80211_STA_INFO_STA_FLAGS" },
2492 { WS_NL80211_STA_INFO_BEACON_LOSS
, "NL80211_STA_INFO_BEACON_LOSS" },
2493 { WS_NL80211_STA_INFO_T_OFFSET
, "NL80211_STA_INFO_T_OFFSET" },
2494 { WS_NL80211_STA_INFO_LOCAL_PM
, "NL80211_STA_INFO_LOCAL_PM" },
2495 { WS_NL80211_STA_INFO_PEER_PM
, "NL80211_STA_INFO_PEER_PM" },
2496 { WS_NL80211_STA_INFO_NONPEER_PM
, "NL80211_STA_INFO_NONPEER_PM" },
2497 { WS_NL80211_STA_INFO_RX_BYTES64
, "NL80211_STA_INFO_RX_BYTES64" },
2498 { WS_NL80211_STA_INFO_TX_BYTES64
, "NL80211_STA_INFO_TX_BYTES64" },
2499 { WS_NL80211_STA_INFO_CHAIN_SIGNAL
, "NL80211_STA_INFO_CHAIN_SIGNAL" },
2500 { WS_NL80211_STA_INFO_CHAIN_SIGNAL_AVG
, "NL80211_STA_INFO_CHAIN_SIGNAL_AVG" },
2501 { WS_NL80211_STA_INFO_EXPECTED_THROUGHPUT
, "NL80211_STA_INFO_EXPECTED_THROUGHPUT" },
2502 { WS_NL80211_STA_INFO_RX_DROP_MISC
, "NL80211_STA_INFO_RX_DROP_MISC" },
2503 { WS_NL80211_STA_INFO_BEACON_RX
, "NL80211_STA_INFO_BEACON_RX" },
2504 { WS_NL80211_STA_INFO_BEACON_SIGNAL_AVG
, "NL80211_STA_INFO_BEACON_SIGNAL_AVG" },
2505 { WS_NL80211_STA_INFO_TID_STATS
, "NL80211_STA_INFO_TID_STATS" },
2506 { WS_NL80211_STA_INFO_RX_DURATION
, "NL80211_STA_INFO_RX_DURATION" },
2507 { WS_NL80211_STA_INFO_PAD
, "NL80211_STA_INFO_PAD" },
2508 { WS_NL80211_STA_INFO_ACK_SIGNAL
, "NL80211_STA_INFO_ACK_SIGNAL" },
2509 { WS_NL80211_STA_INFO_ACK_SIGNAL_AVG
, "NL80211_STA_INFO_ACK_SIGNAL_AVG" },
2510 { WS_NL80211_STA_INFO_RX_MPDUS
, "NL80211_STA_INFO_RX_MPDUS" },
2511 { WS_NL80211_STA_INFO_FCS_ERROR_COUNT
, "NL80211_STA_INFO_FCS_ERROR_COUNT" },
2512 { WS_NL80211_STA_INFO_CONNECTED_TO_GATE
, "NL80211_STA_INFO_CONNECTED_TO_GATE" },
2513 { WS_NL80211_STA_INFO_TX_DURATION
, "NL80211_STA_INFO_TX_DURATION" },
2514 { WS_NL80211_STA_INFO_AIRTIME_WEIGHT
, "NL80211_STA_INFO_AIRTIME_WEIGHT" },
2515 { WS_NL80211_STA_INFO_AIRTIME_LINK_METRIC
, "NL80211_STA_INFO_AIRTIME_LINK_METRIC" },
2516 { WS_NL80211_STA_INFO_ASSOC_AT_BOOTTIME
, "NL80211_STA_INFO_ASSOC_AT_BOOTTIME" },
2517 { WS_NL80211_STA_INFO_CONNECTED_TO_AS
, "NL80211_STA_INFO_CONNECTED_TO_AS" },
2520 static value_string_ext ws_nl80211_sta_info_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sta_info_vals
);
2522 static const value_string ws_nl80211_tid_stats_vals
[] = {
2523 { WS___NL80211_TID_STATS_INVALID
, "__NL80211_TID_STATS_INVALID" },
2524 { WS_NL80211_TID_STATS_RX_MSDU
, "NL80211_TID_STATS_RX_MSDU" },
2525 { WS_NL80211_TID_STATS_TX_MSDU
, "NL80211_TID_STATS_TX_MSDU" },
2526 { WS_NL80211_TID_STATS_TX_MSDU_RETRIES
, "NL80211_TID_STATS_TX_MSDU_RETRIES" },
2527 { WS_NL80211_TID_STATS_TX_MSDU_FAILED
, "NL80211_TID_STATS_TX_MSDU_FAILED" },
2528 { WS_NL80211_TID_STATS_PAD
, "NL80211_TID_STATS_PAD" },
2529 { WS_NL80211_TID_STATS_TXQ_STATS
, "NL80211_TID_STATS_TXQ_STATS" },
2532 static value_string_ext ws_nl80211_tid_stats_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tid_stats_vals
);
2534 static const value_string ws_nl80211_txq_stats_vals
[] = {
2535 { WS___NL80211_TXQ_STATS_INVALID
, "__NL80211_TXQ_STATS_INVALID" },
2536 { WS_NL80211_TXQ_STATS_BACKLOG_BYTES
, "NL80211_TXQ_STATS_BACKLOG_BYTES" },
2537 { WS_NL80211_TXQ_STATS_BACKLOG_PACKETS
, "NL80211_TXQ_STATS_BACKLOG_PACKETS" },
2538 { WS_NL80211_TXQ_STATS_FLOWS
, "NL80211_TXQ_STATS_FLOWS" },
2539 { WS_NL80211_TXQ_STATS_DROPS
, "NL80211_TXQ_STATS_DROPS" },
2540 { WS_NL80211_TXQ_STATS_ECN_MARKS
, "NL80211_TXQ_STATS_ECN_MARKS" },
2541 { WS_NL80211_TXQ_STATS_OVERLIMIT
, "NL80211_TXQ_STATS_OVERLIMIT" },
2542 { WS_NL80211_TXQ_STATS_OVERMEMORY
, "NL80211_TXQ_STATS_OVERMEMORY" },
2543 { WS_NL80211_TXQ_STATS_COLLISIONS
, "NL80211_TXQ_STATS_COLLISIONS" },
2544 { WS_NL80211_TXQ_STATS_TX_BYTES
, "NL80211_TXQ_STATS_TX_BYTES" },
2545 { WS_NL80211_TXQ_STATS_TX_PACKETS
, "NL80211_TXQ_STATS_TX_PACKETS" },
2546 { WS_NL80211_TXQ_STATS_MAX_FLOWS
, "NL80211_TXQ_STATS_MAX_FLOWS" },
2549 static value_string_ext ws_nl80211_txq_stats_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_txq_stats_vals
);
2551 static const value_string ws_nl80211_mpath_flags_vals
[] = {
2552 { WS_NL80211_MPATH_FLAG_ACTIVE
, "NL80211_MPATH_FLAG_ACTIVE" },
2553 { WS_NL80211_MPATH_FLAG_RESOLVING
, "NL80211_MPATH_FLAG_RESOLVING" },
2554 { WS_NL80211_MPATH_FLAG_SN_VALID
, "NL80211_MPATH_FLAG_SN_VALID" },
2555 { WS_NL80211_MPATH_FLAG_FIXED
, "NL80211_MPATH_FLAG_FIXED" },
2556 { WS_NL80211_MPATH_FLAG_RESOLVED
, "NL80211_MPATH_FLAG_RESOLVED" },
2559 static value_string_ext ws_nl80211_mpath_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mpath_flags_vals
);
2561 static const value_string ws_nl80211_mpath_info_vals
[] = {
2562 { WS___NL80211_MPATH_INFO_INVALID
, "__NL80211_MPATH_INFO_INVALID" },
2563 { WS_NL80211_MPATH_INFO_FRAME_QLEN
, "NL80211_MPATH_INFO_FRAME_QLEN" },
2564 { WS_NL80211_MPATH_INFO_SN
, "NL80211_MPATH_INFO_SN" },
2565 { WS_NL80211_MPATH_INFO_METRIC
, "NL80211_MPATH_INFO_METRIC" },
2566 { WS_NL80211_MPATH_INFO_EXPTIME
, "NL80211_MPATH_INFO_EXPTIME" },
2567 { WS_NL80211_MPATH_INFO_FLAGS
, "NL80211_MPATH_INFO_FLAGS" },
2568 { WS_NL80211_MPATH_INFO_DISCOVERY_TIMEOUT
, "NL80211_MPATH_INFO_DISCOVERY_TIMEOUT" },
2569 { WS_NL80211_MPATH_INFO_DISCOVERY_RETRIES
, "NL80211_MPATH_INFO_DISCOVERY_RETRIES" },
2570 { WS_NL80211_MPATH_INFO_HOP_COUNT
, "NL80211_MPATH_INFO_HOP_COUNT" },
2571 { WS_NL80211_MPATH_INFO_PATH_CHANGE
, "NL80211_MPATH_INFO_PATH_CHANGE" },
2574 static value_string_ext ws_nl80211_mpath_info_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mpath_info_vals
);
2576 static const value_string ws_nl80211_band_iftype_attr_vals
[] = {
2577 { WS___NL80211_BAND_IFTYPE_ATTR_INVALID
, "__NL80211_BAND_IFTYPE_ATTR_INVALID" },
2578 { WS_NL80211_BAND_IFTYPE_ATTR_IFTYPES
, "NL80211_BAND_IFTYPE_ATTR_IFTYPES" },
2579 { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC
, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC" },
2580 { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY
, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY" },
2581 { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET
, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET" },
2582 { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE
, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE" },
2583 { WS_NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA
, "NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA" },
2584 { WS_NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS
, "NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS" },
2585 { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC
, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC" },
2586 { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY" },
2587 { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET
, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET" },
2588 { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE
, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE" },
2591 static value_string_ext ws_nl80211_band_iftype_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_band_iftype_attr_vals
);
2593 static const value_string ws_nl80211_band_attr_vals
[] = {
2594 { WS___NL80211_BAND_ATTR_INVALID
, "__NL80211_BAND_ATTR_INVALID" },
2595 { WS_NL80211_BAND_ATTR_FREQS
, "NL80211_BAND_ATTR_FREQS" },
2596 { WS_NL80211_BAND_ATTR_RATES
, "NL80211_BAND_ATTR_RATES" },
2597 { WS_NL80211_BAND_ATTR_HT_MCS_SET
, "NL80211_BAND_ATTR_HT_MCS_SET" },
2598 { WS_NL80211_BAND_ATTR_HT_CAPA
, "NL80211_BAND_ATTR_HT_CAPA" },
2599 { WS_NL80211_BAND_ATTR_HT_AMPDU_FACTOR
, "NL80211_BAND_ATTR_HT_AMPDU_FACTOR" },
2600 { WS_NL80211_BAND_ATTR_HT_AMPDU_DENSITY
, "NL80211_BAND_ATTR_HT_AMPDU_DENSITY" },
2601 { WS_NL80211_BAND_ATTR_VHT_MCS_SET
, "NL80211_BAND_ATTR_VHT_MCS_SET" },
2602 { WS_NL80211_BAND_ATTR_VHT_CAPA
, "NL80211_BAND_ATTR_VHT_CAPA" },
2603 { WS_NL80211_BAND_ATTR_IFTYPE_DATA
, "NL80211_BAND_ATTR_IFTYPE_DATA" },
2604 { WS_NL80211_BAND_ATTR_EDMG_CHANNELS
, "NL80211_BAND_ATTR_EDMG_CHANNELS" },
2605 { WS_NL80211_BAND_ATTR_EDMG_BW_CONFIG
, "NL80211_BAND_ATTR_EDMG_BW_CONFIG" },
2606 { WS_NL80211_BAND_ATTR_S1G_MCS_NSS_SET
, "NL80211_BAND_ATTR_S1G_MCS_NSS_SET" },
2607 { WS_NL80211_BAND_ATTR_S1G_CAPA
, "NL80211_BAND_ATTR_S1G_CAPA" },
2610 static value_string_ext ws_nl80211_band_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_band_attr_vals
);
2612 static const value_string ws_nl80211_wmm_rule_vals
[] = {
2613 { WS___NL80211_WMMR_INVALID
, "__NL80211_WMMR_INVALID" },
2614 { WS_NL80211_WMMR_CW_MIN
, "NL80211_WMMR_CW_MIN" },
2615 { WS_NL80211_WMMR_CW_MAX
, "NL80211_WMMR_CW_MAX" },
2616 { WS_NL80211_WMMR_AIFSN
, "NL80211_WMMR_AIFSN" },
2617 { WS_NL80211_WMMR_TXOP
, "NL80211_WMMR_TXOP" },
2620 static value_string_ext ws_nl80211_wmm_rule_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wmm_rule_vals
);
2622 static const value_string ws_nl80211_frequency_attr_vals
[] = {
2623 { WS___NL80211_FREQUENCY_ATTR_INVALID
, "__NL80211_FREQUENCY_ATTR_INVALID" },
2624 { WS_NL80211_FREQUENCY_ATTR_FREQ
, "NL80211_FREQUENCY_ATTR_FREQ" },
2625 { WS_NL80211_FREQUENCY_ATTR_DISABLED
, "NL80211_FREQUENCY_ATTR_DISABLED" },
2626 { WS_NL80211_FREQUENCY_ATTR_NO_IR
, "NL80211_FREQUENCY_ATTR_NO_IR" },
2627 { WS___NL80211_FREQUENCY_ATTR_NO_IBSS
, "__NL80211_FREQUENCY_ATTR_NO_IBSS" },
2628 { WS_NL80211_FREQUENCY_ATTR_RADAR
, "NL80211_FREQUENCY_ATTR_RADAR" },
2629 { WS_NL80211_FREQUENCY_ATTR_MAX_TX_POWER
, "NL80211_FREQUENCY_ATTR_MAX_TX_POWER" },
2630 { WS_NL80211_FREQUENCY_ATTR_DFS_STATE
, "NL80211_FREQUENCY_ATTR_DFS_STATE" },
2631 { WS_NL80211_FREQUENCY_ATTR_DFS_TIME
, "NL80211_FREQUENCY_ATTR_DFS_TIME" },
2632 { WS_NL80211_FREQUENCY_ATTR_NO_HT40_MINUS
, "NL80211_FREQUENCY_ATTR_NO_HT40_MINUS" },
2633 { WS_NL80211_FREQUENCY_ATTR_NO_HT40_PLUS
, "NL80211_FREQUENCY_ATTR_NO_HT40_PLUS" },
2634 { WS_NL80211_FREQUENCY_ATTR_NO_80MHZ
, "NL80211_FREQUENCY_ATTR_NO_80MHZ" },
2635 { WS_NL80211_FREQUENCY_ATTR_NO_160MHZ
, "NL80211_FREQUENCY_ATTR_NO_160MHZ" },
2636 { WS_NL80211_FREQUENCY_ATTR_DFS_CAC_TIME
, "NL80211_FREQUENCY_ATTR_DFS_CAC_TIME" },
2637 { WS_NL80211_FREQUENCY_ATTR_INDOOR_ONLY
, "NL80211_FREQUENCY_ATTR_INDOOR_ONLY" },
2638 { WS_NL80211_FREQUENCY_ATTR_IR_CONCURRENT
, "NL80211_FREQUENCY_ATTR_IR_CONCURRENT" },
2639 { WS_NL80211_FREQUENCY_ATTR_NO_20MHZ
, "NL80211_FREQUENCY_ATTR_NO_20MHZ" },
2640 { WS_NL80211_FREQUENCY_ATTR_NO_10MHZ
, "NL80211_FREQUENCY_ATTR_NO_10MHZ" },
2641 { WS_NL80211_FREQUENCY_ATTR_WMM
, "NL80211_FREQUENCY_ATTR_WMM" },
2642 { WS_NL80211_FREQUENCY_ATTR_NO_HE
, "NL80211_FREQUENCY_ATTR_NO_HE" },
2643 { WS_NL80211_FREQUENCY_ATTR_OFFSET
, "NL80211_FREQUENCY_ATTR_OFFSET" },
2644 { WS_NL80211_FREQUENCY_ATTR_1MHZ
, "NL80211_FREQUENCY_ATTR_1MHZ" },
2645 { WS_NL80211_FREQUENCY_ATTR_2MHZ
, "NL80211_FREQUENCY_ATTR_2MHZ" },
2646 { WS_NL80211_FREQUENCY_ATTR_4MHZ
, "NL80211_FREQUENCY_ATTR_4MHZ" },
2647 { WS_NL80211_FREQUENCY_ATTR_8MHZ
, "NL80211_FREQUENCY_ATTR_8MHZ" },
2648 { WS_NL80211_FREQUENCY_ATTR_16MHZ
, "NL80211_FREQUENCY_ATTR_16MHZ" },
2649 { WS_NL80211_FREQUENCY_ATTR_NO_320MHZ
, "NL80211_FREQUENCY_ATTR_NO_320MHZ" },
2650 { WS_NL80211_FREQUENCY_ATTR_NO_EHT
, "NL80211_FREQUENCY_ATTR_NO_EHT" },
2651 { WS_NL80211_FREQUENCY_ATTR_PSD
, "NL80211_FREQUENCY_ATTR_PSD" },
2652 { WS_NL80211_FREQUENCY_ATTR_DFS_CONCURRENT
, "NL80211_FREQUENCY_ATTR_DFS_CONCURRENT" },
2653 { WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT
, "NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT" },
2654 { WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT
, "NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT" },
2655 { WS_NL80211_FREQUENCY_ATTR_CAN_MONITOR
, "NL80211_FREQUENCY_ATTR_CAN_MONITOR" },
2656 { WS_NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP
, "NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP" },
2659 static value_string_ext ws_nl80211_frequency_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_frequency_attr_vals
);
2661 static const value_string ws_nl80211_bitrate_attr_vals
[] = {
2662 { WS___NL80211_BITRATE_ATTR_INVALID
, "__NL80211_BITRATE_ATTR_INVALID" },
2663 { WS_NL80211_BITRATE_ATTR_RATE
, "NL80211_BITRATE_ATTR_RATE" },
2664 { WS_NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE
, "NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE" },
2667 static value_string_ext ws_nl80211_bitrate_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bitrate_attr_vals
);
2669 static const value_string ws_nl80211_reg_initiator_vals
[] = {
2670 { WS_NL80211_REGDOM_SET_BY_CORE
, "NL80211_REGDOM_SET_BY_CORE" },
2671 { WS_NL80211_REGDOM_SET_BY_USER
, "NL80211_REGDOM_SET_BY_USER" },
2672 { WS_NL80211_REGDOM_SET_BY_DRIVER
, "NL80211_REGDOM_SET_BY_DRIVER" },
2673 { WS_NL80211_REGDOM_SET_BY_COUNTRY_IE
, "NL80211_REGDOM_SET_BY_COUNTRY_IE" },
2676 static value_string_ext ws_nl80211_reg_initiator_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_reg_initiator_vals
);
2678 static const value_string ws_nl80211_reg_type_vals
[] = {
2679 { WS_NL80211_REGDOM_TYPE_COUNTRY
, "NL80211_REGDOM_TYPE_COUNTRY" },
2680 { WS_NL80211_REGDOM_TYPE_WORLD
, "NL80211_REGDOM_TYPE_WORLD" },
2681 { WS_NL80211_REGDOM_TYPE_CUSTOM_WORLD
, "NL80211_REGDOM_TYPE_CUSTOM_WORLD" },
2682 { WS_NL80211_REGDOM_TYPE_INTERSECTION
, "NL80211_REGDOM_TYPE_INTERSECTION" },
2685 static value_string_ext ws_nl80211_reg_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_reg_type_vals
);
2687 static const value_string ws_nl80211_reg_rule_attr_vals
[] = {
2688 { WS___NL80211_REG_RULE_ATTR_INVALID
, "__NL80211_REG_RULE_ATTR_INVALID" },
2689 { WS_NL80211_ATTR_REG_RULE_FLAGS
, "NL80211_ATTR_REG_RULE_FLAGS" },
2690 { WS_NL80211_ATTR_FREQ_RANGE_START
, "NL80211_ATTR_FREQ_RANGE_START" },
2691 { WS_NL80211_ATTR_FREQ_RANGE_END
, "NL80211_ATTR_FREQ_RANGE_END" },
2692 { WS_NL80211_ATTR_FREQ_RANGE_MAX_BW
, "NL80211_ATTR_FREQ_RANGE_MAX_BW" },
2693 { WS_NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN
, "NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN" },
2694 { WS_NL80211_ATTR_POWER_RULE_MAX_EIRP
, "NL80211_ATTR_POWER_RULE_MAX_EIRP" },
2695 { WS_NL80211_ATTR_DFS_CAC_TIME
, "NL80211_ATTR_DFS_CAC_TIME" },
2696 { WS_NL80211_ATTR_POWER_RULE_PSD
, "NL80211_ATTR_POWER_RULE_PSD" },
2699 static value_string_ext ws_nl80211_reg_rule_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_reg_rule_attr_vals
);
2701 static const value_string ws_nl80211_sched_scan_match_attr_vals
[] = {
2702 { WS___NL80211_SCHED_SCAN_MATCH_ATTR_INVALID
, "__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID" },
2703 { WS_NL80211_SCHED_SCAN_MATCH_ATTR_SSID
, "NL80211_SCHED_SCAN_MATCH_ATTR_SSID" },
2704 { WS_NL80211_SCHED_SCAN_MATCH_ATTR_RSSI
, "NL80211_SCHED_SCAN_MATCH_ATTR_RSSI" },
2705 { WS_NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI
, "NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI" },
2706 { WS_NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST
, "NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST" },
2707 { WS_NL80211_SCHED_SCAN_MATCH_ATTR_BSSID
, "NL80211_SCHED_SCAN_MATCH_ATTR_BSSID" },
2708 { WS_NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI
, "NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI" },
2711 static value_string_ext ws_nl80211_sched_scan_match_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sched_scan_match_attr_vals
);
2713 static const value_string ws_nl80211_reg_rule_flags_vals
[] = {
2714 { WS_NL80211_RRF_NO_OFDM
, "NL80211_RRF_NO_OFDM" },
2715 { WS_NL80211_RRF_NO_CCK
, "NL80211_RRF_NO_CCK" },
2716 { WS_NL80211_RRF_NO_INDOOR
, "NL80211_RRF_NO_INDOOR" },
2717 { WS_NL80211_RRF_NO_OUTDOOR
, "NL80211_RRF_NO_OUTDOOR" },
2718 { WS_NL80211_RRF_DFS
, "NL80211_RRF_DFS" },
2719 { WS_NL80211_RRF_PTP_ONLY
, "NL80211_RRF_PTP_ONLY" },
2720 { WS_NL80211_RRF_PTMP_ONLY
, "NL80211_RRF_PTMP_ONLY" },
2721 { WS_NL80211_RRF_NO_IR
, "NL80211_RRF_NO_IR" },
2722 { WS___NL80211_RRF_NO_IBSS
, "__NL80211_RRF_NO_IBSS" },
2723 { WS_NL80211_RRF_AUTO_BW
, "NL80211_RRF_AUTO_BW" },
2724 { WS_NL80211_RRF_IR_CONCURRENT
, "NL80211_RRF_IR_CONCURRENT" },
2725 { WS_NL80211_RRF_NO_HT40MINUS
, "NL80211_RRF_NO_HT40MINUS" },
2726 { WS_NL80211_RRF_NO_HT40PLUS
, "NL80211_RRF_NO_HT40PLUS" },
2727 { WS_NL80211_RRF_NO_80MHZ
, "NL80211_RRF_NO_80MHZ" },
2728 { WS_NL80211_RRF_NO_160MHZ
, "NL80211_RRF_NO_160MHZ" },
2729 { WS_NL80211_RRF_NO_HE
, "NL80211_RRF_NO_HE" },
2730 { WS_NL80211_RRF_NO_320MHZ
, "NL80211_RRF_NO_320MHZ" },
2731 { WS_NL80211_RRF_NO_EHT
, "NL80211_RRF_NO_EHT" },
2732 { WS_NL80211_RRF_PSD
, "NL80211_RRF_PSD" },
2733 { WS_NL80211_RRF_DFS_CONCURRENT
, "NL80211_RRF_DFS_CONCURRENT" },
2734 { WS_NL80211_RRF_NO_6GHZ_VLP_CLIENT
, "NL80211_RRF_NO_6GHZ_VLP_CLIENT" },
2735 { WS_NL80211_RRF_NO_6GHZ_AFC_CLIENT
, "NL80211_RRF_NO_6GHZ_AFC_CLIENT" },
2736 { WS_NL80211_RRF_ALLOW_6GHZ_VLP_AP
, "NL80211_RRF_ALLOW_6GHZ_VLP_AP" },
2739 static value_string_ext ws_nl80211_reg_rule_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_reg_rule_flags_vals
);
2741 static const value_string ws_nl80211_dfs_regions_vals
[] = {
2742 { WS_NL80211_DFS_UNSET
, "NL80211_DFS_UNSET" },
2743 { WS_NL80211_DFS_FCC
, "NL80211_DFS_FCC" },
2744 { WS_NL80211_DFS_ETSI
, "NL80211_DFS_ETSI" },
2745 { WS_NL80211_DFS_JP
, "NL80211_DFS_JP" },
2748 static value_string_ext ws_nl80211_dfs_regions_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_dfs_regions_vals
);
2750 static const value_string ws_nl80211_user_reg_hint_type_vals
[] = {
2751 { WS_NL80211_USER_REG_HINT_USER
, "NL80211_USER_REG_HINT_USER" },
2752 { WS_NL80211_USER_REG_HINT_CELL_BASE
, "NL80211_USER_REG_HINT_CELL_BASE" },
2753 { WS_NL80211_USER_REG_HINT_INDOOR
, "NL80211_USER_REG_HINT_INDOOR" },
2756 static value_string_ext ws_nl80211_user_reg_hint_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_user_reg_hint_type_vals
);
2758 static const value_string ws_nl80211_survey_info_vals
[] = {
2759 { WS___NL80211_SURVEY_INFO_INVALID
, "__NL80211_SURVEY_INFO_INVALID" },
2760 { WS_NL80211_SURVEY_INFO_FREQUENCY
, "NL80211_SURVEY_INFO_FREQUENCY" },
2761 { WS_NL80211_SURVEY_INFO_NOISE
, "NL80211_SURVEY_INFO_NOISE" },
2762 { WS_NL80211_SURVEY_INFO_IN_USE
, "NL80211_SURVEY_INFO_IN_USE" },
2763 { WS_NL80211_SURVEY_INFO_TIME
, "NL80211_SURVEY_INFO_TIME" },
2764 { WS_NL80211_SURVEY_INFO_TIME_BUSY
, "NL80211_SURVEY_INFO_TIME_BUSY" },
2765 { WS_NL80211_SURVEY_INFO_TIME_EXT_BUSY
, "NL80211_SURVEY_INFO_TIME_EXT_BUSY" },
2766 { WS_NL80211_SURVEY_INFO_TIME_RX
, "NL80211_SURVEY_INFO_TIME_RX" },
2767 { WS_NL80211_SURVEY_INFO_TIME_TX
, "NL80211_SURVEY_INFO_TIME_TX" },
2768 { WS_NL80211_SURVEY_INFO_TIME_SCAN
, "NL80211_SURVEY_INFO_TIME_SCAN" },
2769 { WS_NL80211_SURVEY_INFO_PAD
, "NL80211_SURVEY_INFO_PAD" },
2770 { WS_NL80211_SURVEY_INFO_TIME_BSS_RX
, "NL80211_SURVEY_INFO_TIME_BSS_RX" },
2771 { WS_NL80211_SURVEY_INFO_FREQUENCY_OFFSET
, "NL80211_SURVEY_INFO_FREQUENCY_OFFSET" },
2774 static value_string_ext ws_nl80211_survey_info_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_survey_info_vals
);
2776 static const value_string ws_nl80211_mntr_flags_vals
[] = {
2777 { WS___NL80211_MNTR_FLAG_INVALID
, "__NL80211_MNTR_FLAG_INVALID" },
2778 { WS_NL80211_MNTR_FLAG_FCSFAIL
, "NL80211_MNTR_FLAG_FCSFAIL" },
2779 { WS_NL80211_MNTR_FLAG_PLCPFAIL
, "NL80211_MNTR_FLAG_PLCPFAIL" },
2780 { WS_NL80211_MNTR_FLAG_CONTROL
, "NL80211_MNTR_FLAG_CONTROL" },
2781 { WS_NL80211_MNTR_FLAG_OTHER_BSS
, "NL80211_MNTR_FLAG_OTHER_BSS" },
2782 { WS_NL80211_MNTR_FLAG_COOK_FRAMES
, "NL80211_MNTR_FLAG_COOK_FRAMES" },
2783 { WS_NL80211_MNTR_FLAG_ACTIVE
, "NL80211_MNTR_FLAG_ACTIVE" },
2786 static value_string_ext ws_nl80211_mntr_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mntr_flags_vals
);
2788 static const value_string ws_nl80211_mesh_power_mode_vals
[] = {
2789 { WS_NL80211_MESH_POWER_UNKNOWN
, "NL80211_MESH_POWER_UNKNOWN" },
2790 { WS_NL80211_MESH_POWER_ACTIVE
, "NL80211_MESH_POWER_ACTIVE" },
2791 { WS_NL80211_MESH_POWER_LIGHT_SLEEP
, "NL80211_MESH_POWER_LIGHT_SLEEP" },
2792 { WS_NL80211_MESH_POWER_DEEP_SLEEP
, "NL80211_MESH_POWER_DEEP_SLEEP" },
2795 static value_string_ext ws_nl80211_mesh_power_mode_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mesh_power_mode_vals
);
2797 static const value_string ws_nl80211_meshconf_params_vals
[] = {
2798 { WS___NL80211_MESHCONF_INVALID
, "__NL80211_MESHCONF_INVALID" },
2799 { WS_NL80211_MESHCONF_RETRY_TIMEOUT
, "NL80211_MESHCONF_RETRY_TIMEOUT" },
2800 { WS_NL80211_MESHCONF_CONFIRM_TIMEOUT
, "NL80211_MESHCONF_CONFIRM_TIMEOUT" },
2801 { WS_NL80211_MESHCONF_HOLDING_TIMEOUT
, "NL80211_MESHCONF_HOLDING_TIMEOUT" },
2802 { WS_NL80211_MESHCONF_MAX_PEER_LINKS
, "NL80211_MESHCONF_MAX_PEER_LINKS" },
2803 { WS_NL80211_MESHCONF_MAX_RETRIES
, "NL80211_MESHCONF_MAX_RETRIES" },
2804 { WS_NL80211_MESHCONF_TTL
, "NL80211_MESHCONF_TTL" },
2805 { WS_NL80211_MESHCONF_AUTO_OPEN_PLINKS
, "NL80211_MESHCONF_AUTO_OPEN_PLINKS" },
2806 { WS_NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES
, "NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES" },
2807 { WS_NL80211_MESHCONF_PATH_REFRESH_TIME
, "NL80211_MESHCONF_PATH_REFRESH_TIME" },
2808 { WS_NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT
, "NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT" },
2809 { WS_NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT
, "NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT" },
2810 { WS_NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL
, "NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL" },
2811 { WS_NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME
, "NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME" },
2812 { WS_NL80211_MESHCONF_HWMP_ROOTMODE
, "NL80211_MESHCONF_HWMP_ROOTMODE" },
2813 { WS_NL80211_MESHCONF_ELEMENT_TTL
, "NL80211_MESHCONF_ELEMENT_TTL" },
2814 { WS_NL80211_MESHCONF_HWMP_RANN_INTERVAL
, "NL80211_MESHCONF_HWMP_RANN_INTERVAL" },
2815 { WS_NL80211_MESHCONF_GATE_ANNOUNCEMENTS
, "NL80211_MESHCONF_GATE_ANNOUNCEMENTS" },
2816 { WS_NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL
, "NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL" },
2817 { WS_NL80211_MESHCONF_FORWARDING
, "NL80211_MESHCONF_FORWARDING" },
2818 { WS_NL80211_MESHCONF_RSSI_THRESHOLD
, "NL80211_MESHCONF_RSSI_THRESHOLD" },
2819 { WS_NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR
, "NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR" },
2820 { WS_NL80211_MESHCONF_HT_OPMODE
, "NL80211_MESHCONF_HT_OPMODE" },
2821 { WS_NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT
, "NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT" },
2822 { WS_NL80211_MESHCONF_HWMP_ROOT_INTERVAL
, "NL80211_MESHCONF_HWMP_ROOT_INTERVAL" },
2823 { WS_NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL
, "NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL" },
2824 { WS_NL80211_MESHCONF_POWER_MODE
, "NL80211_MESHCONF_POWER_MODE" },
2825 { WS_NL80211_MESHCONF_AWAKE_WINDOW
, "NL80211_MESHCONF_AWAKE_WINDOW" },
2826 { WS_NL80211_MESHCONF_PLINK_TIMEOUT
, "NL80211_MESHCONF_PLINK_TIMEOUT" },
2827 { WS_NL80211_MESHCONF_CONNECTED_TO_GATE
, "NL80211_MESHCONF_CONNECTED_TO_GATE" },
2828 { WS_NL80211_MESHCONF_NOLEARN
, "NL80211_MESHCONF_NOLEARN" },
2829 { WS_NL80211_MESHCONF_CONNECTED_TO_AS
, "NL80211_MESHCONF_CONNECTED_TO_AS" },
2832 static value_string_ext ws_nl80211_meshconf_params_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_meshconf_params_vals
);
2834 static const value_string ws_nl80211_mesh_setup_params_vals
[] = {
2835 { WS___NL80211_MESH_SETUP_INVALID
, "__NL80211_MESH_SETUP_INVALID" },
2836 { WS_NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL
, "NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL" },
2837 { WS_NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC
, "NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC" },
2838 { WS_NL80211_MESH_SETUP_IE
, "NL80211_MESH_SETUP_IE" },
2839 { WS_NL80211_MESH_SETUP_USERSPACE_AUTH
, "NL80211_MESH_SETUP_USERSPACE_AUTH" },
2840 { WS_NL80211_MESH_SETUP_USERSPACE_AMPE
, "NL80211_MESH_SETUP_USERSPACE_AMPE" },
2841 { WS_NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC
, "NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC" },
2842 { WS_NL80211_MESH_SETUP_USERSPACE_MPM
, "NL80211_MESH_SETUP_USERSPACE_MPM" },
2843 { WS_NL80211_MESH_SETUP_AUTH_PROTOCOL
, "NL80211_MESH_SETUP_AUTH_PROTOCOL" },
2846 static value_string_ext ws_nl80211_mesh_setup_params_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mesh_setup_params_vals
);
2848 static const value_string ws_nl80211_txq_attr_vals
[] = {
2849 { WS___NL80211_TXQ_ATTR_INVALID
, "__NL80211_TXQ_ATTR_INVALID" },
2850 { WS_NL80211_TXQ_ATTR_AC
, "NL80211_TXQ_ATTR_AC" },
2851 { WS_NL80211_TXQ_ATTR_TXOP
, "NL80211_TXQ_ATTR_TXOP" },
2852 { WS_NL80211_TXQ_ATTR_CWMIN
, "NL80211_TXQ_ATTR_CWMIN" },
2853 { WS_NL80211_TXQ_ATTR_CWMAX
, "NL80211_TXQ_ATTR_CWMAX" },
2854 { WS_NL80211_TXQ_ATTR_AIFS
, "NL80211_TXQ_ATTR_AIFS" },
2857 static value_string_ext ws_nl80211_txq_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_txq_attr_vals
);
2859 static const value_string ws_nl80211_ac_vals
[] = {
2860 { WS_NL80211_AC_VO
, "NL80211_AC_VO" },
2861 { WS_NL80211_AC_VI
, "NL80211_AC_VI" },
2862 { WS_NL80211_AC_BE
, "NL80211_AC_BE" },
2863 { WS_NL80211_AC_BK
, "NL80211_AC_BK" },
2864 { WS_NL80211_NUM_ACS
, "NL80211_NUM_ACS" },
2867 static value_string_ext ws_nl80211_ac_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ac_vals
);
2869 static const value_string ws_nl80211_channel_type_vals
[] = {
2870 { WS_NL80211_CHAN_NO_HT
, "NL80211_CHAN_NO_HT" },
2871 { WS_NL80211_CHAN_HT20
, "NL80211_CHAN_HT20" },
2872 { WS_NL80211_CHAN_HT40MINUS
, "NL80211_CHAN_HT40MINUS" },
2873 { WS_NL80211_CHAN_HT40PLUS
, "NL80211_CHAN_HT40PLUS" },
2876 static value_string_ext ws_nl80211_channel_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_channel_type_vals
);
2878 static const value_string ws_nl80211_key_mode_vals
[] = {
2879 { WS_NL80211_KEY_RX_TX
, "NL80211_KEY_RX_TX" },
2880 { WS_NL80211_KEY_NO_TX
, "NL80211_KEY_NO_TX" },
2881 { WS_NL80211_KEY_SET_TX
, "NL80211_KEY_SET_TX" },
2884 static value_string_ext ws_nl80211_key_mode_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_key_mode_vals
);
2886 static const value_string ws_nl80211_chan_width_vals
[] = {
2887 { WS_NL80211_CHAN_WIDTH_20_NOHT
, "NL80211_CHAN_WIDTH_20_NOHT" },
2888 { WS_NL80211_CHAN_WIDTH_20
, "NL80211_CHAN_WIDTH_20" },
2889 { WS_NL80211_CHAN_WIDTH_40
, "NL80211_CHAN_WIDTH_40" },
2890 { WS_NL80211_CHAN_WIDTH_80
, "NL80211_CHAN_WIDTH_80" },
2891 { WS_NL80211_CHAN_WIDTH_80P80
, "NL80211_CHAN_WIDTH_80P80" },
2892 { WS_NL80211_CHAN_WIDTH_160
, "NL80211_CHAN_WIDTH_160" },
2893 { WS_NL80211_CHAN_WIDTH_5
, "NL80211_CHAN_WIDTH_5" },
2894 { WS_NL80211_CHAN_WIDTH_10
, "NL80211_CHAN_WIDTH_10" },
2895 { WS_NL80211_CHAN_WIDTH_1
, "NL80211_CHAN_WIDTH_1" },
2896 { WS_NL80211_CHAN_WIDTH_2
, "NL80211_CHAN_WIDTH_2" },
2897 { WS_NL80211_CHAN_WIDTH_4
, "NL80211_CHAN_WIDTH_4" },
2898 { WS_NL80211_CHAN_WIDTH_8
, "NL80211_CHAN_WIDTH_8" },
2899 { WS_NL80211_CHAN_WIDTH_16
, "NL80211_CHAN_WIDTH_16" },
2900 { WS_NL80211_CHAN_WIDTH_320
, "NL80211_CHAN_WIDTH_320" },
2903 static value_string_ext ws_nl80211_chan_width_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_chan_width_vals
);
2905 static const value_string ws_nl80211_bss_scan_width_vals
[] = {
2906 { WS_NL80211_BSS_CHAN_WIDTH_20
, "NL80211_BSS_CHAN_WIDTH_20" },
2907 { WS_NL80211_BSS_CHAN_WIDTH_10
, "NL80211_BSS_CHAN_WIDTH_10" },
2908 { WS_NL80211_BSS_CHAN_WIDTH_5
, "NL80211_BSS_CHAN_WIDTH_5" },
2909 { WS_NL80211_BSS_CHAN_WIDTH_1
, "NL80211_BSS_CHAN_WIDTH_1" },
2910 { WS_NL80211_BSS_CHAN_WIDTH_2
, "NL80211_BSS_CHAN_WIDTH_2" },
2913 static value_string_ext ws_nl80211_bss_scan_width_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_scan_width_vals
);
2915 static const value_string ws_nl80211_bss_use_for_vals
[] = {
2916 { WS_NL80211_BSS_USE_FOR_NORMAL
, "NL80211_BSS_USE_FOR_NORMAL" },
2917 { WS_NL80211_BSS_USE_FOR_MLD_LINK
, "NL80211_BSS_USE_FOR_MLD_LINK" },
2920 static value_string_ext ws_nl80211_bss_use_for_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_use_for_vals
);
2922 static const value_string ws_nl80211_bss_cannot_use_reasons_vals
[] = {
2923 { WS_NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY
, "NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY" },
2924 { WS_NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH
, "NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH" },
2927 static value_string_ext ws_nl80211_bss_cannot_use_reasons_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_cannot_use_reasons_vals
);
2929 static const value_string ws_nl80211_bss_vals
[] = {
2930 { WS___NL80211_BSS_INVALID
, "__NL80211_BSS_INVALID" },
2931 { WS_NL80211_BSS_BSSID
, "NL80211_BSS_BSSID" },
2932 { WS_NL80211_BSS_FREQUENCY
, "NL80211_BSS_FREQUENCY" },
2933 { WS_NL80211_BSS_TSF
, "NL80211_BSS_TSF" },
2934 { WS_NL80211_BSS_BEACON_INTERVAL
, "NL80211_BSS_BEACON_INTERVAL" },
2935 { WS_NL80211_BSS_CAPABILITY
, "NL80211_BSS_CAPABILITY" },
2936 { WS_NL80211_BSS_INFORMATION_ELEMENTS
, "NL80211_BSS_INFORMATION_ELEMENTS" },
2937 { WS_NL80211_BSS_SIGNAL_MBM
, "NL80211_BSS_SIGNAL_MBM" },
2938 { WS_NL80211_BSS_SIGNAL_UNSPEC
, "NL80211_BSS_SIGNAL_UNSPEC" },
2939 { WS_NL80211_BSS_STATUS
, "NL80211_BSS_STATUS" },
2940 { WS_NL80211_BSS_SEEN_MS_AGO
, "NL80211_BSS_SEEN_MS_AGO" },
2941 { WS_NL80211_BSS_BEACON_IES
, "NL80211_BSS_BEACON_IES" },
2942 { WS_NL80211_BSS_CHAN_WIDTH
, "NL80211_BSS_CHAN_WIDTH" },
2943 { WS_NL80211_BSS_BEACON_TSF
, "NL80211_BSS_BEACON_TSF" },
2944 { WS_NL80211_BSS_PRESP_DATA
, "NL80211_BSS_PRESP_DATA" },
2945 { WS_NL80211_BSS_LAST_SEEN_BOOTTIME
, "NL80211_BSS_LAST_SEEN_BOOTTIME" },
2946 { WS_NL80211_BSS_PAD
, "NL80211_BSS_PAD" },
2947 { WS_NL80211_BSS_PARENT_TSF
, "NL80211_BSS_PARENT_TSF" },
2948 { WS_NL80211_BSS_PARENT_BSSID
, "NL80211_BSS_PARENT_BSSID" },
2949 { WS_NL80211_BSS_CHAIN_SIGNAL
, "NL80211_BSS_CHAIN_SIGNAL" },
2950 { WS_NL80211_BSS_FREQUENCY_OFFSET
, "NL80211_BSS_FREQUENCY_OFFSET" },
2951 { WS_NL80211_BSS_MLO_LINK_ID
, "NL80211_BSS_MLO_LINK_ID" },
2952 { WS_NL80211_BSS_MLD_ADDR
, "NL80211_BSS_MLD_ADDR" },
2953 { WS_NL80211_BSS_USE_FOR
, "NL80211_BSS_USE_FOR" },
2954 { WS_NL80211_BSS_CANNOT_USE_REASONS
, "NL80211_BSS_CANNOT_USE_REASONS" },
2957 static value_string_ext ws_nl80211_bss_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_vals
);
2959 static const value_string ws_nl80211_bss_status_vals
[] = {
2960 { WS_NL80211_BSS_STATUS_AUTHENTICATED
, "NL80211_BSS_STATUS_AUTHENTICATED" },
2961 { WS_NL80211_BSS_STATUS_ASSOCIATED
, "NL80211_BSS_STATUS_ASSOCIATED" },
2962 { WS_NL80211_BSS_STATUS_IBSS_JOINED
, "NL80211_BSS_STATUS_IBSS_JOINED" },
2965 static value_string_ext ws_nl80211_bss_status_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_status_vals
);
2967 static const value_string ws_nl80211_auth_type_vals
[] = {
2968 { WS_NL80211_AUTHTYPE_OPEN_SYSTEM
, "NL80211_AUTHTYPE_OPEN_SYSTEM" },
2969 { WS_NL80211_AUTHTYPE_SHARED_KEY
, "NL80211_AUTHTYPE_SHARED_KEY" },
2970 { WS_NL80211_AUTHTYPE_FT
, "NL80211_AUTHTYPE_FT" },
2971 { WS_NL80211_AUTHTYPE_NETWORK_EAP
, "NL80211_AUTHTYPE_NETWORK_EAP" },
2972 { WS_NL80211_AUTHTYPE_SAE
, "NL80211_AUTHTYPE_SAE" },
2973 { WS_NL80211_AUTHTYPE_FILS_SK
, "NL80211_AUTHTYPE_FILS_SK" },
2974 { WS_NL80211_AUTHTYPE_FILS_SK_PFS
, "NL80211_AUTHTYPE_FILS_SK_PFS" },
2975 { WS_NL80211_AUTHTYPE_FILS_PK
, "NL80211_AUTHTYPE_FILS_PK" },
2978 static value_string_ext ws_nl80211_auth_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_auth_type_vals
);
2980 static const value_string ws_nl80211_key_type_vals
[] = {
2981 { WS_NL80211_KEYTYPE_GROUP
, "NL80211_KEYTYPE_GROUP" },
2982 { WS_NL80211_KEYTYPE_PAIRWISE
, "NL80211_KEYTYPE_PAIRWISE" },
2983 { WS_NL80211_KEYTYPE_PEERKEY
, "NL80211_KEYTYPE_PEERKEY" },
2986 static value_string_ext ws_nl80211_key_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_key_type_vals
);
2988 static const value_string ws_nl80211_mfp_vals
[] = {
2989 { WS_NL80211_MFP_NO
, "NL80211_MFP_NO" },
2990 { WS_NL80211_MFP_REQUIRED
, "NL80211_MFP_REQUIRED" },
2991 { WS_NL80211_MFP_OPTIONAL
, "NL80211_MFP_OPTIONAL" },
2994 static value_string_ext ws_nl80211_mfp_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mfp_vals
);
2996 static const value_string ws_nl80211_wpa_versions_vals
[] = {
2997 { WS_NL80211_WPA_VERSION_1
, "NL80211_WPA_VERSION_1" },
2998 { WS_NL80211_WPA_VERSION_2
, "NL80211_WPA_VERSION_2" },
2999 { WS_NL80211_WPA_VERSION_3
, "NL80211_WPA_VERSION_3" },
3002 static value_string_ext ws_nl80211_wpa_versions_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wpa_versions_vals
);
3004 static const value_string ws_nl80211_key_default_types_vals
[] = {
3005 { WS___NL80211_KEY_DEFAULT_TYPE_INVALID
, "__NL80211_KEY_DEFAULT_TYPE_INVALID" },
3006 { WS_NL80211_KEY_DEFAULT_TYPE_UNICAST
, "NL80211_KEY_DEFAULT_TYPE_UNICAST" },
3007 { WS_NL80211_KEY_DEFAULT_TYPE_MULTICAST
, "NL80211_KEY_DEFAULT_TYPE_MULTICAST" },
3010 static value_string_ext ws_nl80211_key_default_types_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_key_default_types_vals
);
3012 static const value_string ws_nl80211_key_attributes_vals
[] = {
3013 { WS___NL80211_KEY_INVALID
, "__NL80211_KEY_INVALID" },
3014 { WS_NL80211_KEY_DATA
, "NL80211_KEY_DATA" },
3015 { WS_NL80211_KEY_IDX
, "NL80211_KEY_IDX" },
3016 { WS_NL80211_KEY_CIPHER
, "NL80211_KEY_CIPHER" },
3017 { WS_NL80211_KEY_SEQ
, "NL80211_KEY_SEQ" },
3018 { WS_NL80211_KEY_DEFAULT
, "NL80211_KEY_DEFAULT" },
3019 { WS_NL80211_KEY_DEFAULT_MGMT
, "NL80211_KEY_DEFAULT_MGMT" },
3020 { WS_NL80211_KEY_TYPE
, "NL80211_KEY_TYPE" },
3021 { WS_NL80211_KEY_DEFAULT_TYPES
, "NL80211_KEY_DEFAULT_TYPES" },
3022 { WS_NL80211_KEY_MODE
, "NL80211_KEY_MODE" },
3023 { WS_NL80211_KEY_DEFAULT_BEACON
, "NL80211_KEY_DEFAULT_BEACON" },
3026 static value_string_ext ws_nl80211_key_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_key_attributes_vals
);
3028 static const value_string ws_nl80211_tx_rate_attributes_vals
[] = {
3029 { WS___NL80211_TXRATE_INVALID
, "__NL80211_TXRATE_INVALID" },
3030 { WS_NL80211_TXRATE_LEGACY
, "NL80211_TXRATE_LEGACY" },
3031 { WS_NL80211_TXRATE_HT
, "NL80211_TXRATE_HT" },
3032 { WS_NL80211_TXRATE_VHT
, "NL80211_TXRATE_VHT" },
3033 { WS_NL80211_TXRATE_GI
, "NL80211_TXRATE_GI" },
3034 { WS_NL80211_TXRATE_HE
, "NL80211_TXRATE_HE" },
3035 { WS_NL80211_TXRATE_HE_GI
, "NL80211_TXRATE_HE_GI" },
3036 { WS_NL80211_TXRATE_HE_LTF
, "NL80211_TXRATE_HE_LTF" },
3039 static value_string_ext ws_nl80211_tx_rate_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tx_rate_attributes_vals
);
3041 static const value_string ws_nl80211_txrate_gi_vals
[] = {
3042 { WS_NL80211_TXRATE_DEFAULT_GI
, "NL80211_TXRATE_DEFAULT_GI" },
3043 { WS_NL80211_TXRATE_FORCE_SGI
, "NL80211_TXRATE_FORCE_SGI" },
3044 { WS_NL80211_TXRATE_FORCE_LGI
, "NL80211_TXRATE_FORCE_LGI" },
3047 static value_string_ext ws_nl80211_txrate_gi_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_txrate_gi_vals
);
3049 static const value_string ws_nl80211_band_vals
[] = {
3050 { WS_NL80211_BAND_2GHZ
, "NL80211_BAND_2GHZ" },
3051 { WS_NL80211_BAND_5GHZ
, "NL80211_BAND_5GHZ" },
3052 { WS_NL80211_BAND_60GHZ
, "NL80211_BAND_60GHZ" },
3053 { WS_NL80211_BAND_6GHZ
, "NL80211_BAND_6GHZ" },
3054 { WS_NL80211_BAND_S1GHZ
, "NL80211_BAND_S1GHZ" },
3055 { WS_NL80211_BAND_LC
, "NL80211_BAND_LC" },
3058 static value_string_ext ws_nl80211_band_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_band_vals
);
3060 static const value_string ws_nl80211_ps_state_vals
[] = {
3061 { WS_NL80211_PS_DISABLED
, "NL80211_PS_DISABLED" },
3062 { WS_NL80211_PS_ENABLED
, "NL80211_PS_ENABLED" },
3065 static value_string_ext ws_nl80211_ps_state_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ps_state_vals
);
3067 static const value_string ws_nl80211_attr_cqm_vals
[] = {
3068 { WS___NL80211_ATTR_CQM_INVALID
, "__NL80211_ATTR_CQM_INVALID" },
3069 { WS_NL80211_ATTR_CQM_RSSI_THOLD
, "NL80211_ATTR_CQM_RSSI_THOLD" },
3070 { WS_NL80211_ATTR_CQM_RSSI_HYST
, "NL80211_ATTR_CQM_RSSI_HYST" },
3071 { WS_NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT
, "NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT" },
3072 { WS_NL80211_ATTR_CQM_PKT_LOSS_EVENT
, "NL80211_ATTR_CQM_PKT_LOSS_EVENT" },
3073 { WS_NL80211_ATTR_CQM_TXE_RATE
, "NL80211_ATTR_CQM_TXE_RATE" },
3074 { WS_NL80211_ATTR_CQM_TXE_PKTS
, "NL80211_ATTR_CQM_TXE_PKTS" },
3075 { WS_NL80211_ATTR_CQM_TXE_INTVL
, "NL80211_ATTR_CQM_TXE_INTVL" },
3076 { WS_NL80211_ATTR_CQM_BEACON_LOSS_EVENT
, "NL80211_ATTR_CQM_BEACON_LOSS_EVENT" },
3077 { WS_NL80211_ATTR_CQM_RSSI_LEVEL
, "NL80211_ATTR_CQM_RSSI_LEVEL" },
3080 static value_string_ext ws_nl80211_attr_cqm_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_attr_cqm_vals
);
3082 static const value_string ws_nl80211_cqm_rssi_threshold_event_vals
[] = {
3083 { WS_NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW
, "NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW" },
3084 { WS_NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH
, "NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH" },
3085 { WS_NL80211_CQM_RSSI_BEACON_LOSS_EVENT
, "NL80211_CQM_RSSI_BEACON_LOSS_EVENT" },
3088 static value_string_ext ws_nl80211_cqm_rssi_threshold_event_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_cqm_rssi_threshold_event_vals
);
3090 static const value_string ws_nl80211_tx_power_setting_vals
[] = {
3091 { WS_NL80211_TX_POWER_AUTOMATIC
, "NL80211_TX_POWER_AUTOMATIC" },
3092 { WS_NL80211_TX_POWER_LIMITED
, "NL80211_TX_POWER_LIMITED" },
3093 { WS_NL80211_TX_POWER_FIXED
, "NL80211_TX_POWER_FIXED" },
3096 static value_string_ext ws_nl80211_tx_power_setting_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tx_power_setting_vals
);
3098 static const value_string ws_nl80211_tid_config_vals
[] = {
3099 { WS_NL80211_TID_CONFIG_ENABLE
, "NL80211_TID_CONFIG_ENABLE" },
3100 { WS_NL80211_TID_CONFIG_DISABLE
, "NL80211_TID_CONFIG_DISABLE" },
3103 static value_string_ext ws_nl80211_tid_config_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tid_config_vals
);
3105 static const value_string ws_nl80211_tx_rate_setting_vals
[] = {
3106 { WS_NL80211_TX_RATE_AUTOMATIC
, "NL80211_TX_RATE_AUTOMATIC" },
3107 { WS_NL80211_TX_RATE_LIMITED
, "NL80211_TX_RATE_LIMITED" },
3108 { WS_NL80211_TX_RATE_FIXED
, "NL80211_TX_RATE_FIXED" },
3111 static value_string_ext ws_nl80211_tx_rate_setting_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tx_rate_setting_vals
);
3113 static const value_string ws_nl80211_tid_config_attr_vals
[] = {
3114 { WS___NL80211_TID_CONFIG_ATTR_INVALID
, "__NL80211_TID_CONFIG_ATTR_INVALID" },
3115 { WS_NL80211_TID_CONFIG_ATTR_PAD
, "NL80211_TID_CONFIG_ATTR_PAD" },
3116 { WS_NL80211_TID_CONFIG_ATTR_VIF_SUPP
, "NL80211_TID_CONFIG_ATTR_VIF_SUPP" },
3117 { WS_NL80211_TID_CONFIG_ATTR_PEER_SUPP
, "NL80211_TID_CONFIG_ATTR_PEER_SUPP" },
3118 { WS_NL80211_TID_CONFIG_ATTR_OVERRIDE
, "NL80211_TID_CONFIG_ATTR_OVERRIDE" },
3119 { WS_NL80211_TID_CONFIG_ATTR_TIDS
, "NL80211_TID_CONFIG_ATTR_TIDS" },
3120 { WS_NL80211_TID_CONFIG_ATTR_NOACK
, "NL80211_TID_CONFIG_ATTR_NOACK" },
3121 { WS_NL80211_TID_CONFIG_ATTR_RETRY_SHORT
, "NL80211_TID_CONFIG_ATTR_RETRY_SHORT" },
3122 { WS_NL80211_TID_CONFIG_ATTR_RETRY_LONG
, "NL80211_TID_CONFIG_ATTR_RETRY_LONG" },
3123 { WS_NL80211_TID_CONFIG_ATTR_AMPDU_CTRL
, "NL80211_TID_CONFIG_ATTR_AMPDU_CTRL" },
3124 { WS_NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL
, "NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL" },
3125 { WS_NL80211_TID_CONFIG_ATTR_AMSDU_CTRL
, "NL80211_TID_CONFIG_ATTR_AMSDU_CTRL" },
3126 { WS_NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE
, "NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE" },
3127 { WS_NL80211_TID_CONFIG_ATTR_TX_RATE
, "NL80211_TID_CONFIG_ATTR_TX_RATE" },
3130 static value_string_ext ws_nl80211_tid_config_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tid_config_attr_vals
);
3132 static const value_string ws_nl80211_packet_pattern_attr_vals
[] = {
3133 { WS___NL80211_PKTPAT_INVALID
, "__NL80211_PKTPAT_INVALID" },
3134 { WS_NL80211_PKTPAT_MASK
, "NL80211_PKTPAT_MASK" },
3135 { WS_NL80211_PKTPAT_PATTERN
, "NL80211_PKTPAT_PATTERN" },
3136 { WS_NL80211_PKTPAT_OFFSET
, "NL80211_PKTPAT_OFFSET" },
3139 static value_string_ext ws_nl80211_packet_pattern_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_packet_pattern_attr_vals
);
3141 static const value_string ws_nl80211_wowlan_triggers_vals
[] = {
3142 { WS___NL80211_WOWLAN_TRIG_INVALID
, "__NL80211_WOWLAN_TRIG_INVALID" },
3143 { WS_NL80211_WOWLAN_TRIG_ANY
, "NL80211_WOWLAN_TRIG_ANY" },
3144 { WS_NL80211_WOWLAN_TRIG_DISCONNECT
, "NL80211_WOWLAN_TRIG_DISCONNECT" },
3145 { WS_NL80211_WOWLAN_TRIG_MAGIC_PKT
, "NL80211_WOWLAN_TRIG_MAGIC_PKT" },
3146 { WS_NL80211_WOWLAN_TRIG_PKT_PATTERN
, "NL80211_WOWLAN_TRIG_PKT_PATTERN" },
3147 { WS_NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED
, "NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED" },
3148 { WS_NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE
, "NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE" },
3149 { WS_NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST
, "NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST" },
3150 { WS_NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE
, "NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE" },
3151 { WS_NL80211_WOWLAN_TRIG_RFKILL_RELEASE
, "NL80211_WOWLAN_TRIG_RFKILL_RELEASE" },
3152 { WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
, "NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211" },
3153 { WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
, "NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN" },
3154 { WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
, "NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023" },
3155 { WS_NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN
, "NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN" },
3156 { WS_NL80211_WOWLAN_TRIG_TCP_CONNECTION
, "NL80211_WOWLAN_TRIG_TCP_CONNECTION" },
3157 { WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH
, "NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH" },
3158 { WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST
, "NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST" },
3159 { WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS
, "NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS" },
3160 { WS_NL80211_WOWLAN_TRIG_NET_DETECT
, "NL80211_WOWLAN_TRIG_NET_DETECT" },
3161 { WS_NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS
, "NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS" },
3162 { WS_NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC
, "NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC" },
3165 static value_string_ext ws_nl80211_wowlan_triggers_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wowlan_triggers_vals
);
3167 static const value_string ws_nl80211_wowlan_tcp_attrs_vals
[] = {
3168 { WS___NL80211_WOWLAN_TCP_INVALID
, "__NL80211_WOWLAN_TCP_INVALID" },
3169 { WS_NL80211_WOWLAN_TCP_SRC_IPV4
, "NL80211_WOWLAN_TCP_SRC_IPV4" },
3170 { WS_NL80211_WOWLAN_TCP_DST_IPV4
, "NL80211_WOWLAN_TCP_DST_IPV4" },
3171 { WS_NL80211_WOWLAN_TCP_DST_MAC
, "NL80211_WOWLAN_TCP_DST_MAC" },
3172 { WS_NL80211_WOWLAN_TCP_SRC_PORT
, "NL80211_WOWLAN_TCP_SRC_PORT" },
3173 { WS_NL80211_WOWLAN_TCP_DST_PORT
, "NL80211_WOWLAN_TCP_DST_PORT" },
3174 { WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD
, "NL80211_WOWLAN_TCP_DATA_PAYLOAD" },
3175 { WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ
, "NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ" },
3176 { WS_NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN
, "NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN" },
3177 { WS_NL80211_WOWLAN_TCP_DATA_INTERVAL
, "NL80211_WOWLAN_TCP_DATA_INTERVAL" },
3178 { WS_NL80211_WOWLAN_TCP_WAKE_PAYLOAD
, "NL80211_WOWLAN_TCP_WAKE_PAYLOAD" },
3179 { WS_NL80211_WOWLAN_TCP_WAKE_MASK
, "NL80211_WOWLAN_TCP_WAKE_MASK" },
3182 static value_string_ext ws_nl80211_wowlan_tcp_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wowlan_tcp_attrs_vals
);
3184 static const value_string ws_nl80211_attr_coalesce_rule_vals
[] = {
3185 { WS___NL80211_COALESCE_RULE_INVALID
, "__NL80211_COALESCE_RULE_INVALID" },
3186 { WS_NL80211_ATTR_COALESCE_RULE_DELAY
, "NL80211_ATTR_COALESCE_RULE_DELAY" },
3187 { WS_NL80211_ATTR_COALESCE_RULE_CONDITION
, "NL80211_ATTR_COALESCE_RULE_CONDITION" },
3188 { WS_NL80211_ATTR_COALESCE_RULE_PKT_PATTERN
, "NL80211_ATTR_COALESCE_RULE_PKT_PATTERN" },
3191 static value_string_ext ws_nl80211_attr_coalesce_rule_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_attr_coalesce_rule_vals
);
3193 static const value_string ws_nl80211_coalesce_condition_vals
[] = {
3194 { WS_NL80211_COALESCE_CONDITION_MATCH
, "NL80211_COALESCE_CONDITION_MATCH" },
3195 { WS_NL80211_COALESCE_CONDITION_NO_MATCH
, "NL80211_COALESCE_CONDITION_NO_MATCH" },
3198 static value_string_ext ws_nl80211_coalesce_condition_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_coalesce_condition_vals
);
3200 static const value_string ws_nl80211_iface_limit_attrs_vals
[] = {
3201 { WS_NL80211_IFACE_LIMIT_UNSPEC
, "NL80211_IFACE_LIMIT_UNSPEC" },
3202 { WS_NL80211_IFACE_LIMIT_MAX
, "NL80211_IFACE_LIMIT_MAX" },
3203 { WS_NL80211_IFACE_LIMIT_TYPES
, "NL80211_IFACE_LIMIT_TYPES" },
3206 static value_string_ext ws_nl80211_iface_limit_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_iface_limit_attrs_vals
);
3208 static const value_string ws_nl80211_if_combination_attrs_vals
[] = {
3209 { WS_NL80211_IFACE_COMB_UNSPEC
, "NL80211_IFACE_COMB_UNSPEC" },
3210 { WS_NL80211_IFACE_COMB_LIMITS
, "NL80211_IFACE_COMB_LIMITS" },
3211 { WS_NL80211_IFACE_COMB_MAXNUM
, "NL80211_IFACE_COMB_MAXNUM" },
3212 { WS_NL80211_IFACE_COMB_STA_AP_BI_MATCH
, "NL80211_IFACE_COMB_STA_AP_BI_MATCH" },
3213 { WS_NL80211_IFACE_COMB_NUM_CHANNELS
, "NL80211_IFACE_COMB_NUM_CHANNELS" },
3214 { WS_NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS
, "NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS" },
3215 { WS_NL80211_IFACE_COMB_RADAR_DETECT_REGIONS
, "NL80211_IFACE_COMB_RADAR_DETECT_REGIONS" },
3216 { WS_NL80211_IFACE_COMB_BI_MIN_GCD
, "NL80211_IFACE_COMB_BI_MIN_GCD" },
3219 static value_string_ext ws_nl80211_if_combination_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_if_combination_attrs_vals
);
3221 static const value_string ws_nl80211_plink_state_vals
[] = {
3222 { WS_NL80211_PLINK_LISTEN
, "NL80211_PLINK_LISTEN" },
3223 { WS_NL80211_PLINK_OPN_SNT
, "NL80211_PLINK_OPN_SNT" },
3224 { WS_NL80211_PLINK_OPN_RCVD
, "NL80211_PLINK_OPN_RCVD" },
3225 { WS_NL80211_PLINK_CNF_RCVD
, "NL80211_PLINK_CNF_RCVD" },
3226 { WS_NL80211_PLINK_ESTAB
, "NL80211_PLINK_ESTAB" },
3227 { WS_NL80211_PLINK_HOLDING
, "NL80211_PLINK_HOLDING" },
3228 { WS_NL80211_PLINK_BLOCKED
, "NL80211_PLINK_BLOCKED" },
3231 static value_string_ext ws_nl80211_plink_state_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_plink_state_vals
);
3233 static const value_string ws_nl80211_plink_action_vals
[] = {
3234 { WS_NL80211_PLINK_ACTION_NO_ACTION
, "NL80211_PLINK_ACTION_NO_ACTION" },
3235 { WS_NL80211_PLINK_ACTION_OPEN
, "NL80211_PLINK_ACTION_OPEN" },
3236 { WS_NL80211_PLINK_ACTION_BLOCK
, "NL80211_PLINK_ACTION_BLOCK" },
3239 static value_string_ext ws_nl80211_plink_action_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_plink_action_vals
);
3241 static const value_string ws_nl80211_rekey_data_vals
[] = {
3242 { WS___NL80211_REKEY_DATA_INVALID
, "__NL80211_REKEY_DATA_INVALID" },
3243 { WS_NL80211_REKEY_DATA_KEK
, "NL80211_REKEY_DATA_KEK" },
3244 { WS_NL80211_REKEY_DATA_KCK
, "NL80211_REKEY_DATA_KCK" },
3245 { WS_NL80211_REKEY_DATA_REPLAY_CTR
, "NL80211_REKEY_DATA_REPLAY_CTR" },
3246 { WS_NL80211_REKEY_DATA_AKM
, "NL80211_REKEY_DATA_AKM" },
3249 static value_string_ext ws_nl80211_rekey_data_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_rekey_data_vals
);
3251 static const value_string ws_nl80211_hidden_ssid_vals
[] = {
3252 { WS_NL80211_HIDDEN_SSID_NOT_IN_USE
, "NL80211_HIDDEN_SSID_NOT_IN_USE" },
3253 { WS_NL80211_HIDDEN_SSID_ZERO_LEN
, "NL80211_HIDDEN_SSID_ZERO_LEN" },
3254 { WS_NL80211_HIDDEN_SSID_ZERO_CONTENTS
, "NL80211_HIDDEN_SSID_ZERO_CONTENTS" },
3257 static value_string_ext ws_nl80211_hidden_ssid_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_hidden_ssid_vals
);
3259 static const value_string ws_nl80211_sta_wme_attr_vals
[] = {
3260 { WS___NL80211_STA_WME_INVALID
, "__NL80211_STA_WME_INVALID" },
3261 { WS_NL80211_STA_WME_UAPSD_QUEUES
, "NL80211_STA_WME_UAPSD_QUEUES" },
3262 { WS_NL80211_STA_WME_MAX_SP
, "NL80211_STA_WME_MAX_SP" },
3265 static value_string_ext ws_nl80211_sta_wme_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sta_wme_attr_vals
);
3267 static const value_string ws_nl80211_pmksa_candidate_attr_vals
[] = {
3268 { WS___NL80211_PMKSA_CANDIDATE_INVALID
, "__NL80211_PMKSA_CANDIDATE_INVALID" },
3269 { WS_NL80211_PMKSA_CANDIDATE_INDEX
, "NL80211_PMKSA_CANDIDATE_INDEX" },
3270 { WS_NL80211_PMKSA_CANDIDATE_BSSID
, "NL80211_PMKSA_CANDIDATE_BSSID" },
3271 { WS_NL80211_PMKSA_CANDIDATE_PREAUTH
, "NL80211_PMKSA_CANDIDATE_PREAUTH" },
3274 static value_string_ext ws_nl80211_pmksa_candidate_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_pmksa_candidate_attr_vals
);
3276 static const value_string ws_nl80211_tdls_operation_vals
[] = {
3277 { WS_NL80211_TDLS_DISCOVERY_REQ
, "NL80211_TDLS_DISCOVERY_REQ" },
3278 { WS_NL80211_TDLS_SETUP
, "NL80211_TDLS_SETUP" },
3279 { WS_NL80211_TDLS_TEARDOWN
, "NL80211_TDLS_TEARDOWN" },
3280 { WS_NL80211_TDLS_ENABLE_LINK
, "NL80211_TDLS_ENABLE_LINK" },
3281 { WS_NL80211_TDLS_DISABLE_LINK
, "NL80211_TDLS_DISABLE_LINK" },
3284 static value_string_ext ws_nl80211_tdls_operation_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tdls_operation_vals
);
3286 static const value_string ws_nl80211_ap_sme_features_vals
[] = {
3287 { WS_NL80211_AP_SME_SA_QUERY_OFFLOAD
, "NL80211_AP_SME_SA_QUERY_OFFLOAD" },
3290 static value_string_ext ws_nl80211_ap_sme_features_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ap_sme_features_vals
);
3292 static const value_string ws_nl80211_feature_flags_vals
[] = {
3293 { WS_NL80211_FEATURE_SK_TX_STATUS
, "NL80211_FEATURE_SK_TX_STATUS" },
3294 { WS_NL80211_FEATURE_HT_IBSS
, "NL80211_FEATURE_HT_IBSS" },
3295 { WS_NL80211_FEATURE_INACTIVITY_TIMER
, "NL80211_FEATURE_INACTIVITY_TIMER" },
3296 { WS_NL80211_FEATURE_CELL_BASE_REG_HINTS
, "NL80211_FEATURE_CELL_BASE_REG_HINTS" },
3297 { WS_NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL
, "NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL" },
3298 { WS_NL80211_FEATURE_SAE
, "NL80211_FEATURE_SAE" },
3299 { WS_NL80211_FEATURE_LOW_PRIORITY_SCAN
, "NL80211_FEATURE_LOW_PRIORITY_SCAN" },
3300 { WS_NL80211_FEATURE_SCAN_FLUSH
, "NL80211_FEATURE_SCAN_FLUSH" },
3301 { WS_NL80211_FEATURE_AP_SCAN
, "NL80211_FEATURE_AP_SCAN" },
3302 { WS_NL80211_FEATURE_VIF_TXPOWER
, "NL80211_FEATURE_VIF_TXPOWER" },
3303 { WS_NL80211_FEATURE_NEED_OBSS_SCAN
, "NL80211_FEATURE_NEED_OBSS_SCAN" },
3304 { WS_NL80211_FEATURE_P2P_GO_CTWIN
, "NL80211_FEATURE_P2P_GO_CTWIN" },
3305 { WS_NL80211_FEATURE_P2P_GO_OPPPS
, "NL80211_FEATURE_P2P_GO_OPPPS" },
3306 { WS_NL80211_FEATURE_ADVERTISE_CHAN_LIMITS
, "NL80211_FEATURE_ADVERTISE_CHAN_LIMITS" },
3307 { WS_NL80211_FEATURE_FULL_AP_CLIENT_STATE
, "NL80211_FEATURE_FULL_AP_CLIENT_STATE" },
3308 { WS_NL80211_FEATURE_USERSPACE_MPM
, "NL80211_FEATURE_USERSPACE_MPM" },
3309 { WS_NL80211_FEATURE_ACTIVE_MONITOR
, "NL80211_FEATURE_ACTIVE_MONITOR" },
3310 { WS_NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE
, "NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE" },
3311 { WS_NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES
, "NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES" },
3312 { WS_NL80211_FEATURE_WFA_TPC_IE_IN_PROBES
, "NL80211_FEATURE_WFA_TPC_IE_IN_PROBES" },
3313 { WS_NL80211_FEATURE_QUIET
, "NL80211_FEATURE_QUIET" },
3314 { WS_NL80211_FEATURE_TX_POWER_INSERTION
, "NL80211_FEATURE_TX_POWER_INSERTION" },
3315 { WS_NL80211_FEATURE_ACKTO_ESTIMATION
, "NL80211_FEATURE_ACKTO_ESTIMATION" },
3316 { WS_NL80211_FEATURE_STATIC_SMPS
, "NL80211_FEATURE_STATIC_SMPS" },
3317 { WS_NL80211_FEATURE_DYNAMIC_SMPS
, "NL80211_FEATURE_DYNAMIC_SMPS" },
3318 { WS_NL80211_FEATURE_SUPPORTS_WMM_ADMISSION
, "NL80211_FEATURE_SUPPORTS_WMM_ADMISSION" },
3319 { WS_NL80211_FEATURE_MAC_ON_CREATE
, "NL80211_FEATURE_MAC_ON_CREATE" },
3320 { WS_NL80211_FEATURE_TDLS_CHANNEL_SWITCH
, "NL80211_FEATURE_TDLS_CHANNEL_SWITCH" },
3321 { WS_NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR
, "NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR" },
3322 { WS_NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR
, "NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR" },
3323 { WS_NL80211_FEATURE_ND_RANDOM_MAC_ADDR
, "NL80211_FEATURE_ND_RANDOM_MAC_ADDR" },
3326 static value_string_ext ws_nl80211_feature_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_feature_flags_vals
);
3328 static const value_string ws_nl80211_ext_feature_index_vals
[] = {
3329 { WS_NL80211_EXT_FEATURE_VHT_IBSS
, "NL80211_EXT_FEATURE_VHT_IBSS" },
3330 { WS_NL80211_EXT_FEATURE_RRM
, "NL80211_EXT_FEATURE_RRM" },
3331 { WS_NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER
, "NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER" },
3332 { WS_NL80211_EXT_FEATURE_SCAN_START_TIME
, "NL80211_EXT_FEATURE_SCAN_START_TIME" },
3333 { WS_NL80211_EXT_FEATURE_BSS_PARENT_TSF
, "NL80211_EXT_FEATURE_BSS_PARENT_TSF" },
3334 { WS_NL80211_EXT_FEATURE_SET_SCAN_DWELL
, "NL80211_EXT_FEATURE_SET_SCAN_DWELL" },
3335 { WS_NL80211_EXT_FEATURE_BEACON_RATE_LEGACY
, "NL80211_EXT_FEATURE_BEACON_RATE_LEGACY" },
3336 { WS_NL80211_EXT_FEATURE_BEACON_RATE_HT
, "NL80211_EXT_FEATURE_BEACON_RATE_HT" },
3337 { WS_NL80211_EXT_FEATURE_BEACON_RATE_VHT
, "NL80211_EXT_FEATURE_BEACON_RATE_VHT" },
3338 { WS_NL80211_EXT_FEATURE_FILS_STA
, "NL80211_EXT_FEATURE_FILS_STA" },
3339 { WS_NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA
, "NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA" },
3340 { WS_NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED
, "NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED" },
3341 { WS_NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI
, "NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI" },
3342 { WS_NL80211_EXT_FEATURE_CQM_RSSI_LIST
, "NL80211_EXT_FEATURE_CQM_RSSI_LIST" },
3343 { WS_NL80211_EXT_FEATURE_FILS_SK_OFFLOAD
, "NL80211_EXT_FEATURE_FILS_SK_OFFLOAD" },
3344 { WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK
, "NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK" },
3345 { WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X
, "NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X" },
3346 { WS_NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME
, "NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME" },
3347 { WS_NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP
, "NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP" },
3348 { WS_NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE
, "NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE" },
3349 { WS_NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
, "NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION" },
3350 { WS_NL80211_EXT_FEATURE_MFP_OPTIONAL
, "NL80211_EXT_FEATURE_MFP_OPTIONAL" },
3351 { WS_NL80211_EXT_FEATURE_LOW_SPAN_SCAN
, "NL80211_EXT_FEATURE_LOW_SPAN_SCAN" },
3352 { WS_NL80211_EXT_FEATURE_LOW_POWER_SCAN
, "NL80211_EXT_FEATURE_LOW_POWER_SCAN" },
3353 { WS_NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN
, "NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN" },
3354 { WS_NL80211_EXT_FEATURE_DFS_OFFLOAD
, "NL80211_EXT_FEATURE_DFS_OFFLOAD" },
3355 { WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211
, "NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211" },
3356 { WS_NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT
, "NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT" },
3357 { WS_NL80211_EXT_FEATURE_TXQS
, "NL80211_EXT_FEATURE_TXQS" },
3358 { WS_NL80211_EXT_FEATURE_SCAN_RANDOM_SN
, "NL80211_EXT_FEATURE_SCAN_RANDOM_SN" },
3359 { WS_NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT
, "NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT" },
3360 { WS_NL80211_EXT_FEATURE_CAN_REPLACE_PTK0
, "NL80211_EXT_FEATURE_CAN_REPLACE_PTK0" },
3361 { WS_NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER
, "NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER" },
3362 { WS_NL80211_EXT_FEATURE_AIRTIME_FAIRNESS
, "NL80211_EXT_FEATURE_AIRTIME_FAIRNESS" },
3363 { WS_NL80211_EXT_FEATURE_AP_PMKSA_CACHING
, "NL80211_EXT_FEATURE_AP_PMKSA_CACHING" },
3364 { WS_NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD
, "NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD" },
3365 { WS_NL80211_EXT_FEATURE_EXT_KEY_ID
, "NL80211_EXT_FEATURE_EXT_KEY_ID" },
3366 { WS_NL80211_EXT_FEATURE_STA_TX_PWR
, "NL80211_EXT_FEATURE_STA_TX_PWR" },
3367 { WS_NL80211_EXT_FEATURE_SAE_OFFLOAD
, "NL80211_EXT_FEATURE_SAE_OFFLOAD" },
3368 { WS_NL80211_EXT_FEATURE_VLAN_OFFLOAD
, "NL80211_EXT_FEATURE_VLAN_OFFLOAD" },
3369 { WS_NL80211_EXT_FEATURE_AQL
, "NL80211_EXT_FEATURE_AQL" },
3370 { WS_NL80211_EXT_FEATURE_BEACON_PROTECTION
, "NL80211_EXT_FEATURE_BEACON_PROTECTION" },
3371 { WS_NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH
, "NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH" },
3372 { WS_NL80211_EXT_FEATURE_PROTECTED_TWT
, "NL80211_EXT_FEATURE_PROTECTED_TWT" },
3373 { WS_NL80211_EXT_FEATURE_DEL_IBSS_STA
, "NL80211_EXT_FEATURE_DEL_IBSS_STA" },
3374 { WS_NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS
, "NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS" },
3375 { WS_NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT
, "NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT" },
3376 { WS_NL80211_EXT_FEATURE_SCAN_FREQ_KHZ
, "NL80211_EXT_FEATURE_SCAN_FREQ_KHZ" },
3377 { WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS
, "NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS" },
3378 { WS_NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION
, "NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION" },
3379 { WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK
, "NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK" },
3380 { WS_NL80211_EXT_FEATURE_SAE_OFFLOAD_AP
, "NL80211_EXT_FEATURE_SAE_OFFLOAD_AP" },
3381 { WS_NL80211_EXT_FEATURE_FILS_DISCOVERY
, "NL80211_EXT_FEATURE_FILS_DISCOVERY" },
3382 { WS_NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP
, "NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP" },
3383 { WS_NL80211_EXT_FEATURE_BEACON_RATE_HE
, "NL80211_EXT_FEATURE_BEACON_RATE_HE" },
3384 { WS_NL80211_EXT_FEATURE_SECURE_LTF
, "NL80211_EXT_FEATURE_SECURE_LTF" },
3385 { WS_NL80211_EXT_FEATURE_SECURE_RTT
, "NL80211_EXT_FEATURE_SECURE_RTT" },
3386 { WS_NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE
, "NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE" },
3387 { WS_NL80211_EXT_FEATURE_BSS_COLOR
, "NL80211_EXT_FEATURE_BSS_COLOR" },
3388 { WS_NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD
, "NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD" },
3389 { WS_NL80211_EXT_FEATURE_RADAR_BACKGROUND
, "NL80211_EXT_FEATURE_RADAR_BACKGROUND" },
3390 { WS_NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE
, "NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE" },
3391 { WS_NL80211_EXT_FEATURE_PUNCT
, "NL80211_EXT_FEATURE_PUNCT" },
3392 { WS_NL80211_EXT_FEATURE_SECURE_NAN
, "NL80211_EXT_FEATURE_SECURE_NAN" },
3393 { WS_NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA
, "NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA" },
3394 { WS_NL80211_EXT_FEATURE_OWE_OFFLOAD
, "NL80211_EXT_FEATURE_OWE_OFFLOAD" },
3395 { WS_NL80211_EXT_FEATURE_OWE_OFFLOAD_AP
, "NL80211_EXT_FEATURE_OWE_OFFLOAD_AP" },
3396 { WS_NL80211_EXT_FEATURE_DFS_CONCURRENT
, "NL80211_EXT_FEATURE_DFS_CONCURRENT" },
3397 { WS_NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT
, "NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT" },
3400 static value_string_ext ws_nl80211_ext_feature_index_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ext_feature_index_vals
);
3402 static const value_string ws_nl80211_probe_resp_offload_support_attr_vals
[] = {
3403 { WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS
, "NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS" },
3404 { WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2
, "NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2" },
3405 { WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P
, "NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P" },
3406 { WS_NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U
, "NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U" },
3409 static value_string_ext ws_nl80211_probe_resp_offload_support_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_probe_resp_offload_support_attr_vals
);
3411 static const value_string ws_nl80211_connect_failed_reason_vals
[] = {
3412 { WS_NL80211_CONN_FAIL_MAX_CLIENTS
, "NL80211_CONN_FAIL_MAX_CLIENTS" },
3413 { WS_NL80211_CONN_FAIL_BLOCKED_CLIENT
, "NL80211_CONN_FAIL_BLOCKED_CLIENT" },
3416 static value_string_ext ws_nl80211_connect_failed_reason_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_connect_failed_reason_vals
);
3418 static const value_string ws_nl80211_timeout_reason_vals
[] = {
3419 { WS_NL80211_TIMEOUT_UNSPECIFIED
, "NL80211_TIMEOUT_UNSPECIFIED" },
3420 { WS_NL80211_TIMEOUT_SCAN
, "NL80211_TIMEOUT_SCAN" },
3421 { WS_NL80211_TIMEOUT_AUTH
, "NL80211_TIMEOUT_AUTH" },
3422 { WS_NL80211_TIMEOUT_ASSOC
, "NL80211_TIMEOUT_ASSOC" },
3425 static value_string_ext ws_nl80211_timeout_reason_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_timeout_reason_vals
);
3427 static const value_string ws_nl80211_scan_flags_vals
[] = {
3428 { WS_NL80211_SCAN_FLAG_LOW_PRIORITY
, "NL80211_SCAN_FLAG_LOW_PRIORITY" },
3429 { WS_NL80211_SCAN_FLAG_FLUSH
, "NL80211_SCAN_FLAG_FLUSH" },
3430 { WS_NL80211_SCAN_FLAG_AP
, "NL80211_SCAN_FLAG_AP" },
3431 { WS_NL80211_SCAN_FLAG_RANDOM_ADDR
, "NL80211_SCAN_FLAG_RANDOM_ADDR" },
3432 { WS_NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME
, "NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME" },
3433 { WS_NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP
, "NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP" },
3434 { WS_NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE
, "NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE" },
3435 { WS_NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
, "NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION" },
3436 { WS_NL80211_SCAN_FLAG_LOW_SPAN
, "NL80211_SCAN_FLAG_LOW_SPAN" },
3437 { WS_NL80211_SCAN_FLAG_LOW_POWER
, "NL80211_SCAN_FLAG_LOW_POWER" },
3438 { WS_NL80211_SCAN_FLAG_HIGH_ACCURACY
, "NL80211_SCAN_FLAG_HIGH_ACCURACY" },
3439 { WS_NL80211_SCAN_FLAG_RANDOM_SN
, "NL80211_SCAN_FLAG_RANDOM_SN" },
3440 { WS_NL80211_SCAN_FLAG_MIN_PREQ_CONTENT
, "NL80211_SCAN_FLAG_MIN_PREQ_CONTENT" },
3441 { WS_NL80211_SCAN_FLAG_FREQ_KHZ
, "NL80211_SCAN_FLAG_FREQ_KHZ" },
3442 { WS_NL80211_SCAN_FLAG_COLOCATED_6GHZ
, "NL80211_SCAN_FLAG_COLOCATED_6GHZ" },
3445 static value_string_ext ws_nl80211_scan_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_scan_flags_vals
);
3447 static const value_string ws_nl80211_acl_policy_vals
[] = {
3448 { WS_NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED
, "NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED" },
3449 { WS_NL80211_ACL_POLICY_DENY_UNLESS_LISTED
, "NL80211_ACL_POLICY_DENY_UNLESS_LISTED" },
3452 static value_string_ext ws_nl80211_acl_policy_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_acl_policy_vals
);
3454 static const value_string ws_nl80211_smps_mode_vals
[] = {
3455 { WS_NL80211_SMPS_OFF
, "NL80211_SMPS_OFF" },
3456 { WS_NL80211_SMPS_STATIC
, "NL80211_SMPS_STATIC" },
3457 { WS_NL80211_SMPS_DYNAMIC
, "NL80211_SMPS_DYNAMIC" },
3460 static value_string_ext ws_nl80211_smps_mode_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_smps_mode_vals
);
3462 static const value_string ws_nl80211_radar_event_vals
[] = {
3463 { WS_NL80211_RADAR_DETECTED
, "NL80211_RADAR_DETECTED" },
3464 { WS_NL80211_RADAR_CAC_FINISHED
, "NL80211_RADAR_CAC_FINISHED" },
3465 { WS_NL80211_RADAR_CAC_ABORTED
, "NL80211_RADAR_CAC_ABORTED" },
3466 { WS_NL80211_RADAR_NOP_FINISHED
, "NL80211_RADAR_NOP_FINISHED" },
3467 { WS_NL80211_RADAR_PRE_CAC_EXPIRED
, "NL80211_RADAR_PRE_CAC_EXPIRED" },
3468 { WS_NL80211_RADAR_CAC_STARTED
, "NL80211_RADAR_CAC_STARTED" },
3471 static value_string_ext ws_nl80211_radar_event_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_radar_event_vals
);
3473 static const value_string ws_nl80211_dfs_state_vals
[] = {
3474 { WS_NL80211_DFS_USABLE
, "NL80211_DFS_USABLE" },
3475 { WS_NL80211_DFS_UNAVAILABLE
, "NL80211_DFS_UNAVAILABLE" },
3476 { WS_NL80211_DFS_AVAILABLE
, "NL80211_DFS_AVAILABLE" },
3479 static value_string_ext ws_nl80211_dfs_state_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_dfs_state_vals
);
3481 static const value_string ws_nl80211_protocol_features_vals
[] = {
3482 { WS_NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP
, "NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP" },
3485 static value_string_ext ws_nl80211_protocol_features_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_protocol_features_vals
);
3487 static const value_string ws_nl80211_crit_proto_id_vals
[] = {
3488 { WS_NL80211_CRIT_PROTO_UNSPEC
, "NL80211_CRIT_PROTO_UNSPEC" },
3489 { WS_NL80211_CRIT_PROTO_DHCP
, "NL80211_CRIT_PROTO_DHCP" },
3490 { WS_NL80211_CRIT_PROTO_EAPOL
, "NL80211_CRIT_PROTO_EAPOL" },
3491 { WS_NL80211_CRIT_PROTO_APIPA
, "NL80211_CRIT_PROTO_APIPA" },
3494 static value_string_ext ws_nl80211_crit_proto_id_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_crit_proto_id_vals
);
3496 static const value_string ws_nl80211_rxmgmt_flags_vals
[] = {
3497 { WS_NL80211_RXMGMT_FLAG_ANSWERED
, "NL80211_RXMGMT_FLAG_ANSWERED" },
3498 { WS_NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
, "NL80211_RXMGMT_FLAG_EXTERNAL_AUTH" },
3501 static value_string_ext ws_nl80211_rxmgmt_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_rxmgmt_flags_vals
);
3503 static const value_string ws_nl80211_tdls_peer_capability_vals
[] = {
3504 { WS_NL80211_TDLS_PEER_HT
, "NL80211_TDLS_PEER_HT" },
3505 { WS_NL80211_TDLS_PEER_VHT
, "NL80211_TDLS_PEER_VHT" },
3506 { WS_NL80211_TDLS_PEER_WMM
, "NL80211_TDLS_PEER_WMM" },
3507 { WS_NL80211_TDLS_PEER_HE
, "NL80211_TDLS_PEER_HE" },
3510 static value_string_ext ws_nl80211_tdls_peer_capability_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_tdls_peer_capability_vals
);
3512 static const value_string ws_nl80211_sched_scan_plan_vals
[] = {
3513 { WS___NL80211_SCHED_SCAN_PLAN_INVALID
, "__NL80211_SCHED_SCAN_PLAN_INVALID" },
3514 { WS_NL80211_SCHED_SCAN_PLAN_INTERVAL
, "NL80211_SCHED_SCAN_PLAN_INTERVAL" },
3515 { WS_NL80211_SCHED_SCAN_PLAN_ITERATIONS
, "NL80211_SCHED_SCAN_PLAN_ITERATIONS" },
3518 static value_string_ext ws_nl80211_sched_scan_plan_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sched_scan_plan_vals
);
3520 static const value_string ws_nl80211_bss_select_attr_vals
[] = {
3521 { WS___NL80211_BSS_SELECT_ATTR_INVALID
, "__NL80211_BSS_SELECT_ATTR_INVALID" },
3522 { WS_NL80211_BSS_SELECT_ATTR_RSSI
, "NL80211_BSS_SELECT_ATTR_RSSI" },
3523 { WS_NL80211_BSS_SELECT_ATTR_BAND_PREF
, "NL80211_BSS_SELECT_ATTR_BAND_PREF" },
3524 { WS_NL80211_BSS_SELECT_ATTR_RSSI_ADJUST
, "NL80211_BSS_SELECT_ATTR_RSSI_ADJUST" },
3527 static value_string_ext ws_nl80211_bss_select_attr_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_select_attr_vals
);
3529 static const value_string ws_nl80211_nan_function_type_vals
[] = {
3530 { WS_NL80211_NAN_FUNC_PUBLISH
, "NL80211_NAN_FUNC_PUBLISH" },
3531 { WS_NL80211_NAN_FUNC_SUBSCRIBE
, "NL80211_NAN_FUNC_SUBSCRIBE" },
3532 { WS_NL80211_NAN_FUNC_FOLLOW_UP
, "NL80211_NAN_FUNC_FOLLOW_UP" },
3535 static value_string_ext ws_nl80211_nan_function_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_function_type_vals
);
3537 static const value_string ws_nl80211_nan_publish_type_vals
[] = {
3538 { WS_NL80211_NAN_SOLICITED_PUBLISH
, "NL80211_NAN_SOLICITED_PUBLISH" },
3539 { WS_NL80211_NAN_UNSOLICITED_PUBLISH
, "NL80211_NAN_UNSOLICITED_PUBLISH" },
3542 static value_string_ext ws_nl80211_nan_publish_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_publish_type_vals
);
3544 static const value_string ws_nl80211_nan_func_term_reason_vals
[] = {
3545 { WS_NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST
, "NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST" },
3546 { WS_NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED
, "NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED" },
3547 { WS_NL80211_NAN_FUNC_TERM_REASON_ERROR
, "NL80211_NAN_FUNC_TERM_REASON_ERROR" },
3550 static value_string_ext ws_nl80211_nan_func_term_reason_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_func_term_reason_vals
);
3552 static const value_string ws_nl80211_nan_func_attributes_vals
[] = {
3553 { WS___NL80211_NAN_FUNC_INVALID
, "__NL80211_NAN_FUNC_INVALID" },
3554 { WS_NL80211_NAN_FUNC_TYPE
, "NL80211_NAN_FUNC_TYPE" },
3555 { WS_NL80211_NAN_FUNC_SERVICE_ID
, "NL80211_NAN_FUNC_SERVICE_ID" },
3556 { WS_NL80211_NAN_FUNC_PUBLISH_TYPE
, "NL80211_NAN_FUNC_PUBLISH_TYPE" },
3557 { WS_NL80211_NAN_FUNC_PUBLISH_BCAST
, "NL80211_NAN_FUNC_PUBLISH_BCAST" },
3558 { WS_NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE
, "NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE" },
3559 { WS_NL80211_NAN_FUNC_FOLLOW_UP_ID
, "NL80211_NAN_FUNC_FOLLOW_UP_ID" },
3560 { WS_NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID
, "NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID" },
3561 { WS_NL80211_NAN_FUNC_FOLLOW_UP_DEST
, "NL80211_NAN_FUNC_FOLLOW_UP_DEST" },
3562 { WS_NL80211_NAN_FUNC_CLOSE_RANGE
, "NL80211_NAN_FUNC_CLOSE_RANGE" },
3563 { WS_NL80211_NAN_FUNC_TTL
, "NL80211_NAN_FUNC_TTL" },
3564 { WS_NL80211_NAN_FUNC_SERVICE_INFO
, "NL80211_NAN_FUNC_SERVICE_INFO" },
3565 { WS_NL80211_NAN_FUNC_SRF
, "NL80211_NAN_FUNC_SRF" },
3566 { WS_NL80211_NAN_FUNC_RX_MATCH_FILTER
, "NL80211_NAN_FUNC_RX_MATCH_FILTER" },
3567 { WS_NL80211_NAN_FUNC_TX_MATCH_FILTER
, "NL80211_NAN_FUNC_TX_MATCH_FILTER" },
3568 { WS_NL80211_NAN_FUNC_INSTANCE_ID
, "NL80211_NAN_FUNC_INSTANCE_ID" },
3569 { WS_NL80211_NAN_FUNC_TERM_REASON
, "NL80211_NAN_FUNC_TERM_REASON" },
3572 static value_string_ext ws_nl80211_nan_func_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_func_attributes_vals
);
3574 static const value_string ws_nl80211_nan_srf_attributes_vals
[] = {
3575 { WS___NL80211_NAN_SRF_INVALID
, "__NL80211_NAN_SRF_INVALID" },
3576 { WS_NL80211_NAN_SRF_INCLUDE
, "NL80211_NAN_SRF_INCLUDE" },
3577 { WS_NL80211_NAN_SRF_BF
, "NL80211_NAN_SRF_BF" },
3578 { WS_NL80211_NAN_SRF_BF_IDX
, "NL80211_NAN_SRF_BF_IDX" },
3579 { WS_NL80211_NAN_SRF_MAC_ADDRS
, "NL80211_NAN_SRF_MAC_ADDRS" },
3582 static value_string_ext ws_nl80211_nan_srf_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_srf_attributes_vals
);
3584 static const value_string ws_nl80211_nan_match_attributes_vals
[] = {
3585 { WS___NL80211_NAN_MATCH_INVALID
, "__NL80211_NAN_MATCH_INVALID" },
3586 { WS_NL80211_NAN_MATCH_FUNC_LOCAL
, "NL80211_NAN_MATCH_FUNC_LOCAL" },
3587 { WS_NL80211_NAN_MATCH_FUNC_PEER
, "NL80211_NAN_MATCH_FUNC_PEER" },
3590 static value_string_ext ws_nl80211_nan_match_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_nan_match_attributes_vals
);
3592 static const value_string ws_nl80211_external_auth_action_vals
[] = {
3593 { WS_NL80211_EXTERNAL_AUTH_START
, "NL80211_EXTERNAL_AUTH_START" },
3594 { WS_NL80211_EXTERNAL_AUTH_ABORT
, "NL80211_EXTERNAL_AUTH_ABORT" },
3597 static value_string_ext ws_nl80211_external_auth_action_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_external_auth_action_vals
);
3599 static const value_string ws_nl80211_ftm_responder_attributes_vals
[] = {
3600 { WS___NL80211_FTM_RESP_ATTR_INVALID
, "__NL80211_FTM_RESP_ATTR_INVALID" },
3601 { WS_NL80211_FTM_RESP_ATTR_ENABLED
, "NL80211_FTM_RESP_ATTR_ENABLED" },
3602 { WS_NL80211_FTM_RESP_ATTR_LCI
, "NL80211_FTM_RESP_ATTR_LCI" },
3603 { WS_NL80211_FTM_RESP_ATTR_CIVICLOC
, "NL80211_FTM_RESP_ATTR_CIVICLOC" },
3606 static value_string_ext ws_nl80211_ftm_responder_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ftm_responder_attributes_vals
);
3608 static const value_string ws_nl80211_ftm_responder_stats_vals
[] = {
3609 { WS___NL80211_FTM_STATS_INVALID
, "__NL80211_FTM_STATS_INVALID" },
3610 { WS_NL80211_FTM_STATS_SUCCESS_NUM
, "NL80211_FTM_STATS_SUCCESS_NUM" },
3611 { WS_NL80211_FTM_STATS_PARTIAL_NUM
, "NL80211_FTM_STATS_PARTIAL_NUM" },
3612 { WS_NL80211_FTM_STATS_FAILED_NUM
, "NL80211_FTM_STATS_FAILED_NUM" },
3613 { WS_NL80211_FTM_STATS_ASAP_NUM
, "NL80211_FTM_STATS_ASAP_NUM" },
3614 { WS_NL80211_FTM_STATS_NON_ASAP_NUM
, "NL80211_FTM_STATS_NON_ASAP_NUM" },
3615 { WS_NL80211_FTM_STATS_TOTAL_DURATION_MSEC
, "NL80211_FTM_STATS_TOTAL_DURATION_MSEC" },
3616 { WS_NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM
, "NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM" },
3617 { WS_NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM
, "NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM" },
3618 { WS_NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM
, "NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM" },
3619 { WS_NL80211_FTM_STATS_PAD
, "NL80211_FTM_STATS_PAD" },
3622 static value_string_ext ws_nl80211_ftm_responder_stats_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ftm_responder_stats_vals
);
3624 static const value_string ws_nl80211_preamble_vals
[] = {
3625 { WS_NL80211_PREAMBLE_LEGACY
, "NL80211_PREAMBLE_LEGACY" },
3626 { WS_NL80211_PREAMBLE_HT
, "NL80211_PREAMBLE_HT" },
3627 { WS_NL80211_PREAMBLE_VHT
, "NL80211_PREAMBLE_VHT" },
3628 { WS_NL80211_PREAMBLE_DMG
, "NL80211_PREAMBLE_DMG" },
3629 { WS_NL80211_PREAMBLE_HE
, "NL80211_PREAMBLE_HE" },
3632 static value_string_ext ws_nl80211_preamble_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_preamble_vals
);
3634 static const value_string ws_nl80211_peer_measurement_type_vals
[] = {
3635 { WS_NL80211_PMSR_TYPE_INVALID
, "NL80211_PMSR_TYPE_INVALID" },
3636 { WS_NL80211_PMSR_TYPE_FTM
, "NL80211_PMSR_TYPE_FTM" },
3639 static value_string_ext ws_nl80211_peer_measurement_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_type_vals
);
3641 static const value_string ws_nl80211_peer_measurement_status_vals
[] = {
3642 { WS_NL80211_PMSR_STATUS_SUCCESS
, "NL80211_PMSR_STATUS_SUCCESS" },
3643 { WS_NL80211_PMSR_STATUS_REFUSED
, "NL80211_PMSR_STATUS_REFUSED" },
3644 { WS_NL80211_PMSR_STATUS_TIMEOUT
, "NL80211_PMSR_STATUS_TIMEOUT" },
3645 { WS_NL80211_PMSR_STATUS_FAILURE
, "NL80211_PMSR_STATUS_FAILURE" },
3648 static value_string_ext ws_nl80211_peer_measurement_status_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_status_vals
);
3650 static const value_string ws_nl80211_peer_measurement_req_vals
[] = {
3651 { WS___NL80211_PMSR_REQ_ATTR_INVALID
, "__NL80211_PMSR_REQ_ATTR_INVALID" },
3652 { WS_NL80211_PMSR_REQ_ATTR_DATA
, "NL80211_PMSR_REQ_ATTR_DATA" },
3653 { WS_NL80211_PMSR_REQ_ATTR_GET_AP_TSF
, "NL80211_PMSR_REQ_ATTR_GET_AP_TSF" },
3656 static value_string_ext ws_nl80211_peer_measurement_req_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_req_vals
);
3658 static const value_string ws_nl80211_peer_measurement_resp_vals
[] = {
3659 { WS___NL80211_PMSR_RESP_ATTR_INVALID
, "__NL80211_PMSR_RESP_ATTR_INVALID" },
3660 { WS_NL80211_PMSR_RESP_ATTR_DATA
, "NL80211_PMSR_RESP_ATTR_DATA" },
3661 { WS_NL80211_PMSR_RESP_ATTR_STATUS
, "NL80211_PMSR_RESP_ATTR_STATUS" },
3662 { WS_NL80211_PMSR_RESP_ATTR_HOST_TIME
, "NL80211_PMSR_RESP_ATTR_HOST_TIME" },
3663 { WS_NL80211_PMSR_RESP_ATTR_AP_TSF
, "NL80211_PMSR_RESP_ATTR_AP_TSF" },
3664 { WS_NL80211_PMSR_RESP_ATTR_FINAL
, "NL80211_PMSR_RESP_ATTR_FINAL" },
3665 { WS_NL80211_PMSR_RESP_ATTR_PAD
, "NL80211_PMSR_RESP_ATTR_PAD" },
3668 static value_string_ext ws_nl80211_peer_measurement_resp_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_resp_vals
);
3670 static const value_string ws_nl80211_peer_measurement_peer_attrs_vals
[] = {
3671 { WS___NL80211_PMSR_PEER_ATTR_INVALID
, "__NL80211_PMSR_PEER_ATTR_INVALID" },
3672 { WS_NL80211_PMSR_PEER_ATTR_ADDR
, "NL80211_PMSR_PEER_ATTR_ADDR" },
3673 { WS_NL80211_PMSR_PEER_ATTR_CHAN
, "NL80211_PMSR_PEER_ATTR_CHAN" },
3674 { WS_NL80211_PMSR_PEER_ATTR_REQ
, "NL80211_PMSR_PEER_ATTR_REQ" },
3675 { WS_NL80211_PMSR_PEER_ATTR_RESP
, "NL80211_PMSR_PEER_ATTR_RESP" },
3678 static value_string_ext ws_nl80211_peer_measurement_peer_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_peer_attrs_vals
);
3680 static const value_string ws_nl80211_peer_measurement_attrs_vals
[] = {
3681 { WS___NL80211_PMSR_ATTR_INVALID
, "__NL80211_PMSR_ATTR_INVALID" },
3682 { WS_NL80211_PMSR_ATTR_MAX_PEERS
, "NL80211_PMSR_ATTR_MAX_PEERS" },
3683 { WS_NL80211_PMSR_ATTR_REPORT_AP_TSF
, "NL80211_PMSR_ATTR_REPORT_AP_TSF" },
3684 { WS_NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR
, "NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR" },
3685 { WS_NL80211_PMSR_ATTR_TYPE_CAPA
, "NL80211_PMSR_ATTR_TYPE_CAPA" },
3686 { WS_NL80211_PMSR_ATTR_PEERS
, "NL80211_PMSR_ATTR_PEERS" },
3689 static value_string_ext ws_nl80211_peer_measurement_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_attrs_vals
);
3691 static const value_string ws_nl80211_peer_measurement_ftm_capa_vals
[] = {
3692 { WS___NL80211_PMSR_FTM_CAPA_ATTR_INVALID
, "__NL80211_PMSR_FTM_CAPA_ATTR_INVALID" },
3693 { WS_NL80211_PMSR_FTM_CAPA_ATTR_ASAP
, "NL80211_PMSR_FTM_CAPA_ATTR_ASAP" },
3694 { WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP
, "NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP" },
3695 { WS_NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI
, "NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI" },
3696 { WS_NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC
, "NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC" },
3697 { WS_NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES
, "NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES" },
3698 { WS_NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS
, "NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS" },
3699 { WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT
, "NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT" },
3700 { WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST
, "NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST" },
3701 { WS_NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED
, "NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED" },
3702 { WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED
, "NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED" },
3705 static value_string_ext ws_nl80211_peer_measurement_ftm_capa_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_capa_vals
);
3707 static const value_string ws_nl80211_peer_measurement_ftm_req_vals
[] = {
3708 { WS___NL80211_PMSR_FTM_REQ_ATTR_INVALID
, "__NL80211_PMSR_FTM_REQ_ATTR_INVALID" },
3709 { WS_NL80211_PMSR_FTM_REQ_ATTR_ASAP
, "NL80211_PMSR_FTM_REQ_ATTR_ASAP" },
3710 { WS_NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE
, "NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE" },
3711 { WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP
, "NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP" },
3712 { WS_NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD
, "NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD" },
3713 { WS_NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION
, "NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION" },
3714 { WS_NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST
, "NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST" },
3715 { WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES
, "NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES" },
3716 { WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI
, "NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI" },
3717 { WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC
, "NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC" },
3718 { WS_NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED
, "NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED" },
3719 { WS_NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
, "NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED" },
3720 { WS_NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK
, "NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK" },
3721 { WS_NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR
, "NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR" },
3724 static value_string_ext ws_nl80211_peer_measurement_ftm_req_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_req_vals
);
3726 static const value_string ws_nl80211_peer_measurement_ftm_failure_reasons_vals
[] = {
3727 { WS_NL80211_PMSR_FTM_FAILURE_UNSPECIFIED
, "NL80211_PMSR_FTM_FAILURE_UNSPECIFIED" },
3728 { WS_NL80211_PMSR_FTM_FAILURE_NO_RESPONSE
, "NL80211_PMSR_FTM_FAILURE_NO_RESPONSE" },
3729 { WS_NL80211_PMSR_FTM_FAILURE_REJECTED
, "NL80211_PMSR_FTM_FAILURE_REJECTED" },
3730 { WS_NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL
, "NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL" },
3731 { WS_NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE
, "NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE" },
3732 { WS_NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP
, "NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP" },
3733 { WS_NL80211_PMSR_FTM_FAILURE_PEER_BUSY
, "NL80211_PMSR_FTM_FAILURE_PEER_BUSY" },
3734 { WS_NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS
, "NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS" },
3737 static value_string_ext ws_nl80211_peer_measurement_ftm_failure_reasons_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_failure_reasons_vals
);
3739 static const value_string ws_nl80211_peer_measurement_ftm_resp_vals
[] = {
3740 { WS___NL80211_PMSR_FTM_RESP_ATTR_INVALID
, "__NL80211_PMSR_FTM_RESP_ATTR_INVALID" },
3741 { WS_NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON
, "NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON" },
3742 { WS_NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX
, "NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX" },
3743 { WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS
, "NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS" },
3744 { WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES
, "NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES" },
3745 { WS_NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME
, "NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME" },
3746 { WS_NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP
, "NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP" },
3747 { WS_NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION
, "NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION" },
3748 { WS_NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST
, "NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST" },
3749 { WS_NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG
, "NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG" },
3750 { WS_NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD
, "NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD" },
3751 { WS_NL80211_PMSR_FTM_RESP_ATTR_TX_RATE
, "NL80211_PMSR_FTM_RESP_ATTR_TX_RATE" },
3752 { WS_NL80211_PMSR_FTM_RESP_ATTR_RX_RATE
, "NL80211_PMSR_FTM_RESP_ATTR_RX_RATE" },
3753 { WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG
, "NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG" },
3754 { WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE
, "NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE" },
3755 { WS_NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD
, "NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD" },
3756 { WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG
, "NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG" },
3757 { WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE
, "NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE" },
3758 { WS_NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD
, "NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD" },
3759 { WS_NL80211_PMSR_FTM_RESP_ATTR_LCI
, "NL80211_PMSR_FTM_RESP_ATTR_LCI" },
3760 { WS_NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC
, "NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC" },
3761 { WS_NL80211_PMSR_FTM_RESP_ATTR_PAD
, "NL80211_PMSR_FTM_RESP_ATTR_PAD" },
3764 static value_string_ext ws_nl80211_peer_measurement_ftm_resp_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_resp_vals
);
3766 static const value_string ws_nl80211_obss_pd_attributes_vals
[] = {
3767 { WS___NL80211_HE_OBSS_PD_ATTR_INVALID
, "__NL80211_HE_OBSS_PD_ATTR_INVALID" },
3768 { WS_NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET
, "NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET" },
3769 { WS_NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET
, "NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET" },
3770 { WS_NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET
, "NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET" },
3771 { WS_NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP
, "NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP" },
3772 { WS_NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP
, "NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP" },
3773 { WS_NL80211_HE_OBSS_PD_ATTR_SR_CTRL
, "NL80211_HE_OBSS_PD_ATTR_SR_CTRL" },
3776 static value_string_ext ws_nl80211_obss_pd_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_obss_pd_attributes_vals
);
3778 static const value_string ws_nl80211_bss_color_attributes_vals
[] = {
3779 { WS___NL80211_HE_BSS_COLOR_ATTR_INVALID
, "__NL80211_HE_BSS_COLOR_ATTR_INVALID" },
3780 { WS_NL80211_HE_BSS_COLOR_ATTR_COLOR
, "NL80211_HE_BSS_COLOR_ATTR_COLOR" },
3781 { WS_NL80211_HE_BSS_COLOR_ATTR_DISABLED
, "NL80211_HE_BSS_COLOR_ATTR_DISABLED" },
3782 { WS_NL80211_HE_BSS_COLOR_ATTR_PARTIAL
, "NL80211_HE_BSS_COLOR_ATTR_PARTIAL" },
3785 static value_string_ext ws_nl80211_bss_color_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_bss_color_attributes_vals
);
3787 static const value_string ws_nl80211_iftype_akm_attributes_vals
[] = {
3788 { WS___NL80211_IFTYPE_AKM_ATTR_INVALID
, "__NL80211_IFTYPE_AKM_ATTR_INVALID" },
3789 { WS_NL80211_IFTYPE_AKM_ATTR_IFTYPES
, "NL80211_IFTYPE_AKM_ATTR_IFTYPES" },
3790 { WS_NL80211_IFTYPE_AKM_ATTR_SUITES
, "NL80211_IFTYPE_AKM_ATTR_SUITES" },
3793 static value_string_ext ws_nl80211_iftype_akm_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_iftype_akm_attributes_vals
);
3795 static const value_string ws_nl80211_fils_discovery_attributes_vals
[] = {
3796 { WS___NL80211_FILS_DISCOVERY_ATTR_INVALID
, "__NL80211_FILS_DISCOVERY_ATTR_INVALID" },
3797 { WS_NL80211_FILS_DISCOVERY_ATTR_INT_MIN
, "NL80211_FILS_DISCOVERY_ATTR_INT_MIN" },
3798 { WS_NL80211_FILS_DISCOVERY_ATTR_INT_MAX
, "NL80211_FILS_DISCOVERY_ATTR_INT_MAX" },
3799 { WS_NL80211_FILS_DISCOVERY_ATTR_TMPL
, "NL80211_FILS_DISCOVERY_ATTR_TMPL" },
3802 static value_string_ext ws_nl80211_fils_discovery_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_fils_discovery_attributes_vals
);
3804 static const value_string ws_nl80211_unsol_bcast_probe_resp_attributes_vals
[] = {
3805 { WS___NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID
, "__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID" },
3806 { WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT
, "NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT" },
3807 { WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL
, "NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL" },
3810 static value_string_ext ws_nl80211_unsol_bcast_probe_resp_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_unsol_bcast_probe_resp_attributes_vals
);
3812 static const value_string ws_nl80211_sae_pwe_mechanism_vals
[] = {
3813 { WS_NL80211_SAE_PWE_UNSPECIFIED
, "NL80211_SAE_PWE_UNSPECIFIED" },
3814 { WS_NL80211_SAE_PWE_HUNT_AND_PECK
, "NL80211_SAE_PWE_HUNT_AND_PECK" },
3815 { WS_NL80211_SAE_PWE_HASH_TO_ELEMENT
, "NL80211_SAE_PWE_HASH_TO_ELEMENT" },
3816 { WS_NL80211_SAE_PWE_BOTH
, "NL80211_SAE_PWE_BOTH" },
3819 static value_string_ext ws_nl80211_sae_pwe_mechanism_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sae_pwe_mechanism_vals
);
3821 static const value_string ws_nl80211_sar_type_vals
[] = {
3822 { WS_NL80211_SAR_TYPE_POWER
, "NL80211_SAR_TYPE_POWER" },
3825 static value_string_ext ws_nl80211_sar_type_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sar_type_vals
);
3827 static const value_string ws_nl80211_sar_attrs_vals
[] = {
3828 { WS___NL80211_SAR_ATTR_INVALID
, "__NL80211_SAR_ATTR_INVALID" },
3829 { WS_NL80211_SAR_ATTR_TYPE
, "NL80211_SAR_ATTR_TYPE" },
3830 { WS_NL80211_SAR_ATTR_SPECS
, "NL80211_SAR_ATTR_SPECS" },
3833 static value_string_ext ws_nl80211_sar_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sar_attrs_vals
);
3835 static const value_string ws_nl80211_sar_specs_attrs_vals
[] = {
3836 { WS___NL80211_SAR_ATTR_SPECS_INVALID
, "__NL80211_SAR_ATTR_SPECS_INVALID" },
3837 { WS_NL80211_SAR_ATTR_SPECS_POWER
, "NL80211_SAR_ATTR_SPECS_POWER" },
3838 { WS_NL80211_SAR_ATTR_SPECS_RANGE_INDEX
, "NL80211_SAR_ATTR_SPECS_RANGE_INDEX" },
3839 { WS_NL80211_SAR_ATTR_SPECS_START_FREQ
, "NL80211_SAR_ATTR_SPECS_START_FREQ" },
3840 { WS_NL80211_SAR_ATTR_SPECS_END_FREQ
, "NL80211_SAR_ATTR_SPECS_END_FREQ" },
3843 static value_string_ext ws_nl80211_sar_specs_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_sar_specs_attrs_vals
);
3845 static const value_string ws_nl80211_mbssid_config_attributes_vals
[] = {
3846 { WS___NL80211_MBSSID_CONFIG_ATTR_INVALID
, "__NL80211_MBSSID_CONFIG_ATTR_INVALID" },
3847 { WS_NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES
, "NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES" },
3848 { WS_NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY
, "NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY" },
3849 { WS_NL80211_MBSSID_CONFIG_ATTR_INDEX
, "NL80211_MBSSID_CONFIG_ATTR_INDEX" },
3850 { WS_NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX
, "NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX" },
3851 { WS_NL80211_MBSSID_CONFIG_ATTR_EMA
, "NL80211_MBSSID_CONFIG_ATTR_EMA" },
3854 static value_string_ext ws_nl80211_mbssid_config_attributes_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_mbssid_config_attributes_vals
);
3856 static const value_string ws_nl80211_ap_settings_flags_vals
[] = {
3857 { WS_NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT
, "NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT" },
3858 { WS_NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT
, "NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT" },
3861 static value_string_ext ws_nl80211_ap_settings_flags_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_ap_settings_flags_vals
);
3863 static const value_string ws_nl80211_wiphy_radio_attrs_vals
[] = {
3864 { WS___NL80211_WIPHY_RADIO_ATTR_INVALID
, "__NL80211_WIPHY_RADIO_ATTR_INVALID" },
3865 { WS_NL80211_WIPHY_RADIO_ATTR_INDEX
, "NL80211_WIPHY_RADIO_ATTR_INDEX" },
3866 { WS_NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE
, "NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE" },
3867 { WS_NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION
, "NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION" },
3870 static value_string_ext ws_nl80211_wiphy_radio_attrs_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wiphy_radio_attrs_vals
);
3872 static const value_string ws_nl80211_wiphy_radio_freq_range_vals
[] = {
3873 { WS___NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID
, "__NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID" },
3874 { WS_NL80211_WIPHY_RADIO_FREQ_ATTR_START
, "NL80211_WIPHY_RADIO_FREQ_ATTR_START" },
3875 { WS_NL80211_WIPHY_RADIO_FREQ_ATTR_END
, "NL80211_WIPHY_RADIO_FREQ_ATTR_END" },
3878 static value_string_ext ws_nl80211_wiphy_radio_freq_range_vals_ext
= VALUE_STRING_EXT_INIT(ws_nl80211_wiphy_radio_freq_range_vals
);
3880 static int hf_nl80211_commands
;
3881 static int hf_nl80211_attrs
;
3882 static int hf_nl80211_iftype
;
3883 static int hf_nl80211_sta_flags
;
3884 static int hf_nl80211_sta_p2p_ps_status
;
3885 static int hf_nl80211_he_gi
;
3886 static int hf_nl80211_he_ltf
;
3887 static int hf_nl80211_he_ru_alloc
;
3888 static int hf_nl80211_eht_gi
;
3889 static int hf_nl80211_eht_ru_alloc
;
3890 static int hf_nl80211_rate_info
;
3891 static int hf_nl80211_sta_bss_param
;
3892 static int hf_nl80211_sta_info
;
3893 static int hf_nl80211_tid_stats
;
3894 static int hf_nl80211_txq_stats
;
3895 static int hf_nl80211_mpath_flags
;
3896 static int hf_nl80211_mpath_info
;
3897 static int hf_nl80211_band_iftype_attr
;
3898 static int hf_nl80211_band_attr
;
3899 static int hf_nl80211_wmm_rule
;
3900 static int hf_nl80211_frequency_attr
;
3901 static int hf_nl80211_bitrate_attr
;
3902 static int hf_nl80211_reg_initiator
;
3903 static int hf_nl80211_reg_type
;
3904 static int hf_nl80211_reg_rule_attr
;
3905 static int hf_nl80211_sched_scan_match_attr
;
3906 static int hf_nl80211_reg_rule_flags
;
3907 static int hf_nl80211_dfs_regions
;
3908 static int hf_nl80211_user_reg_hint_type
;
3909 static int hf_nl80211_survey_info
;
3910 static int hf_nl80211_mntr_flags
;
3911 static int hf_nl80211_mesh_power_mode
;
3912 static int hf_nl80211_meshconf_params
;
3913 static int hf_nl80211_mesh_setup_params
;
3914 static int hf_nl80211_txq_attr
;
3915 static int hf_nl80211_ac
;
3916 static int hf_nl80211_channel_type
;
3917 static int hf_nl80211_key_mode
;
3918 static int hf_nl80211_chan_width
;
3919 static int hf_nl80211_bss_scan_width
;
3920 static int hf_nl80211_bss_use_for
;
3921 static int hf_nl80211_bss_cannot_use_reasons
;
3922 static int hf_nl80211_bss
;
3923 static int hf_nl80211_bss_status
;
3924 static int hf_nl80211_auth_type
;
3925 static int hf_nl80211_key_type
;
3926 static int hf_nl80211_mfp
;
3927 static int hf_nl80211_wpa_versions
;
3928 static int hf_nl80211_key_default_types
;
3929 static int hf_nl80211_key_attributes
;
3930 static int hf_nl80211_tx_rate_attributes
;
3931 static int hf_nl80211_txrate_gi
;
3932 static int hf_nl80211_band
;
3933 static int hf_nl80211_ps_state
;
3934 static int hf_nl80211_attr_cqm
;
3935 static int hf_nl80211_cqm_rssi_threshold_event
;
3936 static int hf_nl80211_tx_power_setting
;
3937 static int hf_nl80211_tid_config
;
3938 static int hf_nl80211_tx_rate_setting
;
3939 static int hf_nl80211_tid_config_attr
;
3940 static int hf_nl80211_packet_pattern_attr
;
3941 static int hf_nl80211_wowlan_triggers
;
3942 static int hf_nl80211_wowlan_tcp_attrs
;
3943 static int hf_nl80211_attr_coalesce_rule
;
3944 static int hf_nl80211_coalesce_condition
;
3945 static int hf_nl80211_iface_limit_attrs
;
3946 static int hf_nl80211_if_combination_attrs
;
3947 static int hf_nl80211_plink_state
;
3948 static int hf_nl80211_plink_action
;
3949 static int hf_nl80211_rekey_data
;
3950 static int hf_nl80211_hidden_ssid
;
3951 static int hf_nl80211_sta_wme_attr
;
3952 static int hf_nl80211_pmksa_candidate_attr
;
3953 static int hf_nl80211_tdls_operation
;
3954 static int hf_nl80211_ap_sme_features
;
3955 static int hf_nl80211_feature_flags
;
3956 static int hf_nl80211_ext_feature_index
;
3957 static int hf_nl80211_probe_resp_offload_support_attr
;
3958 static int hf_nl80211_connect_failed_reason
;
3959 static int hf_nl80211_timeout_reason
;
3960 static int hf_nl80211_scan_flags
;
3961 static int hf_nl80211_acl_policy
;
3962 static int hf_nl80211_smps_mode
;
3963 static int hf_nl80211_radar_event
;
3964 static int hf_nl80211_dfs_state
;
3965 static int hf_nl80211_protocol_features
;
3966 static int hf_nl80211_crit_proto_id
;
3967 static int hf_nl80211_rxmgmt_flags
;
3968 static int hf_nl80211_tdls_peer_capability
;
3969 static int hf_nl80211_sched_scan_plan
;
3970 static int hf_nl80211_bss_select_attr
;
3971 static int hf_nl80211_nan_function_type
;
3972 static int hf_nl80211_nan_publish_type
;
3973 static int hf_nl80211_nan_func_term_reason
;
3974 static int hf_nl80211_nan_func_attributes
;
3975 static int hf_nl80211_nan_srf_attributes
;
3976 static int hf_nl80211_nan_match_attributes
;
3977 static int hf_nl80211_external_auth_action
;
3978 static int hf_nl80211_ftm_responder_attributes
;
3979 static int hf_nl80211_ftm_responder_stats
;
3980 static int hf_nl80211_preamble
;
3981 static int hf_nl80211_peer_measurement_type
;
3982 static int hf_nl80211_peer_measurement_status
;
3983 static int hf_nl80211_peer_measurement_req
;
3984 static int hf_nl80211_peer_measurement_resp
;
3985 static int hf_nl80211_peer_measurement_peer_attrs
;
3986 static int hf_nl80211_peer_measurement_attrs
;
3987 static int hf_nl80211_peer_measurement_ftm_capa
;
3988 static int hf_nl80211_peer_measurement_ftm_req
;
3989 static int hf_nl80211_peer_measurement_ftm_failure_reasons
;
3990 static int hf_nl80211_peer_measurement_ftm_resp
;
3991 static int hf_nl80211_obss_pd_attributes
;
3992 static int hf_nl80211_bss_color_attributes
;
3993 static int hf_nl80211_iftype_akm_attributes
;
3994 static int hf_nl80211_fils_discovery_attributes
;
3995 static int hf_nl80211_unsol_bcast_probe_resp_attributes
;
3996 static int hf_nl80211_sae_pwe_mechanism
;
3997 static int hf_nl80211_sar_type
;
3998 static int hf_nl80211_sar_attrs
;
3999 static int hf_nl80211_sar_specs_attrs
;
4000 static int hf_nl80211_mbssid_config_attributes
;
4001 static int hf_nl80211_ap_settings_flags
;
4002 static int hf_nl80211_wiphy_radio_attrs
;
4003 static int hf_nl80211_wiphy_radio_freq_range
;
4005 static int ett_nl80211_commands
;
4006 static int ett_nl80211_attrs
;
4007 static int ett_nl80211_iftype
;
4008 static int ett_nl80211_sta_flags
;
4009 static int ett_nl80211_sta_p2p_ps_status
;
4010 static int ett_nl80211_he_gi
;
4011 static int ett_nl80211_he_ltf
;
4012 static int ett_nl80211_he_ru_alloc
;
4013 static int ett_nl80211_eht_gi
;
4014 static int ett_nl80211_eht_ru_alloc
;
4015 static int ett_nl80211_rate_info
;
4016 static int ett_nl80211_sta_bss_param
;
4017 static int ett_nl80211_sta_info
;
4018 static int ett_nl80211_tid_stats
;
4019 static int ett_nl80211_txq_stats
;
4020 static int ett_nl80211_mpath_flags
;
4021 static int ett_nl80211_mpath_info
;
4022 static int ett_nl80211_band_iftype_attr
;
4023 static int ett_nl80211_band_attr
;
4024 static int ett_nl80211_wmm_rule
;
4025 static int ett_nl80211_frequency_attr
;
4026 static int ett_nl80211_bitrate_attr
;
4027 static int ett_nl80211_reg_initiator
;
4028 static int ett_nl80211_reg_type
;
4029 static int ett_nl80211_reg_rule_attr
;
4030 static int ett_nl80211_sched_scan_match_attr
;
4031 static int ett_nl80211_reg_rule_flags
;
4032 static int ett_nl80211_dfs_regions
;
4033 static int ett_nl80211_user_reg_hint_type
;
4034 static int ett_nl80211_survey_info
;
4035 static int ett_nl80211_mntr_flags
;
4036 static int ett_nl80211_mesh_power_mode
;
4037 static int ett_nl80211_meshconf_params
;
4038 static int ett_nl80211_mesh_setup_params
;
4039 static int ett_nl80211_txq_attr
;
4040 static int ett_nl80211_ac
;
4041 static int ett_nl80211_channel_type
;
4042 static int ett_nl80211_key_mode
;
4043 static int ett_nl80211_chan_width
;
4044 static int ett_nl80211_bss_scan_width
;
4045 static int ett_nl80211_bss_use_for
;
4046 static int ett_nl80211_bss_cannot_use_reasons
;
4047 static int ett_nl80211_bss
;
4048 static int ett_nl80211_bss_status
;
4049 static int ett_nl80211_auth_type
;
4050 static int ett_nl80211_key_type
;
4051 static int ett_nl80211_mfp
;
4052 static int ett_nl80211_wpa_versions
;
4053 static int ett_nl80211_key_default_types
;
4054 static int ett_nl80211_key_attributes
;
4055 static int ett_nl80211_tx_rate_attributes
;
4056 static int ett_nl80211_txrate_gi
;
4057 static int ett_nl80211_band
;
4058 static int ett_nl80211_ps_state
;
4059 static int ett_nl80211_attr_cqm
;
4060 static int ett_nl80211_cqm_rssi_threshold_event
;
4061 static int ett_nl80211_tx_power_setting
;
4062 static int ett_nl80211_tid_config
;
4063 static int ett_nl80211_tx_rate_setting
;
4064 static int ett_nl80211_tid_config_attr
;
4065 static int ett_nl80211_packet_pattern_attr
;
4066 static int ett_nl80211_wowlan_triggers
;
4067 static int ett_nl80211_wowlan_tcp_attrs
;
4068 static int ett_nl80211_attr_coalesce_rule
;
4069 static int ett_nl80211_coalesce_condition
;
4070 static int ett_nl80211_iface_limit_attrs
;
4071 static int ett_nl80211_if_combination_attrs
;
4072 static int ett_nl80211_plink_state
;
4073 static int ett_nl80211_plink_action
;
4074 static int ett_nl80211_rekey_data
;
4075 static int ett_nl80211_hidden_ssid
;
4076 static int ett_nl80211_sta_wme_attr
;
4077 static int ett_nl80211_pmksa_candidate_attr
;
4078 static int ett_nl80211_tdls_operation
;
4079 static int ett_nl80211_ap_sme_features
;
4080 static int ett_nl80211_feature_flags
;
4081 static int ett_nl80211_ext_feature_index
;
4082 static int ett_nl80211_probe_resp_offload_support_attr
;
4083 static int ett_nl80211_connect_failed_reason
;
4084 static int ett_nl80211_timeout_reason
;
4085 static int ett_nl80211_scan_flags
;
4086 static int ett_nl80211_acl_policy
;
4087 static int ett_nl80211_smps_mode
;
4088 static int ett_nl80211_radar_event
;
4089 static int ett_nl80211_dfs_state
;
4090 static int ett_nl80211_protocol_features
;
4091 static int ett_nl80211_crit_proto_id
;
4092 static int ett_nl80211_rxmgmt_flags
;
4093 static int ett_nl80211_tdls_peer_capability
;
4094 static int ett_nl80211_sched_scan_plan
;
4095 static int ett_nl80211_bss_select_attr
;
4096 static int ett_nl80211_nan_function_type
;
4097 static int ett_nl80211_nan_publish_type
;
4098 static int ett_nl80211_nan_func_term_reason
;
4099 static int ett_nl80211_nan_func_attributes
;
4100 static int ett_nl80211_nan_srf_attributes
;
4101 static int ett_nl80211_nan_match_attributes
;
4102 static int ett_nl80211_external_auth_action
;
4103 static int ett_nl80211_ftm_responder_attributes
;
4104 static int ett_nl80211_ftm_responder_stats
;
4105 static int ett_nl80211_preamble
;
4106 static int ett_nl80211_peer_measurement_type
;
4107 static int ett_nl80211_peer_measurement_status
;
4108 static int ett_nl80211_peer_measurement_req
;
4109 static int ett_nl80211_peer_measurement_resp
;
4110 static int ett_nl80211_peer_measurement_peer_attrs
;
4111 static int ett_nl80211_peer_measurement_attrs
;
4112 static int ett_nl80211_peer_measurement_ftm_capa
;
4113 static int ett_nl80211_peer_measurement_ftm_req
;
4114 static int ett_nl80211_peer_measurement_ftm_failure_reasons
;
4115 static int ett_nl80211_peer_measurement_ftm_resp
;
4116 static int ett_nl80211_obss_pd_attributes
;
4117 static int ett_nl80211_bss_color_attributes
;
4118 static int ett_nl80211_iftype_akm_attributes
;
4119 static int ett_nl80211_fils_discovery_attributes
;
4120 static int ett_nl80211_unsol_bcast_probe_resp_attributes
;
4121 static int ett_nl80211_sae_pwe_mechanism
;
4122 static int ett_nl80211_sar_type
;
4123 static int ett_nl80211_sar_attrs
;
4124 static int ett_nl80211_sar_specs_attrs
;
4125 static int ett_nl80211_mbssid_config_attributes
;
4126 static int ett_nl80211_ap_settings_flags
;
4127 static int ett_nl80211_wiphy_radio_attrs
;
4128 static int ett_nl80211_wiphy_radio_freq_range
;
4132 static int proto_netlink_nl80211
;
4134 static dissector_handle_t netlink_nl80211_handle
;
4136 static int hf_nl80211_attr_value
;
4137 static int hf_nl80211_attr_value16
;
4138 static int hf_nl80211_attr_value32
;
4139 static int hf_nl80211_attr_value64
;
4140 static int hf_nl80211_wiphy_name
;
4141 static int hf_nl80211_ifname
;
4142 static int hf_nl80211_mac
;
4143 static int hf_nl80211_alpha2
;
4144 static int hf_nl80211_dbm
;
4146 static int ett_nl80211
;
4147 static int ett_nl80211_frame
;
4148 static int ett_nl80211_tag
;
4151 dissect_nl80211_generic(tvbuff_t
*tvb
, void *data _U_
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type _U_
, int offset
, int len
)
4154 * No specific dissection available, apply arbitrary heuristics to
4155 * determine whether we have an u16 or u32 field and treat others as
4160 proto_tree_add_item(tree
, hf_nl80211_attr_value16
, tvb
, offset
, len
, nl_data
->encoding
);
4161 } else if (len
== 4) {
4162 proto_tree_add_item(tree
, hf_nl80211_attr_value32
, tvb
, offset
, len
, nl_data
->encoding
);
4163 } else if (len
== 8) {
4164 proto_tree_add_item(tree
, hf_nl80211_attr_value64
, tvb
, offset
, len
, nl_data
->encoding
);
4166 proto_tree_add_item(tree
, hf_nl80211_attr_value
, tvb
, offset
, len
, nl_data
->encoding
);
4173 struct attr_lookup
{
4174 unsigned int attr_type
;
4177 int (*func
)(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
);
4181 dissect_nested_attr(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
, const struct attr_lookup
*nested
)
4183 netlink_nl80211_info_t
*info
= (netlink_nl80211_info_t
*)data
;
4184 for (int i
= 0; nested
[i
].attr_type
!= 0; i
++) {
4185 if (nested
[i
].attr_type
!= (nla_type
& NLA_TYPE_MASK
)) {
4188 offset
= dissect_netlink_attributes(tvb
, *nested
[i
].hfptr
, *nested
[i
].ett
, info
,
4189 nl_data
, tree
, offset
, len
,
4190 nested
[i
].func
? nested
[i
].func
: dissect_nl80211_generic
);
4197 dissect_nested_attr_array(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
, const struct attr_lookup
*nested_arr
)
4199 netlink_nl80211_info_t
*info
= (netlink_nl80211_info_t
*)data
;
4200 for (int i
= 0; nested_arr
[i
].attr_type
!= 0; i
++) {
4201 if (nested_arr
[i
].attr_type
!= (nla_type
& NLA_TYPE_MASK
)) {
4204 offset
= dissect_netlink_attributes_array(tvb
, *nested_arr
[i
].hfptr
, *nested_arr
[i
].ett
,
4205 *nested_arr
[i
].ett
, info
,
4206 nl_data
, tree
, offset
, len
,
4207 nested_arr
[i
].func
?
4208 nested_arr
[i
].func
: dissect_nl80211_generic
);
4215 dissect_value(tvbuff_t
*tvb
, void *data _U_
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
, const struct attr_lookup
*values
)
4217 for (int i
= 0; values
[i
].attr_type
!= 0; i
++) {
4218 if (values
[i
].attr_type
!= (nla_type
& NLA_TYPE_MASK
)) {
4221 proto_tree_add_item(tree
, *values
[i
].hfptr
, tvb
, offset
, len
, nl_data
->encoding
);
4222 return offset
+ len
;
4228 dissect_tag(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, int offset
, int len
, uint8_t tag
)
4231 ieee80211_tagged_field_data_t field_data
= { 0 };
4232 tvbuff_t
*next_tvb
= tvb_new_subset_length(tvb
, offset
, len
);
4233 proto_tree
*subtree
= proto_tree_add_subtree(tree
, next_tvb
, 0, -1, ett_nl80211_tag
, &item
, "Attribute Value");
4234 dissector_try_uint_with_data(ieee80211_tag_dissector_table
, tag
, next_tvb
, pinfo
, subtree
, false, &field_data
);
4235 return offset
+ len
;
4239 dissect_information_elements(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, int offset
, int len
)
4241 int offset_end
= offset
+ len
;
4242 while (offset
< offset_end
) {
4243 int tlen
= add_tagged_field(pinfo
, tree
, tvb
, offset
, 0, NULL
, 0, NULL
);
4253 dissect_nl80211_frequency_attr(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4255 static const struct attr_lookup nested
[] = {
4256 { WS_NL80211_FREQUENCY_ATTR_DFS_STATE
, &hf_nl80211_dfs_state
, &ett_nl80211_dfs_state
, NULL
},
4257 { WS_NL80211_FREQUENCY_ATTR_WMM
, &hf_nl80211_wmm_rule
, &ett_nl80211_wmm_rule
, NULL
},
4258 { 0, NULL
, NULL
, NULL
}
4260 enum ws_nl80211_frequency_attr type
= (enum ws_nl80211_frequency_attr
) nla_type
& NLA_TYPE_MASK
;
4261 int offset_end
= offset
+ len
;
4263 if (offset
< offset_end
) {
4264 offset
= dissect_nested_attr(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested
);
4266 if (offset
< offset_end
) {
4269 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4277 dissect_nl80211_band_attr(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4279 static const struct attr_lookup nested_arr
[] = {
4280 { WS_NL80211_BAND_ATTR_FREQS
, &hf_nl80211_frequency_attr
, &ett_nl80211_frequency_attr
, dissect_nl80211_frequency_attr
},
4281 { WS_NL80211_BAND_ATTR_RATES
, &hf_nl80211_bitrate_attr
, &ett_nl80211_bitrate_attr
, NULL
},
4282 { WS_NL80211_BAND_ATTR_IFTYPE_DATA
, &hf_nl80211_band_iftype_attr
, &ett_nl80211_band_iftype_attr
, NULL
},
4283 { 0, NULL
, NULL
, NULL
}
4285 enum ws_nl80211_band_attr type
= (enum ws_nl80211_band_attr
) nla_type
& NLA_TYPE_MASK
;
4286 int offset_end
= offset
+ len
;
4288 if (offset
< offset_end
) {
4289 offset
= dissect_nested_attr_array(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested_arr
);
4291 if (offset
< offset_end
) {
4293 /* TODO add more fields here? */
4295 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4303 dissect_nl80211_bss(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4305 static const struct attr_lookup values
[] = {
4306 { WS_NL80211_BSS_STATUS
, &hf_nl80211_bss_status
, NULL
, NULL
},
4307 { WS_NL80211_BSS_CHAN_WIDTH
, &hf_nl80211_bss_scan_width
, NULL
, NULL
},
4308 { 0, NULL
, NULL
, NULL
}
4310 enum ws_nl80211_bss type
= (enum ws_nl80211_bss
) nla_type
& NLA_TYPE_MASK
;
4311 int offset_end
= offset
+ len
;
4313 if (offset
< offset_end
) {
4314 offset
= dissect_value(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, values
);
4316 if (offset
< offset_end
) {
4317 netlink_nl80211_info_t
*info
= (netlink_nl80211_info_t
*)data
;
4319 case WS_NL80211_BSS_INFORMATION_ELEMENTS
:
4320 case WS_NL80211_BSS_BEACON_IES
:
4321 offset
= dissect_information_elements(tvb
, info
->pinfo
, tree
, offset
, len
);
4324 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4332 dissect_nl80211_tid_stats(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4334 static const struct attr_lookup nested
[] = {
4335 { WS_NL80211_TID_STATS_TXQ_STATS
, &hf_nl80211_txq_stats
, &ett_nl80211_txq_stats
, NULL
},
4336 { 0, NULL
, NULL
, NULL
}
4339 enum ws_nl80211_tid_stats type
= (enum ws_nl80211_tid_stats
) nla_type
& NLA_TYPE_MASK
;
4340 int offset_end
= offset
+ len
;
4341 if (offset
< offset_end
) {
4342 offset
= dissect_nested_attr(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested
);
4344 if (offset
< offset_end
) {
4347 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4355 dissect_nl80211_sta_info(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4357 static const struct attr_lookup nested
[] = {
4358 { WS_NL80211_STA_INFO_TX_BITRATE
, &hf_nl80211_rate_info
, &ett_nl80211_rate_info
, NULL
},
4359 { WS_NL80211_STA_INFO_RX_BITRATE
, &hf_nl80211_rate_info
, &ett_nl80211_rate_info
, NULL
},
4360 { WS_NL80211_STA_INFO_BSS_PARAM
, &hf_nl80211_sta_bss_param
, &ett_nl80211_sta_bss_param
, NULL
},
4361 { 0, NULL
, NULL
, NULL
}
4363 static const struct attr_lookup nested_arr
[] = {
4364 { WS_NL80211_STA_INFO_TID_STATS
, &hf_nl80211_tid_stats
, &ett_nl80211_tid_stats
, dissect_nl80211_tid_stats
},
4365 { 0, NULL
, NULL
, NULL
}
4368 enum ws_nl80211_sta_info type
= (enum ws_nl80211_sta_info
) nla_type
& NLA_TYPE_MASK
;
4369 int offset_end
= offset
+ len
;
4370 if (offset
< offset_end
) {
4371 offset
= dissect_nested_attr(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested
);
4373 if (offset
< offset_end
) {
4374 offset
= dissect_nested_attr_array(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested_arr
);
4376 if (offset
< offset_end
) {
4378 case WS_NL80211_STA_INFO_SIGNAL
:
4379 case WS_NL80211_STA_INFO_SIGNAL_AVG
:
4380 case WS_NL80211_STA_INFO_BEACON_SIGNAL_AVG
:
4381 case WS_NL80211_STA_INFO_ACK_SIGNAL
:
4382 case WS_NL80211_STA_INFO_ACK_SIGNAL_AVG
:
4383 proto_tree_add_item(tree
, hf_nl80211_dbm
, tvb
, offset
, len
, nl_data
->encoding
);
4387 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4396 dissect_nl80211_attrs(tvbuff_t
*tvb
, void *data
, struct packet_netlink_data
*nl_data
, proto_tree
*tree
, int nla_type
, int offset
, int len
)
4398 static const struct attr_lookup nested
[] = {
4399 { WS_NL80211_ATTR_SUPPORTED_IFTYPES
, &hf_nl80211_iftype
, &ett_nl80211_iftype
, NULL
},
4400 { WS_NL80211_ATTR_STA_FLAGS
, &hf_nl80211_sta_flags
, &ett_nl80211_sta_flags
, NULL
},
4401 { WS_NL80211_ATTR_STA_INFO
, &hf_nl80211_sta_info
, &ett_nl80211_sta_info
, dissect_nl80211_sta_info
},
4402 { WS_NL80211_ATTR_MPATH_INFO
, &hf_nl80211_mpath_info
, &ett_nl80211_mpath_info
, NULL
},
4403 { WS_NL80211_ATTR_MNTR_FLAGS
, &hf_nl80211_mntr_flags
, &ett_nl80211_mntr_flags
, NULL
},
4404 { WS_NL80211_ATTR_BSS
, &hf_nl80211_bss
, &ett_nl80211_bss
, dissect_nl80211_bss
},
4405 { WS_NL80211_ATTR_KEY
, &hf_nl80211_key_attributes
, &ett_nl80211_key_attributes
, NULL
},
4406 { WS_NL80211_ATTR_SURVEY_INFO
, &hf_nl80211_survey_info
, &ett_nl80211_survey_info
, NULL
},
4407 { WS_NL80211_ATTR_FREQ_BEFORE
, &hf_nl80211_frequency_attr
, &ett_nl80211_frequency_attr
, NULL
},
4408 { WS_NL80211_ATTR_FREQ_AFTER
, &hf_nl80211_frequency_attr
, &ett_nl80211_frequency_attr
, NULL
},
4409 { WS_NL80211_ATTR_TX_RATES
, &hf_nl80211_tx_rate_attributes
, &ett_nl80211_tx_rate_attributes
, NULL
},
4410 { WS_NL80211_ATTR_CQM
, &hf_nl80211_attr_cqm
, &ett_nl80211_attr_cqm
, NULL
},
4411 { WS_NL80211_ATTR_KEY_DEFAULT_TYPES
, &hf_nl80211_key_default_types
, &ett_nl80211_key_default_types
, NULL
},
4412 { WS_NL80211_ATTR_MESH_SETUP
, &hf_nl80211_mesh_setup_params
, &ett_nl80211_mesh_setup_params
, NULL
},
4413 { WS_NL80211_ATTR_MESH_CONFIG
, &hf_nl80211_meshconf_params
, &ett_nl80211_meshconf_params
, NULL
},
4414 { WS_NL80211_ATTR_SCHED_SCAN_MATCH
, &hf_nl80211_sched_scan_match_attr
, &ett_nl80211_sched_scan_match_attr
, NULL
},
4415 { WS_NL80211_ATTR_INTERFACE_COMBINATIONS
, &hf_nl80211_if_combination_attrs
, &ett_nl80211_if_combination_attrs
, NULL
},
4416 { WS_NL80211_ATTR_REKEY_DATA
, &hf_nl80211_rekey_data
, &ett_nl80211_rekey_data
, NULL
},
4417 { WS_NL80211_ATTR_STA_WME
, &hf_nl80211_sta_wme_attr
, &ett_nl80211_sta_wme_attr
, NULL
},
4418 { WS_NL80211_ATTR_PMKSA_CANDIDATE
, &hf_nl80211_pmksa_candidate_attr
, &ett_nl80211_pmksa_candidate_attr
, NULL
},
4419 { WS_NL80211_ATTR_SCHED_SCAN_PLANS
, &hf_nl80211_sched_scan_plan
, &ett_nl80211_sched_scan_plan
, NULL
},
4420 { WS_NL80211_ATTR_BSS_SELECT
, &hf_nl80211_bss_select_attr
, &ett_nl80211_bss_select_attr
, NULL
},
4421 { WS_NL80211_ATTR_IFTYPE_EXT_CAPA
, &hf_nl80211_attrs
, &ett_nl80211_attrs
, dissect_nl80211_attrs
},
4422 { WS_NL80211_ATTR_NAN_FUNC
, &hf_nl80211_nan_func_attributes
, &ett_nl80211_nan_func_attributes
, NULL
},
4423 { WS_NL80211_ATTR_NAN_MATCH
, &hf_nl80211_nan_match_attributes
, &ett_nl80211_nan_match_attributes
, NULL
},
4424 { WS_NL80211_ATTR_TXQ_STATS
, &hf_nl80211_txq_stats
, &ett_nl80211_txq_stats
, NULL
},
4425 { 0, NULL
, NULL
, NULL
}
4427 static const struct attr_lookup nested_arr
[] = {
4428 { WS_NL80211_ATTR_WIPHY_TXQ_PARAMS
, &hf_nl80211_txq_attr
, &ett_nl80211_txq_attr
, NULL
},
4429 { WS_NL80211_ATTR_WIPHY_BANDS
, &hf_nl80211_band_attr
, &ett_nl80211_band_attr
, dissect_nl80211_band_attr
},
4430 { WS_NL80211_ATTR_REG_RULES
, &hf_nl80211_reg_rule_attr
, &ett_nl80211_reg_rule_attr
, NULL
},
4431 { 0, NULL
, NULL
, NULL
}
4433 static const struct attr_lookup values
[] = {
4434 { WS_NL80211_ATTR_CHANNEL_WIDTH
, &hf_nl80211_chan_width
, NULL
, NULL
},
4435 { WS_NL80211_ATTR_WIPHY_NAME
, &hf_nl80211_wiphy_name
, NULL
, NULL
},
4436 { WS_NL80211_ATTR_WIPHY_CHANNEL_TYPE
, &hf_nl80211_channel_type
, NULL
, NULL
},
4437 { WS_NL80211_ATTR_IFNAME
, &hf_nl80211_ifname
, NULL
, NULL
},
4438 { WS_NL80211_ATTR_IFTYPE
, &hf_nl80211_iftype
, NULL
, NULL
},
4439 { WS_NL80211_ATTR_MAC
, &hf_nl80211_mac
, NULL
, NULL
},
4440 { WS_NL80211_ATTR_STA_PLINK_ACTION
, &hf_nl80211_plink_action
, NULL
, NULL
},
4441 { WS_NL80211_ATTR_MPATH_INFO
, &hf_nl80211_mpath_info
, NULL
, NULL
},
4442 { WS_NL80211_ATTR_REG_ALPHA2
, &hf_nl80211_alpha2
, NULL
, NULL
},
4443 { WS_NL80211_ATTR_REG_INITIATOR
, &hf_nl80211_reg_initiator
, NULL
, NULL
},
4444 { WS_NL80211_ATTR_REG_TYPE
, &hf_nl80211_reg_type
, NULL
, NULL
},
4445 { WS_NL80211_ATTR_AUTH_TYPE
, &hf_nl80211_auth_type
, NULL
, NULL
},
4446 { WS_NL80211_ATTR_KEY_TYPE
, &hf_nl80211_key_type
, NULL
, NULL
},
4447 { WS_NL80211_ATTR_USE_MFP
, &hf_nl80211_mfp
, NULL
, NULL
},
4448 { WS_NL80211_ATTR_PS_STATE
, &hf_nl80211_ps_state
, NULL
, NULL
},
4449 { WS_NL80211_ATTR_WIPHY_TX_POWER_SETTING
, &hf_nl80211_tx_power_setting
, NULL
, NULL
},
4450 { WS_NL80211_ATTR_STA_PLINK_STATE
, &hf_nl80211_plink_state
, NULL
, NULL
},
4451 { WS_NL80211_ATTR_TDLS_OPERATION
, &hf_nl80211_tdls_operation
, NULL
, NULL
},
4452 { WS_NL80211_ATTR_DFS_REGION
, &hf_nl80211_dfs_regions
, NULL
, NULL
},
4453 { WS_NL80211_ATTR_RX_SIGNAL_DBM
, &hf_nl80211_dbm
, NULL
, NULL
},
4454 { WS_NL80211_ATTR_USER_REG_HINT_TYPE
, &hf_nl80211_user_reg_hint_type
, NULL
, NULL
},
4455 { WS_NL80211_ATTR_CONN_FAILED_REASON
, &hf_nl80211_connect_failed_reason
, NULL
, NULL
},
4456 { WS_NL80211_ATTR_LOCAL_MESH_POWER_MODE
, &hf_nl80211_mesh_power_mode
, NULL
, NULL
},
4457 { WS_NL80211_ATTR_ACL_POLICY
, &hf_nl80211_acl_policy
, NULL
, NULL
},
4458 { WS_NL80211_ATTR_RADAR_EVENT
, &hf_nl80211_radar_event
, NULL
, NULL
},
4459 { WS_NL80211_ATTR_CRIT_PROT_ID
, &hf_nl80211_crit_proto_id
, NULL
, NULL
},
4460 { WS_NL80211_ATTR_SMPS_MODE
, &hf_nl80211_smps_mode
, NULL
, NULL
},
4461 { WS_NL80211_ATTR_STA_SUPPORT_P2P_PS
, &hf_nl80211_sta_p2p_ps_status
, NULL
, NULL
},
4462 { WS_NL80211_ATTR_TIMEOUT_REASON
, &hf_nl80211_timeout_reason
, NULL
, NULL
},
4463 { WS_NL80211_ATTR_EXTERNAL_AUTH_ACTION
, &hf_nl80211_external_auth_action
, NULL
, NULL
},
4464 { 0, NULL
, NULL
, NULL
}
4466 enum ws_nl80211_attrs type
= (enum ws_nl80211_attrs
) nla_type
& NLA_TYPE_MASK
;
4467 int offset_end
= offset
+ len
;
4468 if (offset
< offset_end
) {
4469 offset
= dissect_nested_attr(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested
);
4471 if (offset
< offset_end
) {
4472 offset
= dissect_nested_attr_array(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, nested_arr
);
4474 if (offset
< offset_end
) {
4475 offset
= dissect_value(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
, values
);
4477 if (offset
< offset_end
) {
4478 netlink_nl80211_info_t
*info
= (netlink_nl80211_info_t
*)data
;
4480 proto_tree
*subtree
;
4484 case WS_NL80211_ATTR_IE
:
4485 case WS_NL80211_ATTR_REQ_IE
:
4486 case WS_NL80211_ATTR_RESP_IE
:
4487 case WS_NL80211_ATTR_IE_PROBE_RESP
:
4488 case WS_NL80211_ATTR_IE_ASSOC_RESP
:
4489 case WS_NL80211_ATTR_CSA_IES
:
4490 offset
= dissect_information_elements(tvb
, info
->pinfo
, tree
, offset
, len
);
4492 case WS_NL80211_ATTR_HT_CAPABILITY
:
4493 offset
= dissect_tag(tvb
, info
->pinfo
, tree
, offset
, len
, 45 /* TAG_HT_CAPABILITY */);
4495 case WS_NL80211_ATTR_VHT_CAPABILITY
:
4496 offset
= dissect_tag(tvb
, info
->pinfo
, tree
, offset
, len
, 191 /* TAG_VHT_CAPABILITY */);
4498 case WS_NL80211_ATTR_FRAME
:
4499 next_tvb
= tvb_new_subset_length(tvb
, offset
, len
);
4500 subtree
= proto_tree_add_subtree(tree
, next_tvb
, 0, -1, ett_nl80211_frame
,
4501 &item
, "Attribute Value");
4502 call_dissector(ieee80211_handle
, next_tvb
, info
->pinfo
, subtree
);
4504 /* TODO add more fields here? */
4506 offset
= dissect_nl80211_generic(tvb
, data
, nl_data
, tree
, nla_type
, offset
, len
);
4514 dissect_netlink_nl80211(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
)
4516 netlink_nl80211_info_t info
;
4517 genl_info_t
*genl_info
= (genl_info_t
*)data
;
4518 proto_tree
*nlmsg_tree
;
4522 DISSECTOR_ASSERT(genl_info
);
4524 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "nl80211");
4525 col_clear(pinfo
->cinfo
, COL_INFO
);
4527 offset
= dissect_genl_header(tvb
, genl_info
, genl_info
->nl_data
, hf_nl80211_commands
);
4529 /* Return if command has no payload */
4530 if (!tvb_reported_length_remaining(tvb
, offset
))
4531 /* XXX If you do not set the protocol item, you cannot filter on these messages */
4536 pi
= proto_tree_add_item(tree
, proto_netlink_nl80211
, tvb
, offset
, -1, ENC_NA
);
4537 nlmsg_tree
= proto_item_add_subtree(pi
, ett_nl80211
);
4539 offset
= dissect_netlink_attributes_to_end(tvb
, hf_nl80211_attrs
, ett_nl80211_attrs
, &info
, genl_info
->nl_data
, nlmsg_tree
, offset
, dissect_nl80211_attrs
);
4545 proto_register_netlink_nl80211(void)
4547 static hf_register_info hf
[] = {
4548 { &hf_nl80211_attr_value
,
4549 { "Attribute Value", "nl80211.attr_value",
4550 FT_BYTES
, BASE_NONE
, NULL
, 0x00,
4553 { &hf_nl80211_attr_value16
,
4554 { "Attribute Value", "nl80211.attr_value16",
4555 FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x00,
4558 { &hf_nl80211_attr_value32
,
4559 { "Attribute Value", "nl80211.attr_value32",
4560 FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x00,
4563 { &hf_nl80211_attr_value64
,
4564 { "Attribute Value", "nl80211.attr_value64",
4565 FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x00,
4568 { &hf_nl80211_wiphy_name
,
4569 { "Wiphy Name", "nl80211.wiphy_name",
4570 FT_STRINGZ
, BASE_NONE
, NULL
, 0x00,
4573 { &hf_nl80211_ifname
,
4574 { "Interface Name", "nl80211.ifname",
4575 FT_STRINGZ
, BASE_NONE
, NULL
, 0x00,
4579 { "MAC address", "nl80211.mac",
4580 FT_ETHER
, BASE_NONE
, NULL
, 0x00,
4583 { &hf_nl80211_alpha2
,
4584 { "Alpha2", "nl80211.alpha2",
4585 FT_STRINGZ
, BASE_NONE
, NULL
, 0x00,
4589 { "dBm", "nl80211.dbm",
4590 FT_INT32
, BASE_DEC
, NULL
, 0x00,
4593 /* Extracted using tools/generate-nl80211-fields.py */
4594 /* Definitions from linux/nl80211.h {{{ */
4595 { &hf_nl80211_commands
,
4596 { "Command", "nl80211.cmd",
4597 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
4598 VALS_EXT_PTR(&ws_nl80211_commands_vals_ext
), 0x00,
4599 "Generic Netlink Command", HFILL
},
4601 { &hf_nl80211_attrs
,
4602 { "Attribute Type", "nl80211.attr_type",
4603 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4604 VALS_EXT_PTR(&ws_nl80211_attrs_vals_ext
), 0x00,
4607 { &hf_nl80211_iftype
,
4608 { "Attribute Type", "nl80211.iftype",
4609 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4610 VALS_EXT_PTR(&ws_nl80211_iftype_vals_ext
), 0x00,
4613 { &hf_nl80211_sta_flags
,
4614 { "Attribute Type", "nl80211.sta_flags",
4615 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4616 VALS_EXT_PTR(&ws_nl80211_sta_flags_vals_ext
), 0x00,
4619 { &hf_nl80211_sta_p2p_ps_status
,
4620 { "Attribute Value", "nl80211.sta_p2p_ps_status",
4621 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
4622 VALS_EXT_PTR(&ws_nl80211_sta_p2p_ps_status_vals_ext
), 0x00,
4625 { &hf_nl80211_he_gi
,
4626 { "Attribute Type", "nl80211.he_gi",
4627 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4628 VALS_EXT_PTR(&ws_nl80211_he_gi_vals_ext
), 0x00,
4631 { &hf_nl80211_he_ltf
,
4632 { "Attribute Type", "nl80211.he_ltf",
4633 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4634 VALS_EXT_PTR(&ws_nl80211_he_ltf_vals_ext
), 0x00,
4637 { &hf_nl80211_he_ru_alloc
,
4638 { "Attribute Type", "nl80211.he_ru_alloc",
4639 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4640 VALS_EXT_PTR(&ws_nl80211_he_ru_alloc_vals_ext
), 0x00,
4643 { &hf_nl80211_eht_gi
,
4644 { "Attribute Type", "nl80211.eht_gi",
4645 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4646 VALS_EXT_PTR(&ws_nl80211_eht_gi_vals_ext
), 0x00,
4649 { &hf_nl80211_eht_ru_alloc
,
4650 { "Attribute Type", "nl80211.eht_ru_alloc",
4651 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4652 VALS_EXT_PTR(&ws_nl80211_eht_ru_alloc_vals_ext
), 0x00,
4655 { &hf_nl80211_rate_info
,
4656 { "Attribute Type", "nl80211.rate_info",
4657 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4658 VALS_EXT_PTR(&ws_nl80211_rate_info_vals_ext
), 0x00,
4661 { &hf_nl80211_sta_bss_param
,
4662 { "Attribute Type", "nl80211.sta_bss_param",
4663 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4664 VALS_EXT_PTR(&ws_nl80211_sta_bss_param_vals_ext
), 0x00,
4667 { &hf_nl80211_sta_info
,
4668 { "Attribute Type", "nl80211.sta_info",
4669 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4670 VALS_EXT_PTR(&ws_nl80211_sta_info_vals_ext
), 0x00,
4673 { &hf_nl80211_tid_stats
,
4674 { "Attribute Type", "nl80211.tid_stats",
4675 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4676 VALS_EXT_PTR(&ws_nl80211_tid_stats_vals_ext
), 0x00,
4679 { &hf_nl80211_txq_stats
,
4680 { "Attribute Type", "nl80211.txq_stats",
4681 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4682 VALS_EXT_PTR(&ws_nl80211_txq_stats_vals_ext
), 0x00,
4685 { &hf_nl80211_mpath_flags
,
4686 { "Attribute Type", "nl80211.mpath_flags",
4687 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4688 VALS_EXT_PTR(&ws_nl80211_mpath_flags_vals_ext
), 0x00,
4691 { &hf_nl80211_mpath_info
,
4692 { "Attribute Type", "nl80211.mpath_info",
4693 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4694 VALS_EXT_PTR(&ws_nl80211_mpath_info_vals_ext
), 0x00,
4697 { &hf_nl80211_band_iftype_attr
,
4698 { "Attribute Type", "nl80211.band_iftype_attr",
4699 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4700 VALS_EXT_PTR(&ws_nl80211_band_iftype_attr_vals_ext
), 0x00,
4703 { &hf_nl80211_band_attr
,
4704 { "Attribute Type", "nl80211.band_attr",
4705 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4706 VALS_EXT_PTR(&ws_nl80211_band_attr_vals_ext
), 0x00,
4709 { &hf_nl80211_wmm_rule
,
4710 { "Attribute Type", "nl80211.wmm_rule",
4711 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4712 VALS_EXT_PTR(&ws_nl80211_wmm_rule_vals_ext
), 0x00,
4715 { &hf_nl80211_frequency_attr
,
4716 { "Attribute Type", "nl80211.frequency_attr",
4717 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4718 VALS_EXT_PTR(&ws_nl80211_frequency_attr_vals_ext
), 0x00,
4721 { &hf_nl80211_bitrate_attr
,
4722 { "Attribute Type", "nl80211.bitrate_attr",
4723 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4724 VALS_EXT_PTR(&ws_nl80211_bitrate_attr_vals_ext
), 0x00,
4727 { &hf_nl80211_reg_initiator
,
4728 { "Attribute Value", "nl80211.reg_initiator",
4729 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
4730 VALS_EXT_PTR(&ws_nl80211_reg_initiator_vals_ext
), 0x00,
4733 { &hf_nl80211_reg_type
,
4734 { "Attribute Value", "nl80211.reg_type",
4735 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
4736 VALS_EXT_PTR(&ws_nl80211_reg_type_vals_ext
), 0x00,
4739 { &hf_nl80211_reg_rule_attr
,
4740 { "Attribute Type", "nl80211.reg_rule_attr",
4741 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4742 VALS_EXT_PTR(&ws_nl80211_reg_rule_attr_vals_ext
), 0x00,
4745 { &hf_nl80211_sched_scan_match_attr
,
4746 { "Attribute Type", "nl80211.sched_scan_match_attr",
4747 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4748 VALS_EXT_PTR(&ws_nl80211_sched_scan_match_attr_vals_ext
), 0x00,
4751 { &hf_nl80211_reg_rule_flags
,
4752 { "Attribute Type", "nl80211.reg_rule_flags",
4753 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4754 VALS_EXT_PTR(&ws_nl80211_reg_rule_flags_vals_ext
), 0x00,
4757 { &hf_nl80211_dfs_regions
,
4758 { "Attribute Value", "nl80211.dfs_regions",
4759 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
4760 VALS_EXT_PTR(&ws_nl80211_dfs_regions_vals_ext
), 0x00,
4763 { &hf_nl80211_user_reg_hint_type
,
4764 { "Attribute Value", "nl80211.user_reg_hint_type",
4765 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4766 VALS_EXT_PTR(&ws_nl80211_user_reg_hint_type_vals_ext
), 0x00,
4769 { &hf_nl80211_survey_info
,
4770 { "Attribute Type", "nl80211.survey_info",
4771 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4772 VALS_EXT_PTR(&ws_nl80211_survey_info_vals_ext
), 0x00,
4775 { &hf_nl80211_mntr_flags
,
4776 { "Attribute Type", "nl80211.mntr_flags",
4777 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4778 VALS_EXT_PTR(&ws_nl80211_mntr_flags_vals_ext
), 0x00,
4781 { &hf_nl80211_mesh_power_mode
,
4782 { "Attribute Value", "nl80211.mesh_power_mode",
4783 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4784 VALS_EXT_PTR(&ws_nl80211_mesh_power_mode_vals_ext
), 0x00,
4787 { &hf_nl80211_meshconf_params
,
4788 { "Attribute Type", "nl80211.meshconf_params",
4789 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4790 VALS_EXT_PTR(&ws_nl80211_meshconf_params_vals_ext
), 0x00,
4793 { &hf_nl80211_mesh_setup_params
,
4794 { "Attribute Type", "nl80211.mesh_setup_params",
4795 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4796 VALS_EXT_PTR(&ws_nl80211_mesh_setup_params_vals_ext
), 0x00,
4799 { &hf_nl80211_txq_attr
,
4800 { "Attribute Type", "nl80211.txq_attr",
4801 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4802 VALS_EXT_PTR(&ws_nl80211_txq_attr_vals_ext
), 0x00,
4806 { "Attribute Type", "nl80211.ac",
4807 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4808 VALS_EXT_PTR(&ws_nl80211_ac_vals_ext
), 0x00,
4811 { &hf_nl80211_channel_type
,
4812 { "Attribute Value", "nl80211.channel_type",
4813 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4814 VALS_EXT_PTR(&ws_nl80211_channel_type_vals_ext
), 0x00,
4817 { &hf_nl80211_key_mode
,
4818 { "Attribute Type", "nl80211.key_mode",
4819 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4820 VALS_EXT_PTR(&ws_nl80211_key_mode_vals_ext
), 0x00,
4823 { &hf_nl80211_chan_width
,
4824 { "Attribute Value", "nl80211.chan_width",
4825 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4826 VALS_EXT_PTR(&ws_nl80211_chan_width_vals_ext
), 0x00,
4829 { &hf_nl80211_bss_scan_width
,
4830 { "Attribute Value", "nl80211.bss_scan_width",
4831 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4832 VALS_EXT_PTR(&ws_nl80211_bss_scan_width_vals_ext
), 0x00,
4835 { &hf_nl80211_bss_use_for
,
4836 { "Attribute Type", "nl80211.bss_use_for",
4837 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4838 VALS_EXT_PTR(&ws_nl80211_bss_use_for_vals_ext
), 0x00,
4841 { &hf_nl80211_bss_cannot_use_reasons
,
4842 { "Attribute Type", "nl80211.bss_cannot_use_reasons",
4843 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4844 VALS_EXT_PTR(&ws_nl80211_bss_cannot_use_reasons_vals_ext
), 0x00,
4848 { "Attribute Type", "nl80211.bss",
4849 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4850 VALS_EXT_PTR(&ws_nl80211_bss_vals_ext
), 0x00,
4853 { &hf_nl80211_bss_status
,
4854 { "Attribute Value", "nl80211.bss_status",
4855 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4856 VALS_EXT_PTR(&ws_nl80211_bss_status_vals_ext
), 0x00,
4859 { &hf_nl80211_auth_type
,
4860 { "Attribute Value", "nl80211.auth_type",
4861 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4862 VALS_EXT_PTR(&ws_nl80211_auth_type_vals_ext
), 0x00,
4865 { &hf_nl80211_key_type
,
4866 { "Attribute Value", "nl80211.key_type",
4867 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4868 VALS_EXT_PTR(&ws_nl80211_key_type_vals_ext
), 0x00,
4872 { "Attribute Value", "nl80211.mfp",
4873 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4874 VALS_EXT_PTR(&ws_nl80211_mfp_vals_ext
), 0x00,
4877 { &hf_nl80211_wpa_versions
,
4878 { "Attribute Type", "nl80211.wpa_versions",
4879 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4880 VALS_EXT_PTR(&ws_nl80211_wpa_versions_vals_ext
), 0x00,
4883 { &hf_nl80211_key_default_types
,
4884 { "Attribute Type", "nl80211.key_default_types",
4885 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4886 VALS_EXT_PTR(&ws_nl80211_key_default_types_vals_ext
), 0x00,
4889 { &hf_nl80211_key_attributes
,
4890 { "Attribute Type", "nl80211.key_attributes",
4891 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4892 VALS_EXT_PTR(&ws_nl80211_key_attributes_vals_ext
), 0x00,
4895 { &hf_nl80211_tx_rate_attributes
,
4896 { "Attribute Type", "nl80211.tx_rate_attributes",
4897 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4898 VALS_EXT_PTR(&ws_nl80211_tx_rate_attributes_vals_ext
), 0x00,
4901 { &hf_nl80211_txrate_gi
,
4902 { "Attribute Type", "nl80211.txrate_gi",
4903 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4904 VALS_EXT_PTR(&ws_nl80211_txrate_gi_vals_ext
), 0x00,
4908 { "Attribute Type", "nl80211.band",
4909 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4910 VALS_EXT_PTR(&ws_nl80211_band_vals_ext
), 0x00,
4913 { &hf_nl80211_ps_state
,
4914 { "Attribute Value", "nl80211.ps_state",
4915 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4916 VALS_EXT_PTR(&ws_nl80211_ps_state_vals_ext
), 0x00,
4919 { &hf_nl80211_attr_cqm
,
4920 { "Attribute Type", "nl80211.attr_cqm",
4921 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4922 VALS_EXT_PTR(&ws_nl80211_attr_cqm_vals_ext
), 0x00,
4925 { &hf_nl80211_cqm_rssi_threshold_event
,
4926 { "Attribute Type", "nl80211.cqm_rssi_threshold_event",
4927 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4928 VALS_EXT_PTR(&ws_nl80211_cqm_rssi_threshold_event_vals_ext
), 0x00,
4931 { &hf_nl80211_tx_power_setting
,
4932 { "Attribute Value", "nl80211.tx_power_setting",
4933 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
4934 VALS_EXT_PTR(&ws_nl80211_tx_power_setting_vals_ext
), 0x00,
4937 { &hf_nl80211_tid_config
,
4938 { "Attribute Type", "nl80211.tid_config",
4939 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4940 VALS_EXT_PTR(&ws_nl80211_tid_config_vals_ext
), 0x00,
4943 { &hf_nl80211_tx_rate_setting
,
4944 { "Attribute Type", "nl80211.tx_rate_setting",
4945 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4946 VALS_EXT_PTR(&ws_nl80211_tx_rate_setting_vals_ext
), 0x00,
4949 { &hf_nl80211_tid_config_attr
,
4950 { "Attribute Type", "nl80211.tid_config_attr",
4951 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4952 VALS_EXT_PTR(&ws_nl80211_tid_config_attr_vals_ext
), 0x00,
4955 { &hf_nl80211_packet_pattern_attr
,
4956 { "Attribute Type", "nl80211.packet_pattern_attr",
4957 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4958 VALS_EXT_PTR(&ws_nl80211_packet_pattern_attr_vals_ext
), 0x00,
4961 { &hf_nl80211_wowlan_triggers
,
4962 { "Attribute Type", "nl80211.wowlan_triggers",
4963 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4964 VALS_EXT_PTR(&ws_nl80211_wowlan_triggers_vals_ext
), 0x00,
4967 { &hf_nl80211_wowlan_tcp_attrs
,
4968 { "Attribute Type", "nl80211.wowlan_tcp_attrs",
4969 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4970 VALS_EXT_PTR(&ws_nl80211_wowlan_tcp_attrs_vals_ext
), 0x00,
4973 { &hf_nl80211_attr_coalesce_rule
,
4974 { "Attribute Type", "nl80211.attr_coalesce_rule",
4975 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4976 VALS_EXT_PTR(&ws_nl80211_attr_coalesce_rule_vals_ext
), 0x00,
4979 { &hf_nl80211_coalesce_condition
,
4980 { "Attribute Type", "nl80211.coalesce_condition",
4981 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4982 VALS_EXT_PTR(&ws_nl80211_coalesce_condition_vals_ext
), 0x00,
4985 { &hf_nl80211_iface_limit_attrs
,
4986 { "Attribute Type", "nl80211.iface_limit_attrs",
4987 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4988 VALS_EXT_PTR(&ws_nl80211_iface_limit_attrs_vals_ext
), 0x00,
4991 { &hf_nl80211_if_combination_attrs
,
4992 { "Attribute Type", "nl80211.if_combination_attrs",
4993 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
4994 VALS_EXT_PTR(&ws_nl80211_if_combination_attrs_vals_ext
), 0x00,
4997 { &hf_nl80211_plink_state
,
4998 { "Attribute Value", "nl80211.plink_state",
4999 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
5000 VALS_EXT_PTR(&ws_nl80211_plink_state_vals_ext
), 0x00,
5003 { &hf_nl80211_plink_action
,
5004 { "Attribute Value", "nl80211.plink_action",
5005 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
5006 VALS_EXT_PTR(&ws_nl80211_plink_action_vals_ext
), 0x00,
5009 { &hf_nl80211_rekey_data
,
5010 { "Attribute Type", "nl80211.rekey_data",
5011 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5012 VALS_EXT_PTR(&ws_nl80211_rekey_data_vals_ext
), 0x00,
5015 { &hf_nl80211_hidden_ssid
,
5016 { "Attribute Type", "nl80211.hidden_ssid",
5017 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5018 VALS_EXT_PTR(&ws_nl80211_hidden_ssid_vals_ext
), 0x00,
5021 { &hf_nl80211_sta_wme_attr
,
5022 { "Attribute Type", "nl80211.sta_wme_attr",
5023 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5024 VALS_EXT_PTR(&ws_nl80211_sta_wme_attr_vals_ext
), 0x00,
5027 { &hf_nl80211_pmksa_candidate_attr
,
5028 { "Attribute Type", "nl80211.pmksa_candidate_attr",
5029 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5030 VALS_EXT_PTR(&ws_nl80211_pmksa_candidate_attr_vals_ext
), 0x00,
5033 { &hf_nl80211_tdls_operation
,
5034 { "Attribute Value", "nl80211.tdls_operation",
5035 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
5036 VALS_EXT_PTR(&ws_nl80211_tdls_operation_vals_ext
), 0x00,
5039 { &hf_nl80211_ap_sme_features
,
5040 { "Attribute Type", "nl80211.ap_sme_features",
5041 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5042 VALS_EXT_PTR(&ws_nl80211_ap_sme_features_vals_ext
), 0x00,
5045 { &hf_nl80211_feature_flags
,
5046 { "Attribute Type", "nl80211.feature_flags",
5047 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5048 VALS_EXT_PTR(&ws_nl80211_feature_flags_vals_ext
), 0x00,
5051 { &hf_nl80211_ext_feature_index
,
5052 { "Attribute Type", "nl80211.ext_feature_index",
5053 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5054 VALS_EXT_PTR(&ws_nl80211_ext_feature_index_vals_ext
), 0x00,
5057 { &hf_nl80211_probe_resp_offload_support_attr
,
5058 { "Attribute Type", "nl80211.probe_resp_offload_support_attr",
5059 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5060 VALS_EXT_PTR(&ws_nl80211_probe_resp_offload_support_attr_vals_ext
), 0x00,
5063 { &hf_nl80211_connect_failed_reason
,
5064 { "Attribute Value", "nl80211.connect_failed_reason",
5065 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
5066 VALS_EXT_PTR(&ws_nl80211_connect_failed_reason_vals_ext
), 0x00,
5069 { &hf_nl80211_timeout_reason
,
5070 { "Attribute Value", "nl80211.timeout_reason",
5071 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
5072 VALS_EXT_PTR(&ws_nl80211_timeout_reason_vals_ext
), 0x00,
5075 { &hf_nl80211_scan_flags
,
5076 { "Attribute Type", "nl80211.scan_flags",
5077 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5078 VALS_EXT_PTR(&ws_nl80211_scan_flags_vals_ext
), 0x00,
5081 { &hf_nl80211_acl_policy
,
5082 { "Attribute Value", "nl80211.acl_policy",
5083 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
5084 VALS_EXT_PTR(&ws_nl80211_acl_policy_vals_ext
), 0x00,
5087 { &hf_nl80211_smps_mode
,
5088 { "Attribute Value", "nl80211.smps_mode",
5089 FT_UINT8
, BASE_DEC
| BASE_EXT_STRING
,
5090 VALS_EXT_PTR(&ws_nl80211_smps_mode_vals_ext
), 0x00,
5093 { &hf_nl80211_radar_event
,
5094 { "Attribute Value", "nl80211.radar_event",
5095 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
5096 VALS_EXT_PTR(&ws_nl80211_radar_event_vals_ext
), 0x00,
5099 { &hf_nl80211_dfs_state
,
5100 { "Attribute Type", "nl80211.dfs_state",
5101 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5102 VALS_EXT_PTR(&ws_nl80211_dfs_state_vals_ext
), 0x00,
5105 { &hf_nl80211_protocol_features
,
5106 { "Attribute Type", "nl80211.protocol_features",
5107 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5108 VALS_EXT_PTR(&ws_nl80211_protocol_features_vals_ext
), 0x00,
5111 { &hf_nl80211_crit_proto_id
,
5112 { "Attribute Value", "nl80211.crit_proto_id",
5113 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5114 VALS_EXT_PTR(&ws_nl80211_crit_proto_id_vals_ext
), 0x00,
5117 { &hf_nl80211_rxmgmt_flags
,
5118 { "Attribute Type", "nl80211.rxmgmt_flags",
5119 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5120 VALS_EXT_PTR(&ws_nl80211_rxmgmt_flags_vals_ext
), 0x00,
5123 { &hf_nl80211_tdls_peer_capability
,
5124 { "Attribute Type", "nl80211.tdls_peer_capability",
5125 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5126 VALS_EXT_PTR(&ws_nl80211_tdls_peer_capability_vals_ext
), 0x00,
5129 { &hf_nl80211_sched_scan_plan
,
5130 { "Attribute Type", "nl80211.sched_scan_plan",
5131 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5132 VALS_EXT_PTR(&ws_nl80211_sched_scan_plan_vals_ext
), 0x00,
5135 { &hf_nl80211_bss_select_attr
,
5136 { "Attribute Type", "nl80211.bss_select_attr",
5137 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5138 VALS_EXT_PTR(&ws_nl80211_bss_select_attr_vals_ext
), 0x00,
5141 { &hf_nl80211_nan_function_type
,
5142 { "Attribute Type", "nl80211.nan_function_type",
5143 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5144 VALS_EXT_PTR(&ws_nl80211_nan_function_type_vals_ext
), 0x00,
5147 { &hf_nl80211_nan_publish_type
,
5148 { "Attribute Type", "nl80211.nan_publish_type",
5149 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5150 VALS_EXT_PTR(&ws_nl80211_nan_publish_type_vals_ext
), 0x00,
5153 { &hf_nl80211_nan_func_term_reason
,
5154 { "Attribute Type", "nl80211.nan_func_term_reason",
5155 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5156 VALS_EXT_PTR(&ws_nl80211_nan_func_term_reason_vals_ext
), 0x00,
5159 { &hf_nl80211_nan_func_attributes
,
5160 { "Attribute Type", "nl80211.nan_func_attributes",
5161 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5162 VALS_EXT_PTR(&ws_nl80211_nan_func_attributes_vals_ext
), 0x00,
5165 { &hf_nl80211_nan_srf_attributes
,
5166 { "Attribute Type", "nl80211.nan_srf_attributes",
5167 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5168 VALS_EXT_PTR(&ws_nl80211_nan_srf_attributes_vals_ext
), 0x00,
5171 { &hf_nl80211_nan_match_attributes
,
5172 { "Attribute Type", "nl80211.nan_match_attributes",
5173 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5174 VALS_EXT_PTR(&ws_nl80211_nan_match_attributes_vals_ext
), 0x00,
5177 { &hf_nl80211_external_auth_action
,
5178 { "Attribute Value", "nl80211.external_auth_action",
5179 FT_UINT32
, BASE_DEC
| BASE_EXT_STRING
,
5180 VALS_EXT_PTR(&ws_nl80211_external_auth_action_vals_ext
), 0x00,
5183 { &hf_nl80211_ftm_responder_attributes
,
5184 { "Attribute Type", "nl80211.ftm_responder_attributes",
5185 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5186 VALS_EXT_PTR(&ws_nl80211_ftm_responder_attributes_vals_ext
), 0x00,
5189 { &hf_nl80211_ftm_responder_stats
,
5190 { "Attribute Type", "nl80211.ftm_responder_stats",
5191 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5192 VALS_EXT_PTR(&ws_nl80211_ftm_responder_stats_vals_ext
), 0x00,
5195 { &hf_nl80211_preamble
,
5196 { "Attribute Type", "nl80211.preamble",
5197 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5198 VALS_EXT_PTR(&ws_nl80211_preamble_vals_ext
), 0x00,
5201 { &hf_nl80211_peer_measurement_type
,
5202 { "Attribute Type", "nl80211.peer_measurement_type",
5203 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5204 VALS_EXT_PTR(&ws_nl80211_peer_measurement_type_vals_ext
), 0x00,
5207 { &hf_nl80211_peer_measurement_status
,
5208 { "Attribute Type", "nl80211.peer_measurement_status",
5209 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5210 VALS_EXT_PTR(&ws_nl80211_peer_measurement_status_vals_ext
), 0x00,
5213 { &hf_nl80211_peer_measurement_req
,
5214 { "Attribute Type", "nl80211.peer_measurement_req",
5215 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5216 VALS_EXT_PTR(&ws_nl80211_peer_measurement_req_vals_ext
), 0x00,
5219 { &hf_nl80211_peer_measurement_resp
,
5220 { "Attribute Type", "nl80211.peer_measurement_resp",
5221 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5222 VALS_EXT_PTR(&ws_nl80211_peer_measurement_resp_vals_ext
), 0x00,
5225 { &hf_nl80211_peer_measurement_peer_attrs
,
5226 { "Attribute Type", "nl80211.peer_measurement_peer_attrs",
5227 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5228 VALS_EXT_PTR(&ws_nl80211_peer_measurement_peer_attrs_vals_ext
), 0x00,
5231 { &hf_nl80211_peer_measurement_attrs
,
5232 { "Attribute Type", "nl80211.peer_measurement_attrs",
5233 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5234 VALS_EXT_PTR(&ws_nl80211_peer_measurement_attrs_vals_ext
), 0x00,
5237 { &hf_nl80211_peer_measurement_ftm_capa
,
5238 { "Attribute Type", "nl80211.peer_measurement_ftm_capa",
5239 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5240 VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_capa_vals_ext
), 0x00,
5243 { &hf_nl80211_peer_measurement_ftm_req
,
5244 { "Attribute Type", "nl80211.peer_measurement_ftm_req",
5245 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5246 VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_req_vals_ext
), 0x00,
5249 { &hf_nl80211_peer_measurement_ftm_failure_reasons
,
5250 { "Attribute Type", "nl80211.peer_measurement_ftm_failure_reasons",
5251 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5252 VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_failure_reasons_vals_ext
), 0x00,
5255 { &hf_nl80211_peer_measurement_ftm_resp
,
5256 { "Attribute Type", "nl80211.peer_measurement_ftm_resp",
5257 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5258 VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_resp_vals_ext
), 0x00,
5261 { &hf_nl80211_obss_pd_attributes
,
5262 { "Attribute Type", "nl80211.obss_pd_attributes",
5263 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5264 VALS_EXT_PTR(&ws_nl80211_obss_pd_attributes_vals_ext
), 0x00,
5267 { &hf_nl80211_bss_color_attributes
,
5268 { "Attribute Type", "nl80211.bss_color_attributes",
5269 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5270 VALS_EXT_PTR(&ws_nl80211_bss_color_attributes_vals_ext
), 0x00,
5273 { &hf_nl80211_iftype_akm_attributes
,
5274 { "Attribute Type", "nl80211.iftype_akm_attributes",
5275 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5276 VALS_EXT_PTR(&ws_nl80211_iftype_akm_attributes_vals_ext
), 0x00,
5279 { &hf_nl80211_fils_discovery_attributes
,
5280 { "Attribute Type", "nl80211.fils_discovery_attributes",
5281 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5282 VALS_EXT_PTR(&ws_nl80211_fils_discovery_attributes_vals_ext
), 0x00,
5285 { &hf_nl80211_unsol_bcast_probe_resp_attributes
,
5286 { "Attribute Type", "nl80211.unsol_bcast_probe_resp_attributes",
5287 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5288 VALS_EXT_PTR(&ws_nl80211_unsol_bcast_probe_resp_attributes_vals_ext
), 0x00,
5291 { &hf_nl80211_sae_pwe_mechanism
,
5292 { "Attribute Type", "nl80211.sae_pwe_mechanism",
5293 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5294 VALS_EXT_PTR(&ws_nl80211_sae_pwe_mechanism_vals_ext
), 0x00,
5297 { &hf_nl80211_sar_type
,
5298 { "Attribute Type", "nl80211.sar_type",
5299 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5300 VALS_EXT_PTR(&ws_nl80211_sar_type_vals_ext
), 0x00,
5303 { &hf_nl80211_sar_attrs
,
5304 { "Attribute Type", "nl80211.sar_attrs",
5305 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5306 VALS_EXT_PTR(&ws_nl80211_sar_attrs_vals_ext
), 0x00,
5309 { &hf_nl80211_sar_specs_attrs
,
5310 { "Attribute Type", "nl80211.sar_specs_attrs",
5311 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5312 VALS_EXT_PTR(&ws_nl80211_sar_specs_attrs_vals_ext
), 0x00,
5315 { &hf_nl80211_mbssid_config_attributes
,
5316 { "Attribute Type", "nl80211.mbssid_config_attributes",
5317 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5318 VALS_EXT_PTR(&ws_nl80211_mbssid_config_attributes_vals_ext
), 0x00,
5321 { &hf_nl80211_ap_settings_flags
,
5322 { "Attribute Type", "nl80211.ap_settings_flags",
5323 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5324 VALS_EXT_PTR(&ws_nl80211_ap_settings_flags_vals_ext
), 0x00,
5327 { &hf_nl80211_wiphy_radio_attrs
,
5328 { "Attribute Type", "nl80211.wiphy_radio_attrs",
5329 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5330 VALS_EXT_PTR(&ws_nl80211_wiphy_radio_attrs_vals_ext
), 0x00,
5333 { &hf_nl80211_wiphy_radio_freq_range
,
5334 { "Attribute Type", "nl80211.wiphy_radio_freq_range",
5335 FT_UINT16
, BASE_DEC
| BASE_EXT_STRING
,
5336 VALS_EXT_PTR(&ws_nl80211_wiphy_radio_freq_range_vals_ext
), 0x00,
5342 static int *ett
[] = {
5346 /* Extracted using tools/generate-nl80211-fields.py */
5347 /* Definitions from linux/nl80211.h {{{ */
5348 &ett_nl80211_commands
,
5350 &ett_nl80211_iftype
,
5351 &ett_nl80211_sta_flags
,
5352 &ett_nl80211_sta_p2p_ps_status
,
5354 &ett_nl80211_he_ltf
,
5355 &ett_nl80211_he_ru_alloc
,
5356 &ett_nl80211_eht_gi
,
5357 &ett_nl80211_eht_ru_alloc
,
5358 &ett_nl80211_rate_info
,
5359 &ett_nl80211_sta_bss_param
,
5360 &ett_nl80211_sta_info
,
5361 &ett_nl80211_tid_stats
,
5362 &ett_nl80211_txq_stats
,
5363 &ett_nl80211_mpath_flags
,
5364 &ett_nl80211_mpath_info
,
5365 &ett_nl80211_band_iftype_attr
,
5366 &ett_nl80211_band_attr
,
5367 &ett_nl80211_wmm_rule
,
5368 &ett_nl80211_frequency_attr
,
5369 &ett_nl80211_bitrate_attr
,
5370 &ett_nl80211_reg_initiator
,
5371 &ett_nl80211_reg_type
,
5372 &ett_nl80211_reg_rule_attr
,
5373 &ett_nl80211_sched_scan_match_attr
,
5374 &ett_nl80211_reg_rule_flags
,
5375 &ett_nl80211_dfs_regions
,
5376 &ett_nl80211_user_reg_hint_type
,
5377 &ett_nl80211_survey_info
,
5378 &ett_nl80211_mntr_flags
,
5379 &ett_nl80211_mesh_power_mode
,
5380 &ett_nl80211_meshconf_params
,
5381 &ett_nl80211_mesh_setup_params
,
5382 &ett_nl80211_txq_attr
,
5384 &ett_nl80211_channel_type
,
5385 &ett_nl80211_key_mode
,
5386 &ett_nl80211_chan_width
,
5387 &ett_nl80211_bss_scan_width
,
5388 &ett_nl80211_bss_use_for
,
5389 &ett_nl80211_bss_cannot_use_reasons
,
5391 &ett_nl80211_bss_status
,
5392 &ett_nl80211_auth_type
,
5393 &ett_nl80211_key_type
,
5395 &ett_nl80211_wpa_versions
,
5396 &ett_nl80211_key_default_types
,
5397 &ett_nl80211_key_attributes
,
5398 &ett_nl80211_tx_rate_attributes
,
5399 &ett_nl80211_txrate_gi
,
5401 &ett_nl80211_ps_state
,
5402 &ett_nl80211_attr_cqm
,
5403 &ett_nl80211_cqm_rssi_threshold_event
,
5404 &ett_nl80211_tx_power_setting
,
5405 &ett_nl80211_tid_config
,
5406 &ett_nl80211_tx_rate_setting
,
5407 &ett_nl80211_tid_config_attr
,
5408 &ett_nl80211_packet_pattern_attr
,
5409 &ett_nl80211_wowlan_triggers
,
5410 &ett_nl80211_wowlan_tcp_attrs
,
5411 &ett_nl80211_attr_coalesce_rule
,
5412 &ett_nl80211_coalesce_condition
,
5413 &ett_nl80211_iface_limit_attrs
,
5414 &ett_nl80211_if_combination_attrs
,
5415 &ett_nl80211_plink_state
,
5416 &ett_nl80211_plink_action
,
5417 &ett_nl80211_rekey_data
,
5418 &ett_nl80211_hidden_ssid
,
5419 &ett_nl80211_sta_wme_attr
,
5420 &ett_nl80211_pmksa_candidate_attr
,
5421 &ett_nl80211_tdls_operation
,
5422 &ett_nl80211_ap_sme_features
,
5423 &ett_nl80211_feature_flags
,
5424 &ett_nl80211_ext_feature_index
,
5425 &ett_nl80211_probe_resp_offload_support_attr
,
5426 &ett_nl80211_connect_failed_reason
,
5427 &ett_nl80211_timeout_reason
,
5428 &ett_nl80211_scan_flags
,
5429 &ett_nl80211_acl_policy
,
5430 &ett_nl80211_smps_mode
,
5431 &ett_nl80211_radar_event
,
5432 &ett_nl80211_dfs_state
,
5433 &ett_nl80211_protocol_features
,
5434 &ett_nl80211_crit_proto_id
,
5435 &ett_nl80211_rxmgmt_flags
,
5436 &ett_nl80211_tdls_peer_capability
,
5437 &ett_nl80211_sched_scan_plan
,
5438 &ett_nl80211_bss_select_attr
,
5439 &ett_nl80211_nan_function_type
,
5440 &ett_nl80211_nan_publish_type
,
5441 &ett_nl80211_nan_func_term_reason
,
5442 &ett_nl80211_nan_func_attributes
,
5443 &ett_nl80211_nan_srf_attributes
,
5444 &ett_nl80211_nan_match_attributes
,
5445 &ett_nl80211_external_auth_action
,
5446 &ett_nl80211_ftm_responder_attributes
,
5447 &ett_nl80211_ftm_responder_stats
,
5448 &ett_nl80211_preamble
,
5449 &ett_nl80211_peer_measurement_type
,
5450 &ett_nl80211_peer_measurement_status
,
5451 &ett_nl80211_peer_measurement_req
,
5452 &ett_nl80211_peer_measurement_resp
,
5453 &ett_nl80211_peer_measurement_peer_attrs
,
5454 &ett_nl80211_peer_measurement_attrs
,
5455 &ett_nl80211_peer_measurement_ftm_capa
,
5456 &ett_nl80211_peer_measurement_ftm_req
,
5457 &ett_nl80211_peer_measurement_ftm_failure_reasons
,
5458 &ett_nl80211_peer_measurement_ftm_resp
,
5459 &ett_nl80211_obss_pd_attributes
,
5460 &ett_nl80211_bss_color_attributes
,
5461 &ett_nl80211_iftype_akm_attributes
,
5462 &ett_nl80211_fils_discovery_attributes
,
5463 &ett_nl80211_unsol_bcast_probe_resp_attributes
,
5464 &ett_nl80211_sae_pwe_mechanism
,
5465 &ett_nl80211_sar_type
,
5466 &ett_nl80211_sar_attrs
,
5467 &ett_nl80211_sar_specs_attrs
,
5468 &ett_nl80211_mbssid_config_attributes
,
5469 &ett_nl80211_ap_settings_flags
,
5470 &ett_nl80211_wiphy_radio_attrs
,
5471 &ett_nl80211_wiphy_radio_freq_range
,
5475 proto_netlink_nl80211
= proto_register_protocol("Linux 802.11 Netlink", "nl80211", "nl80211");
5476 proto_register_field_array(proto_netlink_nl80211
, hf
, array_length(hf
));
5477 proto_register_subtree_array(ett
, array_length(ett
));
5479 netlink_nl80211_handle
= register_dissector("nl80211", dissect_netlink_nl80211
, proto_netlink_nl80211
);
5480 ieee80211_handle
= find_dissector_add_dependency("wlan", proto_netlink_nl80211
);
5481 ieee80211_tag_dissector_table
= find_dissector_table("wlan.tag.number");
5485 proto_reg_handoff_netlink_nl80211(void)
5487 dissector_add_string("genl.family", "nl80211", netlink_nl80211_handle
);
5491 * Editor modelines - https://www.wireshark.org/tools/modelines.html
5496 * indent-tabs-mode: nil
5499 * vi: set shiftwidth=4 tabstop=8 expandtab:
5500 * :indentSize=4:tabSize=8:noTabs=true: