nl-linux 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3391 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #--
3
+ # frozen_string_literal: true
4
+ # rbs_inline: enabled
5
+ # This code is generated by Ynl::Generator. DO NOT EDIT.
6
+ require 'nl'
7
+ # Netlink API for 802.11 wireless devices
8
+ class Nl::Linux::Nl80211 < ::Nl::Family
9
+ NAME = "nl80211"
10
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("nl80211"))
11
+ module Structs
12
+ StaFlagUpdate = Struct.new(
13
+ :"mask", #: ::Integer
14
+ :"set", #: ::Integer
15
+ )
16
+ class StaFlagUpdate
17
+ # :nodoc:
18
+ MEMBERS = Ractor.make_shareable({mask: ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), set: ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
19
+ # Decodes the struct.
20
+ #--
21
+ # @rbs decoder: ::Nl::Decoder
22
+ # @rbs return: instance
23
+ def self.decode(decoder)
24
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
25
+ end
26
+ # Encodes the struct.
27
+ #--
28
+ # @rbs encoder: ::Nl::Encoder
29
+ # @rbs return: void
30
+ def encode(encoder)
31
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
32
+ end
33
+ end
34
+ end
35
+ module AttributeSets
36
+ class Nl80211Attrs < ::Nl::Protocols::Genl::AttributeSet
37
+ # Abstract class
38
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
39
+ end
40
+ class Wiphy < Attribute
41
+ TYPE = 1
42
+ NAME = :"wiphy"
43
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
44
+ end
45
+ class WiphyName < Attribute
46
+ TYPE = 2
47
+ NAME = :"wiphy_name"
48
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
49
+ end
50
+ class Ifindex < Attribute
51
+ TYPE = 3
52
+ NAME = :"ifindex"
53
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
54
+ end
55
+ class Ifname < Attribute
56
+ TYPE = 4
57
+ NAME = :"ifname"
58
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
59
+ end
60
+ class Iftype < Attribute
61
+ TYPE = 5
62
+ NAME = :"iftype"
63
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
64
+ end
65
+ class Mac < Attribute
66
+ TYPE = 6
67
+ NAME = :"mac"
68
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
69
+ end
70
+ class KeyData < Attribute
71
+ TYPE = 7
72
+ NAME = :"key_data"
73
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
74
+ end
75
+ class KeyIdx < Attribute
76
+ TYPE = 8
77
+ NAME = :"key_idx"
78
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
79
+ end
80
+ class KeyCipher < Attribute
81
+ TYPE = 9
82
+ NAME = :"key_cipher"
83
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
84
+ end
85
+ class KeySeq < Attribute
86
+ TYPE = 10
87
+ NAME = :"key_seq"
88
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
89
+ end
90
+ class KeyDefault < Attribute
91
+ TYPE = 11
92
+ NAME = :"key_default"
93
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
94
+ end
95
+ class BeaconInterval < Attribute
96
+ TYPE = 12
97
+ NAME = :"beacon_interval"
98
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
99
+ end
100
+ class DtimPeriod < Attribute
101
+ TYPE = 13
102
+ NAME = :"dtim_period"
103
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
104
+ end
105
+ class BeaconHead < Attribute
106
+ TYPE = 14
107
+ NAME = :"beacon_head"
108
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
109
+ end
110
+ class BeaconTail < Attribute
111
+ TYPE = 15
112
+ NAME = :"beacon_tail"
113
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
114
+ end
115
+ class StaAid < Attribute
116
+ TYPE = 16
117
+ NAME = :"sta_aid"
118
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
119
+ end
120
+ class StaFlags < Attribute
121
+ TYPE = 17
122
+ NAME = :"sta_flags"
123
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
124
+ end
125
+ class StaListenInterval < Attribute
126
+ TYPE = 18
127
+ NAME = :"sta_listen_interval"
128
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
129
+ end
130
+ class StaSupportedRates < Attribute
131
+ TYPE = 19
132
+ NAME = :"sta_supported_rates"
133
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
134
+ end
135
+ class StaVlan < Attribute
136
+ TYPE = 20
137
+ NAME = :"sta_vlan"
138
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
139
+ end
140
+ class StaInfo < Attribute
141
+ TYPE = 21
142
+ NAME = :"sta_info"
143
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
144
+ end
145
+ class WiphyBands < Attribute
146
+ TYPE = 22
147
+ NAME = :"wiphy_bands"
148
+ end
149
+ class MntrFlags < Attribute
150
+ TYPE = 23
151
+ NAME = :"mntr_flags"
152
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
153
+ end
154
+ class MeshId < Attribute
155
+ TYPE = 24
156
+ NAME = :"mesh_id"
157
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
158
+ end
159
+ class StaPlinkAction < Attribute
160
+ TYPE = 25
161
+ NAME = :"sta_plink_action"
162
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
163
+ end
164
+ class MpathNextHop < Attribute
165
+ TYPE = 26
166
+ NAME = :"mpath_next_hop"
167
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
168
+ end
169
+ class MpathInfo < Attribute
170
+ TYPE = 27
171
+ NAME = :"mpath_info"
172
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
173
+ end
174
+ class BssCtsProt < Attribute
175
+ TYPE = 28
176
+ NAME = :"bss_cts_prot"
177
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
178
+ end
179
+ class BssShortPreamble < Attribute
180
+ TYPE = 29
181
+ NAME = :"bss_short_preamble"
182
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
183
+ end
184
+ class BssShortSlotTime < Attribute
185
+ TYPE = 30
186
+ NAME = :"bss_short_slot_time"
187
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
188
+ end
189
+ class HtCapability < Attribute
190
+ TYPE = 31
191
+ NAME = :"ht_capability"
192
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
193
+ end
194
+ class SupportedIftypes < Attribute
195
+ TYPE = 32
196
+ NAME = :"supported_iftypes"
197
+ end
198
+ class RegAlpha2 < Attribute
199
+ TYPE = 33
200
+ NAME = :"reg_alpha2"
201
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
202
+ end
203
+ class RegRules < Attribute
204
+ TYPE = 34
205
+ NAME = :"reg_rules"
206
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
207
+ end
208
+ class MeshConfig < Attribute
209
+ TYPE = 35
210
+ NAME = :"mesh_config"
211
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
212
+ end
213
+ class BssBasicRates < Attribute
214
+ TYPE = 36
215
+ NAME = :"bss_basic_rates"
216
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
217
+ end
218
+ class WiphyTxqParams < Attribute
219
+ TYPE = 37
220
+ NAME = :"wiphy_txq_params"
221
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
222
+ end
223
+ class WiphyFreq < Attribute
224
+ TYPE = 38
225
+ NAME = :"wiphy_freq"
226
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
227
+ end
228
+ class WiphyChannelType < Attribute
229
+ TYPE = 39
230
+ NAME = :"wiphy_channel_type"
231
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
232
+ end
233
+ class KeyDefaultMgmt < Attribute
234
+ TYPE = 40
235
+ NAME = :"key_default_mgmt"
236
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
237
+ end
238
+ class MgmtSubtype < Attribute
239
+ TYPE = 41
240
+ NAME = :"mgmt_subtype"
241
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
242
+ end
243
+ class Ie < Attribute
244
+ TYPE = 42
245
+ NAME = :"ie"
246
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
247
+ end
248
+ class MaxNumScanSsids < Attribute
249
+ TYPE = 43
250
+ NAME = :"max_num_scan_ssids"
251
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
252
+ end
253
+ class ScanFrequencies < Attribute
254
+ TYPE = 44
255
+ NAME = :"scan_frequencies"
256
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
257
+ end
258
+ class ScanSsids < Attribute
259
+ TYPE = 45
260
+ NAME = :"scan_ssids"
261
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
262
+ end
263
+ class Generation < Attribute
264
+ TYPE = 46
265
+ NAME = :"generation"
266
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
267
+ end
268
+ class Bss < Attribute
269
+ TYPE = 47
270
+ NAME = :"bss"
271
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
272
+ end
273
+ class RegInitiator < Attribute
274
+ TYPE = 48
275
+ NAME = :"reg_initiator"
276
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
277
+ end
278
+ class RegType < Attribute
279
+ TYPE = 49
280
+ NAME = :"reg_type"
281
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
282
+ end
283
+ class SupportedCommands < Attribute
284
+ TYPE = 50
285
+ NAME = :"supported_commands"
286
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil))
287
+ end
288
+ class Frame < Attribute
289
+ TYPE = 51
290
+ NAME = :"frame"
291
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
292
+ end
293
+ class Ssid < Attribute
294
+ TYPE = 52
295
+ NAME = :"ssid"
296
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
297
+ end
298
+ class AuthType < Attribute
299
+ TYPE = 53
300
+ NAME = :"auth_type"
301
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
302
+ end
303
+ class ReasonCode < Attribute
304
+ TYPE = 54
305
+ NAME = :"reason_code"
306
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
307
+ end
308
+ class KeyType < Attribute
309
+ TYPE = 55
310
+ NAME = :"key_type"
311
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
312
+ end
313
+ class MaxScanIeLen < Attribute
314
+ TYPE = 56
315
+ NAME = :"max_scan_ie_len"
316
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
317
+ end
318
+ class CipherSuites < Attribute
319
+ TYPE = 57
320
+ NAME = :"cipher_suites"
321
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
322
+ end
323
+ class FreqBefore < Attribute
324
+ TYPE = 58
325
+ NAME = :"freq_before"
326
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
327
+ end
328
+ class FreqAfter < Attribute
329
+ TYPE = 59
330
+ NAME = :"freq_after"
331
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
332
+ end
333
+ class FreqFixed < Attribute
334
+ TYPE = 60
335
+ NAME = :"freq_fixed"
336
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
337
+ end
338
+ class WiphyRetryShort < Attribute
339
+ TYPE = 61
340
+ NAME = :"wiphy_retry_short"
341
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
342
+ end
343
+ class WiphyRetryLong < Attribute
344
+ TYPE = 62
345
+ NAME = :"wiphy_retry_long"
346
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
347
+ end
348
+ class WiphyFragThreshold < Attribute
349
+ TYPE = 63
350
+ NAME = :"wiphy_frag_threshold"
351
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
352
+ end
353
+ class WiphyRtsThreshold < Attribute
354
+ TYPE = 64
355
+ NAME = :"wiphy_rts_threshold"
356
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
357
+ end
358
+ class TimedOut < Attribute
359
+ TYPE = 65
360
+ NAME = :"timed_out"
361
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
362
+ end
363
+ class UseMfp < Attribute
364
+ TYPE = 66
365
+ NAME = :"use_mfp"
366
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
367
+ end
368
+ class StaFlags2 < Attribute
369
+ TYPE = 67
370
+ NAME = :"sta_flags2"
371
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
372
+ end
373
+ class ControlPort < Attribute
374
+ TYPE = 68
375
+ NAME = :"control_port"
376
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
377
+ end
378
+ class Testdata < Attribute
379
+ TYPE = 69
380
+ NAME = :"testdata"
381
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
382
+ end
383
+ class Privacy < Attribute
384
+ TYPE = 70
385
+ NAME = :"privacy"
386
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
387
+ end
388
+ class DisconnectedByAp < Attribute
389
+ TYPE = 71
390
+ NAME = :"disconnected_by_ap"
391
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
392
+ end
393
+ class StatusCode < Attribute
394
+ TYPE = 72
395
+ NAME = :"status_code"
396
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
397
+ end
398
+ class CipherSuitesPairwise < Attribute
399
+ TYPE = 73
400
+ NAME = :"cipher_suites_pairwise"
401
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
402
+ end
403
+ class CipherSuiteGroup < Attribute
404
+ TYPE = 74
405
+ NAME = :"cipher_suite_group"
406
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
407
+ end
408
+ class WpaVersions < Attribute
409
+ TYPE = 75
410
+ NAME = :"wpa_versions"
411
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
412
+ end
413
+ class AkmSuites < Attribute
414
+ TYPE = 76
415
+ NAME = :"akm_suites"
416
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
417
+ end
418
+ class ReqIe < Attribute
419
+ TYPE = 77
420
+ NAME = :"req_ie"
421
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
422
+ end
423
+ class RespIe < Attribute
424
+ TYPE = 78
425
+ NAME = :"resp_ie"
426
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
427
+ end
428
+ class PrevBssid < Attribute
429
+ TYPE = 79
430
+ NAME = :"prev_bssid"
431
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
432
+ end
433
+ class Key < Attribute
434
+ TYPE = 80
435
+ NAME = :"key"
436
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
437
+ end
438
+ class Keys < Attribute
439
+ TYPE = 81
440
+ NAME = :"keys"
441
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
442
+ end
443
+ class Pid < Attribute
444
+ TYPE = 82
445
+ NAME = :"pid"
446
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
447
+ end
448
+ class X4addr < Attribute
449
+ TYPE = 83
450
+ NAME = :"x_4addr"
451
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
452
+ end
453
+ class SurveyInfo < Attribute
454
+ TYPE = 84
455
+ NAME = :"survey_info"
456
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
457
+ end
458
+ class Pmkid < Attribute
459
+ TYPE = 85
460
+ NAME = :"pmkid"
461
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
462
+ end
463
+ class MaxNumPmkids < Attribute
464
+ TYPE = 86
465
+ NAME = :"max_num_pmkids"
466
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
467
+ end
468
+ class Duration < Attribute
469
+ TYPE = 87
470
+ NAME = :"duration"
471
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
472
+ end
473
+ class Cookie < Attribute
474
+ TYPE = 88
475
+ NAME = :"cookie"
476
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
477
+ end
478
+ class WiphyCoverageClass < Attribute
479
+ TYPE = 89
480
+ NAME = :"wiphy_coverage_class"
481
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
482
+ end
483
+ class TxRates < Attribute
484
+ TYPE = 90
485
+ NAME = :"tx_rates"
486
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
487
+ end
488
+ class FrameMatch < Attribute
489
+ TYPE = 91
490
+ NAME = :"frame_match"
491
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
492
+ end
493
+ class Ack < Attribute
494
+ TYPE = 92
495
+ NAME = :"ack"
496
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
497
+ end
498
+ class PsState < Attribute
499
+ TYPE = 93
500
+ NAME = :"ps_state"
501
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
502
+ end
503
+ class Cqm < Attribute
504
+ TYPE = 94
505
+ NAME = :"cqm"
506
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
507
+ end
508
+ class LocalStateChange < Attribute
509
+ TYPE = 95
510
+ NAME = :"local_state_change"
511
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
512
+ end
513
+ class ApIsolate < Attribute
514
+ TYPE = 96
515
+ NAME = :"ap_isolate"
516
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
517
+ end
518
+ class WiphyTxPowerSetting < Attribute
519
+ TYPE = 97
520
+ NAME = :"wiphy_tx_power_setting"
521
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
522
+ end
523
+ class WiphyTxPowerLevel < Attribute
524
+ TYPE = 98
525
+ NAME = :"wiphy_tx_power_level"
526
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
527
+ end
528
+ class TxFrameTypes < Attribute
529
+ TYPE = 99
530
+ NAME = :"tx_frame_types"
531
+ end
532
+ class RxFrameTypes < Attribute
533
+ TYPE = 100
534
+ NAME = :"rx_frame_types"
535
+ end
536
+ class FrameType < Attribute
537
+ TYPE = 101
538
+ NAME = :"frame_type"
539
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
540
+ end
541
+ class ControlPortEthertype < Attribute
542
+ TYPE = 102
543
+ NAME = :"control_port_ethertype"
544
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
545
+ end
546
+ class ControlPortNoEncrypt < Attribute
547
+ TYPE = 103
548
+ NAME = :"control_port_no_encrypt"
549
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
550
+ end
551
+ class SupportIbssRsn < Attribute
552
+ TYPE = 104
553
+ NAME = :"support_ibss_rsn"
554
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
555
+ end
556
+ class WiphyAntennaTx < Attribute
557
+ TYPE = 105
558
+ NAME = :"wiphy_antenna_tx"
559
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
560
+ end
561
+ class WiphyAntennaRx < Attribute
562
+ TYPE = 106
563
+ NAME = :"wiphy_antenna_rx"
564
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
565
+ end
566
+ class McastRate < Attribute
567
+ TYPE = 107
568
+ NAME = :"mcast_rate"
569
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
570
+ end
571
+ class OffchannelTxOk < Attribute
572
+ TYPE = 108
573
+ NAME = :"offchannel_tx_ok"
574
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
575
+ end
576
+ class BssHtOpmode < Attribute
577
+ TYPE = 109
578
+ NAME = :"bss_ht_opmode"
579
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
580
+ end
581
+ class KeyDefaultTypes < Attribute
582
+ TYPE = 110
583
+ NAME = :"key_default_types"
584
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
585
+ end
586
+ class MaxRemainOnChannelDuration < Attribute
587
+ TYPE = 111
588
+ NAME = :"max_remain_on_channel_duration"
589
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
590
+ end
591
+ class MeshSetup < Attribute
592
+ TYPE = 112
593
+ NAME = :"mesh_setup"
594
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
595
+ end
596
+ class WiphyAntennaAvailTx < Attribute
597
+ TYPE = 113
598
+ NAME = :"wiphy_antenna_avail_tx"
599
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
600
+ end
601
+ class WiphyAntennaAvailRx < Attribute
602
+ TYPE = 114
603
+ NAME = :"wiphy_antenna_avail_rx"
604
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
605
+ end
606
+ class SupportMeshAuth < Attribute
607
+ TYPE = 115
608
+ NAME = :"support_mesh_auth"
609
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
610
+ end
611
+ class StaPlinkState < Attribute
612
+ TYPE = 116
613
+ NAME = :"sta_plink_state"
614
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
615
+ end
616
+ class WowlanTriggers < Attribute
617
+ TYPE = 117
618
+ NAME = :"wowlan_triggers"
619
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
620
+ end
621
+ class WowlanTriggersSupported < Attribute
622
+ TYPE = 118
623
+ NAME = :"wowlan_triggers_supported"
624
+ end
625
+ class SchedScanInterval < Attribute
626
+ TYPE = 119
627
+ NAME = :"sched_scan_interval"
628
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
629
+ end
630
+ class InterfaceCombinations < Attribute
631
+ TYPE = 120
632
+ NAME = :"interface_combinations"
633
+ end
634
+ class SoftwareIftypes < Attribute
635
+ TYPE = 121
636
+ NAME = :"software_iftypes"
637
+ end
638
+ class RekeyData < Attribute
639
+ TYPE = 122
640
+ NAME = :"rekey_data"
641
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
642
+ end
643
+ class MaxNumSchedScanSsids < Attribute
644
+ TYPE = 123
645
+ NAME = :"max_num_sched_scan_ssids"
646
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
647
+ end
648
+ class MaxSchedScanIeLen < Attribute
649
+ TYPE = 124
650
+ NAME = :"max_sched_scan_ie_len"
651
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
652
+ end
653
+ class ScanSuppRates < Attribute
654
+ TYPE = 125
655
+ NAME = :"scan_supp_rates"
656
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
657
+ end
658
+ class HiddenSsid < Attribute
659
+ TYPE = 126
660
+ NAME = :"hidden_ssid"
661
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
662
+ end
663
+ class IeProbeResp < Attribute
664
+ TYPE = 127
665
+ NAME = :"ie_probe_resp"
666
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
667
+ end
668
+ class IeAssocResp < Attribute
669
+ TYPE = 128
670
+ NAME = :"ie_assoc_resp"
671
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
672
+ end
673
+ class StaWme < Attribute
674
+ TYPE = 129
675
+ NAME = :"sta_wme"
676
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
677
+ end
678
+ class SupportApUapsd < Attribute
679
+ TYPE = 130
680
+ NAME = :"support_ap_uapsd"
681
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
682
+ end
683
+ class RoamSupport < Attribute
684
+ TYPE = 131
685
+ NAME = :"roam_support"
686
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
687
+ end
688
+ class SchedScanMatch < Attribute
689
+ TYPE = 132
690
+ NAME = :"sched_scan_match"
691
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
692
+ end
693
+ class MaxMatchSets < Attribute
694
+ TYPE = 133
695
+ NAME = :"max_match_sets"
696
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
697
+ end
698
+ class PmksaCandidate < Attribute
699
+ TYPE = 134
700
+ NAME = :"pmksa_candidate"
701
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
702
+ end
703
+ class TxNoCckRate < Attribute
704
+ TYPE = 135
705
+ NAME = :"tx_no_cck_rate"
706
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
707
+ end
708
+ class TdlsAction < Attribute
709
+ TYPE = 136
710
+ NAME = :"tdls_action"
711
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
712
+ end
713
+ class TdlsDialogToken < Attribute
714
+ TYPE = 137
715
+ NAME = :"tdls_dialog_token"
716
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
717
+ end
718
+ class TdlsOperation < Attribute
719
+ TYPE = 138
720
+ NAME = :"tdls_operation"
721
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
722
+ end
723
+ class TdlsSupport < Attribute
724
+ TYPE = 139
725
+ NAME = :"tdls_support"
726
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
727
+ end
728
+ class TdlsExternalSetup < Attribute
729
+ TYPE = 140
730
+ NAME = :"tdls_external_setup"
731
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
732
+ end
733
+ class DeviceApSme < Attribute
734
+ TYPE = 141
735
+ NAME = :"device_ap_sme"
736
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
737
+ end
738
+ class DontWaitForAck < Attribute
739
+ TYPE = 142
740
+ NAME = :"dont_wait_for_ack"
741
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
742
+ end
743
+ class FeatureFlags < Attribute
744
+ TYPE = 143
745
+ NAME = :"feature_flags"
746
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
747
+ end
748
+ class ProbeRespOffload < Attribute
749
+ TYPE = 144
750
+ NAME = :"probe_resp_offload"
751
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
752
+ end
753
+ class ProbeResp < Attribute
754
+ TYPE = 145
755
+ NAME = :"probe_resp"
756
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
757
+ end
758
+ class DfsRegion < Attribute
759
+ TYPE = 146
760
+ NAME = :"dfs_region"
761
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
762
+ end
763
+ class DisableHt < Attribute
764
+ TYPE = 147
765
+ NAME = :"disable_ht"
766
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
767
+ end
768
+ class HtCapabilityMask < Attribute
769
+ TYPE = 148
770
+ NAME = :"ht_capability_mask"
771
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
772
+ end
773
+ class NoackMap < Attribute
774
+ TYPE = 149
775
+ NAME = :"noack_map"
776
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
777
+ end
778
+ class InactivityTimeout < Attribute
779
+ TYPE = 150
780
+ NAME = :"inactivity_timeout"
781
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
782
+ end
783
+ class RxSignalDbm < Attribute
784
+ TYPE = 151
785
+ NAME = :"rx_signal_dbm"
786
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
787
+ end
788
+ class BgScanPeriod < Attribute
789
+ TYPE = 152
790
+ NAME = :"bg_scan_period"
791
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
792
+ end
793
+ class Wdev < Attribute
794
+ TYPE = 153
795
+ NAME = :"wdev"
796
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
797
+ end
798
+ class UserRegHintType < Attribute
799
+ TYPE = 154
800
+ NAME = :"user_reg_hint_type"
801
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
802
+ end
803
+ class ConnFailedReason < Attribute
804
+ TYPE = 155
805
+ NAME = :"conn_failed_reason"
806
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
807
+ end
808
+ class AuthData < Attribute
809
+ TYPE = 156
810
+ NAME = :"auth_data"
811
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
812
+ end
813
+ class VhtCapability < Attribute
814
+ TYPE = 157
815
+ NAME = :"vht_capability"
816
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
817
+ end
818
+ class ScanFlags < Attribute
819
+ TYPE = 158
820
+ NAME = :"scan_flags"
821
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
822
+ end
823
+ class ChannelWidth < Attribute
824
+ TYPE = 159
825
+ NAME = :"channel_width"
826
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
827
+ end
828
+ class CenterFreq1 < Attribute
829
+ TYPE = 160
830
+ NAME = :"center_freq1"
831
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
832
+ end
833
+ class CenterFreq2 < Attribute
834
+ TYPE = 161
835
+ NAME = :"center_freq2"
836
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
837
+ end
838
+ class P2pCtwindow < Attribute
839
+ TYPE = 162
840
+ NAME = :"p2p_ctwindow"
841
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
842
+ end
843
+ class P2pOppps < Attribute
844
+ TYPE = 163
845
+ NAME = :"p2p_oppps"
846
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
847
+ end
848
+ class LocalMeshPowerMode < Attribute
849
+ TYPE = 164
850
+ NAME = :"local_mesh_power_mode"
851
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
852
+ end
853
+ class AclPolicy < Attribute
854
+ TYPE = 165
855
+ NAME = :"acl_policy"
856
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
857
+ end
858
+ class MacAddrs < Attribute
859
+ TYPE = 166
860
+ NAME = :"mac_addrs"
861
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
862
+ end
863
+ class MacAclMax < Attribute
864
+ TYPE = 167
865
+ NAME = :"mac_acl_max"
866
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
867
+ end
868
+ class RadarEvent < Attribute
869
+ TYPE = 168
870
+ NAME = :"radar_event"
871
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
872
+ end
873
+ class ExtCapa < Attribute
874
+ TYPE = 169
875
+ NAME = :"ext_capa"
876
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
877
+ end
878
+ class ExtCapaMask < Attribute
879
+ TYPE = 170
880
+ NAME = :"ext_capa_mask"
881
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
882
+ end
883
+ class StaCapability < Attribute
884
+ TYPE = 171
885
+ NAME = :"sta_capability"
886
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
887
+ end
888
+ class StaExtCapability < Attribute
889
+ TYPE = 172
890
+ NAME = :"sta_ext_capability"
891
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
892
+ end
893
+ class ProtocolFeatures < Attribute
894
+ TYPE = 173
895
+ NAME = :"protocol_features"
896
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
897
+ end
898
+ class SplitWiphyDump < Attribute
899
+ TYPE = 174
900
+ NAME = :"split_wiphy_dump"
901
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
902
+ end
903
+ class DisableVht < Attribute
904
+ TYPE = 175
905
+ NAME = :"disable_vht"
906
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
907
+ end
908
+ class VhtCapabilityMask < Attribute
909
+ TYPE = 176
910
+ NAME = :"vht_capability_mask"
911
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
912
+ end
913
+ class Mdid < Attribute
914
+ TYPE = 177
915
+ NAME = :"mdid"
916
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
917
+ end
918
+ class IeRic < Attribute
919
+ TYPE = 178
920
+ NAME = :"ie_ric"
921
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
922
+ end
923
+ class CritProtId < Attribute
924
+ TYPE = 179
925
+ NAME = :"crit_prot_id"
926
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
927
+ end
928
+ class MaxCritProtDuration < Attribute
929
+ TYPE = 180
930
+ NAME = :"max_crit_prot_duration"
931
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
932
+ end
933
+ class PeerAid < Attribute
934
+ TYPE = 181
935
+ NAME = :"peer_aid"
936
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
937
+ end
938
+ class CoalesceRule < Attribute
939
+ TYPE = 182
940
+ NAME = :"coalesce_rule"
941
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
942
+ end
943
+ class ChSwitchCount < Attribute
944
+ TYPE = 183
945
+ NAME = :"ch_switch_count"
946
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
947
+ end
948
+ class ChSwitchBlockTx < Attribute
949
+ TYPE = 184
950
+ NAME = :"ch_switch_block_tx"
951
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
952
+ end
953
+ class CsaIes < Attribute
954
+ TYPE = 185
955
+ NAME = :"csa_ies"
956
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
957
+ end
958
+ class CntdwnOffsBeacon < Attribute
959
+ TYPE = 186
960
+ NAME = :"cntdwn_offs_beacon"
961
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
962
+ end
963
+ class CntdwnOffsPresp < Attribute
964
+ TYPE = 187
965
+ NAME = :"cntdwn_offs_presp"
966
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
967
+ end
968
+ class RxmgmtFlags < Attribute
969
+ TYPE = 188
970
+ NAME = :"rxmgmt_flags"
971
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
972
+ end
973
+ class StaSupportedChannels < Attribute
974
+ TYPE = 189
975
+ NAME = :"sta_supported_channels"
976
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
977
+ end
978
+ class StaSupportedOperClasses < Attribute
979
+ TYPE = 190
980
+ NAME = :"sta_supported_oper_classes"
981
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
982
+ end
983
+ class HandleDfs < Attribute
984
+ TYPE = 191
985
+ NAME = :"handle_dfs"
986
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
987
+ end
988
+ class Support5Mhz < Attribute
989
+ TYPE = 192
990
+ NAME = :"support_5_mhz"
991
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
992
+ end
993
+ class Support10Mhz < Attribute
994
+ TYPE = 193
995
+ NAME = :"support_10_mhz"
996
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
997
+ end
998
+ class OpmodeNotif < Attribute
999
+ TYPE = 194
1000
+ NAME = :"opmode_notif"
1001
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1002
+ end
1003
+ class VendorId < Attribute
1004
+ TYPE = 195
1005
+ NAME = :"vendor_id"
1006
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1007
+ end
1008
+ class VendorSubcmd < Attribute
1009
+ TYPE = 196
1010
+ NAME = :"vendor_subcmd"
1011
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1012
+ end
1013
+ class VendorData < Attribute
1014
+ TYPE = 197
1015
+ NAME = :"vendor_data"
1016
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1017
+ end
1018
+ class VendorEvents < Attribute
1019
+ TYPE = 198
1020
+ NAME = :"vendor_events"
1021
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1022
+ end
1023
+ class QosMap < Attribute
1024
+ TYPE = 199
1025
+ NAME = :"qos_map"
1026
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1027
+ end
1028
+ class MacHint < Attribute
1029
+ TYPE = 200
1030
+ NAME = :"mac_hint"
1031
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1032
+ end
1033
+ class WiphyFreqHint < Attribute
1034
+ TYPE = 201
1035
+ NAME = :"wiphy_freq_hint"
1036
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1037
+ end
1038
+ class MaxApAssocSta < Attribute
1039
+ TYPE = 202
1040
+ NAME = :"max_ap_assoc_sta"
1041
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1042
+ end
1043
+ class TdlsPeerCapability < Attribute
1044
+ TYPE = 203
1045
+ NAME = :"tdls_peer_capability"
1046
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1047
+ end
1048
+ class SocketOwner < Attribute
1049
+ TYPE = 204
1050
+ NAME = :"socket_owner"
1051
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1052
+ end
1053
+ class CsaCOffsetsTx < Attribute
1054
+ TYPE = 205
1055
+ NAME = :"csa_c_offsets_tx"
1056
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1057
+ end
1058
+ class MaxCsaCounters < Attribute
1059
+ TYPE = 206
1060
+ NAME = :"max_csa_counters"
1061
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1062
+ end
1063
+ class TdlsInitiator < Attribute
1064
+ TYPE = 207
1065
+ NAME = :"tdls_initiator"
1066
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1067
+ end
1068
+ class UseRrm < Attribute
1069
+ TYPE = 208
1070
+ NAME = :"use_rrm"
1071
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1072
+ end
1073
+ class WiphyDynAck < Attribute
1074
+ TYPE = 209
1075
+ NAME = :"wiphy_dyn_ack"
1076
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1077
+ end
1078
+ class Tsid < Attribute
1079
+ TYPE = 210
1080
+ NAME = :"tsid"
1081
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1082
+ end
1083
+ class UserPrio < Attribute
1084
+ TYPE = 211
1085
+ NAME = :"user_prio"
1086
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1087
+ end
1088
+ class AdmittedTime < Attribute
1089
+ TYPE = 212
1090
+ NAME = :"admitted_time"
1091
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1092
+ end
1093
+ class SmpsMode < Attribute
1094
+ TYPE = 213
1095
+ NAME = :"smps_mode"
1096
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1097
+ end
1098
+ class OperClass < Attribute
1099
+ TYPE = 214
1100
+ NAME = :"oper_class"
1101
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1102
+ end
1103
+ class MacMask < Attribute
1104
+ TYPE = 215
1105
+ NAME = :"mac_mask"
1106
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1107
+ end
1108
+ class WiphySelfManagedReg < Attribute
1109
+ TYPE = 216
1110
+ NAME = :"wiphy_self_managed_reg"
1111
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1112
+ end
1113
+ class ExtFeatures < Attribute
1114
+ TYPE = 217
1115
+ NAME = :"ext_features"
1116
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1117
+ end
1118
+ class SurveyRadioStats < Attribute
1119
+ TYPE = 218
1120
+ NAME = :"survey_radio_stats"
1121
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1122
+ end
1123
+ class NetnsFd < Attribute
1124
+ TYPE = 219
1125
+ NAME = :"netns_fd"
1126
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1127
+ end
1128
+ class SchedScanDelay < Attribute
1129
+ TYPE = 220
1130
+ NAME = :"sched_scan_delay"
1131
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1132
+ end
1133
+ class RegIndoor < Attribute
1134
+ TYPE = 221
1135
+ NAME = :"reg_indoor"
1136
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1137
+ end
1138
+ class MaxNumSchedScanPlans < Attribute
1139
+ TYPE = 222
1140
+ NAME = :"max_num_sched_scan_plans"
1141
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1142
+ end
1143
+ class MaxScanPlanInterval < Attribute
1144
+ TYPE = 223
1145
+ NAME = :"max_scan_plan_interval"
1146
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1147
+ end
1148
+ class MaxScanPlanIterations < Attribute
1149
+ TYPE = 224
1150
+ NAME = :"max_scan_plan_iterations"
1151
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1152
+ end
1153
+ class SchedScanPlans < Attribute
1154
+ TYPE = 225
1155
+ NAME = :"sched_scan_plans"
1156
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1157
+ end
1158
+ class Pbss < Attribute
1159
+ TYPE = 226
1160
+ NAME = :"pbss"
1161
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1162
+ end
1163
+ class BssSelect < Attribute
1164
+ TYPE = 227
1165
+ NAME = :"bss_select"
1166
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1167
+ end
1168
+ class StaSupportP2pPs < Attribute
1169
+ TYPE = 228
1170
+ NAME = :"sta_support_p2p_ps"
1171
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1172
+ end
1173
+ class Pad < Attribute
1174
+ TYPE = 229
1175
+ NAME = :"pad"
1176
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1177
+ end
1178
+ class IftypeExtCapa < Attribute
1179
+ TYPE = 230
1180
+ NAME = :"iftype_ext_capa"
1181
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1182
+ end
1183
+ class MuMimoGroupData < Attribute
1184
+ TYPE = 231
1185
+ NAME = :"mu_mimo_group_data"
1186
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1187
+ end
1188
+ class MuMimoFollowMacAddr < Attribute
1189
+ TYPE = 232
1190
+ NAME = :"mu_mimo_follow_mac_addr"
1191
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1192
+ end
1193
+ class ScanStartTimeTsf < Attribute
1194
+ TYPE = 233
1195
+ NAME = :"scan_start_time_tsf"
1196
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1197
+ end
1198
+ class ScanStartTimeTsfBssid < Attribute
1199
+ TYPE = 234
1200
+ NAME = :"scan_start_time_tsf_bssid"
1201
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1202
+ end
1203
+ class MeasurementDuration < Attribute
1204
+ TYPE = 235
1205
+ NAME = :"measurement_duration"
1206
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1207
+ end
1208
+ class MeasurementDurationMandatory < Attribute
1209
+ TYPE = 236
1210
+ NAME = :"measurement_duration_mandatory"
1211
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1212
+ end
1213
+ class MeshPeerAid < Attribute
1214
+ TYPE = 237
1215
+ NAME = :"mesh_peer_aid"
1216
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1217
+ end
1218
+ class NanMasterPref < Attribute
1219
+ TYPE = 238
1220
+ NAME = :"nan_master_pref"
1221
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1222
+ end
1223
+ class Bands < Attribute
1224
+ TYPE = 239
1225
+ NAME = :"bands"
1226
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1227
+ end
1228
+ class NanFunc < Attribute
1229
+ TYPE = 240
1230
+ NAME = :"nan_func"
1231
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1232
+ end
1233
+ class NanMatch < Attribute
1234
+ TYPE = 241
1235
+ NAME = :"nan_match"
1236
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1237
+ end
1238
+ class FilsKek < Attribute
1239
+ TYPE = 242
1240
+ NAME = :"fils_kek"
1241
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1242
+ end
1243
+ class FilsNonces < Attribute
1244
+ TYPE = 243
1245
+ NAME = :"fils_nonces"
1246
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1247
+ end
1248
+ class MulticastToUnicastEnabled < Attribute
1249
+ TYPE = 244
1250
+ NAME = :"multicast_to_unicast_enabled"
1251
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1252
+ end
1253
+ class Bssid < Attribute
1254
+ TYPE = 245
1255
+ NAME = :"bssid"
1256
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1257
+ end
1258
+ class SchedScanRelativeRssi < Attribute
1259
+ TYPE = 246
1260
+ NAME = :"sched_scan_relative_rssi"
1261
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S8, check: nil)
1262
+ end
1263
+ class SchedScanRssiAdjust < Attribute
1264
+ TYPE = 247
1265
+ NAME = :"sched_scan_rssi_adjust"
1266
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1267
+ end
1268
+ class TimeoutReason < Attribute
1269
+ TYPE = 248
1270
+ NAME = :"timeout_reason"
1271
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1272
+ end
1273
+ class FilsErpUsername < Attribute
1274
+ TYPE = 249
1275
+ NAME = :"fils_erp_username"
1276
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1277
+ end
1278
+ class FilsErpRealm < Attribute
1279
+ TYPE = 250
1280
+ NAME = :"fils_erp_realm"
1281
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1282
+ end
1283
+ class FilsErpNextSeqNum < Attribute
1284
+ TYPE = 251
1285
+ NAME = :"fils_erp_next_seq_num"
1286
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1287
+ end
1288
+ class FilsErpRrk < Attribute
1289
+ TYPE = 252
1290
+ NAME = :"fils_erp_rrk"
1291
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1292
+ end
1293
+ class FilsCacheId < Attribute
1294
+ TYPE = 253
1295
+ NAME = :"fils_cache_id"
1296
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1297
+ end
1298
+ class Pmk < Attribute
1299
+ TYPE = 254
1300
+ NAME = :"pmk"
1301
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1302
+ end
1303
+ class SchedScanMulti < Attribute
1304
+ TYPE = 255
1305
+ NAME = :"sched_scan_multi"
1306
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1307
+ end
1308
+ class SchedScanMaxReqs < Attribute
1309
+ TYPE = 256
1310
+ NAME = :"sched_scan_max_reqs"
1311
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1312
+ end
1313
+ class Want1x4wayHs < Attribute
1314
+ TYPE = 257
1315
+ NAME = :"want_1x_4way_hs"
1316
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1317
+ end
1318
+ class Pmkr0Name < Attribute
1319
+ TYPE = 258
1320
+ NAME = :"pmkr0_name"
1321
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1322
+ end
1323
+ class PortAuthorized < Attribute
1324
+ TYPE = 259
1325
+ NAME = :"port_authorized"
1326
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1327
+ end
1328
+ class ExternalAuthAction < Attribute
1329
+ TYPE = 260
1330
+ NAME = :"external_auth_action"
1331
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1332
+ end
1333
+ class ExternalAuthSupport < Attribute
1334
+ TYPE = 261
1335
+ NAME = :"external_auth_support"
1336
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1337
+ end
1338
+ class Nss < Attribute
1339
+ TYPE = 262
1340
+ NAME = :"nss"
1341
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1342
+ end
1343
+ class AckSignal < Attribute
1344
+ TYPE = 263
1345
+ NAME = :"ack_signal"
1346
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
1347
+ end
1348
+ class ControlPortOverNl80211 < Attribute
1349
+ TYPE = 264
1350
+ NAME = :"control_port_over_nl80211"
1351
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1352
+ end
1353
+ class TxqStats < Attribute
1354
+ TYPE = 265
1355
+ NAME = :"txq_stats"
1356
+ end
1357
+ class TxqLimit < Attribute
1358
+ TYPE = 266
1359
+ NAME = :"txq_limit"
1360
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1361
+ end
1362
+ class TxqMemoryLimit < Attribute
1363
+ TYPE = 267
1364
+ NAME = :"txq_memory_limit"
1365
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1366
+ end
1367
+ class TxqQuantum < Attribute
1368
+ TYPE = 268
1369
+ NAME = :"txq_quantum"
1370
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1371
+ end
1372
+ class HeCapability < Attribute
1373
+ TYPE = 269
1374
+ NAME = :"he_capability"
1375
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1376
+ end
1377
+ class FtmResponder < Attribute
1378
+ TYPE = 270
1379
+ NAME = :"ftm_responder"
1380
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1381
+ end
1382
+ class FtmResponderStats < Attribute
1383
+ TYPE = 271
1384
+ NAME = :"ftm_responder_stats"
1385
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1386
+ end
1387
+ class Timeout < Attribute
1388
+ TYPE = 272
1389
+ NAME = :"timeout"
1390
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1391
+ end
1392
+ class PeerMeasurements < Attribute
1393
+ TYPE = 273
1394
+ NAME = :"peer_measurements"
1395
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1396
+ end
1397
+ class AirtimeWeight < Attribute
1398
+ TYPE = 274
1399
+ NAME = :"airtime_weight"
1400
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1401
+ end
1402
+ class StaTxPowerSetting < Attribute
1403
+ TYPE = 275
1404
+ NAME = :"sta_tx_power_setting"
1405
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1406
+ end
1407
+ class StaTxPower < Attribute
1408
+ TYPE = 276
1409
+ NAME = :"sta_tx_power"
1410
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S16, check: nil)
1411
+ end
1412
+ class SaePassword < Attribute
1413
+ TYPE = 277
1414
+ NAME = :"sae_password"
1415
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1416
+ end
1417
+ class TwtResponder < Attribute
1418
+ TYPE = 278
1419
+ NAME = :"twt_responder"
1420
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1421
+ end
1422
+ class HeObssPd < Attribute
1423
+ TYPE = 279
1424
+ NAME = :"he_obss_pd"
1425
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1426
+ end
1427
+ class WiphyEdmgChannels < Attribute
1428
+ TYPE = 280
1429
+ NAME = :"wiphy_edmg_channels"
1430
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1431
+ end
1432
+ class WiphyEdmgBwConfig < Attribute
1433
+ TYPE = 281
1434
+ NAME = :"wiphy_edmg_bw_config"
1435
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1436
+ end
1437
+ class VlanId < Attribute
1438
+ TYPE = 282
1439
+ NAME = :"vlan_id"
1440
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1441
+ end
1442
+ class HeBssColor < Attribute
1443
+ TYPE = 283
1444
+ NAME = :"he_bss_color"
1445
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1446
+ end
1447
+ class IftypeAkmSuites < Attribute
1448
+ TYPE = 284
1449
+ NAME = :"iftype_akm_suites"
1450
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1451
+ end
1452
+ class TidConfig < Attribute
1453
+ TYPE = 285
1454
+ NAME = :"tid_config"
1455
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1456
+ end
1457
+ class ControlPortNoPreauth < Attribute
1458
+ TYPE = 286
1459
+ NAME = :"control_port_no_preauth"
1460
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1461
+ end
1462
+ class PmkLifetime < Attribute
1463
+ TYPE = 287
1464
+ NAME = :"pmk_lifetime"
1465
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1466
+ end
1467
+ class PmkReauthThreshold < Attribute
1468
+ TYPE = 288
1469
+ NAME = :"pmk_reauth_threshold"
1470
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1471
+ end
1472
+ class ReceiveMulticast < Attribute
1473
+ TYPE = 289
1474
+ NAME = :"receive_multicast"
1475
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1476
+ end
1477
+ class WiphyFreqOffset < Attribute
1478
+ TYPE = 290
1479
+ NAME = :"wiphy_freq_offset"
1480
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1481
+ end
1482
+ class CenterFreq1Offset < Attribute
1483
+ TYPE = 291
1484
+ NAME = :"center_freq1_offset"
1485
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1486
+ end
1487
+ class ScanFreqKhz < Attribute
1488
+ TYPE = 292
1489
+ NAME = :"scan_freq_khz"
1490
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1491
+ end
1492
+ class He6ghzCapability < Attribute
1493
+ TYPE = 293
1494
+ NAME = :"he_6ghz_capability"
1495
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1496
+ end
1497
+ class FilsDiscovery < Attribute
1498
+ TYPE = 294
1499
+ NAME = :"fils_discovery"
1500
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1501
+ end
1502
+ class UnsolBcastProbeResp < Attribute
1503
+ TYPE = 295
1504
+ NAME = :"unsol_bcast_probe_resp"
1505
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1506
+ end
1507
+ class S1gCapability < Attribute
1508
+ TYPE = 296
1509
+ NAME = :"s1g_capability"
1510
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1511
+ end
1512
+ class S1gCapabilityMask < Attribute
1513
+ TYPE = 297
1514
+ NAME = :"s1g_capability_mask"
1515
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1516
+ end
1517
+ class SaePwe < Attribute
1518
+ TYPE = 298
1519
+ NAME = :"sae_pwe"
1520
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1521
+ end
1522
+ class ReconnectRequested < Attribute
1523
+ TYPE = 299
1524
+ NAME = :"reconnect_requested"
1525
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1526
+ end
1527
+ class SarSpec < Attribute
1528
+ TYPE = 300
1529
+ NAME = :"sar_spec"
1530
+ end
1531
+ class DisableHe < Attribute
1532
+ TYPE = 301
1533
+ NAME = :"disable_he"
1534
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1535
+ end
1536
+ class ObssColorBitmap < Attribute
1537
+ TYPE = 302
1538
+ NAME = :"obss_color_bitmap"
1539
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1540
+ end
1541
+ class ColorChangeCount < Attribute
1542
+ TYPE = 303
1543
+ NAME = :"color_change_count"
1544
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1545
+ end
1546
+ class ColorChangeColor < Attribute
1547
+ TYPE = 304
1548
+ NAME = :"color_change_color"
1549
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1550
+ end
1551
+ class ColorChangeElems < Attribute
1552
+ TYPE = 305
1553
+ NAME = :"color_change_elems"
1554
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1555
+ end
1556
+ class MbssidConfig < Attribute
1557
+ TYPE = 306
1558
+ NAME = :"mbssid_config"
1559
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1560
+ end
1561
+ class MbssidElems < Attribute
1562
+ TYPE = 307
1563
+ NAME = :"mbssid_elems"
1564
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1565
+ end
1566
+ class RadarBackground < Attribute
1567
+ TYPE = 308
1568
+ NAME = :"radar_background"
1569
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1570
+ end
1571
+ class ApSettingsFlags < Attribute
1572
+ TYPE = 309
1573
+ NAME = :"ap_settings_flags"
1574
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1575
+ end
1576
+ class EhtCapability < Attribute
1577
+ TYPE = 310
1578
+ NAME = :"eht_capability"
1579
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1580
+ end
1581
+ class DisableEht < Attribute
1582
+ TYPE = 311
1583
+ NAME = :"disable_eht"
1584
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1585
+ end
1586
+ class MloLinks < Attribute
1587
+ TYPE = 312
1588
+ NAME = :"mlo_links"
1589
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1590
+ end
1591
+ class MloLinkId < Attribute
1592
+ TYPE = 313
1593
+ NAME = :"mlo_link_id"
1594
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1595
+ end
1596
+ class MldAddr < Attribute
1597
+ TYPE = 314
1598
+ NAME = :"mld_addr"
1599
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1600
+ end
1601
+ class MloSupport < Attribute
1602
+ TYPE = 315
1603
+ NAME = :"mlo_support"
1604
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1605
+ end
1606
+ class MaxNumAkmSuites < Attribute
1607
+ TYPE = 316
1608
+ NAME = :"max_num_akm_suites"
1609
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1610
+ end
1611
+ class EmlCapability < Attribute
1612
+ TYPE = 317
1613
+ NAME = :"eml_capability"
1614
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1615
+ end
1616
+ class MldCapaAndOps < Attribute
1617
+ TYPE = 318
1618
+ NAME = :"mld_capa_and_ops"
1619
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1620
+ end
1621
+ class TxHwTimestamp < Attribute
1622
+ TYPE = 319
1623
+ NAME = :"tx_hw_timestamp"
1624
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1625
+ end
1626
+ class RxHwTimestamp < Attribute
1627
+ TYPE = 320
1628
+ NAME = :"rx_hw_timestamp"
1629
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1630
+ end
1631
+ class TdBitmap < Attribute
1632
+ TYPE = 321
1633
+ NAME = :"td_bitmap"
1634
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1635
+ end
1636
+ class PunctBitmap < Attribute
1637
+ TYPE = 322
1638
+ NAME = :"punct_bitmap"
1639
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1640
+ end
1641
+ class MaxHwTimestampPeers < Attribute
1642
+ TYPE = 323
1643
+ NAME = :"max_hw_timestamp_peers"
1644
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1645
+ end
1646
+ class HwTimestampEnabled < Attribute
1647
+ TYPE = 324
1648
+ NAME = :"hw_timestamp_enabled"
1649
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1650
+ end
1651
+ class EmaRnrElems < Attribute
1652
+ TYPE = 325
1653
+ NAME = :"ema_rnr_elems"
1654
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1655
+ end
1656
+ class MloLinkDisabled < Attribute
1657
+ TYPE = 326
1658
+ NAME = :"mlo_link_disabled"
1659
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1660
+ end
1661
+ class BssDumpIncludeUseData < Attribute
1662
+ TYPE = 327
1663
+ NAME = :"bss_dump_include_use_data"
1664
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1665
+ end
1666
+ class MloTtlmDlink < Attribute
1667
+ TYPE = 328
1668
+ NAME = :"mlo_ttlm_dlink"
1669
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1670
+ end
1671
+ class MloTtlmUlink < Attribute
1672
+ TYPE = 329
1673
+ NAME = :"mlo_ttlm_ulink"
1674
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1675
+ end
1676
+ class AssocSppAmsdu < Attribute
1677
+ TYPE = 330
1678
+ NAME = :"assoc_spp_amsdu"
1679
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1680
+ end
1681
+ class WiphyRadios < Attribute
1682
+ TYPE = 331
1683
+ NAME = :"wiphy_radios"
1684
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1685
+ end
1686
+ class WiphyInterfaceCombinations < Attribute
1687
+ TYPE = 332
1688
+ NAME = :"wiphy_interface_combinations"
1689
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1690
+ end
1691
+ class VifRadioMask < Attribute
1692
+ TYPE = 333
1693
+ NAME = :"vif_radio_mask"
1694
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1695
+ end
1696
+ # :nodoc:
1697
+ BY_NAME = Ractor.make_shareable({:"wiphy" => Wiphy, :"wiphy_name" => WiphyName, :"ifindex" => Ifindex, :"ifname" => Ifname, :"iftype" => Iftype, :"mac" => Mac, :"key_data" => KeyData, :"key_idx" => KeyIdx, :"key_cipher" => KeyCipher, :"key_seq" => KeySeq, :"key_default" => KeyDefault, :"beacon_interval" => BeaconInterval, :"dtim_period" => DtimPeriod, :"beacon_head" => BeaconHead, :"beacon_tail" => BeaconTail, :"sta_aid" => StaAid, :"sta_flags" => StaFlags, :"sta_listen_interval" => StaListenInterval, :"sta_supported_rates" => StaSupportedRates, :"sta_vlan" => StaVlan, :"sta_info" => StaInfo, :"wiphy_bands" => WiphyBands, :"mntr_flags" => MntrFlags, :"mesh_id" => MeshId, :"sta_plink_action" => StaPlinkAction, :"mpath_next_hop" => MpathNextHop, :"mpath_info" => MpathInfo, :"bss_cts_prot" => BssCtsProt, :"bss_short_preamble" => BssShortPreamble, :"bss_short_slot_time" => BssShortSlotTime, :"ht_capability" => HtCapability, :"supported_iftypes" => SupportedIftypes, :"reg_alpha2" => RegAlpha2, :"reg_rules" => RegRules, :"mesh_config" => MeshConfig, :"bss_basic_rates" => BssBasicRates, :"wiphy_txq_params" => WiphyTxqParams, :"wiphy_freq" => WiphyFreq, :"wiphy_channel_type" => WiphyChannelType, :"key_default_mgmt" => KeyDefaultMgmt, :"mgmt_subtype" => MgmtSubtype, :"ie" => Ie, :"max_num_scan_ssids" => MaxNumScanSsids, :"scan_frequencies" => ScanFrequencies, :"scan_ssids" => ScanSsids, :"generation" => Generation, :"bss" => Bss, :"reg_initiator" => RegInitiator, :"reg_type" => RegType, :"supported_commands" => SupportedCommands, :"frame" => Frame, :"ssid" => Ssid, :"auth_type" => AuthType, :"reason_code" => ReasonCode, :"key_type" => KeyType, :"max_scan_ie_len" => MaxScanIeLen, :"cipher_suites" => CipherSuites, :"freq_before" => FreqBefore, :"freq_after" => FreqAfter, :"freq_fixed" => FreqFixed, :"wiphy_retry_short" => WiphyRetryShort, :"wiphy_retry_long" => WiphyRetryLong, :"wiphy_frag_threshold" => WiphyFragThreshold, :"wiphy_rts_threshold" => WiphyRtsThreshold, :"timed_out" => TimedOut, :"use_mfp" => UseMfp, :"sta_flags2" => StaFlags2, :"control_port" => ControlPort, :"testdata" => Testdata, :"privacy" => Privacy, :"disconnected_by_ap" => DisconnectedByAp, :"status_code" => StatusCode, :"cipher_suites_pairwise" => CipherSuitesPairwise, :"cipher_suite_group" => CipherSuiteGroup, :"wpa_versions" => WpaVersions, :"akm_suites" => AkmSuites, :"req_ie" => ReqIe, :"resp_ie" => RespIe, :"prev_bssid" => PrevBssid, :"key" => Key, :"keys" => Keys, :"pid" => Pid, :"x_4addr" => X4addr, :"survey_info" => SurveyInfo, :"pmkid" => Pmkid, :"max_num_pmkids" => MaxNumPmkids, :"duration" => Duration, :"cookie" => Cookie, :"wiphy_coverage_class" => WiphyCoverageClass, :"tx_rates" => TxRates, :"frame_match" => FrameMatch, :"ack" => Ack, :"ps_state" => PsState, :"cqm" => Cqm, :"local_state_change" => LocalStateChange, :"ap_isolate" => ApIsolate, :"wiphy_tx_power_setting" => WiphyTxPowerSetting, :"wiphy_tx_power_level" => WiphyTxPowerLevel, :"tx_frame_types" => TxFrameTypes, :"rx_frame_types" => RxFrameTypes, :"frame_type" => FrameType, :"control_port_ethertype" => ControlPortEthertype, :"control_port_no_encrypt" => ControlPortNoEncrypt, :"support_ibss_rsn" => SupportIbssRsn, :"wiphy_antenna_tx" => WiphyAntennaTx, :"wiphy_antenna_rx" => WiphyAntennaRx, :"mcast_rate" => McastRate, :"offchannel_tx_ok" => OffchannelTxOk, :"bss_ht_opmode" => BssHtOpmode, :"key_default_types" => KeyDefaultTypes, :"max_remain_on_channel_duration" => MaxRemainOnChannelDuration, :"mesh_setup" => MeshSetup, :"wiphy_antenna_avail_tx" => WiphyAntennaAvailTx, :"wiphy_antenna_avail_rx" => WiphyAntennaAvailRx, :"support_mesh_auth" => SupportMeshAuth, :"sta_plink_state" => StaPlinkState, :"wowlan_triggers" => WowlanTriggers, :"wowlan_triggers_supported" => WowlanTriggersSupported, :"sched_scan_interval" => SchedScanInterval, :"interface_combinations" => InterfaceCombinations, :"software_iftypes" => SoftwareIftypes, :"rekey_data" => RekeyData, :"max_num_sched_scan_ssids" => MaxNumSchedScanSsids, :"max_sched_scan_ie_len" => MaxSchedScanIeLen, :"scan_supp_rates" => ScanSuppRates, :"hidden_ssid" => HiddenSsid, :"ie_probe_resp" => IeProbeResp, :"ie_assoc_resp" => IeAssocResp, :"sta_wme" => StaWme, :"support_ap_uapsd" => SupportApUapsd, :"roam_support" => RoamSupport, :"sched_scan_match" => SchedScanMatch, :"max_match_sets" => MaxMatchSets, :"pmksa_candidate" => PmksaCandidate, :"tx_no_cck_rate" => TxNoCckRate, :"tdls_action" => TdlsAction, :"tdls_dialog_token" => TdlsDialogToken, :"tdls_operation" => TdlsOperation, :"tdls_support" => TdlsSupport, :"tdls_external_setup" => TdlsExternalSetup, :"device_ap_sme" => DeviceApSme, :"dont_wait_for_ack" => DontWaitForAck, :"feature_flags" => FeatureFlags, :"probe_resp_offload" => ProbeRespOffload, :"probe_resp" => ProbeResp, :"dfs_region" => DfsRegion, :"disable_ht" => DisableHt, :"ht_capability_mask" => HtCapabilityMask, :"noack_map" => NoackMap, :"inactivity_timeout" => InactivityTimeout, :"rx_signal_dbm" => RxSignalDbm, :"bg_scan_period" => BgScanPeriod, :"wdev" => Wdev, :"user_reg_hint_type" => UserRegHintType, :"conn_failed_reason" => ConnFailedReason, :"auth_data" => AuthData, :"vht_capability" => VhtCapability, :"scan_flags" => ScanFlags, :"channel_width" => ChannelWidth, :"center_freq1" => CenterFreq1, :"center_freq2" => CenterFreq2, :"p2p_ctwindow" => P2pCtwindow, :"p2p_oppps" => P2pOppps, :"local_mesh_power_mode" => LocalMeshPowerMode, :"acl_policy" => AclPolicy, :"mac_addrs" => MacAddrs, :"mac_acl_max" => MacAclMax, :"radar_event" => RadarEvent, :"ext_capa" => ExtCapa, :"ext_capa_mask" => ExtCapaMask, :"sta_capability" => StaCapability, :"sta_ext_capability" => StaExtCapability, :"protocol_features" => ProtocolFeatures, :"split_wiphy_dump" => SplitWiphyDump, :"disable_vht" => DisableVht, :"vht_capability_mask" => VhtCapabilityMask, :"mdid" => Mdid, :"ie_ric" => IeRic, :"crit_prot_id" => CritProtId, :"max_crit_prot_duration" => MaxCritProtDuration, :"peer_aid" => PeerAid, :"coalesce_rule" => CoalesceRule, :"ch_switch_count" => ChSwitchCount, :"ch_switch_block_tx" => ChSwitchBlockTx, :"csa_ies" => CsaIes, :"cntdwn_offs_beacon" => CntdwnOffsBeacon, :"cntdwn_offs_presp" => CntdwnOffsPresp, :"rxmgmt_flags" => RxmgmtFlags, :"sta_supported_channels" => StaSupportedChannels, :"sta_supported_oper_classes" => StaSupportedOperClasses, :"handle_dfs" => HandleDfs, :"support_5_mhz" => Support5Mhz, :"support_10_mhz" => Support10Mhz, :"opmode_notif" => OpmodeNotif, :"vendor_id" => VendorId, :"vendor_subcmd" => VendorSubcmd, :"vendor_data" => VendorData, :"vendor_events" => VendorEvents, :"qos_map" => QosMap, :"mac_hint" => MacHint, :"wiphy_freq_hint" => WiphyFreqHint, :"max_ap_assoc_sta" => MaxApAssocSta, :"tdls_peer_capability" => TdlsPeerCapability, :"socket_owner" => SocketOwner, :"csa_c_offsets_tx" => CsaCOffsetsTx, :"max_csa_counters" => MaxCsaCounters, :"tdls_initiator" => TdlsInitiator, :"use_rrm" => UseRrm, :"wiphy_dyn_ack" => WiphyDynAck, :"tsid" => Tsid, :"user_prio" => UserPrio, :"admitted_time" => AdmittedTime, :"smps_mode" => SmpsMode, :"oper_class" => OperClass, :"mac_mask" => MacMask, :"wiphy_self_managed_reg" => WiphySelfManagedReg, :"ext_features" => ExtFeatures, :"survey_radio_stats" => SurveyRadioStats, :"netns_fd" => NetnsFd, :"sched_scan_delay" => SchedScanDelay, :"reg_indoor" => RegIndoor, :"max_num_sched_scan_plans" => MaxNumSchedScanPlans, :"max_scan_plan_interval" => MaxScanPlanInterval, :"max_scan_plan_iterations" => MaxScanPlanIterations, :"sched_scan_plans" => SchedScanPlans, :"pbss" => Pbss, :"bss_select" => BssSelect, :"sta_support_p2p_ps" => StaSupportP2pPs, :"pad" => Pad, :"iftype_ext_capa" => IftypeExtCapa, :"mu_mimo_group_data" => MuMimoGroupData, :"mu_mimo_follow_mac_addr" => MuMimoFollowMacAddr, :"scan_start_time_tsf" => ScanStartTimeTsf, :"scan_start_time_tsf_bssid" => ScanStartTimeTsfBssid, :"measurement_duration" => MeasurementDuration, :"measurement_duration_mandatory" => MeasurementDurationMandatory, :"mesh_peer_aid" => MeshPeerAid, :"nan_master_pref" => NanMasterPref, :"bands" => Bands, :"nan_func" => NanFunc, :"nan_match" => NanMatch, :"fils_kek" => FilsKek, :"fils_nonces" => FilsNonces, :"multicast_to_unicast_enabled" => MulticastToUnicastEnabled, :"bssid" => Bssid, :"sched_scan_relative_rssi" => SchedScanRelativeRssi, :"sched_scan_rssi_adjust" => SchedScanRssiAdjust, :"timeout_reason" => TimeoutReason, :"fils_erp_username" => FilsErpUsername, :"fils_erp_realm" => FilsErpRealm, :"fils_erp_next_seq_num" => FilsErpNextSeqNum, :"fils_erp_rrk" => FilsErpRrk, :"fils_cache_id" => FilsCacheId, :"pmk" => Pmk, :"sched_scan_multi" => SchedScanMulti, :"sched_scan_max_reqs" => SchedScanMaxReqs, :"want_1x_4way_hs" => Want1x4wayHs, :"pmkr0_name" => Pmkr0Name, :"port_authorized" => PortAuthorized, :"external_auth_action" => ExternalAuthAction, :"external_auth_support" => ExternalAuthSupport, :"nss" => Nss, :"ack_signal" => AckSignal, :"control_port_over_nl80211" => ControlPortOverNl80211, :"txq_stats" => TxqStats, :"txq_limit" => TxqLimit, :"txq_memory_limit" => TxqMemoryLimit, :"txq_quantum" => TxqQuantum, :"he_capability" => HeCapability, :"ftm_responder" => FtmResponder, :"ftm_responder_stats" => FtmResponderStats, :"timeout" => Timeout, :"peer_measurements" => PeerMeasurements, :"airtime_weight" => AirtimeWeight, :"sta_tx_power_setting" => StaTxPowerSetting, :"sta_tx_power" => StaTxPower, :"sae_password" => SaePassword, :"twt_responder" => TwtResponder, :"he_obss_pd" => HeObssPd, :"wiphy_edmg_channels" => WiphyEdmgChannels, :"wiphy_edmg_bw_config" => WiphyEdmgBwConfig, :"vlan_id" => VlanId, :"he_bss_color" => HeBssColor, :"iftype_akm_suites" => IftypeAkmSuites, :"tid_config" => TidConfig, :"control_port_no_preauth" => ControlPortNoPreauth, :"pmk_lifetime" => PmkLifetime, :"pmk_reauth_threshold" => PmkReauthThreshold, :"receive_multicast" => ReceiveMulticast, :"wiphy_freq_offset" => WiphyFreqOffset, :"center_freq1_offset" => CenterFreq1Offset, :"scan_freq_khz" => ScanFreqKhz, :"he_6ghz_capability" => He6ghzCapability, :"fils_discovery" => FilsDiscovery, :"unsol_bcast_probe_resp" => UnsolBcastProbeResp, :"s1g_capability" => S1gCapability, :"s1g_capability_mask" => S1gCapabilityMask, :"sae_pwe" => SaePwe, :"reconnect_requested" => ReconnectRequested, :"sar_spec" => SarSpec, :"disable_he" => DisableHe, :"obss_color_bitmap" => ObssColorBitmap, :"color_change_count" => ColorChangeCount, :"color_change_color" => ColorChangeColor, :"color_change_elems" => ColorChangeElems, :"mbssid_config" => MbssidConfig, :"mbssid_elems" => MbssidElems, :"radar_background" => RadarBackground, :"ap_settings_flags" => ApSettingsFlags, :"eht_capability" => EhtCapability, :"disable_eht" => DisableEht, :"mlo_links" => MloLinks, :"mlo_link_id" => MloLinkId, :"mld_addr" => MldAddr, :"mlo_support" => MloSupport, :"max_num_akm_suites" => MaxNumAkmSuites, :"eml_capability" => EmlCapability, :"mld_capa_and_ops" => MldCapaAndOps, :"tx_hw_timestamp" => TxHwTimestamp, :"rx_hw_timestamp" => RxHwTimestamp, :"td_bitmap" => TdBitmap, :"punct_bitmap" => PunctBitmap, :"max_hw_timestamp_peers" => MaxHwTimestampPeers, :"hw_timestamp_enabled" => HwTimestampEnabled, :"ema_rnr_elems" => EmaRnrElems, :"mlo_link_disabled" => MloLinkDisabled, :"bss_dump_include_use_data" => BssDumpIncludeUseData, :"mlo_ttlm_dlink" => MloTtlmDlink, :"mlo_ttlm_ulink" => MloTtlmUlink, :"assoc_spp_amsdu" => AssocSppAmsdu, :"wiphy_radios" => WiphyRadios, :"wiphy_interface_combinations" => WiphyInterfaceCombinations, :"vif_radio_mask" => VifRadioMask}) #: Hash[::Symbol, Attribute]
1698
+ # :nodoc:
1699
+ BY_TYPE = Ractor.make_shareable({1 => Wiphy, 2 => WiphyName, 3 => Ifindex, 4 => Ifname, 5 => Iftype, 6 => Mac, 7 => KeyData, 8 => KeyIdx, 9 => KeyCipher, 10 => KeySeq, 11 => KeyDefault, 12 => BeaconInterval, 13 => DtimPeriod, 14 => BeaconHead, 15 => BeaconTail, 16 => StaAid, 17 => StaFlags, 18 => StaListenInterval, 19 => StaSupportedRates, 20 => StaVlan, 21 => StaInfo, 22 => WiphyBands, 23 => MntrFlags, 24 => MeshId, 25 => StaPlinkAction, 26 => MpathNextHop, 27 => MpathInfo, 28 => BssCtsProt, 29 => BssShortPreamble, 30 => BssShortSlotTime, 31 => HtCapability, 32 => SupportedIftypes, 33 => RegAlpha2, 34 => RegRules, 35 => MeshConfig, 36 => BssBasicRates, 37 => WiphyTxqParams, 38 => WiphyFreq, 39 => WiphyChannelType, 40 => KeyDefaultMgmt, 41 => MgmtSubtype, 42 => Ie, 43 => MaxNumScanSsids, 44 => ScanFrequencies, 45 => ScanSsids, 46 => Generation, 47 => Bss, 48 => RegInitiator, 49 => RegType, 50 => SupportedCommands, 51 => Frame, 52 => Ssid, 53 => AuthType, 54 => ReasonCode, 55 => KeyType, 56 => MaxScanIeLen, 57 => CipherSuites, 58 => FreqBefore, 59 => FreqAfter, 60 => FreqFixed, 61 => WiphyRetryShort, 62 => WiphyRetryLong, 63 => WiphyFragThreshold, 64 => WiphyRtsThreshold, 65 => TimedOut, 66 => UseMfp, 67 => StaFlags2, 68 => ControlPort, 69 => Testdata, 70 => Privacy, 71 => DisconnectedByAp, 72 => StatusCode, 73 => CipherSuitesPairwise, 74 => CipherSuiteGroup, 75 => WpaVersions, 76 => AkmSuites, 77 => ReqIe, 78 => RespIe, 79 => PrevBssid, 80 => Key, 81 => Keys, 82 => Pid, 83 => X4addr, 84 => SurveyInfo, 85 => Pmkid, 86 => MaxNumPmkids, 87 => Duration, 88 => Cookie, 89 => WiphyCoverageClass, 90 => TxRates, 91 => FrameMatch, 92 => Ack, 93 => PsState, 94 => Cqm, 95 => LocalStateChange, 96 => ApIsolate, 97 => WiphyTxPowerSetting, 98 => WiphyTxPowerLevel, 99 => TxFrameTypes, 100 => RxFrameTypes, 101 => FrameType, 102 => ControlPortEthertype, 103 => ControlPortNoEncrypt, 104 => SupportIbssRsn, 105 => WiphyAntennaTx, 106 => WiphyAntennaRx, 107 => McastRate, 108 => OffchannelTxOk, 109 => BssHtOpmode, 110 => KeyDefaultTypes, 111 => MaxRemainOnChannelDuration, 112 => MeshSetup, 113 => WiphyAntennaAvailTx, 114 => WiphyAntennaAvailRx, 115 => SupportMeshAuth, 116 => StaPlinkState, 117 => WowlanTriggers, 118 => WowlanTriggersSupported, 119 => SchedScanInterval, 120 => InterfaceCombinations, 121 => SoftwareIftypes, 122 => RekeyData, 123 => MaxNumSchedScanSsids, 124 => MaxSchedScanIeLen, 125 => ScanSuppRates, 126 => HiddenSsid, 127 => IeProbeResp, 128 => IeAssocResp, 129 => StaWme, 130 => SupportApUapsd, 131 => RoamSupport, 132 => SchedScanMatch, 133 => MaxMatchSets, 134 => PmksaCandidate, 135 => TxNoCckRate, 136 => TdlsAction, 137 => TdlsDialogToken, 138 => TdlsOperation, 139 => TdlsSupport, 140 => TdlsExternalSetup, 141 => DeviceApSme, 142 => DontWaitForAck, 143 => FeatureFlags, 144 => ProbeRespOffload, 145 => ProbeResp, 146 => DfsRegion, 147 => DisableHt, 148 => HtCapabilityMask, 149 => NoackMap, 150 => InactivityTimeout, 151 => RxSignalDbm, 152 => BgScanPeriod, 153 => Wdev, 154 => UserRegHintType, 155 => ConnFailedReason, 156 => AuthData, 157 => VhtCapability, 158 => ScanFlags, 159 => ChannelWidth, 160 => CenterFreq1, 161 => CenterFreq2, 162 => P2pCtwindow, 163 => P2pOppps, 164 => LocalMeshPowerMode, 165 => AclPolicy, 166 => MacAddrs, 167 => MacAclMax, 168 => RadarEvent, 169 => ExtCapa, 170 => ExtCapaMask, 171 => StaCapability, 172 => StaExtCapability, 173 => ProtocolFeatures, 174 => SplitWiphyDump, 175 => DisableVht, 176 => VhtCapabilityMask, 177 => Mdid, 178 => IeRic, 179 => CritProtId, 180 => MaxCritProtDuration, 181 => PeerAid, 182 => CoalesceRule, 183 => ChSwitchCount, 184 => ChSwitchBlockTx, 185 => CsaIes, 186 => CntdwnOffsBeacon, 187 => CntdwnOffsPresp, 188 => RxmgmtFlags, 189 => StaSupportedChannels, 190 => StaSupportedOperClasses, 191 => HandleDfs, 192 => Support5Mhz, 193 => Support10Mhz, 194 => OpmodeNotif, 195 => VendorId, 196 => VendorSubcmd, 197 => VendorData, 198 => VendorEvents, 199 => QosMap, 200 => MacHint, 201 => WiphyFreqHint, 202 => MaxApAssocSta, 203 => TdlsPeerCapability, 204 => SocketOwner, 205 => CsaCOffsetsTx, 206 => MaxCsaCounters, 207 => TdlsInitiator, 208 => UseRrm, 209 => WiphyDynAck, 210 => Tsid, 211 => UserPrio, 212 => AdmittedTime, 213 => SmpsMode, 214 => OperClass, 215 => MacMask, 216 => WiphySelfManagedReg, 217 => ExtFeatures, 218 => SurveyRadioStats, 219 => NetnsFd, 220 => SchedScanDelay, 221 => RegIndoor, 222 => MaxNumSchedScanPlans, 223 => MaxScanPlanInterval, 224 => MaxScanPlanIterations, 225 => SchedScanPlans, 226 => Pbss, 227 => BssSelect, 228 => StaSupportP2pPs, 229 => Pad, 230 => IftypeExtCapa, 231 => MuMimoGroupData, 232 => MuMimoFollowMacAddr, 233 => ScanStartTimeTsf, 234 => ScanStartTimeTsfBssid, 235 => MeasurementDuration, 236 => MeasurementDurationMandatory, 237 => MeshPeerAid, 238 => NanMasterPref, 239 => Bands, 240 => NanFunc, 241 => NanMatch, 242 => FilsKek, 243 => FilsNonces, 244 => MulticastToUnicastEnabled, 245 => Bssid, 246 => SchedScanRelativeRssi, 247 => SchedScanRssiAdjust, 248 => TimeoutReason, 249 => FilsErpUsername, 250 => FilsErpRealm, 251 => FilsErpNextSeqNum, 252 => FilsErpRrk, 253 => FilsCacheId, 254 => Pmk, 255 => SchedScanMulti, 256 => SchedScanMaxReqs, 257 => Want1x4wayHs, 258 => Pmkr0Name, 259 => PortAuthorized, 260 => ExternalAuthAction, 261 => ExternalAuthSupport, 262 => Nss, 263 => AckSignal, 264 => ControlPortOverNl80211, 265 => TxqStats, 266 => TxqLimit, 267 => TxqMemoryLimit, 268 => TxqQuantum, 269 => HeCapability, 270 => FtmResponder, 271 => FtmResponderStats, 272 => Timeout, 273 => PeerMeasurements, 274 => AirtimeWeight, 275 => StaTxPowerSetting, 276 => StaTxPower, 277 => SaePassword, 278 => TwtResponder, 279 => HeObssPd, 280 => WiphyEdmgChannels, 281 => WiphyEdmgBwConfig, 282 => VlanId, 283 => HeBssColor, 284 => IftypeAkmSuites, 285 => TidConfig, 286 => ControlPortNoPreauth, 287 => PmkLifetime, 288 => PmkReauthThreshold, 289 => ReceiveMulticast, 290 => WiphyFreqOffset, 291 => CenterFreq1Offset, 292 => ScanFreqKhz, 293 => He6ghzCapability, 294 => FilsDiscovery, 295 => UnsolBcastProbeResp, 296 => S1gCapability, 297 => S1gCapabilityMask, 298 => SaePwe, 299 => ReconnectRequested, 300 => SarSpec, 301 => DisableHe, 302 => ObssColorBitmap, 303 => ColorChangeCount, 304 => ColorChangeColor, 305 => ColorChangeElems, 306 => MbssidConfig, 307 => MbssidElems, 308 => RadarBackground, 309 => ApSettingsFlags, 310 => EhtCapability, 311 => DisableEht, 312 => MloLinks, 313 => MloLinkId, 314 => MldAddr, 315 => MloSupport, 316 => MaxNumAkmSuites, 317 => EmlCapability, 318 => MldCapaAndOps, 319 => TxHwTimestamp, 320 => RxHwTimestamp, 321 => TdBitmap, 322 => PunctBitmap, 323 => MaxHwTimestampPeers, 324 => HwTimestampEnabled, 325 => EmaRnrElems, 326 => MloLinkDisabled, 327 => BssDumpIncludeUseData, 328 => MloTtlmDlink, 329 => MloTtlmUlink, 330 => AssocSppAmsdu, 331 => WiphyRadios, 332 => WiphyInterfaceCombinations, 333 => VifRadioMask}) #: Hash[::Integer, Attribute]
1700
+ class << self
1701
+ # Looks up Attribute class by name.
1702
+ #--
1703
+ # @rbs name: Symbol
1704
+ # @rbs return: Attribute
1705
+ def by_name(name); BY_NAME.fetch(name); end
1706
+ # Looks up Attribute class by type value.
1707
+ #--
1708
+ # @rbs type: Integer
1709
+ # @rbs return: Attribute
1710
+ def by_type(type); BY_TYPE.fetch(type); end
1711
+ end
1712
+ end
1713
+ class FrameTypeAttrs < ::Nl::Protocols::Genl::AttributeSet
1714
+ # Abstract class
1715
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1716
+ end
1717
+ class FrameType < Attribute
1718
+ TYPE = 101
1719
+ NAME = :"frame_type"
1720
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1721
+ end
1722
+ # :nodoc:
1723
+ BY_NAME = Ractor.make_shareable({:"frame_type" => FrameType}) #: Hash[::Symbol, Attribute]
1724
+ # :nodoc:
1725
+ BY_TYPE = Ractor.make_shareable({101 => FrameType}) #: Hash[::Integer, Attribute]
1726
+ class << self
1727
+ # Looks up Attribute class by name.
1728
+ #--
1729
+ # @rbs name: Symbol
1730
+ # @rbs return: Attribute
1731
+ def by_name(name); BY_NAME.fetch(name); end
1732
+ # Looks up Attribute class by type value.
1733
+ #--
1734
+ # @rbs type: Integer
1735
+ # @rbs return: Attribute
1736
+ def by_type(type); BY_TYPE.fetch(type); end
1737
+ end
1738
+ end
1739
+ class WiphyBands < ::Nl::Protocols::Genl::AttributeSet
1740
+ # Abstract class
1741
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1742
+ end
1743
+ class X2ghz < Attribute
1744
+ TYPE = 0
1745
+ NAME = :"x_2ghz"
1746
+ end
1747
+ class X5ghz < Attribute
1748
+ TYPE = 1
1749
+ NAME = :"x_5ghz"
1750
+ end
1751
+ class X60ghz < Attribute
1752
+ TYPE = 2
1753
+ NAME = :"x_60ghz"
1754
+ end
1755
+ class X6ghz < Attribute
1756
+ TYPE = 3
1757
+ NAME = :"x_6ghz"
1758
+ end
1759
+ class S1ghz < Attribute
1760
+ TYPE = 4
1761
+ NAME = :"s1ghz"
1762
+ end
1763
+ class Lc < Attribute
1764
+ TYPE = 5
1765
+ NAME = :"lc"
1766
+ end
1767
+ # :nodoc:
1768
+ BY_NAME = Ractor.make_shareable({:"x_2ghz" => X2ghz, :"x_5ghz" => X5ghz, :"x_60ghz" => X60ghz, :"x_6ghz" => X6ghz, :"s1ghz" => S1ghz, :"lc" => Lc}) #: Hash[::Symbol, Attribute]
1769
+ # :nodoc:
1770
+ BY_TYPE = Ractor.make_shareable({0 => X2ghz, 1 => X5ghz, 2 => X60ghz, 3 => X6ghz, 4 => S1ghz, 5 => Lc}) #: Hash[::Integer, Attribute]
1771
+ class << self
1772
+ # Looks up Attribute class by name.
1773
+ #--
1774
+ # @rbs name: Symbol
1775
+ # @rbs return: Attribute
1776
+ def by_name(name); BY_NAME.fetch(name); end
1777
+ # Looks up Attribute class by type value.
1778
+ #--
1779
+ # @rbs type: Integer
1780
+ # @rbs return: Attribute
1781
+ def by_type(type); BY_TYPE.fetch(type); end
1782
+ end
1783
+ end
1784
+ class BandAttrs < ::Nl::Protocols::Genl::AttributeSet
1785
+ # Abstract class
1786
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1787
+ end
1788
+ class Freqs < Attribute
1789
+ TYPE = 1
1790
+ NAME = :"freqs"
1791
+ end
1792
+ class Rates < Attribute
1793
+ TYPE = 2
1794
+ NAME = :"rates"
1795
+ end
1796
+ class HtMcsSet < Attribute
1797
+ TYPE = 3
1798
+ NAME = :"ht_mcs_set"
1799
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1800
+ end
1801
+ class HtCapa < Attribute
1802
+ TYPE = 4
1803
+ NAME = :"ht_capa"
1804
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1805
+ end
1806
+ class HtAmpduFactor < Attribute
1807
+ TYPE = 5
1808
+ NAME = :"ht_ampdu_factor"
1809
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1810
+ end
1811
+ class HtAmpduDensity < Attribute
1812
+ TYPE = 6
1813
+ NAME = :"ht_ampdu_density"
1814
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1815
+ end
1816
+ class VhtMcsSet < Attribute
1817
+ TYPE = 7
1818
+ NAME = :"vht_mcs_set"
1819
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1820
+ end
1821
+ class VhtCapa < Attribute
1822
+ TYPE = 8
1823
+ NAME = :"vht_capa"
1824
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1825
+ end
1826
+ class IftypeData < Attribute
1827
+ TYPE = 9
1828
+ NAME = :"iftype_data"
1829
+ end
1830
+ class EdmgChannels < Attribute
1831
+ TYPE = 10
1832
+ NAME = :"edmg_channels"
1833
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1834
+ end
1835
+ class EdmgBwConfig < Attribute
1836
+ TYPE = 11
1837
+ NAME = :"edmg_bw_config"
1838
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1839
+ end
1840
+ class S1gMcsNssSet < Attribute
1841
+ TYPE = 12
1842
+ NAME = :"s1g_mcs_nss_set"
1843
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1844
+ end
1845
+ class S1gCapa < Attribute
1846
+ TYPE = 13
1847
+ NAME = :"s1g_capa"
1848
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1849
+ end
1850
+ # :nodoc:
1851
+ BY_NAME = Ractor.make_shareable({:"freqs" => Freqs, :"rates" => Rates, :"ht_mcs_set" => HtMcsSet, :"ht_capa" => HtCapa, :"ht_ampdu_factor" => HtAmpduFactor, :"ht_ampdu_density" => HtAmpduDensity, :"vht_mcs_set" => VhtMcsSet, :"vht_capa" => VhtCapa, :"iftype_data" => IftypeData, :"edmg_channels" => EdmgChannels, :"edmg_bw_config" => EdmgBwConfig, :"s1g_mcs_nss_set" => S1gMcsNssSet, :"s1g_capa" => S1gCapa}) #: Hash[::Symbol, Attribute]
1852
+ # :nodoc:
1853
+ BY_TYPE = Ractor.make_shareable({1 => Freqs, 2 => Rates, 3 => HtMcsSet, 4 => HtCapa, 5 => HtAmpduFactor, 6 => HtAmpduDensity, 7 => VhtMcsSet, 8 => VhtCapa, 9 => IftypeData, 10 => EdmgChannels, 11 => EdmgBwConfig, 12 => S1gMcsNssSet, 13 => S1gCapa}) #: Hash[::Integer, Attribute]
1854
+ class << self
1855
+ # Looks up Attribute class by name.
1856
+ #--
1857
+ # @rbs name: Symbol
1858
+ # @rbs return: Attribute
1859
+ def by_name(name); BY_NAME.fetch(name); end
1860
+ # Looks up Attribute class by type value.
1861
+ #--
1862
+ # @rbs type: Integer
1863
+ # @rbs return: Attribute
1864
+ def by_type(type); BY_TYPE.fetch(type); end
1865
+ end
1866
+ end
1867
+ class BitrateAttrs < ::Nl::Protocols::Genl::AttributeSet
1868
+ # Abstract class
1869
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1870
+ end
1871
+ class Rate < Attribute
1872
+ TYPE = 1
1873
+ NAME = :"rate"
1874
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1875
+ end
1876
+ class X2ghzShortpreamble < Attribute
1877
+ TYPE = 2
1878
+ NAME = :"x_2ghz_shortpreamble"
1879
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1880
+ end
1881
+ # :nodoc:
1882
+ BY_NAME = Ractor.make_shareable({:"rate" => Rate, :"x_2ghz_shortpreamble" => X2ghzShortpreamble}) #: Hash[::Symbol, Attribute]
1883
+ # :nodoc:
1884
+ BY_TYPE = Ractor.make_shareable({1 => Rate, 2 => X2ghzShortpreamble}) #: Hash[::Integer, Attribute]
1885
+ class << self
1886
+ # Looks up Attribute class by name.
1887
+ #--
1888
+ # @rbs name: Symbol
1889
+ # @rbs return: Attribute
1890
+ def by_name(name); BY_NAME.fetch(name); end
1891
+ # Looks up Attribute class by type value.
1892
+ #--
1893
+ # @rbs type: Integer
1894
+ # @rbs return: Attribute
1895
+ def by_type(type); BY_TYPE.fetch(type); end
1896
+ end
1897
+ end
1898
+ class FrequencyAttrs < ::Nl::Protocols::Genl::AttributeSet
1899
+ # Abstract class
1900
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1901
+ end
1902
+ class Freq < Attribute
1903
+ TYPE = 1
1904
+ NAME = :"freq"
1905
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1906
+ end
1907
+ class Disabled < Attribute
1908
+ TYPE = 2
1909
+ NAME = :"disabled"
1910
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1911
+ end
1912
+ class NoIr < Attribute
1913
+ TYPE = 3
1914
+ NAME = :"no_ir"
1915
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1916
+ end
1917
+ class NoIbss < Attribute
1918
+ TYPE = 4
1919
+ NAME = :"no_ibss"
1920
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1921
+ end
1922
+ class Radar < Attribute
1923
+ TYPE = 5
1924
+ NAME = :"radar"
1925
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1926
+ end
1927
+ class MaxTxPower < Attribute
1928
+ TYPE = 6
1929
+ NAME = :"max_tx_power"
1930
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1931
+ end
1932
+ class DfsState < Attribute
1933
+ TYPE = 7
1934
+ NAME = :"dfs_state"
1935
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1936
+ end
1937
+ class DfsTime < Attribute
1938
+ TYPE = 8
1939
+ NAME = :"dfs_time"
1940
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1941
+ end
1942
+ class NoHt40Minus < Attribute
1943
+ TYPE = 9
1944
+ NAME = :"no_ht40_minus"
1945
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1946
+ end
1947
+ class NoHt40Plus < Attribute
1948
+ TYPE = 10
1949
+ NAME = :"no_ht40_plus"
1950
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1951
+ end
1952
+ class No80mhz < Attribute
1953
+ TYPE = 11
1954
+ NAME = :"no_80mhz"
1955
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1956
+ end
1957
+ class No160mhz < Attribute
1958
+ TYPE = 12
1959
+ NAME = :"no_160mhz"
1960
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1961
+ end
1962
+ class DfsCacTime < Attribute
1963
+ TYPE = 13
1964
+ NAME = :"dfs_cac_time"
1965
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1966
+ end
1967
+ class IndoorOnly < Attribute
1968
+ TYPE = 14
1969
+ NAME = :"indoor_only"
1970
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1971
+ end
1972
+ class IrConcurrent < Attribute
1973
+ TYPE = 15
1974
+ NAME = :"ir_concurrent"
1975
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1976
+ end
1977
+ class No20mhz < Attribute
1978
+ TYPE = 16
1979
+ NAME = :"no_20mhz"
1980
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1981
+ end
1982
+ class No10mhz < Attribute
1983
+ TYPE = 17
1984
+ NAME = :"no_10mhz"
1985
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1986
+ end
1987
+ class Wmm < Attribute
1988
+ TYPE = 18
1989
+ NAME = :"wmm"
1990
+ end
1991
+ class NoHe < Attribute
1992
+ TYPE = 19
1993
+ NAME = :"no_he"
1994
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
1995
+ end
1996
+ class Offset < Attribute
1997
+ TYPE = 20
1998
+ NAME = :"offset"
1999
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2000
+ end
2001
+ class X1mhz < Attribute
2002
+ TYPE = 21
2003
+ NAME = :"x_1mhz"
2004
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2005
+ end
2006
+ class X2mhz < Attribute
2007
+ TYPE = 22
2008
+ NAME = :"x_2mhz"
2009
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2010
+ end
2011
+ class X4mhz < Attribute
2012
+ TYPE = 23
2013
+ NAME = :"x_4mhz"
2014
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2015
+ end
2016
+ class X8mhz < Attribute
2017
+ TYPE = 24
2018
+ NAME = :"x_8mhz"
2019
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2020
+ end
2021
+ class X16mhz < Attribute
2022
+ TYPE = 25
2023
+ NAME = :"x_16mhz"
2024
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2025
+ end
2026
+ class No320mhz < Attribute
2027
+ TYPE = 26
2028
+ NAME = :"no_320mhz"
2029
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2030
+ end
2031
+ class NoEht < Attribute
2032
+ TYPE = 27
2033
+ NAME = :"no_eht"
2034
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2035
+ end
2036
+ class Psd < Attribute
2037
+ TYPE = 28
2038
+ NAME = :"psd"
2039
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2040
+ end
2041
+ class DfsConcurrent < Attribute
2042
+ TYPE = 29
2043
+ NAME = :"dfs_concurrent"
2044
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2045
+ end
2046
+ class No6ghzVlpClient < Attribute
2047
+ TYPE = 30
2048
+ NAME = :"no_6ghz_vlp_client"
2049
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2050
+ end
2051
+ class No6ghzAfcClient < Attribute
2052
+ TYPE = 31
2053
+ NAME = :"no_6ghz_afc_client"
2054
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2055
+ end
2056
+ class CanMonitor < Attribute
2057
+ TYPE = 32
2058
+ NAME = :"can_monitor"
2059
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2060
+ end
2061
+ class Allow6ghzVlpAp < Attribute
2062
+ TYPE = 33
2063
+ NAME = :"allow_6ghz_vlp_ap"
2064
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2065
+ end
2066
+ # :nodoc:
2067
+ BY_NAME = Ractor.make_shareable({:"freq" => Freq, :"disabled" => Disabled, :"no_ir" => NoIr, :"no_ibss" => NoIbss, :"radar" => Radar, :"max_tx_power" => MaxTxPower, :"dfs_state" => DfsState, :"dfs_time" => DfsTime, :"no_ht40_minus" => NoHt40Minus, :"no_ht40_plus" => NoHt40Plus, :"no_80mhz" => No80mhz, :"no_160mhz" => No160mhz, :"dfs_cac_time" => DfsCacTime, :"indoor_only" => IndoorOnly, :"ir_concurrent" => IrConcurrent, :"no_20mhz" => No20mhz, :"no_10mhz" => No10mhz, :"wmm" => Wmm, :"no_he" => NoHe, :"offset" => Offset, :"x_1mhz" => X1mhz, :"x_2mhz" => X2mhz, :"x_4mhz" => X4mhz, :"x_8mhz" => X8mhz, :"x_16mhz" => X16mhz, :"no_320mhz" => No320mhz, :"no_eht" => NoEht, :"psd" => Psd, :"dfs_concurrent" => DfsConcurrent, :"no_6ghz_vlp_client" => No6ghzVlpClient, :"no_6ghz_afc_client" => No6ghzAfcClient, :"can_monitor" => CanMonitor, :"allow_6ghz_vlp_ap" => Allow6ghzVlpAp}) #: Hash[::Symbol, Attribute]
2068
+ # :nodoc:
2069
+ BY_TYPE = Ractor.make_shareable({1 => Freq, 2 => Disabled, 3 => NoIr, 4 => NoIbss, 5 => Radar, 6 => MaxTxPower, 7 => DfsState, 8 => DfsTime, 9 => NoHt40Minus, 10 => NoHt40Plus, 11 => No80mhz, 12 => No160mhz, 13 => DfsCacTime, 14 => IndoorOnly, 15 => IrConcurrent, 16 => No20mhz, 17 => No10mhz, 18 => Wmm, 19 => NoHe, 20 => Offset, 21 => X1mhz, 22 => X2mhz, 23 => X4mhz, 24 => X8mhz, 25 => X16mhz, 26 => No320mhz, 27 => NoEht, 28 => Psd, 29 => DfsConcurrent, 30 => No6ghzVlpClient, 31 => No6ghzAfcClient, 32 => CanMonitor, 33 => Allow6ghzVlpAp}) #: Hash[::Integer, Attribute]
2070
+ class << self
2071
+ # Looks up Attribute class by name.
2072
+ #--
2073
+ # @rbs name: Symbol
2074
+ # @rbs return: Attribute
2075
+ def by_name(name); BY_NAME.fetch(name); end
2076
+ # Looks up Attribute class by type value.
2077
+ #--
2078
+ # @rbs type: Integer
2079
+ # @rbs return: Attribute
2080
+ def by_type(type); BY_TYPE.fetch(type); end
2081
+ end
2082
+ end
2083
+ class IfCombinationAttributes < ::Nl::Protocols::Genl::AttributeSet
2084
+ # Abstract class
2085
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2086
+ end
2087
+ class Limits < Attribute
2088
+ TYPE = 1
2089
+ NAME = :"limits"
2090
+ end
2091
+ class Maxnum < Attribute
2092
+ TYPE = 2
2093
+ NAME = :"maxnum"
2094
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2095
+ end
2096
+ class StaApBiMatch < Attribute
2097
+ TYPE = 3
2098
+ NAME = :"sta_ap_bi_match"
2099
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2100
+ end
2101
+ class NumChannels < Attribute
2102
+ TYPE = 4
2103
+ NAME = :"num_channels"
2104
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2105
+ end
2106
+ class RadarDetectWidths < Attribute
2107
+ TYPE = 5
2108
+ NAME = :"radar_detect_widths"
2109
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2110
+ end
2111
+ class RadarDetectRegions < Attribute
2112
+ TYPE = 6
2113
+ NAME = :"radar_detect_regions"
2114
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2115
+ end
2116
+ class BiMinGcd < Attribute
2117
+ TYPE = 7
2118
+ NAME = :"bi_min_gcd"
2119
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2120
+ end
2121
+ # :nodoc:
2122
+ BY_NAME = Ractor.make_shareable({:"limits" => Limits, :"maxnum" => Maxnum, :"sta_ap_bi_match" => StaApBiMatch, :"num_channels" => NumChannels, :"radar_detect_widths" => RadarDetectWidths, :"radar_detect_regions" => RadarDetectRegions, :"bi_min_gcd" => BiMinGcd}) #: Hash[::Symbol, Attribute]
2123
+ # :nodoc:
2124
+ BY_TYPE = Ractor.make_shareable({1 => Limits, 2 => Maxnum, 3 => StaApBiMatch, 4 => NumChannels, 5 => RadarDetectWidths, 6 => RadarDetectRegions, 7 => BiMinGcd}) #: Hash[::Integer, Attribute]
2125
+ class << self
2126
+ # Looks up Attribute class by name.
2127
+ #--
2128
+ # @rbs name: Symbol
2129
+ # @rbs return: Attribute
2130
+ def by_name(name); BY_NAME.fetch(name); end
2131
+ # Looks up Attribute class by type value.
2132
+ #--
2133
+ # @rbs type: Integer
2134
+ # @rbs return: Attribute
2135
+ def by_type(type); BY_TYPE.fetch(type); end
2136
+ end
2137
+ end
2138
+ class IfaceLimitAttributes < ::Nl::Protocols::Genl::AttributeSet
2139
+ # Abstract class
2140
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2141
+ end
2142
+ class Max < Attribute
2143
+ TYPE = 1
2144
+ NAME = :"max"
2145
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2146
+ end
2147
+ class Types < Attribute
2148
+ TYPE = 2
2149
+ NAME = :"types"
2150
+ end
2151
+ # :nodoc:
2152
+ BY_NAME = Ractor.make_shareable({:"max" => Max, :"types" => Types}) #: Hash[::Symbol, Attribute]
2153
+ # :nodoc:
2154
+ BY_TYPE = Ractor.make_shareable({1 => Max, 2 => Types}) #: Hash[::Integer, Attribute]
2155
+ class << self
2156
+ # Looks up Attribute class by name.
2157
+ #--
2158
+ # @rbs name: Symbol
2159
+ # @rbs return: Attribute
2160
+ def by_name(name); BY_NAME.fetch(name); end
2161
+ # Looks up Attribute class by type value.
2162
+ #--
2163
+ # @rbs type: Integer
2164
+ # @rbs return: Attribute
2165
+ def by_type(type); BY_TYPE.fetch(type); end
2166
+ end
2167
+ end
2168
+ class IftypeDataAttrs < ::Nl::Protocols::Genl::AttributeSet
2169
+ # Abstract class
2170
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2171
+ end
2172
+ class Iftypes < Attribute
2173
+ TYPE = 1
2174
+ NAME = :"iftypes"
2175
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2176
+ end
2177
+ class HeCapMac < Attribute
2178
+ TYPE = 2
2179
+ NAME = :"he_cap_mac"
2180
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2181
+ end
2182
+ class HeCapPhy < Attribute
2183
+ TYPE = 3
2184
+ NAME = :"he_cap_phy"
2185
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2186
+ end
2187
+ class HeCapMcsSet < Attribute
2188
+ TYPE = 4
2189
+ NAME = :"he_cap_mcs_set"
2190
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2191
+ end
2192
+ class HeCapPpe < Attribute
2193
+ TYPE = 5
2194
+ NAME = :"he_cap_ppe"
2195
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2196
+ end
2197
+ class He6ghzCapa < Attribute
2198
+ TYPE = 6
2199
+ NAME = :"he_6ghz_capa"
2200
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2201
+ end
2202
+ class VendorElems < Attribute
2203
+ TYPE = 7
2204
+ NAME = :"vendor_elems"
2205
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2206
+ end
2207
+ class EhtCapMac < Attribute
2208
+ TYPE = 8
2209
+ NAME = :"eht_cap_mac"
2210
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2211
+ end
2212
+ class EhtCapPhy < Attribute
2213
+ TYPE = 9
2214
+ NAME = :"eht_cap_phy"
2215
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2216
+ end
2217
+ class EhtCapMcsSet < Attribute
2218
+ TYPE = 10
2219
+ NAME = :"eht_cap_mcs_set"
2220
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2221
+ end
2222
+ class EhtCapPpe < Attribute
2223
+ TYPE = 11
2224
+ NAME = :"eht_cap_ppe"
2225
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
2226
+ end
2227
+ # :nodoc:
2228
+ BY_NAME = Ractor.make_shareable({:"iftypes" => Iftypes, :"he_cap_mac" => HeCapMac, :"he_cap_phy" => HeCapPhy, :"he_cap_mcs_set" => HeCapMcsSet, :"he_cap_ppe" => HeCapPpe, :"he_6ghz_capa" => He6ghzCapa, :"vendor_elems" => VendorElems, :"eht_cap_mac" => EhtCapMac, :"eht_cap_phy" => EhtCapPhy, :"eht_cap_mcs_set" => EhtCapMcsSet, :"eht_cap_ppe" => EhtCapPpe}) #: Hash[::Symbol, Attribute]
2229
+ # :nodoc:
2230
+ BY_TYPE = Ractor.make_shareable({1 => Iftypes, 2 => HeCapMac, 3 => HeCapPhy, 4 => HeCapMcsSet, 5 => HeCapPpe, 6 => He6ghzCapa, 7 => VendorElems, 8 => EhtCapMac, 9 => EhtCapPhy, 10 => EhtCapMcsSet, 11 => EhtCapPpe}) #: Hash[::Integer, Attribute]
2231
+ class << self
2232
+ # Looks up Attribute class by name.
2233
+ #--
2234
+ # @rbs name: Symbol
2235
+ # @rbs return: Attribute
2236
+ def by_name(name); BY_NAME.fetch(name); end
2237
+ # Looks up Attribute class by type value.
2238
+ #--
2239
+ # @rbs type: Integer
2240
+ # @rbs return: Attribute
2241
+ def by_type(type); BY_TYPE.fetch(type); end
2242
+ end
2243
+ end
2244
+ class IftypeAttrs < ::Nl::Protocols::Genl::AttributeSet
2245
+ # Abstract class
2246
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2247
+ end
2248
+ class Unspecified < Attribute
2249
+ TYPE = 0
2250
+ NAME = :"unspecified"
2251
+ end
2252
+ class Adhoc < Attribute
2253
+ TYPE = 1
2254
+ NAME = :"adhoc"
2255
+ end
2256
+ class Station < Attribute
2257
+ TYPE = 2
2258
+ NAME = :"station"
2259
+ end
2260
+ class Ap < Attribute
2261
+ TYPE = 3
2262
+ NAME = :"ap"
2263
+ end
2264
+ class ApVlan < Attribute
2265
+ TYPE = 4
2266
+ NAME = :"ap_vlan"
2267
+ end
2268
+ class Wds < Attribute
2269
+ TYPE = 5
2270
+ NAME = :"wds"
2271
+ end
2272
+ class Monitor < Attribute
2273
+ TYPE = 6
2274
+ NAME = :"monitor"
2275
+ end
2276
+ class MeshPoint < Attribute
2277
+ TYPE = 7
2278
+ NAME = :"mesh_point"
2279
+ end
2280
+ class P2pClient < Attribute
2281
+ TYPE = 8
2282
+ NAME = :"p2p_client"
2283
+ end
2284
+ class P2pGo < Attribute
2285
+ TYPE = 9
2286
+ NAME = :"p2p_go"
2287
+ end
2288
+ class P2pDevice < Attribute
2289
+ TYPE = 10
2290
+ NAME = :"p2p_device"
2291
+ end
2292
+ class Ocb < Attribute
2293
+ TYPE = 11
2294
+ NAME = :"ocb"
2295
+ end
2296
+ class Nan < Attribute
2297
+ TYPE = 12
2298
+ NAME = :"nan"
2299
+ end
2300
+ # :nodoc:
2301
+ BY_NAME = Ractor.make_shareable({:"unspecified" => Unspecified, :"adhoc" => Adhoc, :"station" => Station, :"ap" => Ap, :"ap_vlan" => ApVlan, :"wds" => Wds, :"monitor" => Monitor, :"mesh_point" => MeshPoint, :"p2p_client" => P2pClient, :"p2p_go" => P2pGo, :"p2p_device" => P2pDevice, :"ocb" => Ocb, :"nan" => Nan}) #: Hash[::Symbol, Attribute]
2302
+ # :nodoc:
2303
+ BY_TYPE = Ractor.make_shareable({0 => Unspecified, 1 => Adhoc, 2 => Station, 3 => Ap, 4 => ApVlan, 5 => Wds, 6 => Monitor, 7 => MeshPoint, 8 => P2pClient, 9 => P2pGo, 10 => P2pDevice, 11 => Ocb, 12 => Nan}) #: Hash[::Integer, Attribute]
2304
+ class << self
2305
+ # Looks up Attribute class by name.
2306
+ #--
2307
+ # @rbs name: Symbol
2308
+ # @rbs return: Attribute
2309
+ def by_name(name); BY_NAME.fetch(name); end
2310
+ # Looks up Attribute class by type value.
2311
+ #--
2312
+ # @rbs type: Integer
2313
+ # @rbs return: Attribute
2314
+ def by_type(type); BY_TYPE.fetch(type); end
2315
+ end
2316
+ end
2317
+ class SarAttributes < ::Nl::Protocols::Genl::AttributeSet
2318
+ # Abstract class
2319
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2320
+ end
2321
+ class Type < Attribute
2322
+ TYPE = 1
2323
+ NAME = :"type"
2324
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2325
+ end
2326
+ class Specs < Attribute
2327
+ TYPE = 2
2328
+ NAME = :"specs"
2329
+ end
2330
+ # :nodoc:
2331
+ BY_NAME = Ractor.make_shareable({:"type" => Type, :"specs" => Specs}) #: Hash[::Symbol, Attribute]
2332
+ # :nodoc:
2333
+ BY_TYPE = Ractor.make_shareable({1 => Type, 2 => Specs}) #: Hash[::Integer, Attribute]
2334
+ class << self
2335
+ # Looks up Attribute class by name.
2336
+ #--
2337
+ # @rbs name: Symbol
2338
+ # @rbs return: Attribute
2339
+ def by_name(name); BY_NAME.fetch(name); end
2340
+ # Looks up Attribute class by type value.
2341
+ #--
2342
+ # @rbs type: Integer
2343
+ # @rbs return: Attribute
2344
+ def by_type(type); BY_TYPE.fetch(type); end
2345
+ end
2346
+ end
2347
+ class SarSpecs < ::Nl::Protocols::Genl::AttributeSet
2348
+ # Abstract class
2349
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2350
+ end
2351
+ class Power < Attribute
2352
+ TYPE = 1
2353
+ NAME = :"power"
2354
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
2355
+ end
2356
+ class RangeIndex < Attribute
2357
+ TYPE = 2
2358
+ NAME = :"range_index"
2359
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2360
+ end
2361
+ class StartFreq < Attribute
2362
+ TYPE = 3
2363
+ NAME = :"start_freq"
2364
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2365
+ end
2366
+ class EndFreq < Attribute
2367
+ TYPE = 4
2368
+ NAME = :"end_freq"
2369
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2370
+ end
2371
+ # :nodoc:
2372
+ BY_NAME = Ractor.make_shareable({:"power" => Power, :"range_index" => RangeIndex, :"start_freq" => StartFreq, :"end_freq" => EndFreq}) #: Hash[::Symbol, Attribute]
2373
+ # :nodoc:
2374
+ BY_TYPE = Ractor.make_shareable({1 => Power, 2 => RangeIndex, 3 => StartFreq, 4 => EndFreq}) #: Hash[::Integer, Attribute]
2375
+ class << self
2376
+ # Looks up Attribute class by name.
2377
+ #--
2378
+ # @rbs name: Symbol
2379
+ # @rbs return: Attribute
2380
+ def by_name(name); BY_NAME.fetch(name); end
2381
+ # Looks up Attribute class by type value.
2382
+ #--
2383
+ # @rbs type: Integer
2384
+ # @rbs return: Attribute
2385
+ def by_type(type); BY_TYPE.fetch(type); end
2386
+ end
2387
+ end
2388
+ class SupportedIftypes < ::Nl::Protocols::Genl::AttributeSet
2389
+ # Abstract class
2390
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2391
+ end
2392
+ class Adhoc < Attribute
2393
+ TYPE = 1
2394
+ NAME = :"adhoc"
2395
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2396
+ end
2397
+ class Station < Attribute
2398
+ TYPE = 2
2399
+ NAME = :"station"
2400
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2401
+ end
2402
+ class Ap < Attribute
2403
+ TYPE = 3
2404
+ NAME = :"ap"
2405
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2406
+ end
2407
+ class ApVlan < Attribute
2408
+ TYPE = 4
2409
+ NAME = :"ap_vlan"
2410
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2411
+ end
2412
+ class Wds < Attribute
2413
+ TYPE = 5
2414
+ NAME = :"wds"
2415
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2416
+ end
2417
+ class Monitor < Attribute
2418
+ TYPE = 6
2419
+ NAME = :"monitor"
2420
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2421
+ end
2422
+ class MeshPoint < Attribute
2423
+ TYPE = 7
2424
+ NAME = :"mesh_point"
2425
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2426
+ end
2427
+ class P2pClient < Attribute
2428
+ TYPE = 8
2429
+ NAME = :"p2p_client"
2430
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2431
+ end
2432
+ class P2pGo < Attribute
2433
+ TYPE = 9
2434
+ NAME = :"p2p_go"
2435
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2436
+ end
2437
+ class P2pDevice < Attribute
2438
+ TYPE = 10
2439
+ NAME = :"p2p_device"
2440
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2441
+ end
2442
+ class Ocb < Attribute
2443
+ TYPE = 11
2444
+ NAME = :"ocb"
2445
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2446
+ end
2447
+ class Nan < Attribute
2448
+ TYPE = 12
2449
+ NAME = :"nan"
2450
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2451
+ end
2452
+ # :nodoc:
2453
+ BY_NAME = Ractor.make_shareable({:"adhoc" => Adhoc, :"station" => Station, :"ap" => Ap, :"ap_vlan" => ApVlan, :"wds" => Wds, :"monitor" => Monitor, :"mesh_point" => MeshPoint, :"p2p_client" => P2pClient, :"p2p_go" => P2pGo, :"p2p_device" => P2pDevice, :"ocb" => Ocb, :"nan" => Nan}) #: Hash[::Symbol, Attribute]
2454
+ # :nodoc:
2455
+ BY_TYPE = Ractor.make_shareable({1 => Adhoc, 2 => Station, 3 => Ap, 4 => ApVlan, 5 => Wds, 6 => Monitor, 7 => MeshPoint, 8 => P2pClient, 9 => P2pGo, 10 => P2pDevice, 11 => Ocb, 12 => Nan}) #: Hash[::Integer, Attribute]
2456
+ class << self
2457
+ # Looks up Attribute class by name.
2458
+ #--
2459
+ # @rbs name: Symbol
2460
+ # @rbs return: Attribute
2461
+ def by_name(name); BY_NAME.fetch(name); end
2462
+ # Looks up Attribute class by type value.
2463
+ #--
2464
+ # @rbs type: Integer
2465
+ # @rbs return: Attribute
2466
+ def by_type(type); BY_TYPE.fetch(type); end
2467
+ end
2468
+ end
2469
+ class TxqStatsAttrs < ::Nl::Protocols::Genl::AttributeSet
2470
+ # Abstract class
2471
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2472
+ end
2473
+ class BacklogBytes < Attribute
2474
+ TYPE = 1
2475
+ NAME = :"backlog_bytes"
2476
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2477
+ end
2478
+ class BacklogPackets < Attribute
2479
+ TYPE = 2
2480
+ NAME = :"backlog_packets"
2481
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2482
+ end
2483
+ class Flows < Attribute
2484
+ TYPE = 3
2485
+ NAME = :"flows"
2486
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2487
+ end
2488
+ class Drops < Attribute
2489
+ TYPE = 4
2490
+ NAME = :"drops"
2491
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2492
+ end
2493
+ class EcnMarks < Attribute
2494
+ TYPE = 5
2495
+ NAME = :"ecn_marks"
2496
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2497
+ end
2498
+ class Overlimit < Attribute
2499
+ TYPE = 6
2500
+ NAME = :"overlimit"
2501
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2502
+ end
2503
+ class Overmemory < Attribute
2504
+ TYPE = 7
2505
+ NAME = :"overmemory"
2506
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2507
+ end
2508
+ class Collisions < Attribute
2509
+ TYPE = 8
2510
+ NAME = :"collisions"
2511
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2512
+ end
2513
+ class TxBytes < Attribute
2514
+ TYPE = 9
2515
+ NAME = :"tx_bytes"
2516
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2517
+ end
2518
+ class TxPackets < Attribute
2519
+ TYPE = 10
2520
+ NAME = :"tx_packets"
2521
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2522
+ end
2523
+ class MaxFlows < Attribute
2524
+ TYPE = 11
2525
+ NAME = :"max_flows"
2526
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2527
+ end
2528
+ # :nodoc:
2529
+ BY_NAME = Ractor.make_shareable({:"backlog_bytes" => BacklogBytes, :"backlog_packets" => BacklogPackets, :"flows" => Flows, :"drops" => Drops, :"ecn_marks" => EcnMarks, :"overlimit" => Overlimit, :"overmemory" => Overmemory, :"collisions" => Collisions, :"tx_bytes" => TxBytes, :"tx_packets" => TxPackets, :"max_flows" => MaxFlows}) #: Hash[::Symbol, Attribute]
2530
+ # :nodoc:
2531
+ BY_TYPE = Ractor.make_shareable({1 => BacklogBytes, 2 => BacklogPackets, 3 => Flows, 4 => Drops, 5 => EcnMarks, 6 => Overlimit, 7 => Overmemory, 8 => Collisions, 9 => TxBytes, 10 => TxPackets, 11 => MaxFlows}) #: Hash[::Integer, Attribute]
2532
+ class << self
2533
+ # Looks up Attribute class by name.
2534
+ #--
2535
+ # @rbs name: Symbol
2536
+ # @rbs return: Attribute
2537
+ def by_name(name); BY_NAME.fetch(name); end
2538
+ # Looks up Attribute class by type value.
2539
+ #--
2540
+ # @rbs type: Integer
2541
+ # @rbs return: Attribute
2542
+ def by_type(type); BY_TYPE.fetch(type); end
2543
+ end
2544
+ end
2545
+ class WmmAttrs < ::Nl::Protocols::Genl::AttributeSet
2546
+ # Abstract class
2547
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2548
+ end
2549
+ class CwMin < Attribute
2550
+ TYPE = 1
2551
+ NAME = :"cw_min"
2552
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2553
+ end
2554
+ class CwMax < Attribute
2555
+ TYPE = 2
2556
+ NAME = :"cw_max"
2557
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2558
+ end
2559
+ class Aifsn < Attribute
2560
+ TYPE = 3
2561
+ NAME = :"aifsn"
2562
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2563
+ end
2564
+ class Txop < Attribute
2565
+ TYPE = 4
2566
+ NAME = :"txop"
2567
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2568
+ end
2569
+ # :nodoc:
2570
+ BY_NAME = Ractor.make_shareable({:"cw_min" => CwMin, :"cw_max" => CwMax, :"aifsn" => Aifsn, :"txop" => Txop}) #: Hash[::Symbol, Attribute]
2571
+ # :nodoc:
2572
+ BY_TYPE = Ractor.make_shareable({1 => CwMin, 2 => CwMax, 3 => Aifsn, 4 => Txop}) #: Hash[::Integer, Attribute]
2573
+ class << self
2574
+ # Looks up Attribute class by name.
2575
+ #--
2576
+ # @rbs name: Symbol
2577
+ # @rbs return: Attribute
2578
+ def by_name(name); BY_NAME.fetch(name); end
2579
+ # Looks up Attribute class by type value.
2580
+ #--
2581
+ # @rbs type: Integer
2582
+ # @rbs return: Attribute
2583
+ def by_type(type); BY_TYPE.fetch(type); end
2584
+ end
2585
+ end
2586
+ class WowlanTriggersAttrs < ::Nl::Protocols::Genl::AttributeSet
2587
+ # Abstract class
2588
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
2589
+ end
2590
+ class Any < Attribute
2591
+ TYPE = 1
2592
+ NAME = :"any"
2593
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2594
+ end
2595
+ class Disconnect < Attribute
2596
+ TYPE = 2
2597
+ NAME = :"disconnect"
2598
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2599
+ end
2600
+ class MagicPkt < Attribute
2601
+ TYPE = 3
2602
+ NAME = :"magic_pkt"
2603
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2604
+ end
2605
+ class PktPattern < Attribute
2606
+ TYPE = 4
2607
+ NAME = :"pkt_pattern"
2608
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2609
+ end
2610
+ class GtkRekeySupported < Attribute
2611
+ TYPE = 5
2612
+ NAME = :"gtk_rekey_supported"
2613
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2614
+ end
2615
+ class GtkRekeyFailure < Attribute
2616
+ TYPE = 6
2617
+ NAME = :"gtk_rekey_failure"
2618
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2619
+ end
2620
+ class EapIdentRequest < Attribute
2621
+ TYPE = 7
2622
+ NAME = :"eap_ident_request"
2623
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2624
+ end
2625
+ class X4wayHandshake < Attribute
2626
+ TYPE = 8
2627
+ NAME = :"x_4way_handshake"
2628
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2629
+ end
2630
+ class RfkillRelease < Attribute
2631
+ TYPE = 9
2632
+ NAME = :"rfkill_release"
2633
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2634
+ end
2635
+ class WakeupPkt80211 < Attribute
2636
+ TYPE = 10
2637
+ NAME = :"wakeup_pkt_80211"
2638
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2639
+ end
2640
+ class WakeupPkt80211Len < Attribute
2641
+ TYPE = 11
2642
+ NAME = :"wakeup_pkt_80211_len"
2643
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2644
+ end
2645
+ class WakeupPkt8023 < Attribute
2646
+ TYPE = 12
2647
+ NAME = :"wakeup_pkt_8023"
2648
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2649
+ end
2650
+ class WakeupPkt8023Len < Attribute
2651
+ TYPE = 13
2652
+ NAME = :"wakeup_pkt_8023_len"
2653
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2654
+ end
2655
+ class TcpConnection < Attribute
2656
+ TYPE = 14
2657
+ NAME = :"tcp_connection"
2658
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2659
+ end
2660
+ class WakeupTcpMatch < Attribute
2661
+ TYPE = 15
2662
+ NAME = :"wakeup_tcp_match"
2663
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2664
+ end
2665
+ class WakeupTcpConnlost < Attribute
2666
+ TYPE = 16
2667
+ NAME = :"wakeup_tcp_connlost"
2668
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2669
+ end
2670
+ class WakeupTcpNomoretokens < Attribute
2671
+ TYPE = 17
2672
+ NAME = :"wakeup_tcp_nomoretokens"
2673
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2674
+ end
2675
+ class NetDetect < Attribute
2676
+ TYPE = 18
2677
+ NAME = :"net_detect"
2678
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2679
+ end
2680
+ class NetDetectResults < Attribute
2681
+ TYPE = 19
2682
+ NAME = :"net_detect_results"
2683
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2684
+ end
2685
+ class UnprotectedDeauthDisassoc < Attribute
2686
+ TYPE = 20
2687
+ NAME = :"unprotected_deauth_disassoc"
2688
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
2689
+ end
2690
+ # :nodoc:
2691
+ BY_NAME = Ractor.make_shareable({:"any" => Any, :"disconnect" => Disconnect, :"magic_pkt" => MagicPkt, :"pkt_pattern" => PktPattern, :"gtk_rekey_supported" => GtkRekeySupported, :"gtk_rekey_failure" => GtkRekeyFailure, :"eap_ident_request" => EapIdentRequest, :"x_4way_handshake" => X4wayHandshake, :"rfkill_release" => RfkillRelease, :"wakeup_pkt_80211" => WakeupPkt80211, :"wakeup_pkt_80211_len" => WakeupPkt80211Len, :"wakeup_pkt_8023" => WakeupPkt8023, :"wakeup_pkt_8023_len" => WakeupPkt8023Len, :"tcp_connection" => TcpConnection, :"wakeup_tcp_match" => WakeupTcpMatch, :"wakeup_tcp_connlost" => WakeupTcpConnlost, :"wakeup_tcp_nomoretokens" => WakeupTcpNomoretokens, :"net_detect" => NetDetect, :"net_detect_results" => NetDetectResults, :"unprotected_deauth_disassoc" => UnprotectedDeauthDisassoc}) #: Hash[::Symbol, Attribute]
2692
+ # :nodoc:
2693
+ BY_TYPE = Ractor.make_shareable({1 => Any, 2 => Disconnect, 3 => MagicPkt, 4 => PktPattern, 5 => GtkRekeySupported, 6 => GtkRekeyFailure, 7 => EapIdentRequest, 8 => X4wayHandshake, 9 => RfkillRelease, 10 => WakeupPkt80211, 11 => WakeupPkt80211Len, 12 => WakeupPkt8023, 13 => WakeupPkt8023Len, 14 => TcpConnection, 15 => WakeupTcpMatch, 16 => WakeupTcpConnlost, 17 => WakeupTcpNomoretokens, 18 => NetDetect, 19 => NetDetectResults, 20 => UnprotectedDeauthDisassoc}) #: Hash[::Integer, Attribute]
2694
+ class << self
2695
+ # Looks up Attribute class by name.
2696
+ #--
2697
+ # @rbs name: Symbol
2698
+ # @rbs return: Attribute
2699
+ def by_name(name); BY_NAME.fetch(name); end
2700
+ # Looks up Attribute class by type value.
2701
+ #--
2702
+ # @rbs type: Integer
2703
+ # @rbs return: Attribute
2704
+ def by_type(type); BY_TYPE.fetch(type); end
2705
+ end
2706
+ end
2707
+ Nl80211Attrs::WiphyBands::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(WiphyBands)
2708
+ Nl80211Attrs::SupportedIftypes::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SupportedIftypes)
2709
+ Nl80211Attrs::TxFrameTypes::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IftypeAttrs)
2710
+ Nl80211Attrs::RxFrameTypes::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IftypeAttrs)
2711
+ Nl80211Attrs::WowlanTriggersSupported::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(WowlanTriggersAttrs)
2712
+ Nl80211Attrs::InterfaceCombinations::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IfCombinationAttributes))
2713
+ Nl80211Attrs::SoftwareIftypes::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SupportedIftypes)
2714
+ Nl80211Attrs::TxqStats::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(TxqStatsAttrs)
2715
+ Nl80211Attrs::SarSpec::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SarAttributes)
2716
+ WiphyBands::X2ghz::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2717
+ WiphyBands::X5ghz::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2718
+ WiphyBands::X60ghz::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2719
+ WiphyBands::X6ghz::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2720
+ WiphyBands::S1ghz::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2721
+ WiphyBands::Lc::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BandAttrs)
2722
+ BandAttrs::Freqs::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrequencyAttrs))
2723
+ BandAttrs::Rates::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(BitrateAttrs))
2724
+ BandAttrs::IftypeData::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IftypeDataAttrs))
2725
+ FrequencyAttrs::Wmm::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(WmmAttrs))
2726
+ IfCombinationAttributes::Limits::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IfaceLimitAttributes))
2727
+ IfaceLimitAttributes::Types::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SupportedIftypes)
2728
+ IftypeAttrs::Unspecified::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2729
+ IftypeAttrs::Adhoc::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2730
+ IftypeAttrs::Station::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2731
+ IftypeAttrs::Ap::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2732
+ IftypeAttrs::ApVlan::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2733
+ IftypeAttrs::Wds::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2734
+ IftypeAttrs::Monitor::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2735
+ IftypeAttrs::MeshPoint::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2736
+ IftypeAttrs::P2pClient::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2737
+ IftypeAttrs::P2pGo::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2738
+ IftypeAttrs::P2pDevice::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2739
+ IftypeAttrs::Ocb::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2740
+ IftypeAttrs::Nan::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(FrameTypeAttrs)
2741
+ SarAttributes::Specs::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SarSpecs))
2742
+ end
2743
+ module Messages
2744
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
2745
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
2746
+ # in the request.
2747
+ class DoGetWiphyRequest < ::Nl::Protocols::Genl::Message
2748
+ TYPE = 1
2749
+ FIXED_HEADER = nil
2750
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
2751
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy ifindex wdev])
2752
+ # Gets the value of `wiphy` attribute in the message.
2753
+ #--
2754
+ # @rbs return: ::Integer
2755
+ def wiphy; attributes[:"wiphy"]&.value; end
2756
+ # Gets the value of `ifindex` attribute in the message.
2757
+ #--
2758
+ # @rbs return: ::Integer
2759
+ def ifindex; attributes[:"ifindex"]&.value; end
2760
+ # Gets the value of `wdev` attribute in the message.
2761
+ #--
2762
+ # @rbs return: ::Integer
2763
+ def wdev; attributes[:"wdev"]&.value; end
2764
+ end
2765
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
2766
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
2767
+ # in the request.
2768
+ class DoGetWiphyReply < ::Nl::Protocols::Genl::Message
2769
+ TYPE = 3
2770
+ FIXED_HEADER = nil
2771
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
2772
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy wiphy_name mac wiphy_bands supported_iftypes max_num_scan_ssids generation supported_commands max_scan_ie_len cipher_suites wiphy_retry_short wiphy_retry_long wiphy_frag_threshold wiphy_rts_threshold max_num_pmkids wiphy_coverage_class tx_frame_types rx_frame_types control_port_ethertype wiphy_antenna_tx wiphy_antenna_rx offchannel_tx_ok max_remain_on_channel_duration wiphy_antenna_avail_tx wiphy_antenna_avail_rx wowlan_triggers_supported interface_combinations software_iftypes max_num_sched_scan_ssids max_sched_scan_ie_len support_ap_uapsd max_match_sets tdls_support tdls_external_setup feature_flags ht_capability_mask ext_capa ext_capa_mask vht_capability_mask max_csa_counters ext_features max_num_sched_scan_plans max_scan_plan_interval max_scan_plan_iterations bands sched_scan_max_reqs txq_stats txq_limit txq_memory_limit txq_quantum sar_spec max_num_akm_suites])
2773
+ # Gets the value of `wiphy` attribute in the message.
2774
+ #--
2775
+ # @rbs return: ::Integer
2776
+ def wiphy; attributes[:"wiphy"]&.value; end
2777
+ # Gets the value of `wiphy-name` attribute in the message.
2778
+ #--
2779
+ # @rbs return: ::String
2780
+ def wiphy_name; attributes[:"wiphy_name"]&.value; end
2781
+ # Gets the value of `mac` attribute in the message.
2782
+ #--
2783
+ # @rbs return: untyped
2784
+ def mac; attributes[:"mac"]&.value; end
2785
+ # Gets the value of `wiphy-bands` attribute in the message.
2786
+ #--
2787
+ # @rbs return: AttributeSets::WiphyBands
2788
+ def wiphy_bands; attributes[:"wiphy_bands"]&.value; end
2789
+ # Gets the value of `supported-iftypes` attribute in the message.
2790
+ #--
2791
+ # @rbs return: AttributeSets::SupportedIftypes
2792
+ def supported_iftypes; attributes[:"supported_iftypes"]&.value; end
2793
+ # Gets the value of `max-num-scan-ssids` attribute in the message.
2794
+ #--
2795
+ # @rbs return: ::Integer
2796
+ def max_num_scan_ssids; attributes[:"max_num_scan_ssids"]&.value; end
2797
+ # Gets the value of `generation` attribute in the message.
2798
+ #--
2799
+ # @rbs return: ::Integer
2800
+ def generation; attributes[:"generation"]&.value; end
2801
+ # Gets the value of `supported-commands` attribute in the message.
2802
+ #--
2803
+ # @rbs return: untyped
2804
+ def supported_commands; attributes[:"supported_commands"]&.value; end
2805
+ # Gets the value of `max-scan-ie-len` attribute in the message.
2806
+ #--
2807
+ # @rbs return: ::Integer
2808
+ def max_scan_ie_len; attributes[:"max_scan_ie_len"]&.value; end
2809
+ # Gets the value of `cipher-suites` attribute in the message.
2810
+ #--
2811
+ # @rbs return: untyped
2812
+ def cipher_suites; attributes[:"cipher_suites"]&.value; end
2813
+ # Gets the value of `wiphy-retry-short` attribute in the message.
2814
+ #--
2815
+ # @rbs return: ::Integer
2816
+ def wiphy_retry_short; attributes[:"wiphy_retry_short"]&.value; end
2817
+ # Gets the value of `wiphy-retry-long` attribute in the message.
2818
+ #--
2819
+ # @rbs return: ::Integer
2820
+ def wiphy_retry_long; attributes[:"wiphy_retry_long"]&.value; end
2821
+ # Gets the value of `wiphy-frag-threshold` attribute in the message.
2822
+ #--
2823
+ # @rbs return: ::Integer
2824
+ def wiphy_frag_threshold; attributes[:"wiphy_frag_threshold"]&.value; end
2825
+ # Gets the value of `wiphy-rts-threshold` attribute in the message.
2826
+ #--
2827
+ # @rbs return: ::Integer
2828
+ def wiphy_rts_threshold; attributes[:"wiphy_rts_threshold"]&.value; end
2829
+ # Gets the value of `max-num-pmkids` attribute in the message.
2830
+ #--
2831
+ # @rbs return: ::Integer
2832
+ def max_num_pmkids; attributes[:"max_num_pmkids"]&.value; end
2833
+ # Gets the value of `wiphy-coverage-class` attribute in the message.
2834
+ #--
2835
+ # @rbs return: ::Integer
2836
+ def wiphy_coverage_class; attributes[:"wiphy_coverage_class"]&.value; end
2837
+ # Gets the value of `tx-frame-types` attribute in the message.
2838
+ #--
2839
+ # @rbs return: AttributeSets::IftypeAttrs
2840
+ def tx_frame_types; attributes[:"tx_frame_types"]&.value; end
2841
+ # Gets the value of `rx-frame-types` attribute in the message.
2842
+ #--
2843
+ # @rbs return: AttributeSets::IftypeAttrs
2844
+ def rx_frame_types; attributes[:"rx_frame_types"]&.value; end
2845
+ # Gets the value of `control-port-ethertype` attribute in the message.
2846
+ #--
2847
+ # @rbs return: ::Integer
2848
+ def control_port_ethertype; attributes[:"control_port_ethertype"]&.value; end
2849
+ # Gets the value of `wiphy-antenna-tx` attribute in the message.
2850
+ #--
2851
+ # @rbs return: ::Integer
2852
+ def wiphy_antenna_tx; attributes[:"wiphy_antenna_tx"]&.value; end
2853
+ # Gets the value of `wiphy-antenna-rx` attribute in the message.
2854
+ #--
2855
+ # @rbs return: ::Integer
2856
+ def wiphy_antenna_rx; attributes[:"wiphy_antenna_rx"]&.value; end
2857
+ # Gets the value of `offchannel-tx-ok` attribute in the message.
2858
+ #--
2859
+ # @rbs return: ::Integer
2860
+ def offchannel_tx_ok; attributes[:"offchannel_tx_ok"]&.value; end
2861
+ # Gets the value of `max-remain-on-channel-duration` attribute in the message.
2862
+ #--
2863
+ # @rbs return: ::Integer
2864
+ def max_remain_on_channel_duration; attributes[:"max_remain_on_channel_duration"]&.value; end
2865
+ # Gets the value of `wiphy-antenna-avail-tx` attribute in the message.
2866
+ #--
2867
+ # @rbs return: ::Integer
2868
+ def wiphy_antenna_avail_tx; attributes[:"wiphy_antenna_avail_tx"]&.value; end
2869
+ # Gets the value of `wiphy-antenna-avail-rx` attribute in the message.
2870
+ #--
2871
+ # @rbs return: ::Integer
2872
+ def wiphy_antenna_avail_rx; attributes[:"wiphy_antenna_avail_rx"]&.value; end
2873
+ # Gets the value of `wowlan-triggers-supported` attribute in the message.
2874
+ #--
2875
+ # @rbs return: AttributeSets::WowlanTriggersAttrs
2876
+ def wowlan_triggers_supported; attributes[:"wowlan_triggers_supported"]&.value; end
2877
+ # Gets the value of `interface-combinations` attribute in the message.
2878
+ #--
2879
+ # @rbs return: untyped
2880
+ def interface_combinations; attributes[:"interface_combinations"]&.value; end
2881
+ # Gets the value of `software-iftypes` attribute in the message.
2882
+ #--
2883
+ # @rbs return: AttributeSets::SupportedIftypes
2884
+ def software_iftypes; attributes[:"software_iftypes"]&.value; end
2885
+ # Gets the value of `max-num-sched-scan-ssids` attribute in the message.
2886
+ #--
2887
+ # @rbs return: ::Integer
2888
+ def max_num_sched_scan_ssids; attributes[:"max_num_sched_scan_ssids"]&.value; end
2889
+ # Gets the value of `max-sched-scan-ie-len` attribute in the message.
2890
+ #--
2891
+ # @rbs return: ::Integer
2892
+ def max_sched_scan_ie_len; attributes[:"max_sched_scan_ie_len"]&.value; end
2893
+ # Gets the value of `support-ap-uapsd` attribute in the message.
2894
+ #--
2895
+ # @rbs return: ::Integer
2896
+ def support_ap_uapsd; attributes[:"support_ap_uapsd"]&.value; end
2897
+ # Gets the value of `max-match-sets` attribute in the message.
2898
+ #--
2899
+ # @rbs return: ::Integer
2900
+ def max_match_sets; attributes[:"max_match_sets"]&.value; end
2901
+ # Gets the value of `tdls-support` attribute in the message.
2902
+ #--
2903
+ # @rbs return: ::Integer
2904
+ def tdls_support; attributes[:"tdls_support"]&.value; end
2905
+ # Gets the value of `tdls-external-setup` attribute in the message.
2906
+ #--
2907
+ # @rbs return: ::Integer
2908
+ def tdls_external_setup; attributes[:"tdls_external_setup"]&.value; end
2909
+ # Gets the value of `feature-flags` attribute in the message.
2910
+ #--
2911
+ # @rbs return: ::Integer
2912
+ def feature_flags; attributes[:"feature_flags"]&.value; end
2913
+ # Gets the value of `ht-capability-mask` attribute in the message.
2914
+ #--
2915
+ # @rbs return: untyped
2916
+ def ht_capability_mask; attributes[:"ht_capability_mask"]&.value; end
2917
+ # Gets the value of `ext-capa` attribute in the message.
2918
+ #--
2919
+ # @rbs return: untyped
2920
+ def ext_capa; attributes[:"ext_capa"]&.value; end
2921
+ # Gets the value of `ext-capa-mask` attribute in the message.
2922
+ #--
2923
+ # @rbs return: untyped
2924
+ def ext_capa_mask; attributes[:"ext_capa_mask"]&.value; end
2925
+ # Gets the value of `vht-capability-mask` attribute in the message.
2926
+ #--
2927
+ # @rbs return: untyped
2928
+ def vht_capability_mask; attributes[:"vht_capability_mask"]&.value; end
2929
+ # Gets the value of `max-csa-counters` attribute in the message.
2930
+ #--
2931
+ # @rbs return: ::Integer
2932
+ def max_csa_counters; attributes[:"max_csa_counters"]&.value; end
2933
+ # Gets the value of `ext-features` attribute in the message.
2934
+ #--
2935
+ # @rbs return: untyped
2936
+ def ext_features; attributes[:"ext_features"]&.value; end
2937
+ # Gets the value of `max-num-sched-scan-plans` attribute in the message.
2938
+ #--
2939
+ # @rbs return: ::Integer
2940
+ def max_num_sched_scan_plans; attributes[:"max_num_sched_scan_plans"]&.value; end
2941
+ # Gets the value of `max-scan-plan-interval` attribute in the message.
2942
+ #--
2943
+ # @rbs return: ::Integer
2944
+ def max_scan_plan_interval; attributes[:"max_scan_plan_interval"]&.value; end
2945
+ # Gets the value of `max-scan-plan-iterations` attribute in the message.
2946
+ #--
2947
+ # @rbs return: ::Integer
2948
+ def max_scan_plan_iterations; attributes[:"max_scan_plan_iterations"]&.value; end
2949
+ # Gets the value of `bands` attribute in the message.
2950
+ #--
2951
+ # @rbs return: ::Integer
2952
+ def bands; attributes[:"bands"]&.value; end
2953
+ # Gets the value of `sched-scan-max-reqs` attribute in the message.
2954
+ #--
2955
+ # @rbs return: ::Integer
2956
+ def sched_scan_max_reqs; attributes[:"sched_scan_max_reqs"]&.value; end
2957
+ # Gets the value of `txq-stats` attribute in the message.
2958
+ #--
2959
+ # @rbs return: AttributeSets::TxqStatsAttrs
2960
+ def txq_stats; attributes[:"txq_stats"]&.value; end
2961
+ # Gets the value of `txq-limit` attribute in the message.
2962
+ #--
2963
+ # @rbs return: ::Integer
2964
+ def txq_limit; attributes[:"txq_limit"]&.value; end
2965
+ # Gets the value of `txq-memory-limit` attribute in the message.
2966
+ #--
2967
+ # @rbs return: ::Integer
2968
+ def txq_memory_limit; attributes[:"txq_memory_limit"]&.value; end
2969
+ # Gets the value of `txq-quantum` attribute in the message.
2970
+ #--
2971
+ # @rbs return: ::Integer
2972
+ def txq_quantum; attributes[:"txq_quantum"]&.value; end
2973
+ # Gets the value of `sar-spec` attribute in the message.
2974
+ #--
2975
+ # @rbs return: AttributeSets::SarAttributes
2976
+ def sar_spec; attributes[:"sar_spec"]&.value; end
2977
+ # Gets the value of `max-num-akm-suites` attribute in the message.
2978
+ #--
2979
+ # @rbs return: untyped
2980
+ def max_num_akm_suites; attributes[:"max_num_akm_suites"]&.value; end
2981
+ end
2982
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
2983
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
2984
+ # in the request.
2985
+ class DumpGetWiphyRequest < ::Nl::Protocols::Genl::Message
2986
+ TYPE = 1
2987
+ FIXED_HEADER = nil
2988
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
2989
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy ifindex wdev split_wiphy_dump])
2990
+ # Gets the value of `wiphy` attribute in the message.
2991
+ #--
2992
+ # @rbs return: ::Integer
2993
+ def wiphy; attributes[:"wiphy"]&.value; end
2994
+ # Gets the value of `ifindex` attribute in the message.
2995
+ #--
2996
+ # @rbs return: ::Integer
2997
+ def ifindex; attributes[:"ifindex"]&.value; end
2998
+ # Gets the value of `wdev` attribute in the message.
2999
+ #--
3000
+ # @rbs return: ::Integer
3001
+ def wdev; attributes[:"wdev"]&.value; end
3002
+ # Gets the value of `split-wiphy-dump` attribute in the message.
3003
+ #--
3004
+ # @rbs return: ::Integer
3005
+ def split_wiphy_dump; attributes[:"split_wiphy_dump"]&.value; end
3006
+ end
3007
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
3008
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
3009
+ # in the request.
3010
+ class DumpGetWiphyReply < ::Nl::Protocols::Genl::Message
3011
+ TYPE = 3
3012
+ FIXED_HEADER = nil
3013
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3014
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy wiphy_name mac wiphy_bands supported_iftypes max_num_scan_ssids generation supported_commands max_scan_ie_len cipher_suites wiphy_retry_short wiphy_retry_long wiphy_frag_threshold wiphy_rts_threshold max_num_pmkids wiphy_coverage_class tx_frame_types rx_frame_types control_port_ethertype wiphy_antenna_tx wiphy_antenna_rx offchannel_tx_ok max_remain_on_channel_duration wiphy_antenna_avail_tx wiphy_antenna_avail_rx wowlan_triggers_supported interface_combinations software_iftypes max_num_sched_scan_ssids max_sched_scan_ie_len support_ap_uapsd max_match_sets tdls_support tdls_external_setup feature_flags ht_capability_mask ext_capa ext_capa_mask vht_capability_mask max_csa_counters ext_features max_num_sched_scan_plans max_scan_plan_interval max_scan_plan_iterations bands sched_scan_max_reqs txq_stats txq_limit txq_memory_limit txq_quantum sar_spec max_num_akm_suites])
3015
+ # Gets the value of `wiphy` attribute in the message.
3016
+ #--
3017
+ # @rbs return: ::Integer
3018
+ def wiphy; attributes[:"wiphy"]&.value; end
3019
+ # Gets the value of `wiphy-name` attribute in the message.
3020
+ #--
3021
+ # @rbs return: ::String
3022
+ def wiphy_name; attributes[:"wiphy_name"]&.value; end
3023
+ # Gets the value of `mac` attribute in the message.
3024
+ #--
3025
+ # @rbs return: untyped
3026
+ def mac; attributes[:"mac"]&.value; end
3027
+ # Gets the value of `wiphy-bands` attribute in the message.
3028
+ #--
3029
+ # @rbs return: AttributeSets::WiphyBands
3030
+ def wiphy_bands; attributes[:"wiphy_bands"]&.value; end
3031
+ # Gets the value of `supported-iftypes` attribute in the message.
3032
+ #--
3033
+ # @rbs return: AttributeSets::SupportedIftypes
3034
+ def supported_iftypes; attributes[:"supported_iftypes"]&.value; end
3035
+ # Gets the value of `max-num-scan-ssids` attribute in the message.
3036
+ #--
3037
+ # @rbs return: ::Integer
3038
+ def max_num_scan_ssids; attributes[:"max_num_scan_ssids"]&.value; end
3039
+ # Gets the value of `generation` attribute in the message.
3040
+ #--
3041
+ # @rbs return: ::Integer
3042
+ def generation; attributes[:"generation"]&.value; end
3043
+ # Gets the value of `supported-commands` attribute in the message.
3044
+ #--
3045
+ # @rbs return: untyped
3046
+ def supported_commands; attributes[:"supported_commands"]&.value; end
3047
+ # Gets the value of `max-scan-ie-len` attribute in the message.
3048
+ #--
3049
+ # @rbs return: ::Integer
3050
+ def max_scan_ie_len; attributes[:"max_scan_ie_len"]&.value; end
3051
+ # Gets the value of `cipher-suites` attribute in the message.
3052
+ #--
3053
+ # @rbs return: untyped
3054
+ def cipher_suites; attributes[:"cipher_suites"]&.value; end
3055
+ # Gets the value of `wiphy-retry-short` attribute in the message.
3056
+ #--
3057
+ # @rbs return: ::Integer
3058
+ def wiphy_retry_short; attributes[:"wiphy_retry_short"]&.value; end
3059
+ # Gets the value of `wiphy-retry-long` attribute in the message.
3060
+ #--
3061
+ # @rbs return: ::Integer
3062
+ def wiphy_retry_long; attributes[:"wiphy_retry_long"]&.value; end
3063
+ # Gets the value of `wiphy-frag-threshold` attribute in the message.
3064
+ #--
3065
+ # @rbs return: ::Integer
3066
+ def wiphy_frag_threshold; attributes[:"wiphy_frag_threshold"]&.value; end
3067
+ # Gets the value of `wiphy-rts-threshold` attribute in the message.
3068
+ #--
3069
+ # @rbs return: ::Integer
3070
+ def wiphy_rts_threshold; attributes[:"wiphy_rts_threshold"]&.value; end
3071
+ # Gets the value of `max-num-pmkids` attribute in the message.
3072
+ #--
3073
+ # @rbs return: ::Integer
3074
+ def max_num_pmkids; attributes[:"max_num_pmkids"]&.value; end
3075
+ # Gets the value of `wiphy-coverage-class` attribute in the message.
3076
+ #--
3077
+ # @rbs return: ::Integer
3078
+ def wiphy_coverage_class; attributes[:"wiphy_coverage_class"]&.value; end
3079
+ # Gets the value of `tx-frame-types` attribute in the message.
3080
+ #--
3081
+ # @rbs return: AttributeSets::IftypeAttrs
3082
+ def tx_frame_types; attributes[:"tx_frame_types"]&.value; end
3083
+ # Gets the value of `rx-frame-types` attribute in the message.
3084
+ #--
3085
+ # @rbs return: AttributeSets::IftypeAttrs
3086
+ def rx_frame_types; attributes[:"rx_frame_types"]&.value; end
3087
+ # Gets the value of `control-port-ethertype` attribute in the message.
3088
+ #--
3089
+ # @rbs return: ::Integer
3090
+ def control_port_ethertype; attributes[:"control_port_ethertype"]&.value; end
3091
+ # Gets the value of `wiphy-antenna-tx` attribute in the message.
3092
+ #--
3093
+ # @rbs return: ::Integer
3094
+ def wiphy_antenna_tx; attributes[:"wiphy_antenna_tx"]&.value; end
3095
+ # Gets the value of `wiphy-antenna-rx` attribute in the message.
3096
+ #--
3097
+ # @rbs return: ::Integer
3098
+ def wiphy_antenna_rx; attributes[:"wiphy_antenna_rx"]&.value; end
3099
+ # Gets the value of `offchannel-tx-ok` attribute in the message.
3100
+ #--
3101
+ # @rbs return: ::Integer
3102
+ def offchannel_tx_ok; attributes[:"offchannel_tx_ok"]&.value; end
3103
+ # Gets the value of `max-remain-on-channel-duration` attribute in the message.
3104
+ #--
3105
+ # @rbs return: ::Integer
3106
+ def max_remain_on_channel_duration; attributes[:"max_remain_on_channel_duration"]&.value; end
3107
+ # Gets the value of `wiphy-antenna-avail-tx` attribute in the message.
3108
+ #--
3109
+ # @rbs return: ::Integer
3110
+ def wiphy_antenna_avail_tx; attributes[:"wiphy_antenna_avail_tx"]&.value; end
3111
+ # Gets the value of `wiphy-antenna-avail-rx` attribute in the message.
3112
+ #--
3113
+ # @rbs return: ::Integer
3114
+ def wiphy_antenna_avail_rx; attributes[:"wiphy_antenna_avail_rx"]&.value; end
3115
+ # Gets the value of `wowlan-triggers-supported` attribute in the message.
3116
+ #--
3117
+ # @rbs return: AttributeSets::WowlanTriggersAttrs
3118
+ def wowlan_triggers_supported; attributes[:"wowlan_triggers_supported"]&.value; end
3119
+ # Gets the value of `interface-combinations` attribute in the message.
3120
+ #--
3121
+ # @rbs return: untyped
3122
+ def interface_combinations; attributes[:"interface_combinations"]&.value; end
3123
+ # Gets the value of `software-iftypes` attribute in the message.
3124
+ #--
3125
+ # @rbs return: AttributeSets::SupportedIftypes
3126
+ def software_iftypes; attributes[:"software_iftypes"]&.value; end
3127
+ # Gets the value of `max-num-sched-scan-ssids` attribute in the message.
3128
+ #--
3129
+ # @rbs return: ::Integer
3130
+ def max_num_sched_scan_ssids; attributes[:"max_num_sched_scan_ssids"]&.value; end
3131
+ # Gets the value of `max-sched-scan-ie-len` attribute in the message.
3132
+ #--
3133
+ # @rbs return: ::Integer
3134
+ def max_sched_scan_ie_len; attributes[:"max_sched_scan_ie_len"]&.value; end
3135
+ # Gets the value of `support-ap-uapsd` attribute in the message.
3136
+ #--
3137
+ # @rbs return: ::Integer
3138
+ def support_ap_uapsd; attributes[:"support_ap_uapsd"]&.value; end
3139
+ # Gets the value of `max-match-sets` attribute in the message.
3140
+ #--
3141
+ # @rbs return: ::Integer
3142
+ def max_match_sets; attributes[:"max_match_sets"]&.value; end
3143
+ # Gets the value of `tdls-support` attribute in the message.
3144
+ #--
3145
+ # @rbs return: ::Integer
3146
+ def tdls_support; attributes[:"tdls_support"]&.value; end
3147
+ # Gets the value of `tdls-external-setup` attribute in the message.
3148
+ #--
3149
+ # @rbs return: ::Integer
3150
+ def tdls_external_setup; attributes[:"tdls_external_setup"]&.value; end
3151
+ # Gets the value of `feature-flags` attribute in the message.
3152
+ #--
3153
+ # @rbs return: ::Integer
3154
+ def feature_flags; attributes[:"feature_flags"]&.value; end
3155
+ # Gets the value of `ht-capability-mask` attribute in the message.
3156
+ #--
3157
+ # @rbs return: untyped
3158
+ def ht_capability_mask; attributes[:"ht_capability_mask"]&.value; end
3159
+ # Gets the value of `ext-capa` attribute in the message.
3160
+ #--
3161
+ # @rbs return: untyped
3162
+ def ext_capa; attributes[:"ext_capa"]&.value; end
3163
+ # Gets the value of `ext-capa-mask` attribute in the message.
3164
+ #--
3165
+ # @rbs return: untyped
3166
+ def ext_capa_mask; attributes[:"ext_capa_mask"]&.value; end
3167
+ # Gets the value of `vht-capability-mask` attribute in the message.
3168
+ #--
3169
+ # @rbs return: untyped
3170
+ def vht_capability_mask; attributes[:"vht_capability_mask"]&.value; end
3171
+ # Gets the value of `max-csa-counters` attribute in the message.
3172
+ #--
3173
+ # @rbs return: ::Integer
3174
+ def max_csa_counters; attributes[:"max_csa_counters"]&.value; end
3175
+ # Gets the value of `ext-features` attribute in the message.
3176
+ #--
3177
+ # @rbs return: untyped
3178
+ def ext_features; attributes[:"ext_features"]&.value; end
3179
+ # Gets the value of `max-num-sched-scan-plans` attribute in the message.
3180
+ #--
3181
+ # @rbs return: ::Integer
3182
+ def max_num_sched_scan_plans; attributes[:"max_num_sched_scan_plans"]&.value; end
3183
+ # Gets the value of `max-scan-plan-interval` attribute in the message.
3184
+ #--
3185
+ # @rbs return: ::Integer
3186
+ def max_scan_plan_interval; attributes[:"max_scan_plan_interval"]&.value; end
3187
+ # Gets the value of `max-scan-plan-iterations` attribute in the message.
3188
+ #--
3189
+ # @rbs return: ::Integer
3190
+ def max_scan_plan_iterations; attributes[:"max_scan_plan_iterations"]&.value; end
3191
+ # Gets the value of `bands` attribute in the message.
3192
+ #--
3193
+ # @rbs return: ::Integer
3194
+ def bands; attributes[:"bands"]&.value; end
3195
+ # Gets the value of `sched-scan-max-reqs` attribute in the message.
3196
+ #--
3197
+ # @rbs return: ::Integer
3198
+ def sched_scan_max_reqs; attributes[:"sched_scan_max_reqs"]&.value; end
3199
+ # Gets the value of `txq-stats` attribute in the message.
3200
+ #--
3201
+ # @rbs return: AttributeSets::TxqStatsAttrs
3202
+ def txq_stats; attributes[:"txq_stats"]&.value; end
3203
+ # Gets the value of `txq-limit` attribute in the message.
3204
+ #--
3205
+ # @rbs return: ::Integer
3206
+ def txq_limit; attributes[:"txq_limit"]&.value; end
3207
+ # Gets the value of `txq-memory-limit` attribute in the message.
3208
+ #--
3209
+ # @rbs return: ::Integer
3210
+ def txq_memory_limit; attributes[:"txq_memory_limit"]&.value; end
3211
+ # Gets the value of `txq-quantum` attribute in the message.
3212
+ #--
3213
+ # @rbs return: ::Integer
3214
+ def txq_quantum; attributes[:"txq_quantum"]&.value; end
3215
+ # Gets the value of `sar-spec` attribute in the message.
3216
+ #--
3217
+ # @rbs return: AttributeSets::SarAttributes
3218
+ def sar_spec; attributes[:"sar_spec"]&.value; end
3219
+ # Gets the value of `max-num-akm-suites` attribute in the message.
3220
+ #--
3221
+ # @rbs return: untyped
3222
+ def max_num_akm_suites; attributes[:"max_num_akm_suites"]&.value; end
3223
+ end
3224
+ # Get information about an interface or dump a list of all interfaces
3225
+ class DoGetInterfaceRequest < ::Nl::Protocols::Genl::Message
3226
+ TYPE = 5
3227
+ FIXED_HEADER = nil
3228
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3229
+ ATTRIBUTES = Ractor.make_shareable(%i[ifname])
3230
+ # Gets the value of `ifname` attribute in the message.
3231
+ #--
3232
+ # @rbs return: ::String
3233
+ def ifname; attributes[:"ifname"]&.value; end
3234
+ end
3235
+ # Get information about an interface or dump a list of all interfaces
3236
+ class DoGetInterfaceReply < ::Nl::Protocols::Genl::Message
3237
+ TYPE = 7
3238
+ FIXED_HEADER = nil
3239
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3240
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy ifindex ifname iftype mac generation x_4addr wdev txq_stats])
3241
+ # Gets the value of `wiphy` attribute in the message.
3242
+ #--
3243
+ # @rbs return: ::Integer
3244
+ def wiphy; attributes[:"wiphy"]&.value; end
3245
+ # Gets the value of `ifindex` attribute in the message.
3246
+ #--
3247
+ # @rbs return: ::Integer
3248
+ def ifindex; attributes[:"ifindex"]&.value; end
3249
+ # Gets the value of `ifname` attribute in the message.
3250
+ #--
3251
+ # @rbs return: ::String
3252
+ def ifname; attributes[:"ifname"]&.value; end
3253
+ # Gets the value of `iftype` attribute in the message.
3254
+ #--
3255
+ # @rbs return: ::Integer
3256
+ def iftype; attributes[:"iftype"]&.value; end
3257
+ # Gets the value of `mac` attribute in the message.
3258
+ #--
3259
+ # @rbs return: untyped
3260
+ def mac; attributes[:"mac"]&.value; end
3261
+ # Gets the value of `generation` attribute in the message.
3262
+ #--
3263
+ # @rbs return: ::Integer
3264
+ def generation; attributes[:"generation"]&.value; end
3265
+ # Gets the value of `4addr` attribute in the message.
3266
+ #--
3267
+ # @rbs return: ::Integer
3268
+ def x_4addr; attributes[:"x_4addr"]&.value; end
3269
+ # Gets the value of `wdev` attribute in the message.
3270
+ #--
3271
+ # @rbs return: ::Integer
3272
+ def wdev; attributes[:"wdev"]&.value; end
3273
+ # Gets the value of `txq-stats` attribute in the message.
3274
+ #--
3275
+ # @rbs return: AttributeSets::TxqStatsAttrs
3276
+ def txq_stats; attributes[:"txq_stats"]&.value; end
3277
+ end
3278
+ # Get information about an interface or dump a list of all interfaces
3279
+ class DumpGetInterfaceRequest < ::Nl::Protocols::Genl::Message
3280
+ TYPE = 5
3281
+ FIXED_HEADER = nil
3282
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3283
+ ATTRIBUTES = Ractor.make_shareable(%i[ifname])
3284
+ # Gets the value of `ifname` attribute in the message.
3285
+ #--
3286
+ # @rbs return: ::String
3287
+ def ifname; attributes[:"ifname"]&.value; end
3288
+ end
3289
+ # Get information about an interface or dump a list of all interfaces
3290
+ class DumpGetInterfaceReply < ::Nl::Protocols::Genl::Message
3291
+ TYPE = 7
3292
+ FIXED_HEADER = nil
3293
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3294
+ ATTRIBUTES = Ractor.make_shareable(%i[wiphy ifindex ifname iftype mac generation x_4addr wdev txq_stats])
3295
+ # Gets the value of `wiphy` attribute in the message.
3296
+ #--
3297
+ # @rbs return: ::Integer
3298
+ def wiphy; attributes[:"wiphy"]&.value; end
3299
+ # Gets the value of `ifindex` attribute in the message.
3300
+ #--
3301
+ # @rbs return: ::Integer
3302
+ def ifindex; attributes[:"ifindex"]&.value; end
3303
+ # Gets the value of `ifname` attribute in the message.
3304
+ #--
3305
+ # @rbs return: ::String
3306
+ def ifname; attributes[:"ifname"]&.value; end
3307
+ # Gets the value of `iftype` attribute in the message.
3308
+ #--
3309
+ # @rbs return: ::Integer
3310
+ def iftype; attributes[:"iftype"]&.value; end
3311
+ # Gets the value of `mac` attribute in the message.
3312
+ #--
3313
+ # @rbs return: untyped
3314
+ def mac; attributes[:"mac"]&.value; end
3315
+ # Gets the value of `generation` attribute in the message.
3316
+ #--
3317
+ # @rbs return: ::Integer
3318
+ def generation; attributes[:"generation"]&.value; end
3319
+ # Gets the value of `4addr` attribute in the message.
3320
+ #--
3321
+ # @rbs return: ::Integer
3322
+ def x_4addr; attributes[:"x_4addr"]&.value; end
3323
+ # Gets the value of `wdev` attribute in the message.
3324
+ #--
3325
+ # @rbs return: ::Integer
3326
+ def wdev; attributes[:"wdev"]&.value; end
3327
+ # Gets the value of `txq-stats` attribute in the message.
3328
+ #--
3329
+ # @rbs return: AttributeSets::TxqStatsAttrs
3330
+ def txq_stats; attributes[:"txq_stats"]&.value; end
3331
+ end
3332
+ # Get information about supported protocol features
3333
+ class DoGetProtocolFeaturesRequest < ::Nl::Protocols::Genl::Message
3334
+ TYPE = 95
3335
+ FIXED_HEADER = nil
3336
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3337
+ ATTRIBUTES = Ractor.make_shareable(%i[protocol_features])
3338
+ # Gets the value of `protocol-features` attribute in the message.
3339
+ #--
3340
+ # @rbs return: ::Integer
3341
+ def protocol_features; attributes[:"protocol_features"]&.value; end
3342
+ end
3343
+ # Get information about supported protocol features
3344
+ class DoGetProtocolFeaturesReply < ::Nl::Protocols::Genl::Message
3345
+ TYPE = 95
3346
+ FIXED_HEADER = nil
3347
+ ATTRIBUTE_SET = AttributeSets::Nl80211Attrs
3348
+ ATTRIBUTES = Ractor.make_shareable(%i[protocol_features])
3349
+ # Gets the value of `protocol-features` attribute in the message.
3350
+ #--
3351
+ # @rbs return: ::Integer
3352
+ def protocol_features; attributes[:"protocol_features"]&.value; end
3353
+ end
3354
+ end
3355
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
3356
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
3357
+ # in the request.
3358
+ #--
3359
+ # @rbs (?wiphy: ::Integer, ?ifindex: ::Integer, ?wdev: ::Integer) -> Messages::DoGetWiphyReply
3360
+ def do_get_wiphy(**args)
3361
+ exchange_message(:"do", Messages::DoGetWiphyRequest, Messages::DoGetWiphyReply, args)
3362
+ end
3363
+ # Get information about a wiphy or dump a list of all wiphys. Requests to
3364
+ # dump get-wiphy should unconditionally include the split-wiphy-dump flag
3365
+ # in the request.
3366
+ #--
3367
+ # @rbs (?wiphy: ::Integer, ?ifindex: ::Integer, ?wdev: ::Integer, ?split_wiphy_dump: ::Integer) -> Enumerable[Messages::DumpGetWiphyReply]
3368
+ # | (?wiphy: ::Integer, ?ifindex: ::Integer, ?wdev: ::Integer, ?split_wiphy_dump: ::Integer) { (Messages::DumpGetWiphyReply) -> void } -> void
3369
+ def dump_get_wiphy(**args, &block)
3370
+ exchange_message(:"dump", Messages::DumpGetWiphyRequest, Messages::DumpGetWiphyReply, args, &block)
3371
+ end
3372
+ # Get information about an interface or dump a list of all interfaces
3373
+ #--
3374
+ # @rbs (?ifname: ::String) -> Messages::DoGetInterfaceReply
3375
+ def do_get_interface(**args)
3376
+ exchange_message(:"do", Messages::DoGetInterfaceRequest, Messages::DoGetInterfaceReply, args)
3377
+ end
3378
+ # Get information about an interface or dump a list of all interfaces
3379
+ #--
3380
+ # @rbs (?ifname: ::String) -> Enumerable[Messages::DumpGetInterfaceReply]
3381
+ # | (?ifname: ::String) { (Messages::DumpGetInterfaceReply) -> void } -> void
3382
+ def dump_get_interface(**args, &block)
3383
+ exchange_message(:"dump", Messages::DumpGetInterfaceRequest, Messages::DumpGetInterfaceReply, args, &block)
3384
+ end
3385
+ # Get information about supported protocol features
3386
+ #--
3387
+ # @rbs (?protocol_features: ::Integer) -> Messages::DoGetProtocolFeaturesReply
3388
+ def do_get_protocol_features(**args)
3389
+ exchange_message(:"do", Messages::DoGetProtocolFeaturesRequest, Messages::DoGetProtocolFeaturesReply, args)
3390
+ end
3391
+ end