1use neli::attr::AttrHandle;
2use neli::consts::genl::NlAttrType;
3use neli::genl::Nlattr;
4use neli::types::{Buffer, GenlBuffer};
5use neli_proc_macros::neli_enum;
6
7pub type Attrs<'a, T> = AttrHandle<'a, GenlBuffer<T, Buffer>, Nlattr<T, Buffer>>;
8
9#[neli_enum(serialized_type = "u16")]
10pub enum NlaNested {
11 Unspec = 0,
12}
13
14impl NlAttrType for NlaNested {}
15
16#[neli_enum(serialized_type = "u16")]
20pub enum Nl80211Attr {
21 AttrUnspec = 0,
22 AttrWiphy = 1,
23 AttrWiphyName = 2,
24 AttrIfindex = 3,
25 AttrIfname = 4,
26 AttrIftype = 5,
27 AttrMac = 6,
28 AttrKeyData = 7,
29 AttrKeyIdx = 8,
30 AttrKeyCipher = 9,
31 AttrKeySeq = 10,
32 AttrKeyDefault = 11,
33 AttrBeaconInterval = 12,
34 AttrDtimPeriod = 13,
35 AttrBeaconHead = 14,
36 AttrBeaconTail = 15,
37 AttrStaAid = 16,
38 AttrStaFlags = 17,
39 AttrStaListenInterval = 18,
40 AttrStaSupportedRates = 19,
41 AttrStaVlan = 20,
42 AttrStaInfo = 21,
43 AttrWiphyBands = 22,
44 AttrMntrFlags = 23,
45 AttrMeshId = 24,
46 AttrStaPlinkAction = 25,
47 AttrMpathNextHop = 26,
48 AttrMpathInfo = 27,
49 AttrBssCtsProt = 28,
50 AttrBssShortPreamble = 29,
51 AttrBssShortSlotTime = 30,
52 AttrHtCapability = 31,
53 AttrSupportedIftypes = 32,
54 AttrRegAlpha2 = 33,
55 AttrRegRules = 34,
56 AttrMeshConfig = 35,
57 AttrBssBasicRates = 36,
58 AttrWiphyTxqParams = 37,
59 AttrWiphyFreq = 38,
60 AttrWiphyChannelType = 39,
61 AttrKeyDefaultMgmt = 40,
62 AttrMgmtSubtype = 41,
63 AttrIe = 42,
64 AttrMaxNumScanSsids = 43,
65 AttrScanFrequencies = 44,
66 AttrScanSsids = 45,
67 AttrGeneration = 46,
68 AttrBss = 47,
69 AttrRegInitiator = 48,
70 AttrRegType = 49,
71 AttrSupportedCommands = 50,
72 AttrFrame = 51,
73 AttrSsid = 52,
74 AttrAuthType = 53,
75 AttrReasonCode = 54,
76 AttrKeyType = 55,
77 AttrMaxScanIeLen = 56,
78 AttrCipherSuites = 57,
79 AttrFreqBefore = 58,
80 AttrFreqAfter = 59,
81 AttrFreqFixed = 60,
82 AttrWiphyRetryShort = 61,
83 AttrWiphyRetryLong = 62,
84 AttrWiphyFragThreshold = 63,
85 AttrWiphyRtsThreshold = 64,
86 AttrTimedOut = 65,
87 AttrUseMfp = 66,
88 AttrStaFlags2 = 67,
89 AttrControlPort = 68,
90 AttrTestdata = 69,
91 AttrPrivacy = 70,
92 AttrDisconnectedByAp = 71,
93 AttrStatusCode = 72,
94 AttrCipherSuitesPairwise = 73,
95 AttrCipherSuiteGroup = 74,
96 AttrWpaVersions = 75,
97 AttrAkmSuites = 76,
98 AttrReqIe = 77,
99 AttrRespIe = 78,
100 AttrPrevBssid = 79,
101 AttrKey = 80,
102 AttrKeys = 81,
103 AttrPid = 82,
104 Attr4addr = 83,
105 AttrSurveyInfo = 84,
106 AttrPmkid = 85,
107 AttrMaxNumPmkids = 86,
108 AttrDuration = 87,
109 AttrCookie = 88,
110 AttrWiphyCoverageClass = 89,
111 AttrTxRates = 90,
112 AttrFrameMatch = 91,
113 AttrAck = 92,
114 AttrPsState = 93,
115 AttrCqm = 94,
116 AttrLocalStateChange = 95,
117 AttrApIsolate = 96,
118 AttrWiphyTxPowerSetting = 97,
119 AttrWiphyTxPowerLevel = 98,
120 AttrTxFrameTypes = 99,
121 AttrRxFrameTypes = 100,
122 AttrFrameType = 101,
123 AttrControlPortEthertype = 102,
124 AttrControlPortNoEncrypt = 103,
125 AttrSupportIbssRsn = 104,
126 AttrWiphyAntennaTx = 105,
127 AttrWiphyAntennaRx = 106,
128 AttrMcastRate = 107,
129 AttrOffchannelTxOk = 108,
130 AttrBssHtOpmode = 109,
131 AttrKeyDefaultTypes = 110,
132 AttrMaxRemainOnChannelDuration = 111,
133 AttrMeshSetup = 112,
134 AttrWiphyAntennaAvailTx = 113,
135 AttrWiphyAntennaAvailRx = 114,
136 AttrSupportMeshAuth = 115,
137 AttrStaPlinkState = 116,
138 AttrWowlanTriggers = 117,
139 AttrWowlanTriggersSupported = 118,
140 AttrSchedScanInterval = 119,
141 AttrInterfaceCombinations = 120,
142 AttrSoftwareIftypes = 121,
143 AttrRekeyData = 122,
144 AttrMaxNumSchedScanSsids = 123,
145 AttrMaxSchedScanIeLen = 124,
146 AttrScanSuppRates = 125,
147 AttrHiddenSsid = 126,
148 AttrIeProbeResp = 127,
149 AttrIeAssocResp = 128,
150 AttrStaWme = 129,
151 AttrSupportApUapsd = 130,
152 AttrRoamSupport = 131,
153 AttrSchedScanMatch = 132,
154 AttrMaxMatchSets = 133,
155 AttrPmksaCandidate = 134,
156 AttrTxNoCckRate = 135,
157 AttrTdlsAction = 136,
158 AttrTdlsDialogToken = 137,
159 AttrTdlsOperation = 138,
160 AttrTdlsSupport = 139,
161 AttrTdlsExternalSetup = 140,
162 AttrDeviceApSme = 141,
163 AttrDontWaitForAck = 142,
164 AttrFeatureFlags = 143,
165 AttrProbeRespOffload = 144,
166 AttrProbeResp = 145,
167 AttrDfsRegion = 146,
168 AttrDisableHt = 147,
169 AttrHtCapabilityMask = 148,
170 AttrNoackMap = 149,
171 AttrInactivityTimeout = 150,
172 AttrRxSignalDbm = 151,
173 AttrBgScanPeriod = 152,
174 AttrWdev = 153,
175 AttrUserRegHintType = 154,
176 AttrConnFailedReason = 155,
177 AttrSaeData = 156,
178 AttrVhtCapability = 157,
179 AttrScanFlags = 158,
180 AttrChannelWidth = 159,
181 AttrCenterFreq1 = 160,
182 AttrCenterFreq2 = 161,
183 AttrP2pCtwindow = 162,
184 AttrP2pOppps = 163,
185 AttrLocalMeshPowerMode = 164,
186 AttrAclPolicy = 165,
187 AttrMacAddrs = 166,
188 AttrMacAclMax = 167,
189 AttrRadarEvent = 168,
190 AttrExtCapa = 169,
191 AttrExtCapaMask = 170,
192 AttrStaCapability = 171,
193 AttrStaExtCapability = 172,
194 AttrProtocolFeatures = 173,
195 AttrSplitWiphyDump = 174,
196 AttrDisableVht = 175,
197 AttrVhtCapabilityMask = 176,
198 AttrMdid = 177,
199 AttrIeRic = 178,
200 AttrCritProtId = 179,
201 AttrMaxCritProtDuration = 180,
202 AttrPeerAid = 181,
203 AttrCoalesceRule = 182,
204 AttrChSwitchCount = 183,
205 AttrChSwitchBlockTx = 184,
206 AttrCsaIes = 185,
207 AttrCsaCOffBeacon = 186,
208 AttrCsaCOffPresp = 187,
209 AttrRxmgmtFlags = 188,
210 AttrStaSupportedChannels = 189,
211 AttrStaSupportedOperClasses = 190,
212 AttrHandleDfs = 191,
213 AttrSupport5Mhz = 192,
214 AttrSupport10Mhz = 193,
215 AttrOpmodeNotif = 194,
216 AttrVendorId = 195,
217 AttrVendorSubcmd = 196,
218 AttrVendorData = 197,
219 AttrVendorEvents = 198,
220 AttrQosMap = 199,
221 AttrMacHint = 200,
222 AttrWiphyFreqHint = 201,
223 AttrMaxApAssocSta = 202,
224 AttrTdlsPeerCapability = 203,
225 AttrSocketOwner = 204,
226 AttrCsaCOffsetsTx = 205,
227 AttrMaxCsaCounters = 206,
228 AttrTdlsInitiator = 207,
229 AttrUseRrm = 208,
230 AttrWiphyDynAck = 209,
231 AttrTsid = 210,
232 AttrUserPrio = 211,
233 AttrAdmittedTime = 212,
234 AttrSmpsMode = 213,
235 AttrOperClass = 214,
236 AttrMacMask = 215,
237 AttrWiphySelfManagedReg = 216,
238 AttrExtFeatures = 217,
239 AttrSurveyRadioStats = 218,
240 AttrNetnsFd = 219,
241 AttrSchedScanDelay = 220,
242 AttrRegIndoor = 221,
243 AttrMaxNumSchedScanPlans = 222,
244 AttrMaxScanPlanInterval = 223,
245 AttrMaxScanPlanIterations = 224,
246 AttrSchedScanPlans = 225,
247 AttrPbss = 226,
248 AttrBssSelect = 227,
249 AttrStaSupportP2pPs = 228,
250 AttrPad = 229,
251 AttrIftypeExtCapa = 230,
252 AttrMuMimoGroupData = 231,
253 AttrMuMimoFollowMacAddr = 232,
254 AttrScanStartTimeTsf = 233,
255 AttrScanStartTimeTsfBssid = 234,
256 AttrMeasurementDuration = 235,
257 AttrMeasurementDurationMandatory = 236,
258 AttrMeshPeerAid = 237,
259 AttrNanMasterPref = 238,
260 AttrNanDual = 239,
261 AttrNanFunc = 240,
262 AttrNanMatch = 241,
263}
264
265impl NlAttrType for Nl80211Attr {}
266
267#[neli_enum(serialized_type = "u16")]
271pub enum Nl80211Iftype {
272 IftypeUnspecified = 0,
273 IftypeAdhoc = 1,
274 IftypeStation = 2,
275 IftypeAp = 3,
276 IftypeApVlan = 4,
277 IftypeWds = 5,
278 IftypeMonitor = 6,
279 IftypeMeshPoint = 7,
280 IftypeP2pClient = 8,
281 IftypeP2pGo = 9,
282 IftypeP2pDevice = 10,
283 IftypeOcb = 11,
284 IftypeNan = 12,
285}
286
287impl NlAttrType for Nl80211Iftype {}
288
289#[neli_enum(serialized_type = "u16")]
291pub enum Nl80211StaFlags {
292 StaFlagInvalid = 0,
293 StaFlagAuthorized = 1,
294 StaFlagShortPreamble = 2,
295 StaFlagWme = 3,
296 StaFlagMfp = 4,
297 StaFlagAuthenticated = 5,
298 StaFlagTdlsPeer = 6,
299 StaFlagAssociated = 7,
300}
301
302impl NlAttrType for Nl80211StaFlags {}
303
304#[neli_enum(serialized_type = "u16")]
308pub enum Nl80211StaP2pPsStatus {
309 P2pPsUnsupported = 0,
310 P2pPsSupported = 1,
311}
312
313impl NlAttrType for Nl80211StaP2pPsStatus {}
314
315#[neli_enum(serialized_type = "u16")]
319pub enum Nl80211RateInfo {
320 RateInfoInvalid = 0,
321 RateInfoBitrate = 1,
322 RateInfoMcs = 2,
323 RateInfo40MhzWidth = 3,
324 RateInfoShortGi = 4,
325 RateInfoBitrate32 = 5,
326 RateInfoVhtMcs = 6,
327 RateInfoVhtNss = 7,
328 RateInfo80MhzWidth = 8,
329 RateInfo80p80MhzWidth = 9,
330 RateInfo160MhzWidth = 10,
331 RateInfo10MhzWidth = 11,
332 RateInfo5MhzWidth = 12,
333 RateInfoHeMcs = 13,
334 RateInfoHeNss = 14,
335 RateInfoHeGi = 15,
336 RateInfoHeDcm = 16,
337 RateInfoHeRuAlloc = 17,
338 RateInfo320MhzWidth = 18,
339 RateInfoEhtMcs = 19,
340 RateInfoEhtNss = 20,
341 RateInfoEhtGi = 21,
342 RateInfoEhtRuAlloc = 22,
343 RateInfoS1gMcs = 23,
344 RateInfoS1gNss = 24,
345 RateInfo1MhzWidth = 25,
346 RateInfo2MhzWidth = 26,
347 RateInfo4MhzWidth = 27,
348 RateInfo8MhzWidth = 28,
349 RateInfo16MhzWidth = 29,
350}
351
352impl NlAttrType for Nl80211RateInfo {}
353
354#[neli_enum(serialized_type = "u16")]
358pub enum Nl80211StaBssParam {
359 StaBssParamInvalid = 0,
360 StaBssParamCtsProt = 1,
361 StaBssParamShortPreamble = 2,
362 StaBssParamShortSlotTime = 3,
363 StaBssParamDtimPeriod = 4,
364 StaBssParamBeaconInterval = 5,
365}
366
367impl NlAttrType for Nl80211StaBssParam {}
368
369#[neli_enum(serialized_type = "u16")]
373pub enum Nl80211StaInfo {
374 StaInfoInvalid = 0,
375 StaInfoInactiveTime = 1,
376 StaInfoRxBytes = 2,
377 StaInfoTxBytes = 3,
378 StaInfoLlid = 4,
379 StaInfoPlid = 5,
380 StaInfoPlinkState = 6,
381 StaInfoSignal = 7,
382 StaInfoTxBitrate = 8,
383 StaInfoRxPackets = 9,
384 StaInfoTxPackets = 10,
385 StaInfoTxRetries = 11,
386 StaInfoTxFailed = 12,
387 StaInfoSignalAvg = 13,
388 StaInfoRxBitrate = 14,
389 StaInfoBssParam = 15,
390 StaInfoConnectedTime = 16,
391 StaInfoStaFlags = 17,
392 StaInfoBeaconLoss = 18,
393 StaInfoTOffset = 19,
394 StaInfoLocalPm = 20,
395 StaInfoPeerPm = 21,
396 StaInfoNonpeerPm = 22,
397 StaInfoRxBytes64 = 23,
398 StaInfoTxBytes64 = 24,
399 StaInfoChainSignal = 25,
400 StaInfoChainSignalAvg = 26,
401 StaInfoExpectedThroughput = 27,
402 StaInfoRxDropMisc = 28,
403 StaInfoBeaconRx = 29,
404 StaInfoBeaconSignalAvg = 30,
405 StaInfoTidStats = 31,
406 StaInfoRxDuration = 32,
407 StaInfoPad = 33,
408}
409
410impl NlAttrType for Nl80211StaInfo {}
411
412#[neli_enum(serialized_type = "u16")]
416pub enum Nl80211TidStats {
417 TidStatsInvalid = 0,
418 TidStatsRxMsdu = 1,
419 TidStatsTxMsdu = 2,
420 TidStatsTxMsduRetries = 3,
421 TidStatsTxMsduFailed = 4,
422 TidStatsPad = 5,
423}
424
425impl NlAttrType for Nl80211TidStats {}
426
427#[neli_enum(serialized_type = "u16")]
431pub enum Nl80211MpathFlags {
432 MpathFlagActive = 1 << 0,
433 MpathFlagResolving = 1 << 1,
434 MpathFlagSnValid = 1 << 2,
435 MpathFlagFixed = 1 << 3,
436 MpathFlagResolved = 1 << 4,
437}
438
439impl NlAttrType for Nl80211MpathFlags {}
440
441#[neli_enum(serialized_type = "u16")]
445pub enum Nl80211MpathInfo {
446 MpathInfoInvalid = 0,
447 MpathInfoFrameQlen = 1,
448 MpathInfoSn = 2,
449 MpathInfoMetric = 3,
450 MpathInfoExptime = 4,
451 MpathInfoFlags = 5,
452 MpathInfoDiscoveryTimeout = 6,
453 MpathInfoDiscoveryRetries = 7,
454}
455
456impl NlAttrType for Nl80211MpathInfo {}
457
458#[neli_enum(serialized_type = "u16")]
462pub enum Nl80211BandAttr {
463 BandAttrInvalid = 0,
464 BandAttrFreqs = 1,
465 BandAttrRates = 2,
466 BandAttrHtMcsSet = 3,
467 BandAttrHtCapa = 4,
468 BandAttrHtAmpduFactor = 5,
469 BandAttrHtAmpduDensity = 6,
470 BandAttrVhtMcsSet = 7,
471 BandAttrVhtCapa = 8,
472}
473
474impl NlAttrType for Nl80211BandAttr {}
475
476#[neli_enum(serialized_type = "u16")]
480pub enum Nl80211FrequencyAttr {
481 FrequencyAttrInvalid = 0,
482 FrequencyAttrFreq = 1,
483 FrequencyAttrDisabled = 2,
484 FrequencyAttrNoIr = 3,
485 FrequencyAttrNoIbss = 4,
486 FrequencyAttrRadar = 5,
487 FrequencyAttrMaxTxPower = 6,
488 FrequencyAttrDfsState = 7,
489 FrequencyAttrDfsTime = 8,
490 FrequencyAttrNoHt40Minus = 9,
491 FrequencyAttrNoHt40Plus = 10,
492 FrequencyAttrNo80mhz = 11,
493 FrequencyAttrNo160mhz = 12,
494 FrequencyAttrDfsCacTime = 13,
495 FrequencyAttrIndoorOnly = 14,
496 FrequencyAttrIrConcurrent = 15,
497 FrequencyAttrNo20mhz = 16,
498 FrequencyAttrNo10mhz = 17,
499}
500
501impl NlAttrType for Nl80211FrequencyAttr {}
502
503#[neli_enum(serialized_type = "u16")]
507pub enum Nl80211BitrateAttr {
508 BitrateAttrInvalid = 0,
509 BitrateAttrRate = 1,
510 BitrateAttr2ghzShortpreamble = 2,
511}
512
513impl NlAttrType for Nl80211BitrateAttr {}
514
515#[neli_enum(serialized_type = "u16")]
519pub enum Nl80211RegInitiator {
520 RegdomSetByCore = 0,
521 RegdomSetByUser = 1,
522 RegdomSetByDriver = 2,
523 RegdomSetByCountryIe = 3,
524}
525
526impl NlAttrType for Nl80211RegInitiator {}
527
528#[neli_enum(serialized_type = "u16")]
532pub enum Nl80211RegType {
533 RegdomTypeCountry = 0,
534 RegdomTypeWorld = 1,
535 RegdomTypeCustomWorld = 2,
536 RegdomTypeIntersection = 3,
537}
538
539impl NlAttrType for Nl80211RegType {}
540
541#[neli_enum(serialized_type = "u16")]
545pub enum Nl80211RegRuleAttr {
546 RegRuleAttrInvalid = 0,
547 AttrRegRuleFlags = 1,
548 AttrFreqRangeStart = 2,
549 AttrFreqRangeEnd = 3,
550 AttrFreqRangeMaxBw = 4,
551 AttrPowerRuleMaxAntGain = 5,
552 AttrPowerRuleMaxEirp = 6,
553 AttrDfsCacTime = 7,
554}
555
556impl NlAttrType for Nl80211RegRuleAttr {}
557
558#[neli_enum(serialized_type = "u16")]
562pub enum Nl80211SchedScanMatchAttr {
563 SchedScanMatchAttrInvalid = 0,
564 SchedScanMatchAttrSsid = 1,
565 SchedScanMatchAttrRssi = 2,
566}
567
568impl NlAttrType for Nl80211SchedScanMatchAttr {}
569
570#[neli_enum(serialized_type = "u16")]
574pub enum Nl80211RegRuleFlags {
575 RrfNoOfdm = 1 << 0,
576 RrfNoCck = 1 << 1,
577 RrfNoIndoor = 1 << 2,
578 RrfNoOutdoor = 1 << 3,
579 RrfDfs = 1 << 4,
580 RrfPtpOnly = 1 << 5,
581 RrfPtmpOnly = 1 << 6,
582 RrfNoIr = 1 << 7,
583 RrfNoIbss = 1 << 8,
584 RrfAutoBw = 1 << 11,
585 RrfIrConcurrent = 1 << 12,
586 RrfNoHt40minus = 1 << 13,
587 RrfNoHt40plus = 1 << 14,
588 RrfNo80mhz = 1 << 15, }
590
591impl NlAttrType for Nl80211RegRuleFlags {}
592
593#[neli_enum(serialized_type = "u16")]
597pub enum Nl80211DfsRegions {
598 DfsUnset = 0,
599 DfsFcc = 1,
600 DfsEtsi = 2,
601 DfsJp = 3,
602}
603
604impl NlAttrType for Nl80211DfsRegions {}
605
606#[neli_enum(serialized_type = "u16")]
610pub enum Nl80211UserRegHintType {
611 UserRegHintUser = 0,
612 UserRegHintCellBase = 1,
613 UserRegHintIndoor = 2,
614}
615
616impl NlAttrType for Nl80211UserRegHintType {}
617
618#[neli_enum(serialized_type = "u16")]
622pub enum Nl80211SurveyInfo {
623 SurveyInfoInvalid = 0,
624 SurveyInfoFrequency = 1,
625 SurveyInfoNoise = 2,
626 SurveyInfoInUse = 3,
627 SurveyInfoTime = 4,
628 SurveyInfoTimeBusy = 5,
629 SurveyInfoTimeExtBusy = 6,
630 SurveyInfoTimeRx = 7,
631 SurveyInfoTimeTx = 8,
632 SurveyInfoTimeScan = 9,
633 SurveyInfoPad = 10,
634}
635
636impl NlAttrType for Nl80211SurveyInfo {}
637
638#[neli_enum(serialized_type = "u16")]
642pub enum Nl80211MntrFlags {
643 MntrFlagInvalid = 0,
644 MntrFlagFcsfail = 1,
645 MntrFlagPlcpfail = 2,
646 MntrFlagControl = 3,
647 MntrFlagOtherBss = 4,
648 MntrFlagCookFrames = 5,
649 MntrFlagActive = 6,
650}
651
652impl NlAttrType for Nl80211MntrFlags {}
653
654#[neli_enum(serialized_type = "u16")]
658pub enum Nl80211MeshPowerMode {
659 MeshPowerUnknown = 0,
660 MeshPowerActive = 1,
661 MeshPowerLightSleep = 2,
662 MeshPowerDeepSleep = 3,
663}
664
665impl NlAttrType for Nl80211MeshPowerMode {}
666
667#[neli_enum(serialized_type = "u16")]
671pub enum Nl80211MeshconfParams {
672 MeshconfInvalid = 0,
673 MeshconfRetryTimeout = 1,
674 MeshconfConfirmTimeout = 2,
675 MeshconfHoldingTimeout = 3,
676 MeshconfMaxPeerLinks = 4,
677 MeshconfMaxRetries = 5,
678 MeshconfTtl = 6,
679 MeshconfAutoOpenPlinks = 7,
680 MeshconfHwmpMaxPreqRetries = 8,
681 MeshconfPathRefreshTime = 9,
682 MeshconfMinDiscoveryTimeout = 10,
683 MeshconfHwmpActivePathTimeout = 11,
684 MeshconfHwmpPreqMinInterval = 12,
685 MeshconfHwmpNetDiamTrvsTime = 13,
686 MeshconfHwmpRootmode = 14,
687 MeshconfElementTtl = 15,
688 MeshconfHwmpRannInterval = 16,
689 MeshconfGateAnnouncements = 17,
690 MeshconfHwmpPerrMinInterval = 18,
691 MeshconfForwarding = 19,
692 MeshconfRssiThreshold = 20,
693 MeshconfSyncOffsetMaxNeighbor = 21,
694 MeshconfHtOpmode = 22,
695 MeshconfHwmpPathToRootTimeout = 23,
696 MeshconfHwmpRootInterval = 24,
697 MeshconfHwmpConfirmationInterval = 25,
698 MeshconfPowerMode = 26,
699 MeshconfAwakeWindow = 27,
700 MeshconfPlinkTimeout = 28,
701}
702
703impl NlAttrType for Nl80211MeshconfParams {}
704
705#[neli_enum(serialized_type = "u16")]
709pub enum Nl80211MeshSetupParams {
710 MeshSetupInvalid = 0,
711 MeshSetupEnableVendorPathSel = 1,
712 MeshSetupEnableVendorMetric = 2,
713 MeshSetupIe = 3,
714 MeshSetupUserspaceAuth = 4,
715 MeshSetupUserspaceAmpe = 5,
716 MeshSetupEnableVendorSync = 6,
717 MeshSetupUserspaceMpm = 7,
718 MeshSetupAuthProtocol = 8,
719}
720
721impl NlAttrType for Nl80211MeshSetupParams {}
722
723#[neli_enum(serialized_type = "u16")]
727pub enum Nl80211TxqAttr {
728 TxqAttrInvalid = 0,
729 TxqAttrAc = 1,
730 TxqAttrTxop = 2,
731 TxqAttrCwmin = 3,
732 TxqAttrCwmax = 4,
733 TxqAttrAifs = 5,
734}
735
736impl NlAttrType for Nl80211TxqAttr {}
737
738#[neli_enum(serialized_type = "u16")]
742pub enum Nl80211Ac {
743 AcVo = 0,
744 AcVi = 1,
745 AcBe = 2,
746 AcBk = 3,
747}
748
749impl NlAttrType for Nl80211Ac {}
750
751#[neli_enum(serialized_type = "u16")]
755pub enum Nl80211ChannelType {
756 ChanNoHt = 0,
757 ChanHt20 = 1,
758 ChanHt40minus = 2,
759 ChanHt40plus = 3,
760}
761
762impl NlAttrType for Nl80211ChannelType {}
763
764#[neli_enum(serialized_type = "u16")]
768pub enum Nl80211ChanWidth {
769 ChanWidth20Noht = 0,
770 ChanWidth20 = 1,
771 ChanWidth40 = 2,
772 ChanWidth80 = 3,
773 ChanWidth80p80 = 4,
774 ChanWidth160 = 5,
775 ChanWidth5 = 6,
776 ChanWidth10 = 7,
777}
778
779impl NlAttrType for Nl80211ChanWidth {}
780
781#[neli_enum(serialized_type = "u16")]
785pub enum Nl80211BssScanWidth {
786 BssChanWidth20 = 0,
787 BssChanWidth10 = 1,
788 BssChanWidth5 = 2,
789}
790
791impl NlAttrType for Nl80211BssScanWidth {}
792
793#[neli_enum(serialized_type = "u16")]
797pub enum Nl80211Bss {
798 BssInvalid = 0,
799 BssBssid = 1,
800 BssFrequency = 2,
801 BssTsf = 3,
802 BssBeaconInterval = 4,
803 BssCapability = 5,
804 BssInformationElements = 6,
805 BssSignalMbm = 7,
806 BssSignalUnspec = 8,
807 BssStatus = 9,
808 BssSeenMsAgo = 10,
809 BssBeaconIes = 11,
810 BssChanWidth = 12,
811 BssBeaconTsf = 13,
812 BssPrespData = 14,
813 BssLastSeenBoottime = 15,
814 BssPad = 16,
815 BssParentTsf = 17,
816 BssParentBssid = 18,
817}
818
819impl NlAttrType for Nl80211Bss {}
820
821#[neli_enum(serialized_type = "u16")]
825pub enum Nl80211BssStatus {
826 BssStatusAuthenticated = 0,
827 BssStatusAssociated = 1,
828 BssStatusIbssJoined = 2,
829}
830
831impl NlAttrType for Nl80211BssStatus {}
832
833#[neli_enum(serialized_type = "u16")]
837pub enum Nl80211AuthType {
838 AuthtypeOpenSystem = 0,
839 AuthtypeSharedKey = 1,
840 AuthtypeFt = 2,
841 AuthtypeNetworkEap = 3,
842 AuthtypeSae = 4,
843 AuthtypeNum = 5,
844 AuthtypeMax = 4,
845 AuthtypeAutomatic = 5,
846}
847
848impl NlAttrType for Nl80211AuthType {}
849
850#[neli_enum(serialized_type = "u16")]
854pub enum Nl80211KeyType {
855 KeytypeGroup = 0,
856 KeytypePairwise = 1,
857 KeytypePeerkey = 2,
858}
859
860impl NlAttrType for Nl80211KeyType {}
861
862#[neli_enum(serialized_type = "u16")]
866pub enum Nl80211Mfp {
867 MfpNo = 0,
868 MfpRequired = 1,
869}
870
871impl NlAttrType for Nl80211Mfp {}
872
873#[neli_enum(serialized_type = "u16")]
877pub enum Nl80211WpaVersions {
878 WpaVersion1 = 1 << 0,
879 WpaVersion2 = 1 << 1,
880}
881
882impl NlAttrType for Nl80211WpaVersions {}
883
884#[neli_enum(serialized_type = "u16")]
888pub enum Nl80211KeyDefaultTypes {
889 KeyDefaultTypeInvalid = 0,
890 KeyDefaultTypeUnicast = 1,
891 KeyDefaultTypeMulticast = 2,
892}
893
894impl NlAttrType for Nl80211KeyDefaultTypes {}
895
896#[neli_enum(serialized_type = "u16")]
900pub enum Nl80211KeyAttributes {
901 KeyInvalid = 0,
902 KeyData = 1,
903 KeyIdx = 2,
904 KeyCipher = 3,
905 KeySeq = 4,
906 KeyDefault = 5,
907 KeyDefaultMgmt = 6,
908 KeyType = 7,
909 KeyDefaultTypes = 8,
910}
911
912impl NlAttrType for Nl80211KeyAttributes {}
913
914#[neli_enum(serialized_type = "u16")]
918pub enum Nl80211TxRateAttributes {
919 TxrateInvalid = 0,
920 TxrateLegacy = 1,
921 TxrateHt = 2,
922 TxrateVht = 3,
923 TxrateGi = 4,
924}
925
926impl NlAttrType for Nl80211TxRateAttributes {}
927
928#[neli_enum(serialized_type = "u16")]
932pub enum Nl80211TxrateGi {
933 TxrateDefaultGi = 0,
934 TxrateForceSgi = 1,
935 TxrateForceLgi = 2,
936}
937
938impl NlAttrType for Nl80211TxrateGi {}
939
940#[neli_enum(serialized_type = "u16")]
944pub enum Nl80211Bandc {
945 Band2ghz = 0,
946 Band5ghz = 1,
947 Band60ghz = 2,
948}
949
950impl NlAttrType for Nl80211Bandc {}
951
952#[neli_enum(serialized_type = "u16")]
956pub enum Nl80211PsState {
957 PsDisabled = 0,
958 PsEnabled = 1,
959}
960
961impl NlAttrType for Nl80211PsState {}
962
963#[neli_enum(serialized_type = "u16")]
967pub enum Nl80211AttrCqm {
968 AttrCqmInvalid = 0,
969 AttrCqmRssiThold = 1,
970 AttrCqmRssiHyst = 2,
971 AttrCqmRssiThresholdEvent = 3,
972 AttrCqmPktLossEvent = 4,
973 AttrCqmTxeRate = 5,
974 AttrCqmTxePkts = 6,
975 AttrCqmTxeIntvl = 7,
976 AttrCqmBeaconLossEvent = 8,
977}
978
979impl NlAttrType for Nl80211AttrCqm {}
980
981#[neli_enum(serialized_type = "u16")]
985pub enum Nl80211CqmRssiThresholdEvent {
986 CqmRssiThresholdEventLow = 0,
987 CqmRssiThresholdEventHigh = 1,
988 CqmRssiBeaconLossEvent = 2,
989}
990
991impl NlAttrType for Nl80211CqmRssiThresholdEvent {}
992
993#[neli_enum(serialized_type = "u16")]
997pub enum Nl80211TxPowerSetting {
998 TxPowerAutomatic = 0,
999 TxPowerLimited = 1,
1000 TxPowerFixed = 2,
1001}
1002
1003impl NlAttrType for Nl80211TxPowerSetting {}
1004
1005#[neli_enum(serialized_type = "u16")]
1009pub enum Nl80211PacketPatternAttr {
1010 PktpatInvalid = 0,
1011 PktpatMask = 1,
1012 PktpatPattern = 2,
1013 PktpatOffset = 3,
1014}
1015
1016impl NlAttrType for Nl80211PacketPatternAttr {}
1017
1018#[neli_enum(serialized_type = "u16")]
1022pub enum Nl80211WowlanTriggers {
1023 WowlanTrigInvalid = 0,
1024 WowlanTrigAny = 1,
1025 WowlanTrigDisconnect = 2,
1026 WowlanTrigMagicPkt = 3,
1027 WowlanTrigPktPattern = 4,
1028 WowlanTrigGtkRekeySupported = 5,
1029 WowlanTrigGtkRekeyFailure = 6,
1030 WowlanTrigEapIdentRequest = 7,
1031 WowlanTrig4wayHandshake = 8,
1032 WowlanTrigRfkillRelease = 9,
1033 WowlanTrigWakeupPkt80211 = 10,
1034 WowlanTrigWakeupPkt80211Len = 11,
1035 WowlanTrigWakeupPkt8023 = 12,
1036 WowlanTrigWakeupPkt8023Len = 13,
1037 WowlanTrigTcpConnection = 14,
1038 WowlanTrigWakeupTcpMatch = 15,
1039 WowlanTrigWakeupTcpConnlost = 16,
1040 WowlanTrigWakeupTcpNomoretokens = 17,
1041 WowlanTrigNetDetect = 18,
1042 WowlanTrigNetDetectResults = 19,
1043}
1044
1045impl NlAttrType for Nl80211WowlanTriggers {}
1046
1047#[neli_enum(serialized_type = "u16")]
1051pub enum Nl80211WowlanTcpAttrs {
1052 WowlanTcpInvalid = 0,
1053 WowlanTcpSrcIpv4 = 1,
1054 WowlanTcpDstIpv4 = 2,
1055 WowlanTcpDstMac = 3,
1056 WowlanTcpSrcPort = 4,
1057 WowlanTcpDstPort = 5,
1058 WowlanTcpDataPayload = 6,
1059 WowlanTcpDataPayloadSeq = 7,
1060 WowlanTcpDataPayloadToken = 8,
1061 WowlanTcpDataInterval = 9,
1062 WowlanTcpWakePayload = 10,
1063 WowlanTcpWakeMask = 11,
1064}
1065
1066impl NlAttrType for Nl80211WowlanTcpAttrs {}
1067
1068#[neli_enum(serialized_type = "u16")]
1072pub enum Nl80211AttrCoalesceRule {
1073 CoalesceRuleInvalid = 0,
1074 AttrCoalesceRuleDelay = 1,
1075 AttrCoalesceRuleCondition = 2,
1076 AttrCoalesceRulePktPattern = 3,
1077}
1078
1079impl NlAttrType for Nl80211AttrCoalesceRule {}
1080
1081#[neli_enum(serialized_type = "u16")]
1085pub enum Nl80211CoalesceCondition {
1086 CoalesceConditionMatch = 0,
1087 CoalesceConditionNoMatch = 1,
1088}
1089
1090impl NlAttrType for Nl80211CoalesceCondition {}
1091
1092#[neli_enum(serialized_type = "u16")]
1096pub enum Nl80211IfaceLimitAttrs {
1097 IfaceLimitUnspec = 0,
1098 IfaceLimitMax = 1,
1099 IfaceLimitTypes = 2,
1100}
1101
1102impl NlAttrType for Nl80211IfaceLimitAttrs {}
1103
1104#[neli_enum(serialized_type = "u16")]
1108pub enum Nl80211IfCombinationAttrs {
1109 IfaceCombUnspec = 0,
1110 IfaceCombLimits = 1,
1111 IfaceCombMaxnum = 2,
1112 IfaceCombStaApBiMatch = 3,
1113 IfaceCombNumChannels = 4,
1114 IfaceCombRadarDetectWidths = 5,
1115 IfaceCombRadarDetectRegions = 6,
1116}
1117
1118impl NlAttrType for Nl80211IfCombinationAttrs {}
1119
1120#[neli_enum(serialized_type = "u16")]
1124pub enum Nl80211PlinkState {
1125 PlinkListen = 0,
1126 PlinkOpnSnt = 1,
1127 PlinkOpnRcvd = 2,
1128 PlinkCnfRcvd = 3,
1129 PlinkEstab = 4,
1130 PlinkHolding = 5,
1131 PlinkBlocked = 6,
1132}
1133
1134impl NlAttrType for Nl80211PlinkState {}
1135
1136#[neli_enum(serialized_type = "u16")]
1140pub enum PlinkActions {
1141 PlinkActionNoAction = 0,
1142 PlinkActionOpen = 1,
1143 PlinkActionBlock = 2,
1144}
1145
1146impl NlAttrType for PlinkActions {}
1147
1148#[neli_enum(serialized_type = "u16")]
1152pub enum Nl80211RekeyData {
1153 RekeyDataInvalid = 0,
1154 RekeyDataKek = 1,
1155 RekeyDataKck = 2,
1156 RekeyDataReplayCtr = 3,
1157}
1158
1159impl NlAttrType for Nl80211RekeyData {}
1160
1161#[neli_enum(serialized_type = "u16")]
1165pub enum Nl80211HiddenSsid {
1166 HiddenSsidNotInUse = 0,
1167 HiddenSsidZeroLen = 1,
1168 HiddenSsidZeroContents = 2,
1169}
1170
1171impl NlAttrType for Nl80211HiddenSsid {}
1172
1173#[neli_enum(serialized_type = "u16")]
1177pub enum Nl80211StaWmeAttr {
1178 StaWmeInvalid = 0,
1179 StaWmeUapsdQueues = 1,
1180 StaWmeMaxSp = 2,
1181}
1182
1183impl NlAttrType for Nl80211StaWmeAttr {}
1184
1185#[neli_enum(serialized_type = "u16")]
1189pub enum Nl80211PmksaCandidateAttr {
1190 PmksaCandidateInvalid = 0,
1191 PmksaCandidateIndex = 1,
1192 PmksaCandidateBssid = 2,
1193 PmksaCandidatePreauth = 3,
1194}
1195
1196impl NlAttrType for Nl80211PmksaCandidateAttr {}
1197
1198#[neli_enum(serialized_type = "u16")]
1202pub enum Nl80211TdlsOperation {
1203 TdlsDiscoveryReq = 0,
1204 TdlsSetup = 1,
1205 TdlsTeardown = 2,
1206 TdlsEnableLink = 3,
1207 TdlsDisableLink = 4,
1208}
1209
1210impl NlAttrType for Nl80211TdlsOperation {}
1211
1212#[neli_enum(serialized_type = "u16")]
1216pub enum Nl80211FeatureFlags {
1217 FeatureSkTxStatus = 1 << 0,
1218 FeatureHtIbss = 1 << 1,
1219 FeatureInactivityTimer = 1 << 2,
1220 FeatureCellBaseRegHints = 1 << 3,
1221 FeatureP2pDeviceNeedsChannel = 1 << 4,
1222 FeatureSae = 1 << 5,
1223 FeatureLowPriorityScan = 1 << 6,
1224 FeatureScanFlush = 1 << 7,
1225 FeatureApScan = 1 << 8,
1226 FeatureVifTxpower = 1 << 9,
1227 FeatureNeedObssScan = 1 << 10,
1228 FeatureP2pGoCtwin = 1 << 11,
1229 FeatureP2pGoOppps = 1 << 12,
1230 FeatureAdvertiseChanLimits = 1 << 14,
1231 FeatureFullApClientState = 1 << 15,
1232 }
1249
1250impl NlAttrType for Nl80211FeatureFlags {}
1251
1252#[neli_enum(serialized_type = "u16")]
1256pub enum Nl80211ExtFeatureIndex {
1257 ExtFeatureVhtIbss = 0,
1258 ExtFeatureRrm = 1,
1259 ExtFeatureMuMimoAirSniffer = 2,
1260 ExtFeatureScanStartTime = 3,
1261 ExtFeatureBssParentTsf = 4,
1262 ExtFeatureSetScanDwell = 5,
1263 ExtFeatureBeaconRateLegacy = 6,
1264 ExtFeatureBeaconRateHt = 7,
1265 ExtFeatureBeaconRateVht = 8,
1266}
1267
1268impl NlAttrType for Nl80211ExtFeatureIndex {}
1269
1270#[neli_enum(serialized_type = "u16")]
1274pub enum Nl80211ProbeRespOffloadSupportAttr {
1275 ProbeRespOffloadSupportWps = 1 << 0,
1276 ProbeRespOffloadSupportWps2 = 1 << 1,
1277 ProbeRespOffloadSupportP2p = 1 << 2,
1278 ProbeRespOffloadSupport80211u = 1 << 3,
1279}
1280
1281impl NlAttrType for Nl80211ProbeRespOffloadSupportAttr {}
1282
1283#[neli_enum(serialized_type = "u16")]
1287pub enum Nl80211ConnectFailedReason {
1288 ConnFailMaxClients = 0,
1289 ConnFailBlockedClient = 1,
1290}
1291
1292impl NlAttrType for Nl80211ConnectFailedReason {}
1293
1294#[neli_enum(serialized_type = "u16")]
1298pub enum Nl80211ScanFlags {
1299 ScanFlagLowPriority = 1 << 0,
1300 ScanFlagFlush = 1 << 1,
1301 ScanFlagAp = 1 << 2,
1302 ScanFlagRandomAddr = 1 << 3,
1303}
1304
1305impl NlAttrType for Nl80211ScanFlags {}
1306
1307#[neli_enum(serialized_type = "u16")]
1311pub enum Nl80211AclPolicy {
1312 AclPolicyAcceptUnlessListed = 0,
1313 AclPolicyDenyUnlessListed = 1,
1314}
1315
1316impl NlAttrType for Nl80211AclPolicy {}
1317
1318#[neli_enum(serialized_type = "u16")]
1322pub enum Nl80211SmpsMode {
1323 SmpsOff = 0,
1324 SmpsStatic = 1,
1325 SmpsDynamic = 2,
1326}
1327
1328impl NlAttrType for Nl80211SmpsMode {}
1329
1330#[neli_enum(serialized_type = "u16")]
1334pub enum Nl80211RadarEvent {
1335 RadarDetected = 0,
1336 RadarCacFinished = 1,
1337 RadarCacAborted = 2,
1338 RadarNopFinished = 3,
1339}
1340
1341impl NlAttrType for Nl80211RadarEvent {}
1342
1343#[neli_enum(serialized_type = "u16")]
1347pub enum Nl80211DfsState {
1348 DfsUsable = 0,
1349 DfsUnavailable = 1,
1350 DfsAvailable = 2,
1351}
1352
1353impl NlAttrType for Nl80211DfsState {}
1354
1355#[neli_enum(serialized_type = "u16")]
1359pub enum Nl80211ProtocolFeatures {
1360 ProtocolFeatureSplitWiphyDump = 1 << 0,
1361}
1362
1363impl NlAttrType for Nl80211ProtocolFeatures {}
1364
1365#[neli_enum(serialized_type = "u16")]
1369pub enum Nl80211CritProtoId {
1370 CritProtoUnspec = 0,
1371 CritProtoDhcp = 1,
1372 CritProtoEapol = 2,
1373 CritProtoApipa = 3,
1374}
1375
1376impl NlAttrType for Nl80211CritProtoId {}
1377
1378#[neli_enum(serialized_type = "u16")]
1382pub enum Nl80211RxmgmtFlags {
1383 RxmgmtFlagAnswered = 1 << 0,
1384}
1385
1386impl NlAttrType for Nl80211RxmgmtFlags {}
1387
1388#[neli_enum(serialized_type = "u16")]
1392pub enum Nl80211TdlsPeerCapability {
1393 TdlsPeerHt = 1 << 0,
1394 TdlsPeerVht = 1 << 1,
1395 TdlsPeerWmm = 1 << 2,
1396}
1397
1398impl NlAttrType for Nl80211TdlsPeerCapability {}
1399
1400#[neli_enum(serialized_type = "u16")]
1404pub enum Nl80211SchedScanPlan {
1405 SchedScanPlanInvalid = 0,
1406 SchedScanPlanInterval = 1,
1407 SchedScanPlanIterations = 2,
1408}
1409
1410impl NlAttrType for Nl80211SchedScanPlan {}
1411
1412#[neli_enum(serialized_type = "u16")]
1416pub enum Nl80211BssSelectAttr {
1417 BssSelectAttrInvalid = 0,
1418 BssSelectAttrRssi = 1,
1419 BssSelectAttrBandPref = 2,
1420 BssSelectAttrRssiAdjust = 3,
1421}
1422
1423impl NlAttrType for Nl80211BssSelectAttr {}
1424
1425#[neli_enum(serialized_type = "u16")]
1429pub enum Nl80211NanDualBandConf {
1430 NanBandDefault = 1 << 0,
1431 NanBand2ghz = 1 << 1,
1432 NanBand5ghz = 1 << 2,
1433}
1434
1435impl NlAttrType for Nl80211NanDualBandConf {}
1436
1437#[neli_enum(serialized_type = "u16")]
1441pub enum Nl80211NanFunctionType {
1442 NanFuncPublish = 0,
1443 NanFuncSubscribe = 1,
1444 NanFuncFollowUp = 2,
1445 NanFuncTypeAfterLast = 3,
1446 NanFuncMaxType = 2,
1447}
1448
1449impl NlAttrType for Nl80211NanFunctionType {}
1450
1451#[neli_enum(serialized_type = "u16")]
1455pub enum Nl80211NanPublishType {
1456 NanSolicitedPublish = 1 << 0,
1457 NanUnsolicitedPublish = 1 << 1,
1458}
1459
1460impl NlAttrType for Nl80211NanPublishType {}
1461
1462#[neli_enum(serialized_type = "u16")]
1466pub enum Nl80211NanFuncTermReason {
1467 NanFuncTermReasonUserRequest = 0,
1468 NanFuncTermReasonTtlExpired = 1,
1469 NanFuncTermReasonError = 2,
1470}
1471
1472impl NlAttrType for Nl80211NanFuncTermReason {}
1473
1474#[neli_enum(serialized_type = "u16")]
1478pub enum Nl80211NanFuncAttributes {
1479 NanFuncInvalid = 0,
1480 NanFuncType = 1,
1481 NanFuncServiceId = 2,
1482 NanFuncPublishType = 3,
1483 NanFuncPublishBcast = 4,
1484 NanFuncSubscribeActive = 5,
1485 NanFuncFollowUpId = 6,
1486 NanFuncFollowUpReqId = 7,
1487 NanFuncFollowUpDest = 8,
1488 NanFuncCloseRange = 9,
1489 NanFuncTtl = 10,
1490 NanFuncServiceInfo = 11,
1491 NanFuncSrf = 12,
1492 NanFuncRxMatchFilter = 13,
1493 NanFuncTxMatchFilter = 14,
1494 NanFuncInstanceId = 15,
1495 NanFuncTermReason = 16,
1496}
1497
1498impl NlAttrType for Nl80211NanFuncAttributes {}
1499
1500#[neli_enum(serialized_type = "u16")]
1504pub enum Nl80211NanSrfAttributes {
1505 NanSrfInvalid = 0,
1506 NanSrfInclude = 1,
1507 NanSrfBf = 2,
1508 NanSrfBfIdx = 3,
1509 NanSrfMacAddrs = 4,
1510}
1511
1512impl NlAttrType for Nl80211NanSrfAttributes {}
1513
1514#[neli_enum(serialized_type = "u16")]
1518pub enum Nl80211NanMatchAttributes {
1519 NanMatchInvalid = 0,
1520 NanMatchFuncLocal = 1,
1521 NanMatchFuncPeer = 2,
1522}
1523
1524impl NlAttrType for Nl80211NanMatchAttributes {}