aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/auto.txt
blob: d38da2bd6ce9b11694f766ff3600bbd8bd71c759 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
# Code generated by syz-declextract. DO NOT EDIT.

meta automatic

type auto_todo intptr

include <vdso/bits.h>
include <linux/types.h>
include <net/netlink.h>
include <include/uapi/linux/batman_adv.h>
include <include/uapi/linux/caif/if_caif.h>
include <include/uapi/linux/can/gw.h>
include <include/uapi/linux/can/netlink.h>
include <include/uapi/linux/can/vxcan.h>
include <include/uapi/linux/cgroupstats.h>
include <include/uapi/linux/cifs/cifs_netlink.h>
include <include/uapi/linux/cryptouser.h>
include <include/uapi/linux/dcbnl.h>
include <include/uapi/linux/devlink.h>
include <include/uapi/linux/ethtool_netlink.h>
include <include/uapi/linux/fib_rules.h>
include <include/uapi/linux/fou.h>
include <include/uapi/linux/genetlink.h>
include <include/uapi/linux/gtp.h>
include <include/uapi/linux/handshake.h>
include <include/uapi/linux/hsr_netlink.h>
include <include/uapi/linux/if_addr.h>
include <include/uapi/linux/if_addrlabel.h>
include <include/uapi/linux/if_bridge.h>
include <include/uapi/linux/if_link.h>
include <include/uapi/linux/if_macsec.h>
include <include/uapi/linux/if_team.h>
include <include/uapi/linux/if_tunnel.h>
include <include/uapi/linux/ila.h>
include <include/uapi/linux/io_uring.h>
include <include/uapi/linux/ioam6_genl.h>
include <include/uapi/linux/ip_vs.h>
include <include/uapi/linux/l2tp.h>
include <include/uapi/linux/landlock.h>
include <include/uapi/linux/lwtunnel.h>
include <include/uapi/linux/mpls_iptunnel.h>
include <include/uapi/linux/mptcp_pm.h>
include <include/uapi/linux/nbd-netlink.h>
include <include/uapi/linux/ncsi.h>
include <include/uapi/linux/neighbour.h>
include <include/uapi/linux/net_dropmon.h>
include <include/uapi/linux/net_namespace.h>
include <include/uapi/linux/net_shaper.h>
include <include/uapi/linux/netconf.h>
include <include/uapi/linux/netdev.h>
include <include/uapi/linux/netfilter/ipset/ip_set.h>
include <include/uapi/linux/netfilter/nf_tables.h>
include <include/uapi/linux/netfilter/nf_tables_compat.h>
include <include/uapi/linux/netfilter/nfnetlink.h>
include <include/uapi/linux/netfilter/nfnetlink_acct.h>
include <include/uapi/linux/netfilter/nfnetlink_conntrack.h>
include <include/uapi/linux/netfilter/nfnetlink_cthelper.h>
include <include/uapi/linux/netfilter/nfnetlink_cttimeout.h>
include <include/uapi/linux/netfilter/nfnetlink_log.h>
include <include/uapi/linux/netfilter/nfnetlink_osf.h>
include <include/uapi/linux/netfilter/nfnetlink_queue.h>
include <include/uapi/linux/nexthop.h>
include <include/uapi/linux/nfc.h>
include <include/uapi/linux/nfsd_netlink.h>
include <include/uapi/linux/nl80211.h>
include <include/uapi/linux/openvswitch.h>
include <include/uapi/linux/pkt_cls.h>
include <include/uapi/linux/pkt_sched.h>
include <include/uapi/linux/psample.h>
include <include/uapi/linux/rpl_iptunnel.h>
include <include/uapi/linux/rtnetlink.h>
include <include/uapi/linux/seg6_genl.h>
include <include/uapi/linux/seg6_iptunnel.h>
include <include/uapi/linux/seg6_local.h>
include <include/uapi/linux/smc.h>
include <include/uapi/linux/taskstats.h>
include <include/uapi/linux/tc_act/tc_bpf.h>
include <include/uapi/linux/tc_act/tc_connmark.h>
include <include/uapi/linux/tc_act/tc_csum.h>
include <include/uapi/linux/tc_act/tc_ct.h>
include <include/uapi/linux/tc_act/tc_ctinfo.h>
include <include/uapi/linux/tc_act/tc_defact.h>
include <include/uapi/linux/tc_act/tc_gact.h>
include <include/uapi/linux/tc_act/tc_gate.h>
include <include/uapi/linux/tc_act/tc_ife.h>
include <include/uapi/linux/tc_act/tc_mirred.h>
include <include/uapi/linux/tc_act/tc_mpls.h>
include <include/uapi/linux/tc_act/tc_nat.h>
include <include/uapi/linux/tc_act/tc_pedit.h>
include <include/uapi/linux/tc_act/tc_sample.h>
include <include/uapi/linux/tc_act/tc_skbedit.h>
include <include/uapi/linux/tc_act/tc_skbmod.h>
include <include/uapi/linux/tc_act/tc_tunnel_key.h>
include <include/uapi/linux/tc_act/tc_vlan.h>
include <include/uapi/linux/tc_ematch/tc_em_ipt.h>
include <include/uapi/linux/tc_ematch/tc_em_meta.h>
include <include/uapi/linux/tcp_metrics.h>
include <include/uapi/linux/thermal.h>
include <include/uapi/linux/tipc_netlink.h>
include <include/uapi/linux/vdpa.h>
include <include/uapi/linux/veth.h>
include <include/uapi/linux/wireguard.h>
include <include/uapi/linux/wwan.h>
include <include/uapi/linux/xfrm.h>
include <include/uapi/rdma/rdma_netlink.h>

landlock_rule_type$auto = LANDLOCK_RULE_PATH_BENEATH, LANDLOCK_RULE_NET_PORT

_llseek$auto(fd fd, offset_high intptr, offset_low intptr, result ptr[inout, int64], whence int32)
_newselect$auto(n int32, inp ptr[inout, __kernel_fd_set$auto], outp ptr[inout, __kernel_fd_set$auto], exp ptr[inout, __kernel_fd_set$auto], tvp ptr[inout, __kernel_old_timeval$auto])
accept$auto(fd fd, upeer_sockaddr ptr[inout, sockaddr], upeer_addrlen ptr[inout, int32])
accept4$auto(fd fd, upeer_sockaddr ptr[inout, sockaddr], upeer_addrlen ptr[inout, int32], flags int32)
access$auto(filename ptr[in, filename], mode int32)
acct$auto(name ptr[in, string])
add_key$auto(_type ptr[in, string], _description ptr[in, string], _payload ptr[in, array[auto_todo]], plen intptr, ringid int32)
adjtimex$auto(txc_p ptr[inout, __kernel_timex$auto])
alarm$auto(seconds int32)
arch_prctl$auto(option int32, arg2 intptr)
arm_sync_file_range$auto(fd fd, flags int32, offset intptr, nbytes intptr)
bind$auto(fd fd, umyaddr ptr[inout, sockaddr], addrlen int32)
bpf$auto(cmd int32, uattr ptr[inout, bpf_attr$auto], size int32)
brk$auto(brk intptr)
cachestat$auto(fd fd, cstat_range ptr[inout, cachestat_range$auto], cstat ptr[inout, cachestat$auto], flags int32)
capget$auto(header ptr[inout, __user_cap_header_struct$auto], dataptr ptr[inout, __user_cap_data_struct$auto])
capset$auto(header ptr[inout, __user_cap_header_struct$auto], data ptr[inout, __user_cap_data_struct$auto])
chdir$auto(filename ptr[in, filename])
chmod$auto(filename ptr[in, filename], mode int16)
chown$auto(filename ptr[in, filename], user uid, group gid)
chown32$auto(filename ptr[in, filename], user uid, group gid)
chroot$auto(filename ptr[in, filename])
clock_adjtime$auto(which_clock int32, utx ptr[inout, __kernel_timex$auto])
clock_adjtime64$auto(which_clock int32, utx ptr[inout, __kernel_timex$auto])
clock_getres$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto])
clock_getres_time64$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto])
clock_gettime$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto])
clock_gettime64$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto])
clock_nanosleep$auto(which_clock int32, flags int32, rqtp ptr[in, __kernel_timespec$auto], rmtp ptr[inout, __kernel_timespec$auto])
clock_nanosleep_time64$auto(which_clock int32, flags int32, rqtp ptr[in, __kernel_timespec$auto], rmtp ptr[inout, __kernel_timespec$auto])
clock_settime$auto(which_clock int32, tp ptr[in, __kernel_timespec$auto])
clock_settime64$auto(which_clock int32, tp ptr[in, __kernel_timespec$auto])
clone$auto(clone_flags intptr, newsp intptr, parent_tidptr ptr[inout, int32], child_tidptr ptr[inout, int32], tls intptr)
clone3$auto(uargs ptr[inout, clone_args$auto], size intptr)
close$auto(fd fd)
close_range$auto(fd fd, max_fd fd, flags int32)
connect$auto(fd fd, uservaddr ptr[inout, sockaddr], addrlen int32)
copy_file_range$auto(fd_in fd, off_in ptr[inout, int64], fd_out fd, off_out ptr[inout, int64], len intptr, flags int32)
creat$auto(pathname ptr[in, filename], mode int16)
delete_module$auto(name_user ptr[in, string], flags int32)
dup$auto(fildes fd)
dup2$auto(oldfd fd, newfd fd)
dup3$auto(oldfd fd, newfd fd, flags int32)
epoll_create$auto(size int32)
epoll_create1$auto(flags int32)
epoll_ctl$auto(epfd fd, op int32, fd fd, event ptr[inout, epoll_event$auto])
epoll_pwait$auto(epfd fd, events ptr[inout, epoll_event$auto], maxevents int32, timeout int32, sigmask ptr[in, sigset_t$auto], sigsetsize const[8])
epoll_pwait2$auto(epfd fd, events ptr[inout, epoll_event$auto], maxevents int32, timeout ptr[in, __kernel_timespec$auto], sigmask ptr[in, sigset_t$auto], sigsetsize const[8])
epoll_wait$auto(epfd fd, events ptr[inout, epoll_event$auto], maxevents int32, timeout int32)
eventfd$auto(count int32)
eventfd2$auto(count int32, flags int32)
execve$auto(filename ptr[in, filename], argv ptr[in, ptr[in, string]], envp ptr[in, ptr[in, string]])
execveat$auto(fd fd, filename ptr[in, filename], argv ptr[in, ptr[in, string]], envp ptr[in, ptr[in, string]], flags int32)
exit$auto(error_code int32)
exit_group$auto(error_code int32)
faccessat$auto(dfd fd_dir, filename ptr[in, filename], mode int32)
faccessat2$auto(dfd fd_dir, filename ptr[in, filename], mode int32, flags int32)
fadvise64$auto(fd fd, offset intptr, len intptr, advice int32)
fadvise64_64$auto(fd fd, offset_low int32, offset_high int32, len_low int32, len_high int32, advice int32)
fallocate$auto(fd fd, mode int32, offset intptr, len intptr)
fanotify_init$auto(flags int32, event_f_flags int32)
fanotify_mark$auto(fanotify_fd fd, flags int32, mask intptr, dfd fd_dir, pathname ptr[in, filename])
fchdir$auto(fd fd)
fchmod$auto(fd fd, mode int16)
fchmodat$auto(dfd fd_dir, filename ptr[in, filename], mode int16)
fchmodat2$auto(dfd fd_dir, filename ptr[in, filename], mode int16, flags int32)
fchown$auto(fd fd, user uid, group gid)
fchown32$auto(fd fd, user uid, group gid)
fchownat$auto(dfd fd_dir, filename ptr[in, filename], user uid, group gid, flag int32)
fcntl$auto(fd fd, cmd int32, arg intptr)
fdatasync$auto(fd fd)
fgetxattr$auto(fd fd, name ptr[in, string], value ptr[inout, array[auto_todo]], size intptr)
finit_module$auto(fd fd, uargs ptr[in, string], flags int32)
flistxattr$auto(fd fd, list ptr[inout, string], size intptr)
flock$auto(fd fd, cmd int32)
fremovexattr$auto(fd fd, name ptr[in, string])
fsconfig$auto(fd fd, cmd int32, _key ptr[in, string], _value ptr[in, array[auto_todo]], aux int32)
fsetxattr$auto(fd fd, name ptr[in, string], value ptr[in, array[auto_todo]], size intptr, flags int32)
fsmount$auto(fs_fd fd, flags int32, attr_flags int32)
fsopen$auto(_fs_name ptr[in, string], flags int32)
fspick$auto(dfd fd_dir, path ptr[in, filename], flags int32)
fstat$auto(fd fd, statbuf ptr[inout, stat$auto])
fstatfs$auto(fd fd, buf ptr[inout, statfs$auto])
fstatfs64$auto(fd fd, sz intptr, buf ptr[inout, statfs64$auto])
fsync$auto(fd fd)
ftruncate$auto(fd fd, length intptr)
ftruncate64$auto(fd fd, offset_low intptr, offset_high intptr)
futex$auto(uaddr ptr[inout, int32], op int32, val int32, utime ptr[in, __kernel_timespec$auto], uaddr2 ptr[inout, int32], val3 int32)
futex_requeue$auto(waiters ptr[inout, futex_waitv$auto], flags int32, nr_wake int32, nr_requeue int32)
futex_time64$auto(uaddr ptr[inout, int32], op int32, val int32, utime ptr[in, __kernel_timespec$auto], uaddr2 ptr[inout, int32], val3 int32)
futex_wait$auto(uaddr ptr[inout, array[auto_todo]], val intptr, mask intptr, flags int32, timeout ptr[inout, __kernel_timespec$auto], clockid int32)
futex_waitv$auto(waiters ptr[inout, futex_waitv$auto], nr_futexes int32, flags int32, timeout ptr[inout, __kernel_timespec$auto], clockid int32)
futex_wake$auto(uaddr ptr[inout, array[auto_todo]], mask intptr, nr int32, flags int32)
futimesat$auto(dfd fd_dir, filename ptr[in, filename], utimes ptr[inout, __kernel_old_timeval$auto])
get_mempolicy$auto(policy ptr[inout, int32], nmask ptr[inout, intptr], maxnode intptr, addr intptr, flags intptr)
get_robust_list$auto(pid pid, head_ptr ptr[inout, ptr[inout, robust_list_head$auto]], len_ptr ptr[inout, intptr])
get_thread_area$auto(u_info ptr[inout, user_desc$auto])
getcpu$auto(cpup ptr[inout, int32], nodep ptr[inout, int32], unused ptr[inout, getcpu_cache$auto])
getcwd$auto(buf ptr[inout, string], size intptr)
getdents$auto(fd fd, dirent ptr[inout, linux_dirent$auto], count int32)
getdents64$auto(fd fd, dirent ptr[inout, linux_dirent64$auto], count int32)
getgroups$auto(gidsetsize int32, grouplist ptr[inout, int32])
getgroups32$auto(gidsetsize int32, grouplist ptr[inout, int32])
getitimer$auto(which int32, value ptr[inout, __kernel_old_itimerval$auto])
getpeername$auto(fd fd, usockaddr ptr[inout, sockaddr], usockaddr_len ptr[inout, int32])
getpgid$auto(pid pid)
getpriority$auto(which int32, who int32)
getrandom$auto(ubuf ptr[inout, string], len intptr, flags int32)
getresgid$auto(rgidp ptr[inout, int32], egidp ptr[inout, int32], sgidp ptr[inout, int32])
getresgid32$auto(rgidp ptr[inout, int32], egidp ptr[inout, int32], sgidp ptr[inout, int32])
getresuid$auto(ruidp ptr[inout, int32], euidp ptr[inout, int32], suidp ptr[inout, int32])
getresuid32$auto(ruidp ptr[inout, int32], euidp ptr[inout, int32], suidp ptr[inout, int32])
getrlimit$auto(_resource int32, rlim ptr[inout, rlimit$auto])
getrusage$auto(who int32, ru ptr[inout, rusage$auto])
getsid$auto(pid pid)
getsockname$auto(fd fd, usockaddr ptr[inout, sockaddr], usockaddr_len ptr[inout, int32])
getsockopt$auto(fd fd, level int32, optname int32, optval ptr[inout, string], optlen ptr[inout, int32])
gettimeofday$auto(tv ptr[inout, __kernel_old_timeval$auto], tz ptr[inout, timezone$auto])
getxattr$auto(pathname ptr[in, filename], name ptr[in, string], value ptr[inout, array[auto_todo]], size intptr)
getxattrat$auto(dfd fd_dir, pathname ptr[in, filename], at_flags int32, name ptr[in, string], uargs ptr[inout, xattr_args$auto], usize intptr)
init_module$auto(umod ptr[inout, array[auto_todo]], len intptr, uargs ptr[in, string])
inotify_add_watch$auto(fd fd, pathname ptr[in, filename], mask int32)
inotify_init1$auto(flags int32)
inotify_rm_watch$auto(fd fd, wd int32)
io_cancel$auto(ctx_id intptr, iocb ptr[inout, iocb$auto], result ptr[inout, io_event$auto])
io_destroy$auto(ctx intptr)
io_getevents$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto], timeout ptr[inout, __kernel_timespec$auto])
io_pgetevents$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto], timeout ptr[inout, __kernel_timespec$auto], usig ptr[in, __aio_sigset$auto])
io_pgetevents_time64$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto], timeout ptr[inout, __kernel_timespec$auto], usig ptr[in, __aio_sigset$auto])
io_setup$auto(nr_events int32, ctxp ptr[inout, intptr])
io_submit$auto(ctx_id intptr, nr intptr, iocbpp ptr[inout, ptr[inout, iocb$auto]])
io_uring_enter$auto(fd fd, to_submit int32, min_complete int32, flags int32, argp ptr[in, array[auto_todo]], argsz intptr)
io_uring_register$auto(fd fd, opcode int32, arg ptr[inout, array[auto_todo]], nr_args int32)
io_uring_setup$auto(entries int32, params ptr[inout, io_uring_params$auto])
ioctl$auto(fd fd, cmd int32, arg intptr)
ioperm$auto(from intptr, num intptr, turn_on int32)
iopl$auto(level int32)
ioprio_get$auto(which int32, who int32)
ioprio_set$auto(which int32, who int32, ioprio int32)
kcmp$auto(pid1 int32, pid2 int32, type int32, idx1 intptr, idx2 intptr)
kexec_load$auto(entry intptr, nr_segments intptr, segments ptr[inout, kexec_segment$auto], flags intptr)
keyctl$auto(option int32, arg2 intptr, arg3 intptr, arg4 intptr, arg5 intptr)
kill$auto(pid pid, sig int32)
landlock_add_rule$auto(ruleset_fd fd, rule_type flags[landlock_rule_type$auto], rule_attr ptr[in, array[auto_todo]], flags int32)
landlock_create_ruleset$auto(attr ptr[in, landlock_ruleset_attr$auto], size intptr, flags int32)
landlock_restrict_self$auto(ruleset_fd fd, flags int32)
lchown$auto(filename ptr[in, filename], user uid, group gid)
lchown32$auto(filename ptr[in, filename], user uid, group gid)
lgetxattr$auto(pathname ptr[in, filename], name ptr[in, string], value ptr[inout, array[auto_todo]], size intptr)
link$auto(oldname ptr[in, filename], newname ptr[in, filename])
linkat$auto(olddfd fd_dir, oldname ptr[in, filename], newdfd fd_dir, newname ptr[in, filename], flags int32)
listen$auto(fd fd, backlog int32)
listmount$auto(req ptr[in, mnt_id_req$auto], mnt_ids ptr[inout, int64], nr_mnt_ids intptr, flags int32)
listxattr$auto(pathname ptr[in, filename], list ptr[inout, string], size intptr)
listxattrat$auto(dfd fd_dir, pathname ptr[in, filename], at_flags int32, list ptr[inout, string], size intptr)
llistxattr$auto(pathname ptr[in, filename], list ptr[inout, string], size intptr)
lremovexattr$auto(pathname ptr[in, filename], name ptr[in, string])
lseek$auto(fd fd, offset intptr, whence int32)
lsetxattr$auto(pathname ptr[in, filename], name ptr[in, string], value ptr[in, array[auto_todo]], size intptr, flags int32)
lsm_get_self_attr$auto(attr int32, ctx ptr[inout, lsm_ctx$auto], size ptr[inout, int32], flags int32)
lsm_list_modules$auto(ids ptr[inout, int64], size ptr[inout, int32], flags int32)
lsm_set_self_attr$auto(attr int32, ctx ptr[inout, lsm_ctx$auto], size int32, flags int32)
lstat$auto(filename ptr[in, filename], statbuf ptr[inout, stat$auto])
madvise$auto(start intptr, len_in intptr, behavior int32)
map_shadow_stack$auto(addr intptr, size intptr, flags int32)
mbind$auto(start intptr, len intptr, mode intptr, nmask ptr[in, intptr], maxnode intptr, flags int32)
membarrier$auto(cmd int32, flags int32, cpu_id int32)
memfd_create$auto(uname ptr[in, string], flags int32)
memfd_secret$auto(flags int32)
migrate_pages$auto(pid pid, maxnode intptr, old_nodes ptr[in, intptr], new_nodes ptr[in, intptr])
mincore$auto(start intptr, len intptr, vec ptr[inout, string])
mkdir$auto(pathname ptr[in, filename], mode int16)
mkdirat$auto(dfd fd_dir, pathname ptr[in, filename], mode int16)
mknod$auto(filename ptr[in, filename], mode int16, dev int32)
mknodat$auto(dfd fd_dir, filename ptr[in, filename], mode int16, dev int32)
mlock$auto(start intptr, len intptr)
mlock2$auto(start intptr, len intptr, flags int32)
mlockall$auto(flags int32)
mmap$auto(addr intptr, len intptr, prot intptr, flags intptr, fd intptr, off intptr)
mmap2$auto(addr intptr, len intptr, prot intptr, flags intptr, fd intptr, pgoff intptr)
modify_ldt$auto(func int32, ptr ptr[inout, array[auto_todo]], bytecount intptr)
mount$auto(dev_name ptr[inout, devname], dir_name ptr[inout, filename], type ptr[inout, string], flags intptr, data ptr[inout, array[auto_todo]])
mount_setattr$auto(dfd fd_dir, path ptr[in, filename], flags int32, uattr ptr[inout, mount_attr$auto], usize intptr)
move_mount$auto(from_dfd fd_dir, from_pathname ptr[in, filename], to_dfd fd_dir, to_pathname ptr[in, filename], flags int32)
move_pages$auto(pid pid, nr_pages intptr, pages ptr[inout, ptr[in, array[auto_todo]]], nodes ptr[in, int32], status ptr[inout, int32], flags int32)
mprotect$auto(start intptr, len intptr, prot intptr)
mq_getsetattr$auto(mqdes int32, u_mqstat ptr[in, mq_attr$auto], u_omqstat ptr[inout, mq_attr$auto])
mq_notify$auto(mqdes int32, u_notification ptr[in, sigevent$auto])
mq_open$auto(u_name ptr[in, string], oflag int32, mode int16, u_attr ptr[inout, mq_attr$auto])
mq_timedreceive$auto(mqdes int32, u_msg_ptr ptr[inout, string], msg_len intptr, u_msg_prio ptr[inout, int32], u_abs_timeout ptr[in, __kernel_timespec$auto])
mq_timedreceive_time64$auto(mqdes int32, u_msg_ptr ptr[inout, string], msg_len intptr, u_msg_prio ptr[inout, int32], u_abs_timeout ptr[in, __kernel_timespec$auto])
mq_timedsend$auto(mqdes int32, u_msg_ptr ptr[in, string], msg_len intptr, msg_prio int32, u_abs_timeout ptr[in, __kernel_timespec$auto])
mq_timedsend_time64$auto(mqdes int32, u_msg_ptr ptr[in, string], msg_len intptr, msg_prio int32, u_abs_timeout ptr[in, __kernel_timespec$auto])
mq_unlink$auto(u_name ptr[in, string])
mremap$auto(addr intptr, old_len intptr, new_len intptr, flags intptr, new_addr intptr)
mseal$auto(start intptr, len intptr, flags intptr)
msgctl$auto(msqid int32, cmd int32, buf ptr[inout, msqid_ds$auto])
msgget$auto(key int32, msgflg int32)
msgrcv$auto(msqid int32, msgp ptr[inout, msgbuf$auto], msgsz intptr, msgtyp intptr, msgflg int32)
msgsnd$auto(msqid int32, msgp ptr[inout, msgbuf$auto], msgsz intptr, msgflg int32)
msync$auto(start intptr, len intptr, flags int32)
munlock$auto(start intptr, len intptr)
munmap$auto(addr intptr, len intptr)
name_to_handle_at$auto(dfd fd_dir, name ptr[in, string], handle ptr[inout, file_handle$auto], mnt_id ptr[inout, array[auto_todo]], flag int32)
nanosleep$auto(rqtp ptr[inout, __kernel_timespec$auto], rmtp ptr[inout, __kernel_timespec$auto])
newfstatat$auto(dfd fd_dir, filename ptr[in, filename], statbuf ptr[inout, stat$auto], flag int32)
nice$auto(increment int32)
oldfstat$auto(fd fd, statbuf ptr[inout, __old_kernel_stat$auto])
oldlstat$auto(filename ptr[in, filename], statbuf ptr[inout, __old_kernel_stat$auto])
oldolduname$auto(name ptr[inout, oldold_utsname$auto])
oldstat$auto(filename ptr[in, filename], statbuf ptr[inout, __old_kernel_stat$auto])
olduname$auto(name ptr[inout, old_utsname$auto])
open$auto(filename ptr[in, filename], flags int32, mode int16)
open_by_handle_at$auto(mountdirfd fd, handle ptr[inout, file_handle$auto], flags int32)
open_tree$auto(dfd fd_dir, filename ptr[in, filename], flags int32)
openat$auto(dfd fd_dir, filename ptr[in, filename], flags int32, mode int16)
openat2$auto(dfd fd_dir, filename ptr[in, filename], how ptr[inout, open_how$auto], usize intptr)
perf_event_open$auto(attr_uptr ptr[inout, perf_event_attr$auto], pid pid, cpu int32, group_fd fd, flags intptr)
personality$auto(personality int32)
pidfd_getfd$auto(pidfd fd, fd fd, flags int32)
pidfd_open$auto(pid pid, flags int32)
pidfd_send_signal$auto(pidfd fd, sig int32, info ptr[inout, siginfo$auto], flags int32)
pipe$auto(fildes ptr[inout, fd])
pipe2$auto(fildes ptr[inout, fd], flags int32)
pivot_root$auto(new_root ptr[in, string], put_old ptr[in, string])
pkey_alloc$auto(flags intptr, init_val intptr)
pkey_free$auto(pkey int32)
pkey_mprotect$auto(start intptr, len intptr, prot intptr, pkey int32)
poll$auto(ufds ptr[inout, pollfd$auto], nfds int32, timeout_msecs int32)
ppoll$auto(ufds ptr[inout, pollfd$auto], nfds int32, tsp ptr[inout, __kernel_timespec$auto], sigmask ptr[in, sigset_t$auto], sigsetsize const[8])
ppoll_time64$auto(ufds ptr[inout, pollfd$auto], nfds int32, tsp ptr[inout, __kernel_timespec$auto], sigmask ptr[in, sigset_t$auto], sigsetsize const[8])
prctl$auto(option int32, arg2 intptr, arg3 intptr, arg4 intptr, arg5 intptr)
pread64$auto(fd fd, buf ptr[inout, string], count intptr, pos intptr)
preadv$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr, pos_l intptr, pos_h intptr)
preadv2$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr, pos_l intptr, pos_h intptr, flags int32)
prlimit64$auto(pid pid, _resource int32, new_rlim ptr[in, rlimit64$auto], old_rlim ptr[inout, rlimit64$auto])
process_madvise$auto(pidfd fd, vec ptr[in, iovec$auto], vlen intptr, behavior int32, flags int32)
process_mrelease$auto(pidfd fd, flags int32)
process_vm_readv$auto(pid pid, lvec ptr[in, iovec$auto], liovcnt intptr, rvec ptr[in, iovec$auto], riovcnt intptr, flags intptr)
process_vm_writev$auto(pid pid, lvec ptr[in, iovec$auto], liovcnt intptr, rvec ptr[in, iovec$auto], riovcnt intptr, flags intptr)
pselect6$auto(n int32, inp ptr[inout, __kernel_fd_set$auto], outp ptr[inout, __kernel_fd_set$auto], exp ptr[inout, __kernel_fd_set$auto], tsp ptr[inout, __kernel_timespec$auto], sig ptr[inout, array[auto_todo]])
pselect6_time64$auto(n int32, inp ptr[inout, __kernel_fd_set$auto], outp ptr[inout, __kernel_fd_set$auto], exp ptr[inout, __kernel_fd_set$auto], tsp ptr[inout, __kernel_timespec$auto], sig ptr[inout, array[auto_todo]])
ptrace$auto(request intptr, pid intptr, addr intptr, data intptr)
pwrite64$auto(fd fd, buf ptr[in, string], count intptr, pos intptr)
pwritev$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr, pos_l intptr, pos_h intptr)
pwritev2$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr, pos_l intptr, pos_h intptr, flags int32)
quotactl$auto(cmd int32, special ptr[in, string], id int32, addr ptr[inout, array[auto_todo]])
quotactl_fd$auto(fd fd, cmd int32, id int32, addr ptr[inout, array[auto_todo]])
read$auto(fd fd, buf ptr[inout, string], count intptr)
readahead$auto(fd fd, offset intptr, count intptr)
readdir$auto(fd fd, dirent ptr[inout, old_linux_dirent$auto], count int32)
readlink$auto(path ptr[in, filename], buf ptr[inout, string], bufsiz int32)
readlinkat$auto(dfd fd_dir, pathname ptr[in, filename], buf ptr[inout, string], bufsiz int32)
readv$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr)
recv$auto(fd fd, ubuf ptr[inout, array[auto_todo]], size intptr, flags int32)
recvfrom$auto(fd fd, ubuf ptr[inout, array[auto_todo]], size intptr, flags int32, addr ptr[inout, sockaddr], addr_len ptr[inout, int32])
recvmmsg$auto(fd fd, mmsg ptr[inout, mmsghdr$auto], vlen int32, flags int32, timeout ptr[inout, __kernel_timespec$auto])
recvmmsg_time64$auto(fd fd, mmsg ptr[inout, mmsghdr$auto], vlen int32, flags int32, timeout ptr[inout, __kernel_timespec$auto])
recvmsg$auto(fd fd, msg ptr[inout, user_msghdr$auto], flags int32)
remap_file_pages$auto(start intptr, size intptr, prot intptr, pgoff intptr, flags intptr)
removexattr$auto(pathname ptr[in, filename], name ptr[in, string])
removexattrat$auto(dfd fd_dir, pathname ptr[in, filename], at_flags int32, name ptr[in, string])
rename$auto(oldname ptr[in, filename], newname ptr[in, filename])
renameat$auto(olddfd fd_dir, oldname ptr[in, filename], newdfd fd_dir, newname ptr[in, filename])
renameat2$auto(olddfd fd_dir, oldname ptr[in, filename], newdfd fd_dir, newname ptr[in, filename], flags int32)
request_key$auto(_type ptr[in, string], _description ptr[in, string], _callout_info ptr[in, string], destringid int32)
rmdir$auto(pathname ptr[in, filename])
rseq$auto(rseq ptr[inout, rseq$auto], rseq_len int32, flags int32, sig int32)
rt_sigaction$auto(sig int32, act ptr[in, sigaction$auto], oact ptr[inout, sigaction$auto], sigsetsize const[8])
rt_sigpending$auto(uset ptr[inout, sigset_t$auto], sigsetsize const[8])
rt_sigprocmask$auto(how int32, nset ptr[inout, sigset_t$auto], oset ptr[inout, sigset_t$auto], sigsetsize const[8])
rt_sigqueueinfo$auto(pid pid, sig int32, uinfo ptr[inout, siginfo$auto])
rt_sigsuspend$auto(unewset ptr[inout, sigset_t$auto], sigsetsize const[8])
rt_sigtimedwait$auto(uthese ptr[in, sigset_t$auto], uinfo ptr[inout, siginfo$auto], uts ptr[in, __kernel_timespec$auto], sigsetsize const[8])
rt_sigtimedwait_time64$auto(uthese ptr[in, sigset_t$auto], uinfo ptr[inout, siginfo$auto], uts ptr[in, __kernel_timespec$auto], sigsetsize const[8])
rt_tgsigqueueinfo$auto(tgid pid, pid pid, sig int32, uinfo ptr[inout, siginfo$auto])
sched_get_priority_max$auto(policy int32)
sched_get_priority_min$auto(policy int32)
sched_getaffinity$auto(pid pid, len int32, user_mask_ptr ptr[inout, intptr])
sched_getattr$auto(pid pid, uattr ptr[inout, sched_attr$auto], usize int32, flags int32)
sched_getparam$auto(pid pid, param ptr[inout, sched_param$auto])
sched_getscheduler$auto(pid pid)
sched_rr_get_interval$auto(pid pid, interval ptr[inout, __kernel_timespec$auto])
sched_rr_get_interval_time64$auto(pid pid, interval ptr[inout, __kernel_timespec$auto])
sched_setaffinity$auto(pid pid, len int32, user_mask_ptr ptr[inout, intptr])
sched_setattr$auto(pid pid, uattr ptr[inout, sched_attr$auto], flags int32)
sched_setparam$auto(pid pid, param ptr[inout, sched_param$auto])
sched_setscheduler$auto(pid pid, policy int32, param ptr[inout, sched_param$auto])
seccomp$auto(op int32, flags int32, uargs ptr[inout, array[auto_todo]])
select$auto(n int32, inp ptr[inout, __kernel_fd_set$auto], outp ptr[inout, __kernel_fd_set$auto], exp ptr[inout, __kernel_fd_set$auto], tvp ptr[inout, __kernel_old_timeval$auto])
semctl$auto(semid int32, semnum int32, cmd int32, arg intptr)
semget$auto(key int32, nsems int32, semflg int32)
semop$auto(semid int32, tsops ptr[inout, sembuf$auto], nsops int32)
semtimedop$auto(semid int32, tsops ptr[inout, sembuf$auto], nsops int32, timeout ptr[in, __kernel_timespec$auto])
semtimedop_time64$auto(semid int32, tsops ptr[inout, sembuf$auto], nsops int32, timeout ptr[in, __kernel_timespec$auto])
send$auto(fd fd, buff ptr[inout, array[auto_todo]], len intptr, flags int32)
sendfile$auto(out_fd fd, in_fd fd, offset ptr[inout, int64], count intptr)
sendfile64$auto(out_fd fd, in_fd fd, offset ptr[inout, int64], count intptr)
sendmmsg$auto(fd fd, mmsg ptr[inout, mmsghdr$auto], vlen int32, flags int32)
sendmsg$auto(fd fd, msg ptr[inout, user_msghdr$auto], flags int32)
sendto$auto(fd fd, buff ptr[inout, array[auto_todo]], len intptr, flags int32, addr ptr[inout, sockaddr], addr_len int32)
set_mempolicy$auto(mode int32, nmask ptr[in, intptr], maxnode intptr)
set_mempolicy_home_node$auto(start intptr, len intptr, home_node intptr, flags intptr)
set_robust_list$auto(head ptr[inout, robust_list_head$auto], len intptr)
set_thread_area$auto(u_info ptr[inout, user_desc$auto])
set_tid_address$auto(tidptr ptr[inout, int32])
setdomainname$auto(name ptr[inout, string], len int32)
setfsgid$auto(gid gid)
setfsgid32$auto(gid gid)
setfsuid$auto(uid uid)
setfsuid32$auto(uid uid)
setgid$auto(gid gid)
setgid32$auto(gid gid)
setgroups$auto(gidsetsize int32, grouplist ptr[inout, int32])
setgroups32$auto(gidsetsize int32, grouplist ptr[inout, int32])
sethostname$auto(name ptr[inout, string], len int32)
setitimer$auto(which int32, value ptr[inout, __kernel_old_itimerval$auto], ovalue ptr[inout, __kernel_old_itimerval$auto])
setns$auto(fd fd, flags int32)
setpgid$auto(pid pid, pgid pid)
setpriority$auto(which int32, who int32, niceval int32)
setregid$auto(rgid gid, egid gid)
setregid32$auto(rgid gid, egid gid)
setresgid$auto(rgid gid, egid gid, sgid gid)
setresgid32$auto(rgid gid, egid gid, sgid gid)
setresuid$auto(ruid uid, euid uid, suid uid)
setresuid32$auto(ruid uid, euid uid, suid uid)
setreuid$auto(ruid uid, euid uid)
setreuid32$auto(ruid uid, euid uid)
setrlimit$auto(_resource int32, rlim ptr[inout, rlimit$auto])
setsockopt$auto(fd fd, level int32, optname int32, optval ptr[inout, string], optlen int32)
settimeofday$auto(tv ptr[inout, __kernel_old_timeval$auto], tz ptr[inout, timezone$auto])
setuid$auto(uid uid)
setuid32$auto(uid uid)
setxattr$auto(pathname ptr[in, filename], name ptr[in, string], value ptr[in, array[auto_todo]], size intptr, flags int32)
setxattrat$auto(dfd fd_dir, pathname ptr[in, filename], at_flags int32, name ptr[in, string], uargs ptr[in, xattr_args$auto], usize intptr)
shmat$auto(shmid int32, shmaddr ptr[inout, string], shmflg int32)
shmctl$auto(shmid int32, cmd int32, buf ptr[inout, shmid_ds$auto])
shmdt$auto(shmaddr ptr[inout, string])
shmget$auto(key int32, size intptr, shmflg int32)
shutdown$auto(fd fd, how int32)
sigaltstack$auto(uss ptr[in, sigaltstack$auto], uoss ptr[inout, sigaltstack$auto])
signal$auto(sig int32, handler ptr[inout, ptr[in, auto_todo]])
signalfd$auto(ufd fd, user_mask ptr[inout, sigset_t$auto], sizemask intptr)
signalfd4$auto(ufd fd, user_mask ptr[inout, sigset_t$auto], sizemask intptr, flags int32)
sigpending$auto(uset ptr[inout, intptr])
sigprocmask$auto(how int32, nset ptr[inout, intptr], oset ptr[inout, intptr])
sigsuspend$auto(unused1 const[0], unused2 const[0], mask intptr)
socket$auto(family int32, type int32, protocol int32)
socketcall$auto(call int32, args ptr[inout, intptr])
socketpair$auto(family int32, type int32, protocol int32, usockvec ptr[inout, int32])
splice$auto(fd_in fd, off_in ptr[inout, int64], fd_out fd, off_out ptr[inout, int64], len intptr, flags int32)
ssetmask$auto(newmask int32)
stat$auto(filename ptr[in, filename], statbuf ptr[inout, stat$auto])
statfs$auto(pathname ptr[in, filename], buf ptr[inout, statfs$auto])
statfs64$auto(pathname ptr[in, filename], sz intptr, buf ptr[inout, statfs64$auto])
statmount$auto(req ptr[in, mnt_id_req$auto], buf ptr[inout, statmount$auto], bufsize intptr, flags int32)
statx$auto(dfd fd_dir, filename ptr[in, filename], flags int32, mask int32, buffer ptr[inout, statx$auto])
stime$auto(tptr ptr[inout, int32])
swapoff$auto(specialfile ptr[in, string])
swapon$auto(specialfile ptr[in, string], swap_flags int32)
symlink$auto(oldname ptr[in, filename], newname ptr[in, filename])
symlinkat$auto(oldname ptr[in, filename], newdfd fd_dir, newname ptr[in, filename])
sync_file_range$auto(fd fd, offset intptr, nbytes intptr, flags int32)
sync_file_range2$auto(fd fd, flags int32, offset intptr, nbytes intptr)
syncfs$auto(fd fd)
sysfs$auto(option int32, arg1 intptr, arg2 intptr)
sysinfo$auto(info ptr[inout, sysinfo$auto])
syslog$auto(type int32, buf ptr[inout, string], len int32)
tee$auto(fdin fd, fdout fd, len intptr, flags int32)
tgkill$auto(tgid pid, pid pid, sig int32)
time$auto(tloc ptr[inout, intptr])
timer_create$auto(which_clock int32, timer_event_spec ptr[inout, sigevent$auto], created_timer_id ptr[inout, int32])
timer_delete$auto(timer_id int32)
timer_getoverrun$auto(timer_id int32)
timer_gettime$auto(timer_id int32, setting ptr[inout, __kernel_itimerspec$auto])
timer_gettime64$auto(timer_id int32, setting ptr[inout, __kernel_itimerspec$auto])
timer_settime$auto(timer_id int32, flags int32, new_setting ptr[in, __kernel_itimerspec$auto], old_setting ptr[inout, __kernel_itimerspec$auto])
timer_settime64$auto(timer_id int32, flags int32, new_setting ptr[in, __kernel_itimerspec$auto], old_setting ptr[inout, __kernel_itimerspec$auto])
timerfd_create$auto(clockid int32, flags int32)
timerfd_gettime$auto(ufd fd, otmr ptr[inout, __kernel_itimerspec$auto])
timerfd_gettime64$auto(ufd fd, otmr ptr[inout, __kernel_itimerspec$auto])
timerfd_settime$auto(ufd fd, flags int32, utmr ptr[in, __kernel_itimerspec$auto], otmr ptr[inout, __kernel_itimerspec$auto])
timerfd_settime64$auto(ufd fd, flags int32, utmr ptr[in, __kernel_itimerspec$auto], otmr ptr[inout, __kernel_itimerspec$auto])
times$auto(tbuf ptr[inout, tms$auto])
tkill$auto(pid pid, sig int32)
truncate$auto(path ptr[in, filename], length intptr)
truncate64$auto(filename ptr[in, filename], offset_low intptr, offset_high intptr)
ugetrlimit$auto(_resource int32, rlim ptr[inout, rlimit$auto])
umask$auto(mask int32)
umount$auto(name ptr[inout, string])
umount2$auto(name ptr[inout, string], flags int32)
uname$auto(name ptr[inout, new_utsname$auto])
unlink$auto(pathname ptr[in, filename])
unlinkat$auto(dfd fd_dir, pathname ptr[in, filename], flag int32)
unshare$auto(unshare_flags intptr)
userfaultfd$auto(flags int32)
ustat$auto(dev int32, ubuf ptr[inout, ustat$auto])
utime$auto(filename ptr[inout, filename], times ptr[inout, utimbuf$auto])
utimensat$auto(dfd fd_dir, filename ptr[in, filename], utimes ptr[inout, __kernel_timespec$auto], flags int32)
utimensat_time64$auto(dfd fd_dir, filename ptr[in, filename], utimes ptr[inout, __kernel_timespec$auto], flags int32)
utimes$auto(filename ptr[inout, filename], utimes ptr[inout, __kernel_old_timeval$auto])
vmsplice$auto(fd fd, uiov ptr[in, iovec$auto], nr_segs intptr, flags int32)
wait4$auto(upid int32, stat_addr ptr[inout, int32], options int32, ru ptr[inout, rusage$auto])
waitid$auto(which int32, upid int32, infop ptr[inout, siginfo$auto], options int32, ru ptr[inout, rusage$auto])
waitpid$auto(pid pid, stat_addr ptr[inout, int32], options int32)
write$auto(fd fd, buf ptr[in, string], count intptr)
writev$auto(fd intptr, vec ptr[in, iovec$auto], vlen intptr)

resource genl_802_15_4_mac_family_id$auto[int16]
type msghdr_802_15_4_mac$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_802_15_4_mac_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_802_15_4_mac(name ptr[in, string["802.15.4 MAC"]], fd sock_nl_generic) genl_802_15_4_mac_family_id$auto

sendmsg$auto_IEEE802154_LIST_PHY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LIST_PHY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_ADD_IFACE(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_ADD_IFACE, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_DEL_IFACE(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_DEL_IFACE, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_ASSOCIATE_REQ(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_ASSOCIATE_REQ, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_ASSOCIATE_RESP(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_ASSOCIATE_RESP, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_DISASSOCIATE_REQ(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_DISASSOCIATE_REQ, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_SCAN_REQ(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_SCAN_REQ, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_START_REQ(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_START_REQ, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LIST_IFACE(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LIST_IFACE, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_SET_MACPARAMS(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_SET_MACPARAMS, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_GETPARAMS(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_GETPARAMS, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_SETPARAMS(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_SETPARAMS, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_LIST_KEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_LIST_KEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_ADD_KEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_ADD_KEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_DEL_KEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_DEL_KEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_LIST_DEV(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_LIST_DEV, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_ADD_DEV(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_ADD_DEV, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_DEL_DEV(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_DEL_DEV, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_LIST_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_LIST_DEVKEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_ADD_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_ADD_DEVKEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_DEL_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_DEL_DEVKEY, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_LIST_SECLEVEL(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_LIST_SECLEVEL, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_ADD_SECLEVEL(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_ADD_SECLEVEL, ieee802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_IEEE802154_LLSEC_DEL_SECLEVEL(fd sock_nl_generic, msg ptr[in, msghdr_802_15_4_mac$auto[IEEE802154_LLSEC_DEL_SECLEVEL, ieee802154_policy_nl802154$auto]], f flags[send_flags])

ieee802154_policy_nl802154$auto [
	IEEE802154_ATTR_DEV_NAME			nlattr[IEEE802154_ATTR_DEV_NAME, devname]
	IEEE802154_ATTR_DEV_INDEX			nlattr[IEEE802154_ATTR_DEV_INDEX, ifindex]
	IEEE802154_ATTR_PHY_NAME			nlattr[IEEE802154_ATTR_PHY_NAME, stringnoz]
	IEEE802154_ATTR_STATUS				nlattr[IEEE802154_ATTR_STATUS, int8]
	IEEE802154_ATTR_SHORT_ADDR			nlattr[IEEE802154_ATTR_SHORT_ADDR, int16]
	IEEE802154_ATTR_HW_ADDR				nlattr[IEEE802154_ATTR_HW_ADDR, int64]
	IEEE802154_ATTR_PAN_ID				nlattr[IEEE802154_ATTR_PAN_ID, int16]
	IEEE802154_ATTR_CHANNEL				nlattr[IEEE802154_ATTR_CHANNEL, int8]
	IEEE802154_ATTR_BCN_ORD				nlattr[IEEE802154_ATTR_BCN_ORD, int8]
	IEEE802154_ATTR_SF_ORD				nlattr[IEEE802154_ATTR_SF_ORD, int8]
	IEEE802154_ATTR_PAN_COORD			nlattr[IEEE802154_ATTR_PAN_COORD, int8]
	IEEE802154_ATTR_BAT_EXT				nlattr[IEEE802154_ATTR_BAT_EXT, int8]
	IEEE802154_ATTR_COORD_REALIGN			nlattr[IEEE802154_ATTR_COORD_REALIGN, int8]
	IEEE802154_ATTR_PAGE				nlattr[IEEE802154_ATTR_PAGE, int8]
	IEEE802154_ATTR_DEV_TYPE			nlattr[IEEE802154_ATTR_DEV_TYPE, int8]
	IEEE802154_ATTR_COORD_SHORT_ADDR		nlattr[IEEE802154_ATTR_COORD_SHORT_ADDR, int16]
	IEEE802154_ATTR_COORD_HW_ADDR			nlattr[IEEE802154_ATTR_COORD_HW_ADDR, int64]
	IEEE802154_ATTR_COORD_PAN_ID			nlattr[IEEE802154_ATTR_COORD_PAN_ID, int16]
	IEEE802154_ATTR_SRC_SHORT_ADDR			nlattr[IEEE802154_ATTR_SRC_SHORT_ADDR, int16]
	IEEE802154_ATTR_SRC_HW_ADDR			nlattr[IEEE802154_ATTR_SRC_HW_ADDR, int64]
	IEEE802154_ATTR_SRC_PAN_ID			nlattr[IEEE802154_ATTR_SRC_PAN_ID, int16]
	IEEE802154_ATTR_DEST_SHORT_ADDR			nlattr[IEEE802154_ATTR_DEST_SHORT_ADDR, int16]
	IEEE802154_ATTR_DEST_HW_ADDR			nlattr[IEEE802154_ATTR_DEST_HW_ADDR, int64]
	IEEE802154_ATTR_DEST_PAN_ID			nlattr[IEEE802154_ATTR_DEST_PAN_ID, int16]
	IEEE802154_ATTR_CAPABILITY			nlattr[IEEE802154_ATTR_CAPABILITY, int8]
	IEEE802154_ATTR_REASON				nlattr[IEEE802154_ATTR_REASON, int8]
	IEEE802154_ATTR_SCAN_TYPE			nlattr[IEEE802154_ATTR_SCAN_TYPE, int8]
	IEEE802154_ATTR_CHANNELS			nlattr[IEEE802154_ATTR_CHANNELS, int32]
	IEEE802154_ATTR_DURATION			nlattr[IEEE802154_ATTR_DURATION, int8]
	IEEE802154_ATTR_ED_LIST				nlattr[IEEE802154_ATTR_ED_LIST, array[int8, 27]]
	IEEE802154_ATTR_CHANNEL_PAGE_LIST		nlattr[IEEE802154_ATTR_CHANNEL_PAGE_LIST, array[int8, 128]]
	IEEE802154_ATTR_TXPOWER				nlattr[IEEE802154_ATTR_TXPOWER, int8]
	IEEE802154_ATTR_LBT_ENABLED			nlattr[IEEE802154_ATTR_LBT_ENABLED, bool8]
	IEEE802154_ATTR_CCA_MODE			nlattr[IEEE802154_ATTR_CCA_MODE, int8]
	IEEE802154_ATTR_CCA_ED_LEVEL			nlattr[IEEE802154_ATTR_CCA_ED_LEVEL, int32]
	IEEE802154_ATTR_CSMA_RETRIES			nlattr[IEEE802154_ATTR_CSMA_RETRIES, int8]
	IEEE802154_ATTR_CSMA_MIN_BE			nlattr[IEEE802154_ATTR_CSMA_MIN_BE, int8]
	IEEE802154_ATTR_CSMA_MAX_BE			nlattr[IEEE802154_ATTR_CSMA_MAX_BE, int8]
	IEEE802154_ATTR_FRAME_RETRIES			nlattr[IEEE802154_ATTR_FRAME_RETRIES, int8]
	IEEE802154_ATTR_LLSEC_ENABLED			nlattr[IEEE802154_ATTR_LLSEC_ENABLED, bool8]
	IEEE802154_ATTR_LLSEC_SECLEVEL			nlattr[IEEE802154_ATTR_LLSEC_SECLEVEL, int8]
	IEEE802154_ATTR_LLSEC_KEY_MODE			nlattr[IEEE802154_ATTR_LLSEC_KEY_MODE, int8]
	IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT		nlattr[IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT, int32]
	IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED	nlattr[IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED, int64]
	IEEE802154_ATTR_LLSEC_KEY_ID			nlattr[IEEE802154_ATTR_LLSEC_KEY_ID, int8]
	IEEE802154_ATTR_LLSEC_FRAME_COUNTER		nlattr[IEEE802154_ATTR_LLSEC_FRAME_COUNTER, int32]
	IEEE802154_ATTR_LLSEC_KEY_BYTES			nlattr[IEEE802154_ATTR_LLSEC_KEY_BYTES, array[int8, 16]]
	IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES	nlattr[IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES, int8]
	IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS	nlattr[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS, array[int8, 32]]
	IEEE802154_ATTR_LLSEC_FRAME_TYPE		nlattr[IEEE802154_ATTR_LLSEC_FRAME_TYPE, int8]
	IEEE802154_ATTR_LLSEC_CMD_FRAME_ID		nlattr[IEEE802154_ATTR_LLSEC_CMD_FRAME_ID, int8]
	IEEE802154_ATTR_LLSEC_SECLEVELS			nlattr[IEEE802154_ATTR_LLSEC_SECLEVELS, int8]
	IEEE802154_ATTR_LLSEC_DEV_OVERRIDE		nlattr[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE, int8]
	IEEE802154_ATTR_LLSEC_DEV_KEY_MODE		nlattr[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE, int8]
] [varlen]

resource genl_hsr_family_id$auto[int16]
type msghdr_hsr$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_hsr_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_hsr(name ptr[in, string["HSR"]], fd sock_nl_generic) genl_hsr_family_id$auto

sendmsg$auto_HSR_C_GET_NODE_STATUS(fd sock_nl_generic, msg ptr[in, msghdr_hsr$auto[HSR_C_GET_NODE_STATUS, hsr_genl_policy_hsr_netlink$auto]], f flags[send_flags])
sendmsg$auto_HSR_C_GET_NODE_LIST(fd sock_nl_generic, msg ptr[in, msghdr_hsr$auto[HSR_C_GET_NODE_LIST, hsr_genl_policy_hsr_netlink$auto]], f flags[send_flags])

hsr_genl_policy_hsr_netlink$auto [
	HSR_A_NODE_ADDR		nlattr[HSR_A_NODE_ADDR, mac_addr]
	HSR_A_NODE_ADDR_B	nlattr[HSR_A_NODE_ADDR_B, mac_addr]
	HSR_A_IFINDEX		nlattr[HSR_A_IFINDEX, ifindex]
	HSR_A_IF1_AGE		nlattr[HSR_A_IF1_AGE, int32]
	HSR_A_IF2_AGE		nlattr[HSR_A_IF2_AGE, int32]
	HSR_A_IF1_SEQ		nlattr[HSR_A_IF1_SEQ, int16]
	HSR_A_IF2_SEQ		nlattr[HSR_A_IF2_SEQ, int16]
] [varlen]

resource genl_ioam6_family_id$auto[int16]
type msghdr_ioam6$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ioam6_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ioam6(name ptr[in, string["IOAM6"]], fd sock_nl_generic) genl_ioam6_family_id$auto

sendmsg$auto_IOAM6_CMD_ADD_NAMESPACE(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_ADD_NAMESPACE, ioam6_genl_policy_addns_ioam6$auto]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_DEL_NAMESPACE(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_DEL_NAMESPACE, ioam6_genl_policy_delns_ioam6$auto]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_DUMP_NAMESPACES(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_DUMP_NAMESPACES, void]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_ADD_SCHEMA(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_ADD_SCHEMA, ioam6_genl_policy_addsc_ioam6$auto]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_DEL_SCHEMA(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_DEL_SCHEMA, ioam6_genl_policy_delsc_ioam6$auto]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_DUMP_SCHEMAS(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_DUMP_SCHEMAS, void]], f flags[send_flags])
sendmsg$auto_IOAM6_CMD_NS_SET_SCHEMA(fd sock_nl_generic, msg ptr[in, msghdr_ioam6$auto[IOAM6_CMD_NS_SET_SCHEMA, ioam6_genl_policy_ns_sc_ioam6$auto]], f flags[send_flags])

ioam6_genl_policy_addns_ioam6$auto [
	IOAM6_ATTR_NS_ID	nlattr[IOAM6_ATTR_NS_ID, int16]
	IOAM6_ATTR_NS_DATA	nlattr[IOAM6_ATTR_NS_DATA, int32]
	IOAM6_ATTR_NS_DATA_WIDE	nlattr[IOAM6_ATTR_NS_DATA_WIDE, int64]
] [varlen]

ioam6_genl_policy_delns_ioam6$auto [
	IOAM6_ATTR_NS_ID	nlattr[IOAM6_ATTR_NS_ID, int16]
] [varlen]

ioam6_genl_policy_addsc_ioam6$auto [
	IOAM6_ATTR_SC_ID	nlattr[IOAM6_ATTR_SC_ID, int32]
	IOAM6_ATTR_SC_DATA	nlattr[IOAM6_ATTR_SC_DATA, array[int8, 0:1020]]
] [varlen]

ioam6_genl_policy_delsc_ioam6$auto [
	IOAM6_ATTR_SC_ID	nlattr[IOAM6_ATTR_SC_ID, int32]
] [varlen]

ioam6_genl_policy_ns_sc_ioam6$auto [
	IOAM6_ATTR_NS_ID	nlattr[IOAM6_ATTR_NS_ID, int16]
	IOAM6_ATTR_SC_ID	nlattr[IOAM6_ATTR_SC_ID, int32]
	IOAM6_ATTR_SC_NONE	nlattr[IOAM6_ATTR_SC_NONE, void]
] [varlen]

resource genl_ipvs_family_id$auto[int16]
type msghdr_ipvs$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ipvs_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ipvs(name ptr[in, string["IPVS"]], fd sock_nl_generic) genl_ipvs_family_id$auto

sendmsg$auto_IPVS_CMD_NEW_SERVICE(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_NEW_SERVICE, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_SET_SERVICE(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_SET_SERVICE, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_DEL_SERVICE(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_DEL_SERVICE, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_GET_SERVICE(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_GET_SERVICE, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_NEW_DEST(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_NEW_DEST, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_SET_DEST(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_SET_DEST, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_DEL_DEST(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_DEL_DEST, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_GET_DEST(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_GET_DEST, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_NEW_DAEMON(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_NEW_DAEMON, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_DEL_DAEMON(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_DEL_DAEMON, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_GET_DAEMON(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_GET_DAEMON, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_SET_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_SET_CONFIG, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_GET_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_GET_CONFIG, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_GET_INFO(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_GET_INFO, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_ZERO(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_ZERO, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])
sendmsg$auto_IPVS_CMD_FLUSH(fd sock_nl_generic, msg ptr[in, msghdr_ipvs$auto[IPVS_CMD_FLUSH, ip_vs_cmd_policy_ip_vs_ctl$auto]], f flags[send_flags])

ip_vs_cmd_policy_ip_vs_ctl$auto [
	IPVS_CMD_ATTR_SERVICE		nlnest[IPVS_CMD_ATTR_SERVICE, array[nl_generic_attr]]
	IPVS_CMD_ATTR_DEST		nlnest[IPVS_CMD_ATTR_DEST, array[nl_generic_attr]]
	IPVS_CMD_ATTR_DAEMON		nlnest[IPVS_CMD_ATTR_DAEMON, array[nl_generic_attr]]
	IPVS_CMD_ATTR_TIMEOUT_TCP	nlattr[IPVS_CMD_ATTR_TIMEOUT_TCP, int32]
	IPVS_CMD_ATTR_TIMEOUT_TCP_FIN	nlattr[IPVS_CMD_ATTR_TIMEOUT_TCP_FIN, int32]
	IPVS_CMD_ATTR_TIMEOUT_UDP	nlattr[IPVS_CMD_ATTR_TIMEOUT_UDP, int32]
] [varlen]

resource genl_mac80211_hwsim_family_id$auto[int16]
type msghdr_mac80211_hwsim$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_mac80211_hwsim_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_mac80211_hwsim(name ptr[in, string["MAC80211_HWSIM"]], fd sock_nl_generic) genl_mac80211_hwsim_family_id$auto

sendmsg$auto_HWSIM_CMD_REGISTER(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_REGISTER, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_FRAME, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_TX_INFO_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_TX_INFO_FRAME, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_NEW_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_NEW_RADIO, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_DEL_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_DEL_RADIO, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_GET_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_GET_RADIO, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])
sendmsg$auto_HWSIM_CMD_REPORT_PMSR(fd sock_nl_generic, msg ptr[in, msghdr_mac80211_hwsim$auto[HWSIM_CMD_REPORT_PMSR, hwsim_genl_policy_mac80211_hwsim$auto]], f flags[send_flags])

hwsim_genl_policy_mac80211_hwsim$auto [
	HWSIM_ATTR_ADDR_RECEIVER		nlattr[HWSIM_ATTR_ADDR_RECEIVER, array[int8]]
	HWSIM_ATTR_ADDR_TRANSMITTER		nlattr[HWSIM_ATTR_ADDR_TRANSMITTER, array[int8]]
	HWSIM_ATTR_FRAME			nlattr[HWSIM_ATTR_FRAME, array[int8, 0:2304]]
	HWSIM_ATTR_FLAGS			nlattr[HWSIM_ATTR_FLAGS, int32]
	HWSIM_ATTR_RX_RATE			nlattr[HWSIM_ATTR_RX_RATE, int32]
	HWSIM_ATTR_SIGNAL			nlattr[HWSIM_ATTR_SIGNAL, int32]
	HWSIM_ATTR_TX_INFO			nlattr[HWSIM_ATTR_TX_INFO, array[hwsim_tx_rate$auto, 0:4]]
	HWSIM_ATTR_COOKIE			nlattr[HWSIM_ATTR_COOKIE, int64]
	HWSIM_ATTR_CHANNELS			nlattr[HWSIM_ATTR_CHANNELS, int32]
	HWSIM_ATTR_RADIO_ID			nlattr[HWSIM_ATTR_RADIO_ID, int32]
	HWSIM_ATTR_REG_HINT_ALPHA2		nlattr[HWSIM_ATTR_REG_HINT_ALPHA2, stringnoz]
	HWSIM_ATTR_REG_CUSTOM_REG		nlattr[HWSIM_ATTR_REG_CUSTOM_REG, int32]
	HWSIM_ATTR_REG_STRICT_REG		nlattr[HWSIM_ATTR_REG_STRICT_REG, void]
	HWSIM_ATTR_SUPPORT_P2P_DEVICE		nlattr[HWSIM_ATTR_SUPPORT_P2P_DEVICE, void]
	HWSIM_ATTR_USE_CHANCTX			nlattr[HWSIM_ATTR_USE_CHANCTX, void]
	HWSIM_ATTR_DESTROY_RADIO_ON_CLOSE	nlattr[HWSIM_ATTR_DESTROY_RADIO_ON_CLOSE, void]
	HWSIM_ATTR_RADIO_NAME			nlattr[HWSIM_ATTR_RADIO_NAME, stringnoz]
	HWSIM_ATTR_NO_VIF			nlattr[HWSIM_ATTR_NO_VIF, void]
	HWSIM_ATTR_FREQ				nlattr[HWSIM_ATTR_FREQ, int32]
	HWSIM_ATTR_TX_INFO_FLAGS		nlattr[HWSIM_ATTR_TX_INFO_FLAGS, array[int8]]
	HWSIM_ATTR_PERM_ADDR			nlattr[HWSIM_ATTR_PERM_ADDR, array[int8]]
	HWSIM_ATTR_IFTYPE_SUPPORT		nlattr[HWSIM_ATTR_IFTYPE_SUPPORT, int32]
	HWSIM_ATTR_CIPHER_SUPPORT		nlattr[HWSIM_ATTR_CIPHER_SUPPORT, array[int8]]
	HWSIM_ATTR_MLO_SUPPORT			nlattr[HWSIM_ATTR_MLO_SUPPORT, void]
	HWSIM_ATTR_PMSR_SUPPORT			nlnest[HWSIM_ATTR_PMSR_SUPPORT, array[hwsim_pmsr_capa_policy_mac80211_hwsim$auto]]
	HWSIM_ATTR_PMSR_RESULT			nlnest[HWSIM_ATTR_PMSR_RESULT, array[hwsim_pmsr_peers_result_policy_mac80211_hwsim$auto]]
	HWSIM_ATTR_MULTI_RADIO			nlattr[HWSIM_ATTR_MULTI_RADIO, void]
] [varlen]

hwsim_pmsr_capa_policy_mac80211_hwsim$auto [
	NL80211_PMSR_ATTR_MAX_PEERS		nlattr[NL80211_PMSR_ATTR_MAX_PEERS, int32]
	NL80211_PMSR_ATTR_REPORT_AP_TSF		nlattr[NL80211_PMSR_ATTR_REPORT_AP_TSF, void]
	NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR	nlattr[NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR, void]
	NL80211_PMSR_ATTR_TYPE_CAPA		nlnest[NL80211_PMSR_ATTR_TYPE_CAPA, array[hwsim_pmsr_capa_type_policy_mac80211_hwsim$auto]]
] [varlen]

hwsim_pmsr_peers_result_policy_mac80211_hwsim$auto [
	NL80211_PMSR_ATTR_PEERS	nlnest[NL80211_PMSR_ATTR_PEERS, array[nlnest[0, array[hwsim_pmsr_peer_result_policy_mac80211_hwsim$auto]]]]
] [varlen]

hwsim_pmsr_capa_type_policy_mac80211_hwsim$auto [
	NL80211_PMSR_TYPE_FTM	nlnest[NL80211_PMSR_TYPE_FTM, array[hwsim_ftm_capa_policy_mac80211_hwsim$auto]]
] [varlen]

hwsim_pmsr_peer_result_policy_mac80211_hwsim$auto [
	NL80211_PMSR_PEER_ATTR_ADDR	nlattr[NL80211_PMSR_PEER_ATTR_ADDR, array[int8]]
	NL80211_PMSR_PEER_ATTR_RESP	nlnest[NL80211_PMSR_PEER_ATTR_RESP, array[hwsim_pmsr_resp_policy_mac80211_hwsim$auto]]
] [varlen]

hwsim_ftm_capa_policy_mac80211_hwsim$auto [
	NL80211_PMSR_FTM_CAPA_ATTR_ASAP			nlattr[NL80211_PMSR_FTM_CAPA_ATTR_ASAP, void]
	NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP		nlattr[NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP, void]
	NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI		nlattr[NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI, void]
	NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC		nlattr[NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC, void]
	NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES		nlattr[NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES, int32]
	NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS		nlattr[NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, int32]
	NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT	nlattr[NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, int8]
	NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST	nlattr[NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, int8]
	NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED	nlattr[NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED, void]
	NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED	nlattr[NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED, void]
] [varlen]

hwsim_pmsr_resp_policy_mac80211_hwsim$auto [
	NL80211_PMSR_RESP_ATTR_STATUS		nlattr[NL80211_PMSR_RESP_ATTR_STATUS, int32]
	NL80211_PMSR_RESP_ATTR_HOST_TIME	nlattr[NL80211_PMSR_RESP_ATTR_HOST_TIME, int64]
	NL80211_PMSR_RESP_ATTR_AP_TSF		nlattr[NL80211_PMSR_RESP_ATTR_AP_TSF, int64]
	NL80211_PMSR_RESP_ATTR_FINAL		nlattr[NL80211_PMSR_RESP_ATTR_FINAL, void]
	NL80211_PMSR_RESP_ATTR_DATA		nlnest[NL80211_PMSR_RESP_ATTR_DATA, array[hwsim_pmsr_resp_type_policy_mac80211_hwsim$auto]]
] [varlen]

hwsim_pmsr_resp_type_policy_mac80211_hwsim$auto [
	NL80211_PMSR_TYPE_FTM	nlnest[NL80211_PMSR_TYPE_FTM, array[hwsim_ftm_result_policy_mac80211_hwsim$auto]]
] [varlen]

hwsim_ftm_result_policy_mac80211_hwsim$auto [
	NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON		nlattr[NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON, int32]
	NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX		nlattr[NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX, int16]
	NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS	nlattr[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS, int32]
	NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES	nlattr[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES, int32]
	NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME	nlattr[NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME, int8]
	NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP	nlattr[NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP, int8]
	NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION	nlattr[NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION, int8]
	NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST	nlattr[NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST, int8]
	NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG		nlattr[NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG, int32]
	NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD		nlattr[NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD, int32]
	NL80211_PMSR_FTM_RESP_ATTR_TX_RATE		nlnest[NL80211_PMSR_FTM_RESP_ATTR_TX_RATE, array[hwsim_rate_info_policy_mac80211_hwsim$auto]]
	NL80211_PMSR_FTM_RESP_ATTR_RX_RATE		nlnest[NL80211_PMSR_FTM_RESP_ATTR_RX_RATE, array[hwsim_rate_info_policy_mac80211_hwsim$auto]]
	NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG		nlattr[NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG, int64]
	NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE		nlattr[NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE, int64]
	NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD		nlattr[NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD, int64]
	NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG		nlattr[NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG, int64]
	NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE	nlattr[NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE, int64]
	NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD		nlattr[NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD, int64]
	NL80211_PMSR_FTM_RESP_ATTR_LCI			nlattr[NL80211_PMSR_FTM_RESP_ATTR_LCI, stringnoz]
	NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC		nlattr[NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC, stringnoz]
] [varlen]

hwsim_rate_info_policy_mac80211_hwsim$auto [
	HWSIM_RATE_INFO_ATTR_FLAGS		nlattr[HWSIM_RATE_INFO_ATTR_FLAGS, int8]
	HWSIM_RATE_INFO_ATTR_MCS		nlattr[HWSIM_RATE_INFO_ATTR_MCS, int8]
	HWSIM_RATE_INFO_ATTR_LEGACY		nlattr[HWSIM_RATE_INFO_ATTR_LEGACY, int16]
	HWSIM_RATE_INFO_ATTR_NSS		nlattr[HWSIM_RATE_INFO_ATTR_NSS, int8]
	HWSIM_RATE_INFO_ATTR_BW			nlattr[HWSIM_RATE_INFO_ATTR_BW, int8]
	HWSIM_RATE_INFO_ATTR_HE_GI		nlattr[HWSIM_RATE_INFO_ATTR_HE_GI, int8]
	HWSIM_RATE_INFO_ATTR_HE_DCM		nlattr[HWSIM_RATE_INFO_ATTR_HE_DCM, int8]
	HWSIM_RATE_INFO_ATTR_HE_RU_ALLOC	nlattr[HWSIM_RATE_INFO_ATTR_HE_RU_ALLOC, int8]
	HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH	nlattr[HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH, int8]
	HWSIM_RATE_INFO_ATTR_EHT_GI		nlattr[HWSIM_RATE_INFO_ATTR_EHT_GI, int8]
	HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC	nlattr[HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC, int8]
] [varlen]

resource genl_mac802154_hwsim_family_id$auto[int16]
type msghdr_mac802154_hwsim$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_mac802154_hwsim_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_mac802154_hwsim(name ptr[in, string["MAC802154_HWSIM"]], fd sock_nl_generic) genl_mac802154_hwsim_family_id$auto

sendmsg$auto_MAC802154_HWSIM_CMD_NEW_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_NEW_RADIO, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])
sendmsg$auto_MAC802154_HWSIM_CMD_DEL_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_DEL_RADIO, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])
sendmsg$auto_MAC802154_HWSIM_CMD_GET_RADIO(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_GET_RADIO, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])
sendmsg$auto_MAC802154_HWSIM_CMD_NEW_EDGE(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_NEW_EDGE, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])
sendmsg$auto_MAC802154_HWSIM_CMD_DEL_EDGE(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_DEL_EDGE, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])
sendmsg$auto_MAC802154_HWSIM_CMD_SET_EDGE(fd sock_nl_generic, msg ptr[in, msghdr_mac802154_hwsim$auto[MAC802154_HWSIM_CMD_SET_EDGE, hwsim_genl_policy_mac802154_hwsim$auto]], f flags[send_flags])

hwsim_genl_policy_mac802154_hwsim$auto [
	MAC802154_HWSIM_ATTR_RADIO_ID		nlattr[MAC802154_HWSIM_ATTR_RADIO_ID, int32]
	MAC802154_HWSIM_ATTR_RADIO_EDGE		nlnest[MAC802154_HWSIM_ATTR_RADIO_EDGE, array[nl_generic_attr]]
	MAC802154_HWSIM_ATTR_RADIO_EDGES	nlnest[MAC802154_HWSIM_ATTR_RADIO_EDGES, array[nl_generic_attr]]
] [varlen]

resource genl_ncsi_family_id$auto[int16]
type msghdr_ncsi$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ncsi_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ncsi(name ptr[in, string["NCSI"]], fd sock_nl_generic) genl_ncsi_family_id$auto

sendmsg$auto_NCSI_CMD_PKG_INFO(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_PKG_INFO, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])
sendmsg$auto_NCSI_CMD_SET_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_SET_INTERFACE, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])
sendmsg$auto_NCSI_CMD_CLEAR_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_CLEAR_INTERFACE, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])
sendmsg$auto_NCSI_CMD_SEND_CMD(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_SEND_CMD, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])
sendmsg$auto_NCSI_CMD_SET_PACKAGE_MASK(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_SET_PACKAGE_MASK, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])
sendmsg$auto_NCSI_CMD_SET_CHANNEL_MASK(fd sock_nl_generic, msg ptr[in, msghdr_ncsi$auto[NCSI_CMD_SET_CHANNEL_MASK, ncsi_genl_policy_ncsi_netlink$auto]], f flags[send_flags])

ncsi_genl_policy_ncsi_netlink$auto [
	NCSI_ATTR_IFINDEX	nlattr[NCSI_ATTR_IFINDEX, ifindex]
	NCSI_ATTR_PACKAGE_LIST	nlnest[NCSI_ATTR_PACKAGE_LIST, array[nl_generic_attr]]
	NCSI_ATTR_PACKAGE_ID	nlattr[NCSI_ATTR_PACKAGE_ID, int32]
	NCSI_ATTR_CHANNEL_ID	nlattr[NCSI_ATTR_CHANNEL_ID, int32]
	NCSI_ATTR_DATA		nlattr[NCSI_ATTR_DATA, array[int8, 0:2048]]
	NCSI_ATTR_MULTI_FLAG	nlattr[NCSI_ATTR_MULTI_FLAG, void]
	NCSI_ATTR_PACKAGE_MASK	nlattr[NCSI_ATTR_PACKAGE_MASK, int32]
	NCSI_ATTR_CHANNEL_MASK	nlattr[NCSI_ATTR_CHANNEL_MASK, int32]
] [varlen]

resource genl_net_dm_family_id$auto[int16]
type msghdr_net_dm$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_net_dm_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_net_dm(name ptr[in, string["NET_DM"]], fd sock_nl_generic) genl_net_dm_family_id$auto

sendmsg$auto_NET_DM_CMD_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_net_dm$auto[NET_DM_CMD_CONFIG, net_dm_nl_policy_drop_monitor$auto]], f flags[send_flags])
sendmsg$auto_NET_DM_CMD_START(fd sock_nl_generic, msg ptr[in, msghdr_net_dm$auto[NET_DM_CMD_START, net_dm_nl_policy_drop_monitor$auto]], f flags[send_flags])
sendmsg$auto_NET_DM_CMD_STOP(fd sock_nl_generic, msg ptr[in, msghdr_net_dm$auto[NET_DM_CMD_STOP, net_dm_nl_policy_drop_monitor$auto]], f flags[send_flags])
sendmsg$auto_NET_DM_CMD_CONFIG_GET(fd sock_nl_generic, msg ptr[in, msghdr_net_dm$auto[NET_DM_CMD_CONFIG_GET, net_dm_nl_policy_drop_monitor$auto]], f flags[send_flags])
sendmsg$auto_NET_DM_CMD_STATS_GET(fd sock_nl_generic, msg ptr[in, msghdr_net_dm$auto[NET_DM_CMD_STATS_GET, net_dm_nl_policy_drop_monitor$auto]], f flags[send_flags])

net_dm_nl_policy_drop_monitor$auto [
	NET_DM_ATTR_UNSPEC	nlattr[NET_DM_ATTR_UNSPEC, array[int8]]
	NET_DM_ATTR_ALERT_MODE	nlattr[NET_DM_ATTR_ALERT_MODE, int8]
	NET_DM_ATTR_TRUNC_LEN	nlattr[NET_DM_ATTR_TRUNC_LEN, int32]
	NET_DM_ATTR_QUEUE_LEN	nlattr[NET_DM_ATTR_QUEUE_LEN, int32]
	NET_DM_ATTR_SW_DROPS	nlattr[NET_DM_ATTR_SW_DROPS, void]
	NET_DM_ATTR_HW_DROPS	nlattr[NET_DM_ATTR_HW_DROPS, void]
] [varlen]

resource genl_nlbl_calipso_family_id$auto[int16]
type msghdr_nlbl_calipso$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nlbl_calipso_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nlbl_calipso(name ptr[in, string["NLBL_CALIPSO"]], fd sock_nl_generic) genl_nlbl_calipso_family_id$auto

sendmsg$auto_NLBL_CALIPSO_C_ADD(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_calipso$auto[NLBL_CALIPSO_C_ADD, calipso_genl_policy_netlabel_calipso$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CALIPSO_C_REMOVE(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_calipso$auto[NLBL_CALIPSO_C_REMOVE, calipso_genl_policy_netlabel_calipso$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CALIPSO_C_LIST(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_calipso$auto[NLBL_CALIPSO_C_LIST, calipso_genl_policy_netlabel_calipso$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CALIPSO_C_LISTALL(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_calipso$auto[NLBL_CALIPSO_C_LISTALL, calipso_genl_policy_netlabel_calipso$auto]], f flags[send_flags])

calipso_genl_policy_netlabel_calipso$auto [
	NLBL_CALIPSO_A_DOI	nlattr[NLBL_CALIPSO_A_DOI, int32]
	NLBL_CALIPSO_A_MTYPE	nlattr[NLBL_CALIPSO_A_MTYPE, int32]
] [varlen]

resource genl_nlbl_cipsov4_family_id$auto[int16]
type msghdr_nlbl_cipsov4$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nlbl_cipsov4_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nlbl_cipsov4(name ptr[in, string["NLBL_CIPSOv4"]], fd sock_nl_generic) genl_nlbl_cipsov4_family_id$auto

sendmsg$auto_NLBL_CIPSOV4_C_ADD(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_cipsov4$auto[NLBL_CIPSOV4_C_ADD, netlbl_cipsov4_genl_policy_netlabel_cipso_v4$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CIPSOV4_C_REMOVE(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_cipsov4$auto[NLBL_CIPSOV4_C_REMOVE, netlbl_cipsov4_genl_policy_netlabel_cipso_v4$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CIPSOV4_C_LIST(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_cipsov4$auto[NLBL_CIPSOV4_C_LIST, netlbl_cipsov4_genl_policy_netlabel_cipso_v4$auto]], f flags[send_flags])
sendmsg$auto_NLBL_CIPSOV4_C_LISTALL(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_cipsov4$auto[NLBL_CIPSOV4_C_LISTALL, netlbl_cipsov4_genl_policy_netlabel_cipso_v4$auto]], f flags[send_flags])

netlbl_cipsov4_genl_policy_netlabel_cipso_v4$auto [
	NLBL_CIPSOV4_A_DOI		nlattr[NLBL_CIPSOV4_A_DOI, int32]
	NLBL_CIPSOV4_A_MTYPE		nlattr[NLBL_CIPSOV4_A_MTYPE, int32]
	NLBL_CIPSOV4_A_TAG		nlattr[NLBL_CIPSOV4_A_TAG, int8]
	NLBL_CIPSOV4_A_TAGLST		nlnest[NLBL_CIPSOV4_A_TAGLST, array[nl_generic_attr]]
	NLBL_CIPSOV4_A_MLSLVLLOC	nlattr[NLBL_CIPSOV4_A_MLSLVLLOC, int32]
	NLBL_CIPSOV4_A_MLSLVLREM	nlattr[NLBL_CIPSOV4_A_MLSLVLREM, int32]
	NLBL_CIPSOV4_A_MLSLVL		nlnest[NLBL_CIPSOV4_A_MLSLVL, array[nl_generic_attr]]
	NLBL_CIPSOV4_A_MLSLVLLST	nlnest[NLBL_CIPSOV4_A_MLSLVLLST, array[nl_generic_attr]]
	NLBL_CIPSOV4_A_MLSCATLOC	nlattr[NLBL_CIPSOV4_A_MLSCATLOC, int32]
	NLBL_CIPSOV4_A_MLSCATREM	nlattr[NLBL_CIPSOV4_A_MLSCATREM, int32]
	NLBL_CIPSOV4_A_MLSCAT		nlnest[NLBL_CIPSOV4_A_MLSCAT, array[nl_generic_attr]]
	NLBL_CIPSOV4_A_MLSCATLST	nlnest[NLBL_CIPSOV4_A_MLSCATLST, array[nl_generic_attr]]
] [varlen]

resource genl_nlbl_mgmt_family_id$auto[int16]
type msghdr_nlbl_mgmt$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nlbl_mgmt_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nlbl_mgmt(name ptr[in, string["NLBL_MGMT"]], fd sock_nl_generic) genl_nlbl_mgmt_family_id$auto

sendmsg$auto_NLBL_MGMT_C_ADD(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_ADD, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_REMOVE(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_REMOVE, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_LISTALL(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_LISTALL, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_ADDDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_ADDDEF, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_REMOVEDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_REMOVEDEF, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_LISTDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_LISTDEF, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_PROTOCOLS(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_PROTOCOLS, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])
sendmsg$auto_NLBL_MGMT_C_VERSION(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_mgmt$auto[NLBL_MGMT_C_VERSION, netlbl_mgmt_genl_policy_netlabel_mgmt$auto]], f flags[send_flags])

netlbl_mgmt_genl_policy_netlabel_mgmt$auto [
	NLBL_MGMT_A_DOMAIN	nlattr[NLBL_MGMT_A_DOMAIN, string]
	NLBL_MGMT_A_PROTOCOL	nlattr[NLBL_MGMT_A_PROTOCOL, int32]
	NLBL_MGMT_A_VERSION	nlattr[NLBL_MGMT_A_VERSION, int32]
	NLBL_MGMT_A_CV4DOI	nlattr[NLBL_MGMT_A_CV4DOI, int32]
	NLBL_MGMT_A_FAMILY	nlattr[NLBL_MGMT_A_FAMILY, int16]
	NLBL_MGMT_A_CLPDOI	nlattr[NLBL_MGMT_A_CLPDOI, int32]
] [varlen]

resource genl_nlbl_unlbl_family_id$auto[int16]
type msghdr_nlbl_unlbl$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nlbl_unlbl_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nlbl_unlbl(name ptr[in, string["NLBL_UNLBL"]], fd sock_nl_generic) genl_nlbl_unlbl_family_id$auto

sendmsg$auto_NLBL_UNLABEL_C_STATICADD(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICADD, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_STATICREMOVE(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICREMOVE, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_STATICLIST(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICLIST, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_STATICADDDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICADDDEF, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_STATICREMOVEDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICREMOVEDEF, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_STATICLISTDEF(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_STATICLISTDEF, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_ACCEPT(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_ACCEPT, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])
sendmsg$auto_NLBL_UNLABEL_C_LIST(fd sock_nl_generic, msg ptr[in, msghdr_nlbl_unlbl$auto[NLBL_UNLABEL_C_LIST, netlbl_unlabel_genl_policy_netlabel_unlabeled$auto]], f flags[send_flags])

netlbl_unlabel_genl_policy_netlabel_unlabeled$auto [
	NLBL_UNLABEL_A_ACPTFLG	nlattr[NLBL_UNLABEL_A_ACPTFLG, int8]
	NLBL_UNLABEL_A_IPV6ADDR	nlattr[NLBL_UNLABEL_A_IPV6ADDR, ipv6_addr]
	NLBL_UNLABEL_A_IPV6MASK	nlattr[NLBL_UNLABEL_A_IPV6MASK, ipv6_addr]
	NLBL_UNLABEL_A_IPV4ADDR	nlattr[NLBL_UNLABEL_A_IPV4ADDR, ipv4_addr]
	NLBL_UNLABEL_A_IPV4MASK	nlattr[NLBL_UNLABEL_A_IPV4MASK, ipv4_addr]
	NLBL_UNLABEL_A_IFACE	nlattr[NLBL_UNLABEL_A_IFACE, devname]
	NLBL_UNLABEL_A_SECCTX	nlattr[NLBL_UNLABEL_A_SECCTX, array[int8]]
] [varlen]

resource genl_seg6_family_id$auto[int16]
type msghdr_seg6$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_seg6_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_seg6(name ptr[in, string["SEG6"]], fd sock_nl_generic) genl_seg6_family_id$auto

sendmsg$auto_SEG6_CMD_SETHMAC(fd sock_nl_generic, msg ptr[in, msghdr_seg6$auto[SEG6_CMD_SETHMAC, seg6_genl_policy_seg6$auto]], f flags[send_flags])
sendmsg$auto_SEG6_CMD_DUMPHMAC(fd sock_nl_generic, msg ptr[in, msghdr_seg6$auto[SEG6_CMD_DUMPHMAC, seg6_genl_policy_seg6$auto]], f flags[send_flags])
sendmsg$auto_SEG6_CMD_SET_TUNSRC(fd sock_nl_generic, msg ptr[in, msghdr_seg6$auto[SEG6_CMD_SET_TUNSRC, seg6_genl_policy_seg6$auto]], f flags[send_flags])
sendmsg$auto_SEG6_CMD_GET_TUNSRC(fd sock_nl_generic, msg ptr[in, msghdr_seg6$auto[SEG6_CMD_GET_TUNSRC, seg6_genl_policy_seg6$auto]], f flags[send_flags])

seg6_genl_policy_seg6$auto [
	SEG6_ATTR_DST		nlattr[SEG6_ATTR_DST, ipv6_addr]
	SEG6_ATTR_DSTLEN	nlattr[SEG6_ATTR_DSTLEN, int32]
	SEG6_ATTR_HMACKEYID	nlattr[SEG6_ATTR_HMACKEYID, int32]
	SEG6_ATTR_SECRET	nlattr[SEG6_ATTR_SECRET, array[int8]]
	SEG6_ATTR_SECRETLEN	nlattr[SEG6_ATTR_SECRETLEN, int8]
	SEG6_ATTR_ALGID		nlattr[SEG6_ATTR_ALGID, int8]
	SEG6_ATTR_HMACINFO	nlnest[SEG6_ATTR_HMACINFO, array[nl_generic_attr]]
] [varlen]

resource genl_smc_gen_netlink_family_id$auto[int16]
type msghdr_smc_gen_netlink$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_smc_gen_netlink_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_smc_gen_netlink(name ptr[in, string["SMC_GEN_NETLINK"]], fd sock_nl_generic) genl_smc_gen_netlink_family_id$auto

sendmsg$auto_SMC_NETLINK_GET_SYS_INFO(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_SYS_INFO, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_LGR_SMCR(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_LGR_SMCR, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_LINK_SMCR(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_LINK_SMCR, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_LGR_SMCD(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_LGR_SMCD, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_DEV_SMCD(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_DEV_SMCD, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_DEV_SMCR(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_DEV_SMCR, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_STATS(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_STATS, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_GET_FBACK_STATS(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_GET_FBACK_STATS, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_DUMP_UEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_DUMP_UEID, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_ADD_UEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_ADD_UEID, smc_gen_ueid_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_REMOVE_UEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_REMOVE_UEID, smc_gen_ueid_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_FLUSH_UEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_FLUSH_UEID, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_DUMP_SEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_DUMP_SEID, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_ENABLE_SEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_ENABLE_SEID, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_DISABLE_SEID(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_DISABLE_SEID, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_DUMP_HS_LIMITATION(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_DUMP_HS_LIMITATION, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_ENABLE_HS_LIMITATION(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_ENABLE_HS_LIMITATION, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
sendmsg$auto_SMC_NETLINK_DISABLE_HS_LIMITATION(fd sock_nl_generic, msg ptr[in, msghdr_smc_gen_netlink$auto[SMC_NETLINK_DISABLE_HS_LIMITATION, smc_gen_nl_policy_smc_netlink$auto]], f flags[send_flags])
type smc_gen_nl_policy_smc_netlink$auto auto_todo

smc_gen_ueid_policy_smc_netlink$auto [
	SMC_NLA_EID_TABLE_UNSPEC	nlattr[SMC_NLA_EID_TABLE_UNSPEC, array[int8]]
	SMC_NLA_EID_TABLE_ENTRY		nlattr[SMC_NLA_EID_TABLE_ENTRY, stringnoz]
] [varlen]

resource genl_smc_pnetid_family_id$auto[int16]
type msghdr_smc_pnetid$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_smc_pnetid_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_smc_pnetid(name ptr[in, string["SMC_PNETID"]], fd sock_nl_generic) genl_smc_pnetid_family_id$auto

sendmsg$auto_SMC_PNETID_GET(fd sock_nl_generic, msg ptr[in, msghdr_smc_pnetid$auto[SMC_PNETID_GET, smc_pnet_policy_smc_pnet$auto]], f flags[send_flags])
sendmsg$auto_SMC_PNETID_ADD(fd sock_nl_generic, msg ptr[in, msghdr_smc_pnetid$auto[SMC_PNETID_ADD, smc_pnet_policy_smc_pnet$auto]], f flags[send_flags])
sendmsg$auto_SMC_PNETID_DEL(fd sock_nl_generic, msg ptr[in, msghdr_smc_pnetid$auto[SMC_PNETID_DEL, smc_pnet_policy_smc_pnet$auto]], f flags[send_flags])
sendmsg$auto_SMC_PNETID_FLUSH(fd sock_nl_generic, msg ptr[in, msghdr_smc_pnetid$auto[SMC_PNETID_FLUSH, smc_pnet_policy_smc_pnet$auto]], f flags[send_flags])

smc_pnet_policy_smc_pnet$auto [
	SMC_PNETID_NAME		nlattr[SMC_PNETID_NAME, string]
	SMC_PNETID_ETHNAME	nlattr[SMC_PNETID_ETHNAME, string]
	SMC_PNETID_IBNAME	nlattr[SMC_PNETID_IBNAME, string]
	SMC_PNETID_IBPORT	nlattr[SMC_PNETID_IBPORT, int8]
] [varlen]

resource genl_taskstats_family_id$auto[int16]
type msghdr_taskstats$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_taskstats_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_taskstats(name ptr[in, string["TASKSTATS"]], fd sock_nl_generic) genl_taskstats_family_id$auto

sendmsg$auto_TASKSTATS_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_taskstats$auto[TASKSTATS_CMD_GET, taskstats_cmd_get_policy_taskstats$auto]], f flags[send_flags])
sendmsg$auto_CGROUPSTATS_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_taskstats$auto[CGROUPSTATS_CMD_GET, cgroupstats_cmd_get_policy_taskstats$auto]], f flags[send_flags])

taskstats_cmd_get_policy_taskstats$auto [
	TASKSTATS_CMD_ATTR_PID			nlattr[TASKSTATS_CMD_ATTR_PID, pid]
	TASKSTATS_CMD_ATTR_TGID			nlattr[TASKSTATS_CMD_ATTR_TGID, pid]
	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK	nlattr[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK, stringnoz]
	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK	nlattr[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK, stringnoz]
] [varlen]

cgroupstats_cmd_get_policy_taskstats$auto [
	CGROUPSTATS_CMD_ATTR_FD	nlattr[CGROUPSTATS_CMD_ATTR_FD, fd]
] [varlen]

resource genl_tipcv2_family_id$auto[int16]
type msghdr_tipcv2$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_tipcv2_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_tipcv2(name ptr[in, string["TIPCv2"]], fd sock_nl_generic) genl_tipcv2_family_id$auto

sendmsg$auto_TIPC_NL_BEARER_DISABLE(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_BEARER_DISABLE, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_BEARER_ENABLE(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_BEARER_ENABLE, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_BEARER_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_BEARER_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_BEARER_ADD(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_BEARER_ADD, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_BEARER_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_BEARER_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_SOCK_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_SOCK_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_PUBL_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_PUBL_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_LINK_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_LINK_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_LINK_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_LINK_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_LINK_RESET_STATS(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_LINK_RESET_STATS, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_MEDIA_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_MEDIA_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_MEDIA_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_MEDIA_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_NODE_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_NODE_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_NET_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_NET_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_NET_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_NET_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_NAME_TABLE_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_NAME_TABLE_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_MON_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_MON_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_MON_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_MON_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_MON_PEER_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_MON_PEER_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_PEER_REMOVE(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_PEER_REMOVE, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_UDP_GET_REMOTEIP(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_UDP_GET_REMOTEIP, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_KEY_SET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_KEY_SET, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_KEY_FLUSH(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_KEY_FLUSH, tipc_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_TIPC_NL_ADDR_LEGACY_GET(fd sock_nl_generic, msg ptr[in, msghdr_tipcv2$auto[TIPC_NL_ADDR_LEGACY_GET, tipc_nl_policy_netlink$auto]], f flags[send_flags])

tipc_nl_policy_netlink$auto [
	TIPC_NLA_UNSPEC		nlattr[TIPC_NLA_UNSPEC, array[int8]]
	TIPC_NLA_BEARER		nlnest[TIPC_NLA_BEARER, array[nl_generic_attr]]
	TIPC_NLA_SOCK		nlnest[TIPC_NLA_SOCK, array[nl_generic_attr]]
	TIPC_NLA_PUBL		nlnest[TIPC_NLA_PUBL, array[nl_generic_attr]]
	TIPC_NLA_LINK		nlnest[TIPC_NLA_LINK, array[nl_generic_attr]]
	TIPC_NLA_MEDIA		nlnest[TIPC_NLA_MEDIA, array[nl_generic_attr]]
	TIPC_NLA_NODE		nlnest[TIPC_NLA_NODE, array[nl_generic_attr]]
	TIPC_NLA_NET		nlnest[TIPC_NLA_NET, array[nl_generic_attr]]
	TIPC_NLA_NAME_TABLE	nlnest[TIPC_NLA_NAME_TABLE, array[nl_generic_attr]]
	TIPC_NLA_MON		nlnest[TIPC_NLA_MON, array[nl_generic_attr]]
] [varlen]

resource genl_batadv_family_id$auto[int16]
type msghdr_batadv$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_batadv_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_batadv(name ptr[in, string["batadv"]], fd sock_nl_generic) genl_batadv_family_id$auto

sendmsg$auto_BATADV_CMD_GET_MESH(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_MESH, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_TP_METER(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_TP_METER, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_TP_METER_CANCEL(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_TP_METER_CANCEL, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_ROUTING_ALGOS(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_ROUTING_ALGOS, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_HARDIF(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_HARDIF, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_TRANSTABLE_LOCAL(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_TRANSTABLE_LOCAL, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_TRANSTABLE_GLOBAL(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_TRANSTABLE_GLOBAL, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_ORIGINATORS(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_ORIGINATORS, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_NEIGHBORS(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_NEIGHBORS, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_GATEWAYS(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_GATEWAYS, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_BLA_CLAIM(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_BLA_CLAIM, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_BLA_BACKBONE(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_BLA_BACKBONE, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_DAT_CACHE(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_DAT_CACHE, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_MCAST_FLAGS(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_MCAST_FLAGS, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_SET_MESH(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_SET_MESH, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_SET_HARDIF(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_SET_HARDIF, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_GET_VLAN(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_GET_VLAN, batadv_netlink_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_BATADV_CMD_SET_VLAN(fd sock_nl_generic, msg ptr[in, msghdr_batadv$auto[BATADV_CMD_SET_VLAN, batadv_netlink_policy_netlink$auto]], f flags[send_flags])

batadv_netlink_policy_netlink$auto [
	BATADV_ATTR_VERSION				nlattr[BATADV_ATTR_VERSION, stringnoz]
	BATADV_ATTR_ALGO_NAME				nlattr[BATADV_ATTR_ALGO_NAME, stringnoz]
	BATADV_ATTR_MESH_IFINDEX			nlattr[BATADV_ATTR_MESH_IFINDEX, ifindex]
	BATADV_ATTR_MESH_IFNAME				nlattr[BATADV_ATTR_MESH_IFNAME, devname]
	BATADV_ATTR_MESH_ADDRESS			nlattr[BATADV_ATTR_MESH_ADDRESS, mac_addr]
	BATADV_ATTR_HARD_IFINDEX			nlattr[BATADV_ATTR_HARD_IFINDEX, ifindex]
	BATADV_ATTR_HARD_IFNAME				nlattr[BATADV_ATTR_HARD_IFNAME, devname]
	BATADV_ATTR_HARD_ADDRESS			nlattr[BATADV_ATTR_HARD_ADDRESS, mac_addr]
	BATADV_ATTR_ORIG_ADDRESS			nlattr[BATADV_ATTR_ORIG_ADDRESS, mac_addr]
	BATADV_ATTR_TPMETER_RESULT			nlattr[BATADV_ATTR_TPMETER_RESULT, int8]
	BATADV_ATTR_TPMETER_TEST_TIME			nlattr[BATADV_ATTR_TPMETER_TEST_TIME, int32]
	BATADV_ATTR_TPMETER_BYTES			nlattr[BATADV_ATTR_TPMETER_BYTES, int64]
	BATADV_ATTR_TPMETER_COOKIE			nlattr[BATADV_ATTR_TPMETER_COOKIE, int32]
	BATADV_ATTR_ACTIVE				nlattr[BATADV_ATTR_ACTIVE, void]
	BATADV_ATTR_TT_ADDRESS				nlattr[BATADV_ATTR_TT_ADDRESS, mac_addr]
	BATADV_ATTR_TT_TTVN				nlattr[BATADV_ATTR_TT_TTVN, int8]
	BATADV_ATTR_TT_LAST_TTVN			nlattr[BATADV_ATTR_TT_LAST_TTVN, int8]
	BATADV_ATTR_TT_CRC32				nlattr[BATADV_ATTR_TT_CRC32, int32]
	BATADV_ATTR_TT_VID				nlattr[BATADV_ATTR_TT_VID, int16]
	BATADV_ATTR_TT_FLAGS				nlattr[BATADV_ATTR_TT_FLAGS, int32]
	BATADV_ATTR_FLAG_BEST				nlattr[BATADV_ATTR_FLAG_BEST, void]
	BATADV_ATTR_LAST_SEEN_MSECS			nlattr[BATADV_ATTR_LAST_SEEN_MSECS, int32]
	BATADV_ATTR_NEIGH_ADDRESS			nlattr[BATADV_ATTR_NEIGH_ADDRESS, mac_addr]
	BATADV_ATTR_TQ					nlattr[BATADV_ATTR_TQ, int8]
	BATADV_ATTR_THROUGHPUT				nlattr[BATADV_ATTR_THROUGHPUT, int32]
	BATADV_ATTR_BANDWIDTH_UP			nlattr[BATADV_ATTR_BANDWIDTH_UP, int32]
	BATADV_ATTR_BANDWIDTH_DOWN			nlattr[BATADV_ATTR_BANDWIDTH_DOWN, int32]
	BATADV_ATTR_ROUTER				nlattr[BATADV_ATTR_ROUTER, mac_addr]
	BATADV_ATTR_BLA_OWN				nlattr[BATADV_ATTR_BLA_OWN, void]
	BATADV_ATTR_BLA_ADDRESS				nlattr[BATADV_ATTR_BLA_ADDRESS, mac_addr]
	BATADV_ATTR_BLA_VID				nlattr[BATADV_ATTR_BLA_VID, int16]
	BATADV_ATTR_BLA_BACKBONE			nlattr[BATADV_ATTR_BLA_BACKBONE, mac_addr]
	BATADV_ATTR_BLA_CRC				nlattr[BATADV_ATTR_BLA_CRC, int16]
	BATADV_ATTR_DAT_CACHE_IP4ADDRESS		nlattr[BATADV_ATTR_DAT_CACHE_IP4ADDRESS, ipv4_addr]
	BATADV_ATTR_DAT_CACHE_HWADDRESS			nlattr[BATADV_ATTR_DAT_CACHE_HWADDRESS, mac_addr]
	BATADV_ATTR_DAT_CACHE_VID			nlattr[BATADV_ATTR_DAT_CACHE_VID, int16]
	BATADV_ATTR_MCAST_FLAGS				nlattr[BATADV_ATTR_MCAST_FLAGS, int32]
	BATADV_ATTR_MCAST_FLAGS_PRIV			nlattr[BATADV_ATTR_MCAST_FLAGS_PRIV, int32]
	BATADV_ATTR_VLANID				nlattr[BATADV_ATTR_VLANID, int16]
	BATADV_ATTR_AGGREGATED_OGMS_ENABLED		nlattr[BATADV_ATTR_AGGREGATED_OGMS_ENABLED, bool8]
	BATADV_ATTR_AP_ISOLATION_ENABLED		nlattr[BATADV_ATTR_AP_ISOLATION_ENABLED, bool8]
	BATADV_ATTR_ISOLATION_MARK			nlattr[BATADV_ATTR_ISOLATION_MARK, int32]
	BATADV_ATTR_ISOLATION_MASK			nlattr[BATADV_ATTR_ISOLATION_MASK, int32]
	BATADV_ATTR_BONDING_ENABLED			nlattr[BATADV_ATTR_BONDING_ENABLED, bool8]
	BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED	nlattr[BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, bool8]
	BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED	nlattr[BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED, bool8]
	BATADV_ATTR_FRAGMENTATION_ENABLED		nlattr[BATADV_ATTR_FRAGMENTATION_ENABLED, bool8]
	BATADV_ATTR_GW_BANDWIDTH_DOWN			nlattr[BATADV_ATTR_GW_BANDWIDTH_DOWN, int32]
	BATADV_ATTR_GW_BANDWIDTH_UP			nlattr[BATADV_ATTR_GW_BANDWIDTH_UP, int32]
	BATADV_ATTR_GW_MODE				nlattr[BATADV_ATTR_GW_MODE, int8]
	BATADV_ATTR_GW_SEL_CLASS			nlattr[BATADV_ATTR_GW_SEL_CLASS, int32]
	BATADV_ATTR_HOP_PENALTY				nlattr[BATADV_ATTR_HOP_PENALTY, int8]
	BATADV_ATTR_LOG_LEVEL				nlattr[BATADV_ATTR_LOG_LEVEL, int32]
	BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED	nlattr[BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED, bool8]
	BATADV_ATTR_MULTICAST_FANOUT			nlattr[BATADV_ATTR_MULTICAST_FANOUT, int32]
	BATADV_ATTR_NETWORK_CODING_ENABLED		nlattr[BATADV_ATTR_NETWORK_CODING_ENABLED, bool8]
	BATADV_ATTR_ORIG_INTERVAL			nlattr[BATADV_ATTR_ORIG_INTERVAL, int32]
	BATADV_ATTR_ELP_INTERVAL			nlattr[BATADV_ATTR_ELP_INTERVAL, int32]
	BATADV_ATTR_THROUGHPUT_OVERRIDE			nlattr[BATADV_ATTR_THROUGHPUT_OVERRIDE, int32]
] [varlen]

resource genl_cifs_family_id$auto[int16]
type msghdr_cifs$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_cifs_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_cifs(name ptr[in, string["cifs"]], fd sock_nl_generic) genl_cifs_family_id$auto

sendmsg$auto_CIFS_GENL_CMD_SWN_NOTIFY(fd sock_nl_generic, msg ptr[in, msghdr_cifs$auto[CIFS_GENL_CMD_SWN_NOTIFY, cifs_genl_policy_netlink$auto]], f flags[send_flags])

cifs_genl_policy_netlink$auto [
	CIFS_GENL_ATTR_SWN_REGISTRATION_ID	nlattr[CIFS_GENL_ATTR_SWN_REGISTRATION_ID, int32]
	CIFS_GENL_ATTR_SWN_NET_NAME		nlattr[CIFS_GENL_ATTR_SWN_NET_NAME, stringnoz]
	CIFS_GENL_ATTR_SWN_SHARE_NAME		nlattr[CIFS_GENL_ATTR_SWN_SHARE_NAME, stringnoz]
	CIFS_GENL_ATTR_SWN_IP			nlattr[CIFS_GENL_ATTR_SWN_IP, sockaddr_storage]
	CIFS_GENL_ATTR_SWN_NET_NAME_NOTIFY	nlattr[CIFS_GENL_ATTR_SWN_NET_NAME_NOTIFY, void]
	CIFS_GENL_ATTR_SWN_SHARE_NAME_NOTIFY	nlattr[CIFS_GENL_ATTR_SWN_SHARE_NAME_NOTIFY, void]
	CIFS_GENL_ATTR_SWN_IP_NOTIFY		nlattr[CIFS_GENL_ATTR_SWN_IP_NOTIFY, void]
	CIFS_GENL_ATTR_SWN_KRB_AUTH		nlattr[CIFS_GENL_ATTR_SWN_KRB_AUTH, void]
	CIFS_GENL_ATTR_SWN_USER_NAME		nlattr[CIFS_GENL_ATTR_SWN_USER_NAME, stringnoz]
	CIFS_GENL_ATTR_SWN_PASSWORD		nlattr[CIFS_GENL_ATTR_SWN_PASSWORD, stringnoz]
	CIFS_GENL_ATTR_SWN_DOMAIN_NAME		nlattr[CIFS_GENL_ATTR_SWN_DOMAIN_NAME, stringnoz]
	CIFS_GENL_ATTR_SWN_NOTIFICATION_TYPE	nlattr[CIFS_GENL_ATTR_SWN_NOTIFICATION_TYPE, int32]
	CIFS_GENL_ATTR_SWN_RESOURCE_STATE	nlattr[CIFS_GENL_ATTR_SWN_RESOURCE_STATE, int32]
	CIFS_GENL_ATTR_SWN_RESOURCE_NAME	nlattr[CIFS_GENL_ATTR_SWN_RESOURCE_NAME, stringnoz]
] [varlen]

resource genl_ethtool_family_id$auto[int16]
type msghdr_ethtool$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ethtool_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ethtool(name ptr[in, string["ethtool"]], fd sock_nl_generic) genl_ethtool_family_id$auto

sendmsg$auto_ETHTOOL_MSG_STRSET_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_STRSET_GET, ethnl_strset_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_LINKINFO_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_LINKINFO_GET, ethnl_linkinfo_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_LINKINFO_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_LINKINFO_SET, ethnl_linkinfo_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_LINKMODES_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_LINKMODES_GET, ethnl_linkmodes_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_LINKMODES_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_LINKMODES_SET, ethnl_linkmodes_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_LINKSTATE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_LINKSTATE_GET, ethnl_linkstate_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_DEBUG_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_DEBUG_GET, ethnl_debug_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_DEBUG_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_DEBUG_SET, ethnl_debug_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_WOL_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_WOL_GET, ethnl_wol_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_WOL_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_WOL_SET, ethnl_wol_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_FEATURES_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_FEATURES_GET, ethnl_features_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_FEATURES_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_FEATURES_SET, ethnl_features_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PRIVFLAGS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PRIVFLAGS_GET, ethnl_privflags_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PRIVFLAGS_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PRIVFLAGS_SET, ethnl_privflags_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_RINGS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_RINGS_GET, ethnl_rings_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_RINGS_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_RINGS_SET, ethnl_rings_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_CHANNELS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_CHANNELS_GET, ethnl_channels_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_CHANNELS_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_CHANNELS_SET, ethnl_channels_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_COALESCE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_COALESCE_GET, ethnl_coalesce_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_COALESCE_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_COALESCE_SET, ethnl_coalesce_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PAUSE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PAUSE_GET, ethnl_pause_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PAUSE_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PAUSE_SET, ethnl_pause_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_EEE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_EEE_GET, ethnl_eee_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_EEE_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_EEE_SET, ethnl_eee_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_TSINFO_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_TSINFO_GET, ethnl_tsinfo_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_CABLE_TEST_ACT(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_CABLE_TEST_ACT, ethnl_cable_test_act_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_CABLE_TEST_TDR_ACT(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_CABLE_TEST_TDR_ACT, ethnl_cable_test_tdr_act_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_TUNNEL_INFO_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_TUNNEL_INFO_GET, ethnl_tunnel_info_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_FEC_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_FEC_GET, ethnl_fec_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_FEC_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_FEC_SET, ethnl_fec_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MODULE_EEPROM_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MODULE_EEPROM_GET, ethnl_module_eeprom_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_STATS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_STATS_GET, ethnl_stats_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PHC_VCLOCKS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PHC_VCLOCKS_GET, ethnl_phc_vclocks_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MODULE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MODULE_GET, ethnl_module_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MODULE_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MODULE_SET, ethnl_module_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PSE_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PSE_GET, ethnl_pse_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PSE_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PSE_SET, ethnl_pse_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_RSS_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_RSS_GET, ethnl_rss_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PLCA_GET_CFG(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PLCA_GET_CFG, ethnl_plca_get_cfg_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PLCA_SET_CFG(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PLCA_SET_CFG, ethnl_plca_set_cfg_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PLCA_GET_STATUS(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PLCA_GET_STATUS, ethnl_plca_get_status_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MM_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MM_GET, ethnl_mm_get_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MM_SET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MM_SET, ethnl_mm_set_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_MODULE_FW_FLASH_ACT(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_MODULE_FW_FLASH_ACT, ethnl_module_fw_flash_act_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_ETHTOOL_MSG_PHY_GET(fd sock_nl_generic, msg ptr[in, msghdr_ethtool$auto[ETHTOOL_MSG_PHY_GET, ethnl_phy_get_policy_netlink$auto]], f flags[send_flags])

ethnl_strset_get_policy_netlink$auto [
	ETHTOOL_A_STRSET_HEADER		nlnest[ETHTOOL_A_STRSET_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
	ETHTOOL_A_STRSET_STRINGSETS	nlnest[ETHTOOL_A_STRSET_STRINGSETS, array[nl_generic_attr]]
	ETHTOOL_A_STRSET_COUNTS_ONLY	nlattr[ETHTOOL_A_STRSET_COUNTS_ONLY, void]
] [varlen]

ethnl_linkinfo_get_policy_netlink$auto [
	ETHTOOL_A_LINKINFO_HEADER	nlnest[ETHTOOL_A_LINKINFO_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_linkinfo_set_policy_netlink$auto [
	ETHTOOL_A_LINKINFO_HEADER	nlnest[ETHTOOL_A_LINKINFO_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_LINKINFO_PORT		nlattr[ETHTOOL_A_LINKINFO_PORT, int8]
	ETHTOOL_A_LINKINFO_PHYADDR	nlattr[ETHTOOL_A_LINKINFO_PHYADDR, int8]
	ETHTOOL_A_LINKINFO_TP_MDIX_CTRL	nlattr[ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, int8]
] [varlen]

ethnl_linkmodes_get_policy_netlink$auto [
	ETHTOOL_A_LINKMODES_HEADER	nlnest[ETHTOOL_A_LINKMODES_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_linkmodes_set_policy_netlink$auto [
	ETHTOOL_A_LINKMODES_HEADER		nlnest[ETHTOOL_A_LINKMODES_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_LINKMODES_AUTONEG		nlattr[ETHTOOL_A_LINKMODES_AUTONEG, int8]
	ETHTOOL_A_LINKMODES_OURS		nlnest[ETHTOOL_A_LINKMODES_OURS, array[nl_generic_attr]]
	ETHTOOL_A_LINKMODES_SPEED		nlattr[ETHTOOL_A_LINKMODES_SPEED, int32]
	ETHTOOL_A_LINKMODES_DUPLEX		nlattr[ETHTOOL_A_LINKMODES_DUPLEX, int8]
	ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG	nlattr[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, int8]
	ETHTOOL_A_LINKMODES_LANES		nlattr[ETHTOOL_A_LINKMODES_LANES, int32]
] [varlen]

ethnl_linkstate_get_policy_netlink$auto [
	ETHTOOL_A_LINKSTATE_HEADER	nlnest[ETHTOOL_A_LINKSTATE_HEADER, array[ethnl_header_policy_stats_netlink$auto]]
] [varlen]

ethnl_debug_get_policy_netlink$auto [
	ETHTOOL_A_DEBUG_HEADER	nlnest[ETHTOOL_A_DEBUG_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_debug_set_policy_netlink$auto [
	ETHTOOL_A_DEBUG_HEADER	nlnest[ETHTOOL_A_DEBUG_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_DEBUG_MSGMASK	nlnest[ETHTOOL_A_DEBUG_MSGMASK, array[nl_generic_attr]]
] [varlen]

ethnl_wol_get_policy_netlink$auto [
	ETHTOOL_A_WOL_HEADER	nlnest[ETHTOOL_A_WOL_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_wol_set_policy_netlink$auto [
	ETHTOOL_A_WOL_HEADER	nlnest[ETHTOOL_A_WOL_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_WOL_MODES	nlnest[ETHTOOL_A_WOL_MODES, array[nl_generic_attr]]
	ETHTOOL_A_WOL_SOPASS	nlattr[ETHTOOL_A_WOL_SOPASS, array[int8, 0:6]]
] [varlen]

ethnl_features_get_policy_netlink$auto [
	ETHTOOL_A_FEATURES_HEADER	nlnest[ETHTOOL_A_FEATURES_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_features_set_policy_netlink$auto [
	ETHTOOL_A_FEATURES_HEADER	nlnest[ETHTOOL_A_FEATURES_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_FEATURES_WANTED	nlnest[ETHTOOL_A_FEATURES_WANTED, array[nl_generic_attr]]
] [varlen]

ethnl_privflags_get_policy_netlink$auto [
	ETHTOOL_A_PRIVFLAGS_HEADER	nlnest[ETHTOOL_A_PRIVFLAGS_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_privflags_set_policy_netlink$auto [
	ETHTOOL_A_PRIVFLAGS_HEADER	nlnest[ETHTOOL_A_PRIVFLAGS_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_PRIVFLAGS_FLAGS	nlnest[ETHTOOL_A_PRIVFLAGS_FLAGS, array[nl_generic_attr]]
] [varlen]

ethnl_rings_get_policy_netlink$auto [
	ETHTOOL_A_RINGS_HEADER	nlnest[ETHTOOL_A_RINGS_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_rings_set_policy_netlink$auto [
	ETHTOOL_A_RINGS_HEADER		nlnest[ETHTOOL_A_RINGS_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_RINGS_RX		nlattr[ETHTOOL_A_RINGS_RX, int32]
	ETHTOOL_A_RINGS_RX_MINI		nlattr[ETHTOOL_A_RINGS_RX_MINI, int32]
	ETHTOOL_A_RINGS_RX_JUMBO	nlattr[ETHTOOL_A_RINGS_RX_JUMBO, int32]
	ETHTOOL_A_RINGS_TX		nlattr[ETHTOOL_A_RINGS_TX, int32]
	ETHTOOL_A_RINGS_RX_BUF_LEN	nlattr[ETHTOOL_A_RINGS_RX_BUF_LEN, int32]
	ETHTOOL_A_RINGS_TCP_DATA_SPLIT	nlattr[ETHTOOL_A_RINGS_TCP_DATA_SPLIT, int8]
	ETHTOOL_A_RINGS_CQE_SIZE	nlattr[ETHTOOL_A_RINGS_CQE_SIZE, int32]
	ETHTOOL_A_RINGS_TX_PUSH		nlattr[ETHTOOL_A_RINGS_TX_PUSH, int8]
	ETHTOOL_A_RINGS_RX_PUSH		nlattr[ETHTOOL_A_RINGS_RX_PUSH, int8]
	ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN	nlattr[ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, int32]
] [varlen]

ethnl_channels_get_policy_netlink$auto [
	ETHTOOL_A_CHANNELS_HEADER	nlnest[ETHTOOL_A_CHANNELS_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_channels_set_policy_netlink$auto [
	ETHTOOL_A_CHANNELS_HEADER		nlnest[ETHTOOL_A_CHANNELS_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_CHANNELS_RX_COUNT		nlattr[ETHTOOL_A_CHANNELS_RX_COUNT, int32]
	ETHTOOL_A_CHANNELS_TX_COUNT		nlattr[ETHTOOL_A_CHANNELS_TX_COUNT, int32]
	ETHTOOL_A_CHANNELS_OTHER_COUNT		nlattr[ETHTOOL_A_CHANNELS_OTHER_COUNT, int32]
	ETHTOOL_A_CHANNELS_COMBINED_COUNT	nlattr[ETHTOOL_A_CHANNELS_COMBINED_COUNT, int32]
] [varlen]

ethnl_coalesce_get_policy_netlink$auto [
	ETHTOOL_A_COALESCE_HEADER	nlnest[ETHTOOL_A_COALESCE_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_coalesce_set_policy_netlink$auto [
	ETHTOOL_A_COALESCE_HEADER		nlnest[ETHTOOL_A_COALESCE_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_COALESCE_RX_USECS		nlattr[ETHTOOL_A_COALESCE_RX_USECS, int32]
	ETHTOOL_A_COALESCE_RX_MAX_FRAMES	nlattr[ETHTOOL_A_COALESCE_RX_MAX_FRAMES, int32]
	ETHTOOL_A_COALESCE_RX_USECS_IRQ		nlattr[ETHTOOL_A_COALESCE_RX_USECS_IRQ, int32]
	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ	nlattr[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, int32]
	ETHTOOL_A_COALESCE_TX_USECS		nlattr[ETHTOOL_A_COALESCE_TX_USECS, int32]
	ETHTOOL_A_COALESCE_TX_MAX_FRAMES	nlattr[ETHTOOL_A_COALESCE_TX_MAX_FRAMES, int32]
	ETHTOOL_A_COALESCE_TX_USECS_IRQ		nlattr[ETHTOOL_A_COALESCE_TX_USECS_IRQ, int32]
	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ	nlattr[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, int32]
	ETHTOOL_A_COALESCE_STATS_BLOCK_USECS	nlattr[ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, int32]
	ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX	nlattr[ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, int8]
	ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX	nlattr[ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, int8]
	ETHTOOL_A_COALESCE_PKT_RATE_LOW		nlattr[ETHTOOL_A_COALESCE_PKT_RATE_LOW, int32]
	ETHTOOL_A_COALESCE_RX_USECS_LOW		nlattr[ETHTOOL_A_COALESCE_RX_USECS_LOW, int32]
	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW	nlattr[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, int32]
	ETHTOOL_A_COALESCE_TX_USECS_LOW		nlattr[ETHTOOL_A_COALESCE_TX_USECS_LOW, int32]
	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW	nlattr[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, int32]
	ETHTOOL_A_COALESCE_PKT_RATE_HIGH	nlattr[ETHTOOL_A_COALESCE_PKT_RATE_HIGH, int32]
	ETHTOOL_A_COALESCE_RX_USECS_HIGH	nlattr[ETHTOOL_A_COALESCE_RX_USECS_HIGH, int32]
	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH	nlattr[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, int32]
	ETHTOOL_A_COALESCE_TX_USECS_HIGH	nlattr[ETHTOOL_A_COALESCE_TX_USECS_HIGH, int32]
	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH	nlattr[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, int32]
	ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL	nlattr[ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, int32]
	ETHTOOL_A_COALESCE_USE_CQE_MODE_TX	nlattr[ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, int8]
	ETHTOOL_A_COALESCE_USE_CQE_MODE_RX	nlattr[ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, int8]
	ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES	nlattr[ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, int32]
	ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES	nlattr[ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, int32]
	ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS	nlattr[ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, int32]
	ETHTOOL_A_COALESCE_RX_PROFILE		nlnest[ETHTOOL_A_COALESCE_RX_PROFILE, array[coalesce_profile_policy_coalesce$auto]]
	ETHTOOL_A_COALESCE_TX_PROFILE		nlnest[ETHTOOL_A_COALESCE_TX_PROFILE, array[coalesce_profile_policy_coalesce$auto]]
] [varlen]

ethnl_pause_get_policy_netlink$auto [
	ETHTOOL_A_PAUSE_HEADER		nlnest[ETHTOOL_A_PAUSE_HEADER, array[ethnl_header_policy_stats_netlink$auto]]
	ETHTOOL_A_PAUSE_STATS_SRC	nlattr[ETHTOOL_A_PAUSE_STATS_SRC, int32]
] [varlen]

ethnl_pause_set_policy_netlink$auto [
	ETHTOOL_A_PAUSE_HEADER	nlnest[ETHTOOL_A_PAUSE_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_PAUSE_AUTONEG	nlattr[ETHTOOL_A_PAUSE_AUTONEG, int8]
	ETHTOOL_A_PAUSE_RX	nlattr[ETHTOOL_A_PAUSE_RX, int8]
	ETHTOOL_A_PAUSE_TX	nlattr[ETHTOOL_A_PAUSE_TX, int8]
] [varlen]

ethnl_eee_get_policy_netlink$auto [
	ETHTOOL_A_EEE_HEADER	nlnest[ETHTOOL_A_EEE_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_eee_set_policy_netlink$auto [
	ETHTOOL_A_EEE_HEADER		nlnest[ETHTOOL_A_EEE_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_EEE_MODES_OURS	nlnest[ETHTOOL_A_EEE_MODES_OURS, array[nl_generic_attr]]
	ETHTOOL_A_EEE_ENABLED		nlattr[ETHTOOL_A_EEE_ENABLED, bool8]
	ETHTOOL_A_EEE_TX_LPI_ENABLED	nlattr[ETHTOOL_A_EEE_TX_LPI_ENABLED, bool8]
	ETHTOOL_A_EEE_TX_LPI_TIMER	nlattr[ETHTOOL_A_EEE_TX_LPI_TIMER, int32]
] [varlen]

ethnl_tsinfo_get_policy_netlink$auto [
	ETHTOOL_A_TSINFO_HEADER	nlnest[ETHTOOL_A_TSINFO_HEADER, array[ethnl_header_policy_stats_netlink$auto]]
] [varlen]

ethnl_cable_test_act_policy_netlink$auto [
	ETHTOOL_A_CABLE_TEST_HEADER	nlnest[ETHTOOL_A_CABLE_TEST_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
] [varlen]

ethnl_cable_test_tdr_act_policy_netlink$auto [
	ETHTOOL_A_CABLE_TEST_TDR_HEADER	nlnest[ETHTOOL_A_CABLE_TEST_TDR_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
	ETHTOOL_A_CABLE_TEST_TDR_CFG	nlnest[ETHTOOL_A_CABLE_TEST_TDR_CFG, array[nl_generic_attr]]
] [varlen]

ethnl_tunnel_info_get_policy_netlink$auto [
	ETHTOOL_A_TUNNEL_INFO_HEADER	nlnest[ETHTOOL_A_TUNNEL_INFO_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_fec_get_policy_netlink$auto [
	ETHTOOL_A_FEC_HEADER	nlnest[ETHTOOL_A_FEC_HEADER, array[ethnl_header_policy_stats_netlink$auto]]
] [varlen]

ethnl_fec_set_policy_netlink$auto [
	ETHTOOL_A_FEC_HEADER	nlnest[ETHTOOL_A_FEC_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_FEC_MODES	nlnest[ETHTOOL_A_FEC_MODES, array[nl_generic_attr]]
	ETHTOOL_A_FEC_AUTO	nlattr[ETHTOOL_A_FEC_AUTO, int8]
] [varlen]

ethnl_module_eeprom_get_policy_netlink$auto [
	ETHTOOL_A_MODULE_EEPROM_HEADER		nlnest[ETHTOOL_A_MODULE_EEPROM_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_MODULE_EEPROM_OFFSET		nlattr[ETHTOOL_A_MODULE_EEPROM_OFFSET, int32]
	ETHTOOL_A_MODULE_EEPROM_LENGTH		nlattr[ETHTOOL_A_MODULE_EEPROM_LENGTH, int32]
	ETHTOOL_A_MODULE_EEPROM_PAGE		nlattr[ETHTOOL_A_MODULE_EEPROM_PAGE, int8]
	ETHTOOL_A_MODULE_EEPROM_BANK		nlattr[ETHTOOL_A_MODULE_EEPROM_BANK, int8]
	ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS	nlattr[ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, int8]
] [varlen]

ethnl_stats_get_policy_netlink$auto [
	ETHTOOL_A_STATS_HEADER	nlnest[ETHTOOL_A_STATS_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_STATS_GROUPS	nlnest[ETHTOOL_A_STATS_GROUPS, array[nl_generic_attr]]
	ETHTOOL_A_STATS_SRC	nlattr[ETHTOOL_A_STATS_SRC, int32]
] [varlen]

ethnl_phc_vclocks_get_policy_netlink$auto [
	ETHTOOL_A_PHC_VCLOCKS_HEADER	nlnest[ETHTOOL_A_PHC_VCLOCKS_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_module_get_policy_netlink$auto [
	ETHTOOL_A_MODULE_HEADER	nlnest[ETHTOOL_A_MODULE_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_module_set_policy_netlink$auto [
	ETHTOOL_A_MODULE_HEADER			nlnest[ETHTOOL_A_MODULE_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_MODULE_POWER_MODE_POLICY	nlattr[ETHTOOL_A_MODULE_POWER_MODE_POLICY, int8]
] [varlen]

ethnl_pse_get_policy_netlink$auto [
	ETHTOOL_A_PSE_HEADER	nlnest[ETHTOOL_A_PSE_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
] [varlen]

ethnl_pse_set_policy_netlink$auto [
	ETHTOOL_A_PSE_HEADER			nlnest[ETHTOOL_A_PSE_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
	ETHTOOL_A_PODL_PSE_ADMIN_CONTROL	nlattr[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, int32]
	ETHTOOL_A_C33_PSE_ADMIN_CONTROL		nlattr[ETHTOOL_A_C33_PSE_ADMIN_CONTROL, int32]
	ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT	nlattr[ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, int32]
] [varlen]

ethnl_rss_get_policy_netlink$auto [
	ETHTOOL_A_RSS_HEADER		nlnest[ETHTOOL_A_RSS_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_RSS_CONTEXT		nlattr[ETHTOOL_A_RSS_CONTEXT, int32]
	ETHTOOL_A_RSS_START_CONTEXT	nlattr[ETHTOOL_A_RSS_START_CONTEXT, int32]
] [varlen]

ethnl_plca_get_cfg_policy_netlink$auto [
	ETHTOOL_A_PLCA_HEADER	nlnest[ETHTOOL_A_PLCA_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
] [varlen]

ethnl_plca_set_cfg_policy_netlink$auto [
	ETHTOOL_A_PLCA_HEADER		nlnest[ETHTOOL_A_PLCA_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
	ETHTOOL_A_PLCA_ENABLED		nlattr[ETHTOOL_A_PLCA_ENABLED, bool8]
	ETHTOOL_A_PLCA_NODE_ID		nlattr[ETHTOOL_A_PLCA_NODE_ID, int32]
	ETHTOOL_A_PLCA_NODE_CNT		nlattr[ETHTOOL_A_PLCA_NODE_CNT, int32]
	ETHTOOL_A_PLCA_TO_TMR		nlattr[ETHTOOL_A_PLCA_TO_TMR, int32]
	ETHTOOL_A_PLCA_BURST_CNT	nlattr[ETHTOOL_A_PLCA_BURST_CNT, int32]
	ETHTOOL_A_PLCA_BURST_TMR	nlattr[ETHTOOL_A_PLCA_BURST_TMR, int32]
] [varlen]

ethnl_plca_get_status_policy_netlink$auto [
	ETHTOOL_A_PLCA_HEADER	nlnest[ETHTOOL_A_PLCA_HEADER, array[ethnl_header_policy_phy_netlink$auto]]
] [varlen]

ethnl_mm_get_policy_netlink$auto [
	ETHTOOL_A_MM_HEADER	nlnest[ETHTOOL_A_MM_HEADER, array[ethnl_header_policy_stats_netlink$auto]]
] [varlen]

ethnl_mm_set_policy_netlink$auto [
	ETHTOOL_A_MM_HEADER		nlnest[ETHTOOL_A_MM_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_MM_VERIFY_ENABLED	nlattr[ETHTOOL_A_MM_VERIFY_ENABLED, bool8]
	ETHTOOL_A_MM_VERIFY_TIME	nlattr[ETHTOOL_A_MM_VERIFY_TIME, int32]
	ETHTOOL_A_MM_TX_ENABLED		nlattr[ETHTOOL_A_MM_TX_ENABLED, bool8]
	ETHTOOL_A_MM_PMAC_ENABLED	nlattr[ETHTOOL_A_MM_PMAC_ENABLED, bool8]
	ETHTOOL_A_MM_TX_MIN_FRAG_SIZE	nlattr[ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, int32]
] [varlen]

ethnl_module_fw_flash_act_policy_netlink$auto [
	ETHTOOL_A_MODULE_FW_FLASH_HEADER	nlnest[ETHTOOL_A_MODULE_FW_FLASH_HEADER, array[ethnl_header_policy_netlink$auto]]
	ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME	nlattr[ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME, string]
	ETHTOOL_A_MODULE_FW_FLASH_PASSWORD	nlattr[ETHTOOL_A_MODULE_FW_FLASH_PASSWORD, int32]
] [varlen]

ethnl_phy_get_policy_netlink$auto [
	ETHTOOL_A_PHY_HEADER	nlnest[ETHTOOL_A_PHY_HEADER, array[ethnl_header_policy_netlink$auto]]
] [varlen]

ethnl_header_policy_phy_netlink$auto [
	ETHTOOL_A_HEADER_DEV_INDEX	nlattr[ETHTOOL_A_HEADER_DEV_INDEX, ifindex]
	ETHTOOL_A_HEADER_DEV_NAME	nlattr[ETHTOOL_A_HEADER_DEV_NAME, devname]
	ETHTOOL_A_HEADER_FLAGS		nlattr[ETHTOOL_A_HEADER_FLAGS, int32]
	ETHTOOL_A_HEADER_PHY_INDEX	nlattr[ETHTOOL_A_HEADER_PHY_INDEX, int32]
] [varlen]

ethnl_header_policy_netlink$auto [
	ETHTOOL_A_HEADER_DEV_INDEX	nlattr[ETHTOOL_A_HEADER_DEV_INDEX, ifindex]
	ETHTOOL_A_HEADER_DEV_NAME	nlattr[ETHTOOL_A_HEADER_DEV_NAME, devname]
	ETHTOOL_A_HEADER_FLAGS		nlattr[ETHTOOL_A_HEADER_FLAGS, int32]
] [varlen]

ethnl_header_policy_stats_netlink$auto [
	ETHTOOL_A_HEADER_DEV_INDEX	nlattr[ETHTOOL_A_HEADER_DEV_INDEX, ifindex]
	ETHTOOL_A_HEADER_DEV_NAME	nlattr[ETHTOOL_A_HEADER_DEV_NAME, devname]
	ETHTOOL_A_HEADER_FLAGS		nlattr[ETHTOOL_A_HEADER_FLAGS, int32]
] [varlen]

coalesce_profile_policy_coalesce$auto [
	ETHTOOL_A_PROFILE_IRQ_MODERATION	nlnest[ETHTOOL_A_PROFILE_IRQ_MODERATION, array[coalesce_irq_moderation_policy_coalesce$auto]]
] [varlen]

coalesce_irq_moderation_policy_coalesce$auto [
	ETHTOOL_A_IRQ_MODERATION_USEC	nlattr[ETHTOOL_A_IRQ_MODERATION_USEC, int32]
	ETHTOOL_A_IRQ_MODERATION_PKTS	nlattr[ETHTOOL_A_IRQ_MODERATION_PKTS, int32]
	ETHTOOL_A_IRQ_MODERATION_COMPS	nlattr[ETHTOOL_A_IRQ_MODERATION_COMPS, int32]
] [varlen]

resource genl_gtp_family_id$auto[int16]
type msghdr_gtp$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_gtp_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_gtp(name ptr[in, string["gtp"]], fd sock_nl_generic) genl_gtp_family_id$auto

sendmsg$auto_GTP_CMD_NEWPDP(fd sock_nl_generic, msg ptr[in, msghdr_gtp$auto[GTP_CMD_NEWPDP, gtp_genl_policy_gtp$auto]], f flags[send_flags])
sendmsg$auto_GTP_CMD_DELPDP(fd sock_nl_generic, msg ptr[in, msghdr_gtp$auto[GTP_CMD_DELPDP, gtp_genl_policy_gtp$auto]], f flags[send_flags])
sendmsg$auto_GTP_CMD_GETPDP(fd sock_nl_generic, msg ptr[in, msghdr_gtp$auto[GTP_CMD_GETPDP, gtp_genl_policy_gtp$auto]], f flags[send_flags])
sendmsg$auto_GTP_CMD_ECHOREQ(fd sock_nl_generic, msg ptr[in, msghdr_gtp$auto[GTP_CMD_ECHOREQ, gtp_genl_policy_gtp$auto]], f flags[send_flags])

gtp_genl_policy_gtp$auto [
	GTPA_LINK		nlattr[GTPA_LINK, int32]
	GTPA_VERSION		nlattr[GTPA_VERSION, int32]
	GTPA_TID		nlattr[GTPA_TID, int64]
	GTPA_PEER_ADDRESS	nlattr[GTPA_PEER_ADDRESS, ipv4_addr]
	GTPA_MS_ADDRESS		nlattr[GTPA_MS_ADDRESS, ipv4_addr]
	GTPA_FLOW		nlattr[GTPA_FLOW, int16]
	GTPA_NET_NS_FD		nlattr[GTPA_NET_NS_FD, fd_namespace]
	GTPA_I_TEI		nlattr[GTPA_I_TEI, int32]
	GTPA_O_TEI		nlattr[GTPA_O_TEI, int32]
	GTPA_PEER_ADDR6		nlattr[GTPA_PEER_ADDR6, ipv6_addr]
	GTPA_MS_ADDR6		nlattr[GTPA_MS_ADDR6, ipv6_addr]
	GTPA_FAMILY		nlattr[GTPA_FAMILY, int8]
] [varlen]

resource genl_handshake_family_id$auto[int16]
type msghdr_handshake$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_handshake_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_handshake(name ptr[in, string["handshake"]], fd sock_nl_generic) genl_handshake_family_id$auto

sendmsg$auto_HANDSHAKE_CMD_ACCEPT(fd sock_nl_generic, msg ptr[in, msghdr_handshake$auto[HANDSHAKE_CMD_ACCEPT, handshake_accept_nl_policy_genl$auto]], f flags[send_flags])
sendmsg$auto_HANDSHAKE_CMD_DONE(fd sock_nl_generic, msg ptr[in, msghdr_handshake$auto[HANDSHAKE_CMD_DONE, handshake_done_nl_policy_genl$auto]], f flags[send_flags])

handshake_accept_nl_policy_genl$auto [
	HANDSHAKE_A_ACCEPT_HANDLER_CLASS	nlattr[HANDSHAKE_A_ACCEPT_HANDLER_CLASS, int32]
] [varlen]

handshake_done_nl_policy_genl$auto [
	HANDSHAKE_A_DONE_STATUS		nlattr[HANDSHAKE_A_DONE_STATUS, int32]
	HANDSHAKE_A_DONE_SOCKFD		nlattr[HANDSHAKE_A_DONE_SOCKFD, fd]
	HANDSHAKE_A_DONE_REMOTE_AUTH	nlattr[HANDSHAKE_A_DONE_REMOTE_AUTH, int32]
] [varlen]

resource genl_ila_family_id$auto[int16]
type msghdr_ila$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ila_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ila(name ptr[in, string["ila"]], fd sock_nl_generic) genl_ila_family_id$auto

sendmsg$auto_ILA_CMD_ADD(fd sock_nl_generic, msg ptr[in, msghdr_ila$auto[ILA_CMD_ADD, ila_nl_policy_ila_main$auto]], f flags[send_flags])
sendmsg$auto_ILA_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ila$auto[ILA_CMD_DEL, ila_nl_policy_ila_main$auto]], f flags[send_flags])
sendmsg$auto_ILA_CMD_FLUSH(fd sock_nl_generic, msg ptr[in, msghdr_ila$auto[ILA_CMD_FLUSH, ila_nl_policy_ila_main$auto]], f flags[send_flags])
sendmsg$auto_ILA_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ila$auto[ILA_CMD_GET, ila_nl_policy_ila_main$auto]], f flags[send_flags])

ila_nl_policy_ila_main$auto [
	ILA_ATTR_LOCATOR	nlattr[ILA_ATTR_LOCATOR, int64]
	ILA_ATTR_LOCATOR_MATCH	nlattr[ILA_ATTR_LOCATOR_MATCH, int64]
	ILA_ATTR_IFINDEX	nlattr[ILA_ATTR_IFINDEX, ifindex]
	ILA_ATTR_CSUM_MODE	nlattr[ILA_ATTR_CSUM_MODE, int8]
	ILA_ATTR_IDENT_TYPE	nlattr[ILA_ATTR_IDENT_TYPE, int8]
] [varlen]

resource genl_l2tp_family_id$auto[int16]
type msghdr_l2tp$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_l2tp_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_l2tp(name ptr[in, string["l2tp"]], fd sock_nl_generic) genl_l2tp_family_id$auto

sendmsg$auto_L2TP_CMD_NOOP(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_NOOP, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_TUNNEL_CREATE(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_TUNNEL_CREATE, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_TUNNEL_DELETE(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_TUNNEL_DELETE, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_TUNNEL_MODIFY(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_TUNNEL_MODIFY, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_TUNNEL_GET(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_TUNNEL_GET, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_SESSION_CREATE(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_SESSION_CREATE, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_SESSION_DELETE(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_SESSION_DELETE, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_SESSION_MODIFY(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_SESSION_MODIFY, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])
sendmsg$auto_L2TP_CMD_SESSION_GET(fd sock_nl_generic, msg ptr[in, msghdr_l2tp$auto[L2TP_CMD_SESSION_GET, l2tp_nl_policy_l2tp_netlink$auto]], f flags[send_flags])

l2tp_nl_policy_l2tp_netlink$auto [
	L2TP_ATTR_NONE			nlattr[L2TP_ATTR_NONE, array[int8]]
	L2TP_ATTR_PW_TYPE		nlattr[L2TP_ATTR_PW_TYPE, int16]
	L2TP_ATTR_ENCAP_TYPE		nlattr[L2TP_ATTR_ENCAP_TYPE, int16]
	L2TP_ATTR_OFFSET		nlattr[L2TP_ATTR_OFFSET, int16]
	L2TP_ATTR_DATA_SEQ		nlattr[L2TP_ATTR_DATA_SEQ, int8]
	L2TP_ATTR_L2SPEC_TYPE		nlattr[L2TP_ATTR_L2SPEC_TYPE, int8]
	L2TP_ATTR_L2SPEC_LEN		nlattr[L2TP_ATTR_L2SPEC_LEN, int8]
	L2TP_ATTR_PROTO_VERSION		nlattr[L2TP_ATTR_PROTO_VERSION, int8]
	L2TP_ATTR_CONN_ID		nlattr[L2TP_ATTR_CONN_ID, int32]
	L2TP_ATTR_PEER_CONN_ID		nlattr[L2TP_ATTR_PEER_CONN_ID, int32]
	L2TP_ATTR_SESSION_ID		nlattr[L2TP_ATTR_SESSION_ID, int32]
	L2TP_ATTR_PEER_SESSION_ID	nlattr[L2TP_ATTR_PEER_SESSION_ID, int32]
	L2TP_ATTR_UDP_CSUM		nlattr[L2TP_ATTR_UDP_CSUM, int8]
	L2TP_ATTR_VLAN_ID		nlattr[L2TP_ATTR_VLAN_ID, int16]
	L2TP_ATTR_DEBUG			nlattr[L2TP_ATTR_DEBUG, int32]
	L2TP_ATTR_RECV_SEQ		nlattr[L2TP_ATTR_RECV_SEQ, int8]
	L2TP_ATTR_SEND_SEQ		nlattr[L2TP_ATTR_SEND_SEQ, int8]
	L2TP_ATTR_LNS_MODE		nlattr[L2TP_ATTR_LNS_MODE, int8]
	L2TP_ATTR_USING_IPSEC		nlattr[L2TP_ATTR_USING_IPSEC, int8]
	L2TP_ATTR_RECV_TIMEOUT		nlattr[L2TP_ATTR_RECV_TIMEOUT, int64]
	L2TP_ATTR_FD			nlattr[L2TP_ATTR_FD, fd]
	L2TP_ATTR_IP_SADDR		nlattr[L2TP_ATTR_IP_SADDR, int32]
	L2TP_ATTR_IP_DADDR		nlattr[L2TP_ATTR_IP_DADDR, int32]
	L2TP_ATTR_UDP_SPORT		nlattr[L2TP_ATTR_UDP_SPORT, sock_port]
	L2TP_ATTR_UDP_DPORT		nlattr[L2TP_ATTR_UDP_DPORT, sock_port]
	L2TP_ATTR_MTU			nlattr[L2TP_ATTR_MTU, int16]
	L2TP_ATTR_MRU			nlattr[L2TP_ATTR_MRU, int16]
	L2TP_ATTR_STATS			nlnest[L2TP_ATTR_STATS, array[nl_generic_attr]]
	L2TP_ATTR_IP6_SADDR		nlattr[L2TP_ATTR_IP6_SADDR, ipv6_addr]
	L2TP_ATTR_IP6_DADDR		nlattr[L2TP_ATTR_IP6_DADDR, ipv6_addr]
	L2TP_ATTR_IFNAME		nlattr[L2TP_ATTR_IFNAME, devname]
	L2TP_ATTR_COOKIE		nlattr[L2TP_ATTR_COOKIE, int64]
	L2TP_ATTR_PEER_COOKIE		nlattr[L2TP_ATTR_PEER_COOKIE, int64]
] [varlen]

resource genl_macsec_family_id$auto[int16]
type msghdr_macsec$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_macsec_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_macsec(name ptr[in, string["macsec"]], fd sock_nl_generic) genl_macsec_family_id$auto

sendmsg$auto_MACSEC_CMD_GET_TXSC(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_GET_TXSC, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_ADD_RXSC(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_ADD_RXSC, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_DEL_RXSC(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_DEL_RXSC, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_UPD_RXSC(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_UPD_RXSC, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_ADD_TXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_ADD_TXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_DEL_TXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_DEL_TXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_UPD_TXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_UPD_TXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_ADD_RXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_ADD_RXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_DEL_RXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_DEL_RXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_UPD_RXSA(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_UPD_RXSA, macsec_genl_policy_macsec$auto]], f flags[send_flags])
sendmsg$auto_MACSEC_CMD_UPD_OFFLOAD(fd sock_nl_generic, msg ptr[in, msghdr_macsec$auto[MACSEC_CMD_UPD_OFFLOAD, macsec_genl_policy_macsec$auto]], f flags[send_flags])

macsec_genl_policy_macsec$auto [
	MACSEC_ATTR_IFINDEX	nlattr[MACSEC_ATTR_IFINDEX, ifindex]
	MACSEC_ATTR_RXSC_CONFIG	nlnest[MACSEC_ATTR_RXSC_CONFIG, array[nl_generic_attr]]
	MACSEC_ATTR_SA_CONFIG	nlnest[MACSEC_ATTR_SA_CONFIG, array[nl_generic_attr]]
	MACSEC_ATTR_OFFLOAD	nlnest[MACSEC_ATTR_OFFLOAD, array[nl_generic_attr]]
] [varlen]

resource genl_nbd_family_id$auto[int16]
type msghdr_nbd$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nbd_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nbd(name ptr[in, string["nbd"]], fd sock_nl_generic) genl_nbd_family_id$auto

sendmsg$auto_NBD_CMD_CONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nbd$auto[NBD_CMD_CONNECT, nbd_attr_policy_nbd$auto]], f flags[send_flags])
sendmsg$auto_NBD_CMD_DISCONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nbd$auto[NBD_CMD_DISCONNECT, nbd_attr_policy_nbd$auto]], f flags[send_flags])
sendmsg$auto_NBD_CMD_RECONFIGURE(fd sock_nl_generic, msg ptr[in, msghdr_nbd$auto[NBD_CMD_RECONFIGURE, nbd_attr_policy_nbd$auto]], f flags[send_flags])
sendmsg$auto_NBD_CMD_STATUS(fd sock_nl_generic, msg ptr[in, msghdr_nbd$auto[NBD_CMD_STATUS, nbd_attr_policy_nbd$auto]], f flags[send_flags])

nbd_attr_policy_nbd$auto [
	NBD_ATTR_INDEX			nlattr[NBD_ATTR_INDEX, int32]
	NBD_ATTR_SIZE_BYTES		nlattr[NBD_ATTR_SIZE_BYTES, int64]
	NBD_ATTR_BLOCK_SIZE_BYTES	nlattr[NBD_ATTR_BLOCK_SIZE_BYTES, int64]
	NBD_ATTR_TIMEOUT		nlattr[NBD_ATTR_TIMEOUT, int64]
	NBD_ATTR_SERVER_FLAGS		nlattr[NBD_ATTR_SERVER_FLAGS, int64]
	NBD_ATTR_CLIENT_FLAGS		nlattr[NBD_ATTR_CLIENT_FLAGS, int64]
	NBD_ATTR_SOCKETS		nlnest[NBD_ATTR_SOCKETS, array[nl_generic_attr]]
	NBD_ATTR_DEAD_CONN_TIMEOUT	nlattr[NBD_ATTR_DEAD_CONN_TIMEOUT, int64]
	NBD_ATTR_DEVICE_LIST		nlnest[NBD_ATTR_DEVICE_LIST, array[nl_generic_attr]]
	NBD_ATTR_BACKEND_IDENTIFIER	nlattr[NBD_ATTR_BACKEND_IDENTIFIER, stringnoz]
] [varlen]

resource genl_net_shaper_family_id$auto[int16]
type msghdr_net_shaper$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_net_shaper_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_net_shaper(name ptr[in, string["net-shaper"]], fd sock_nl_generic) genl_net_shaper_family_id$auto

sendmsg$auto_NET_SHAPER_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_GET, net_shaper_get_do_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_GET2(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_GET, net_shaper_get_dump_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_SET, net_shaper_set_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_DELETE(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_DELETE, net_shaper_delete_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_GROUP(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_GROUP, net_shaper_group_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_CAP_GET(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_CAP_GET, net_shaper_cap_get_do_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])
sendmsg$auto_NET_SHAPER_CMD_CAP_GET2(fd sock_nl_generic, msg ptr[in, msghdr_net_shaper$auto[NET_SHAPER_CMD_CAP_GET, net_shaper_cap_get_dump_nl_policy_shaper_nl_gen$auto]], f flags[send_flags])

net_shaper_get_do_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_IFINDEX	nlattr[NET_SHAPER_A_IFINDEX, ifindex]
	NET_SHAPER_A_HANDLE	nlnest[NET_SHAPER_A_HANDLE, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
] [varlen]

net_shaper_get_dump_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_IFINDEX	nlattr[NET_SHAPER_A_IFINDEX, ifindex]
] [varlen]

net_shaper_set_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_IFINDEX	nlattr[NET_SHAPER_A_IFINDEX, ifindex]
	NET_SHAPER_A_HANDLE	nlnest[NET_SHAPER_A_HANDLE, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
	NET_SHAPER_A_METRIC	nlattr[NET_SHAPER_A_METRIC, int32]
	NET_SHAPER_A_BW_MIN	nlattr[NET_SHAPER_A_BW_MIN, int64]
	NET_SHAPER_A_BW_MAX	nlattr[NET_SHAPER_A_BW_MAX, int64]
	NET_SHAPER_A_BURST	nlattr[NET_SHAPER_A_BURST, int64]
	NET_SHAPER_A_PRIORITY	nlattr[NET_SHAPER_A_PRIORITY, int32]
	NET_SHAPER_A_WEIGHT	nlattr[NET_SHAPER_A_WEIGHT, int32]
] [varlen]

net_shaper_delete_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_IFINDEX	nlattr[NET_SHAPER_A_IFINDEX, ifindex]
	NET_SHAPER_A_HANDLE	nlnest[NET_SHAPER_A_HANDLE, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
] [varlen]

net_shaper_group_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_IFINDEX	nlattr[NET_SHAPER_A_IFINDEX, ifindex]
	NET_SHAPER_A_PARENT	nlnest[NET_SHAPER_A_PARENT, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
	NET_SHAPER_A_HANDLE	nlnest[NET_SHAPER_A_HANDLE, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
	NET_SHAPER_A_METRIC	nlattr[NET_SHAPER_A_METRIC, int32]
	NET_SHAPER_A_BW_MIN	nlattr[NET_SHAPER_A_BW_MIN, int64]
	NET_SHAPER_A_BW_MAX	nlattr[NET_SHAPER_A_BW_MAX, int64]
	NET_SHAPER_A_BURST	nlattr[NET_SHAPER_A_BURST, int64]
	NET_SHAPER_A_PRIORITY	nlattr[NET_SHAPER_A_PRIORITY, int32]
	NET_SHAPER_A_WEIGHT	nlattr[NET_SHAPER_A_WEIGHT, int32]
	NET_SHAPER_A_LEAVES	nlnest[NET_SHAPER_A_LEAVES, array[net_shaper_leaf_info_nl_policy_shaper_nl_gen$auto]]
] [varlen]

net_shaper_cap_get_do_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_CAPS_IFINDEX	nlattr[NET_SHAPER_A_CAPS_IFINDEX, ifindex]
	NET_SHAPER_A_CAPS_SCOPE		nlattr[NET_SHAPER_A_CAPS_SCOPE, int32]
] [varlen]

net_shaper_cap_get_dump_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_CAPS_IFINDEX	nlattr[NET_SHAPER_A_CAPS_IFINDEX, ifindex]
] [varlen]

net_shaper_handle_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_HANDLE_SCOPE	nlattr[NET_SHAPER_A_HANDLE_SCOPE, int32]
	NET_SHAPER_A_HANDLE_ID		nlattr[NET_SHAPER_A_HANDLE_ID, int32]
] [varlen]

net_shaper_leaf_info_nl_policy_shaper_nl_gen$auto [
	NET_SHAPER_A_HANDLE	nlnest[NET_SHAPER_A_HANDLE, array[net_shaper_handle_nl_policy_shaper_nl_gen$auto]]
	NET_SHAPER_A_PRIORITY	nlattr[NET_SHAPER_A_PRIORITY, int32]
	NET_SHAPER_A_WEIGHT	nlattr[NET_SHAPER_A_WEIGHT, int32]
] [varlen]

resource genl_netdev_family_id$auto[int16]
type msghdr_netdev$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_netdev_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_netdev(name ptr[in, string["netdev"]], fd sock_nl_generic) genl_netdev_family_id$auto

sendmsg$auto_NETDEV_CMD_DEV_GET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_DEV_GET, netdev_dev_get_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_DEV_GET2(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_DEV_GET, void]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_PAGE_POOL_GET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_PAGE_POOL_GET, netdev_page_pool_get_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_PAGE_POOL_GET2(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_PAGE_POOL_GET, void]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_QUEUE_GET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_QUEUE_GET, netdev_queue_get_do_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_QUEUE_GET2(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_QUEUE_GET, netdev_queue_get_dump_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_NAPI_GET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_NAPI_GET, netdev_napi_get_do_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_NAPI_GET2(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_NAPI_GET, netdev_napi_get_dump_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_QSTATS_GET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_QSTATS_GET, netdev_qstats_get_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_BIND_RX(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_BIND_RX, netdev_bind_rx_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])
sendmsg$auto_NETDEV_CMD_NAPI_SET(fd sock_nl_generic, msg ptr[in, msghdr_netdev$auto[NETDEV_CMD_NAPI_SET, netdev_napi_set_nl_policy_netdev_genl_gen$auto]], f flags[send_flags])

netdev_dev_get_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_DEV_IFINDEX	nlattr[NETDEV_A_DEV_IFINDEX, ifindex]
] [varlen]

netdev_page_pool_get_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_PAGE_POOL_ID	nlattr[NETDEV_A_PAGE_POOL_ID, int64]
] [varlen]

netdev_queue_get_do_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_QUEUE_IFINDEX	nlattr[NETDEV_A_QUEUE_IFINDEX, ifindex]
	NETDEV_A_QUEUE_TYPE	nlattr[NETDEV_A_QUEUE_TYPE, int32]
	NETDEV_A_QUEUE_ID	nlattr[NETDEV_A_QUEUE_ID, int32]
] [varlen]

netdev_queue_get_dump_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_QUEUE_IFINDEX	nlattr[NETDEV_A_QUEUE_IFINDEX, ifindex]
] [varlen]

netdev_napi_get_do_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_NAPI_ID	nlattr[NETDEV_A_NAPI_ID, int32]
] [varlen]

netdev_napi_get_dump_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_NAPI_IFINDEX	nlattr[NETDEV_A_NAPI_IFINDEX, ifindex]
] [varlen]

netdev_qstats_get_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_QSTATS_IFINDEX	nlattr[NETDEV_A_QSTATS_IFINDEX, ifindex]
	NETDEV_A_QSTATS_SCOPE	nlattr[NETDEV_A_QSTATS_SCOPE, int64]
] [varlen]

netdev_bind_rx_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_DMABUF_IFINDEX	nlattr[NETDEV_A_DMABUF_IFINDEX, ifindex]
	NETDEV_A_DMABUF_FD	nlattr[NETDEV_A_DMABUF_FD, fd]
	NETDEV_A_DMABUF_QUEUES	nlnest[NETDEV_A_DMABUF_QUEUES, array[netdev_queue_id_nl_policy_netdev_genl_gen$auto]]
] [varlen]

netdev_napi_set_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_NAPI_ID			nlattr[NETDEV_A_NAPI_ID, int32]
	NETDEV_A_NAPI_DEFER_HARD_IRQS		nlattr[NETDEV_A_NAPI_DEFER_HARD_IRQS, int32]
	NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT		nlattr[NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT, int64]
	NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT	nlattr[NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, int64]
] [varlen]

netdev_queue_id_nl_policy_netdev_genl_gen$auto [
	NETDEV_A_QUEUE_ID	nlattr[NETDEV_A_QUEUE_ID, int32]
	NETDEV_A_QUEUE_TYPE	nlattr[NETDEV_A_QUEUE_TYPE, int32]
] [varlen]

resource genl_nfc_family_id$auto[int16]
type msghdr_nfc$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nfc_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nfc(name ptr[in, string["nfc"]], fd sock_nl_generic) genl_nfc_family_id$auto

sendmsg$auto_NFC_CMD_GET_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_GET_DEVICE, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DEV_UP(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DEV_UP, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DEV_DOWN(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DEV_DOWN, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_START_POLL(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_START_POLL, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_STOP_POLL(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_STOP_POLL, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DEP_LINK_UP(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DEP_LINK_UP, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DEP_LINK_DOWN(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DEP_LINK_DOWN, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_GET_TARGET(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_GET_TARGET, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_LLC_GET_PARAMS(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_LLC_GET_PARAMS, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_LLC_SET_PARAMS(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_LLC_SET_PARAMS, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_LLC_SDREQ(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_LLC_SDREQ, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_FW_DOWNLOAD(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_FW_DOWNLOAD, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_ENABLE_SE(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_ENABLE_SE, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DISABLE_SE(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DISABLE_SE, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_GET_SE(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_GET_SE, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_SE_IO(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_SE_IO, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_ACTIVATE_TARGET(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_ACTIVATE_TARGET, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_VENDOR(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_VENDOR, nfc_genl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFC_CMD_DEACTIVATE_TARGET(fd sock_nl_generic, msg ptr[in, msghdr_nfc$auto[NFC_CMD_DEACTIVATE_TARGET, nfc_genl_policy_netlink$auto]], f flags[send_flags])

nfc_genl_policy_netlink$auto [
	NFC_ATTR_DEVICE_INDEX	nlattr[NFC_ATTR_DEVICE_INDEX, int32]
	NFC_ATTR_DEVICE_NAME	nlattr[NFC_ATTR_DEVICE_NAME, stringnoz]
	NFC_ATTR_PROTOCOLS	nlattr[NFC_ATTR_PROTOCOLS, int32]
	NFC_ATTR_TARGET_INDEX	nlattr[NFC_ATTR_TARGET_INDEX, int32]
	NFC_ATTR_COMM_MODE	nlattr[NFC_ATTR_COMM_MODE, int8]
	NFC_ATTR_RF_MODE	nlattr[NFC_ATTR_RF_MODE, int8]
	NFC_ATTR_DEVICE_POWERED	nlattr[NFC_ATTR_DEVICE_POWERED, int8]
	NFC_ATTR_IM_PROTOCOLS	nlattr[NFC_ATTR_IM_PROTOCOLS, int32]
	NFC_ATTR_TM_PROTOCOLS	nlattr[NFC_ATTR_TM_PROTOCOLS, int32]
	NFC_ATTR_LLC_PARAM_LTO	nlattr[NFC_ATTR_LLC_PARAM_LTO, int8]
	NFC_ATTR_LLC_PARAM_RW	nlattr[NFC_ATTR_LLC_PARAM_RW, int8]
	NFC_ATTR_LLC_PARAM_MIUX	nlattr[NFC_ATTR_LLC_PARAM_MIUX, int16]
	NFC_ATTR_LLC_SDP	nlnest[NFC_ATTR_LLC_SDP, array[nl_generic_attr]]
	NFC_ATTR_FIRMWARE_NAME	nlattr[NFC_ATTR_FIRMWARE_NAME, stringnoz]
	NFC_ATTR_SE_INDEX	nlattr[NFC_ATTR_SE_INDEX, int32]
	NFC_ATTR_SE_APDU	nlattr[NFC_ATTR_SE_APDU, array[int8]]
	NFC_ATTR_VENDOR_ID	nlattr[NFC_ATTR_VENDOR_ID, int32]
	NFC_ATTR_VENDOR_SUBCMD	nlattr[NFC_ATTR_VENDOR_SUBCMD, int32]
	NFC_ATTR_VENDOR_DATA	nlattr[NFC_ATTR_VENDOR_DATA, array[int8]]
] [varlen]

resource genl_nfsd_family_id$auto[int16]
type msghdr_nfsd$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nfsd_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nfsd(name ptr[in, string["nfsd"]], fd sock_nl_generic) genl_nfsd_family_id$auto

sendmsg$auto_NFSD_CMD_RPC_STATUS_GET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_RPC_STATUS_GET, void]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_THREADS_SET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_THREADS_SET, nfsd_threads_set_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_THREADS_GET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_THREADS_GET, void]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_VERSION_SET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_VERSION_SET, nfsd_version_set_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_VERSION_GET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_VERSION_GET, void]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_LISTENER_SET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_LISTENER_SET, nfsd_listener_set_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_LISTENER_GET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_LISTENER_GET, void]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_POOL_MODE_SET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_POOL_MODE_SET, nfsd_pool_mode_set_nl_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_NFSD_CMD_POOL_MODE_GET(fd sock_nl_generic, msg ptr[in, msghdr_nfsd$auto[NFSD_CMD_POOL_MODE_GET, void]], f flags[send_flags])

nfsd_threads_set_nl_policy_netlink$auto [
	NFSD_A_SERVER_THREADS	nlattr[NFSD_A_SERVER_THREADS, int32]
	NFSD_A_SERVER_GRACETIME	nlattr[NFSD_A_SERVER_GRACETIME, int32]
	NFSD_A_SERVER_LEASETIME	nlattr[NFSD_A_SERVER_LEASETIME, int32]
	NFSD_A_SERVER_SCOPE	nlattr[NFSD_A_SERVER_SCOPE, string]
] [varlen]

nfsd_version_set_nl_policy_netlink$auto [
	NFSD_A_SERVER_PROTO_VERSION	nlnest[NFSD_A_SERVER_PROTO_VERSION, array[nfsd_version_nl_policy_netlink$auto]]
] [varlen]

nfsd_listener_set_nl_policy_netlink$auto [
	NFSD_A_SERVER_SOCK_ADDR	nlnest[NFSD_A_SERVER_SOCK_ADDR, array[nfsd_sock_nl_policy_netlink$auto]]
] [varlen]

nfsd_pool_mode_set_nl_policy_netlink$auto [
	NFSD_A_POOL_MODE_MODE	nlattr[NFSD_A_POOL_MODE_MODE, string]
] [varlen]

nfsd_version_nl_policy_netlink$auto [
	NFSD_A_VERSION_MAJOR	nlattr[NFSD_A_VERSION_MAJOR, int32]
	NFSD_A_VERSION_MINOR	nlattr[NFSD_A_VERSION_MINOR, int32]
	NFSD_A_VERSION_ENABLED	nlattr[NFSD_A_VERSION_ENABLED, void]
] [varlen]

nfsd_sock_nl_policy_netlink$auto [
	NFSD_A_SOCK_ADDR		nlattr[NFSD_A_SOCK_ADDR, array[int8]]
	NFSD_A_SOCK_TRANSPORT_NAME	nlattr[NFSD_A_SOCK_TRANSPORT_NAME, string]
] [varlen]

resource genl_nl80211_family_id$auto[int16]
type msghdr_nl80211$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nl80211_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nl80211(name ptr[in, string["nl80211"]], fd sock_nl_generic) genl_nl80211_family_id$auto

sendmsg$auto_NL80211_CMD_GET_WIPHY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_WIPHY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_WIPHY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_WIPHY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_INTERFACE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_INTERFACE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_NEW_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_NEW_INTERFACE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_INTERFACE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_KEY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_KEY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_NEW_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_NEW_KEY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_KEY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_BEACON(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_BEACON, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_START_AP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_START_AP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_STOP_AP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_STOP_AP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_STATION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_STATION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_STATION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_STATION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_NEW_STATION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_NEW_STATION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_STATION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_STATION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_MPATH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_MPATH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_MPP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_MPP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_MPATH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_MPATH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_NEW_MPATH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_NEW_MPATH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_MPATH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_MPATH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_BSS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_BSS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_REG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_REG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_REG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_REG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REQ_SET_REG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REQ_SET_REG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_RELOAD_REGDB(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_RELOAD_REGDB, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_MESH_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_MESH_CONFIG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_MESH_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_MESH_CONFIG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_TRIGGER_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_TRIGGER_SCAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ABORT_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ABORT_SCAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_SCAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_START_SCHED_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_START_SCHED_SCAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_STOP_SCHED_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_STOP_SCHED_SCAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_AUTHENTICATE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_AUTHENTICATE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ASSOCIATE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ASSOCIATE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEAUTHENTICATE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEAUTHENTICATE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DISASSOCIATE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DISASSOCIATE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_JOIN_IBSS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_JOIN_IBSS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_LEAVE_IBSS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_LEAVE_IBSS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CONNECT, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_UPDATE_CONNECT_PARAMS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_UPDATE_CONNECT_PARAMS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DISCONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DISCONNECT, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_WIPHY_NETNS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_WIPHY_NETNS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_SURVEY(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_SURVEY, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_PMKSA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_PMKSA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_PMKSA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_PMKSA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_FLUSH_PMKSA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_FLUSH_PMKSA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REMAIN_ON_CHANNEL(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REMAIN_ON_CHANNEL, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_TX_BITRATE_MASK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_TX_BITRATE_MASK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REGISTER_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REGISTER_FRAME, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_FRAME, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_FRAME_WAIT_CANCEL(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_FRAME_WAIT_CANCEL, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_POWER_SAVE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_POWER_SAVE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_POWER_SAVE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_POWER_SAVE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_CQM(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_CQM, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_CHANNEL(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_CHANNEL, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_JOIN_MESH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_JOIN_MESH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_LEAVE_MESH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_LEAVE_MESH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_JOIN_OCB(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_JOIN_OCB, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_LEAVE_OCB(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_LEAVE_OCB, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_WOWLAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_WOWLAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_WOWLAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_WOWLAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_REKEY_OFFLOAD(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_REKEY_OFFLOAD, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_TDLS_MGMT(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_TDLS_MGMT, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_TDLS_OPER(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_TDLS_OPER, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_UNEXPECTED_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_UNEXPECTED_FRAME, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_PROBE_CLIENT(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_PROBE_CLIENT, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REGISTER_BEACONS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REGISTER_BEACONS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_NOACK_MAP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_NOACK_MAP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_START_P2P_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_START_P2P_DEVICE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_STOP_P2P_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_STOP_P2P_DEVICE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_START_NAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_START_NAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_STOP_NAN(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_STOP_NAN, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ADD_NAN_FUNCTION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ADD_NAN_FUNCTION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_NAN_FUNCTION(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_NAN_FUNCTION, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CHANGE_NAN_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CHANGE_NAN_CONFIG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_MCAST_RATE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_MCAST_RATE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_MAC_ACL(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_MAC_ACL, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_RADAR_DETECT(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_RADAR_DETECT, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_PROTOCOL_FEATURES(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_PROTOCOL_FEATURES, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_UPDATE_FT_IES(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_UPDATE_FT_IES, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CRIT_PROTOCOL_START(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CRIT_PROTOCOL_START, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CRIT_PROTOCOL_STOP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CRIT_PROTOCOL_STOP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_COALESCE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_COALESCE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_COALESCE(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_COALESCE, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CHANNEL_SWITCH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CHANNEL_SWITCH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_VENDOR(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_VENDOR, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_QOS_MAP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_QOS_MAP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ADD_TX_TS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ADD_TX_TS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_TX_TS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_TX_TS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_TDLS_CHANNEL_SWITCH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_TDLS_CHANNEL_SWITCH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_MULTICAST_TO_UNICAST(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_MULTICAST_TO_UNICAST, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_PMK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_PMK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_DEL_PMK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_DEL_PMK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_EXTERNAL_AUTH(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_EXTERNAL_AUTH, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_CONTROL_PORT_FRAME(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_CONTROL_PORT_FRAME, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_GET_FTM_RESPONDER_STATS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_GET_FTM_RESPONDER_STATS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_PEER_MEASUREMENT_START(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_PEER_MEASUREMENT_START, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_NOTIFY_RADAR(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_NOTIFY_RADAR, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_UPDATE_OWE_INFO(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_UPDATE_OWE_INFO, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_PROBE_MESH_LINK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_PROBE_MESH_LINK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_TID_CONFIG(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_TID_CONFIG, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_SAR_SPECS(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_SAR_SPECS, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_COLOR_CHANGE_REQUEST(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_COLOR_CHANGE_REQUEST, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_FILS_AAD(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_FILS_AAD, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ADD_LINK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ADD_LINK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REMOVE_LINK(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REMOVE_LINK, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_ADD_LINK_STA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_ADD_LINK_STA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_MODIFY_LINK_STA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_MODIFY_LINK_STA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_REMOVE_LINK_STA(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_REMOVE_LINK_STA, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_HW_TIMESTAMP(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_HW_TIMESTAMP, nl80211_policy_nl80211$auto]], f flags[send_flags])
sendmsg$auto_NL80211_CMD_SET_TID_TO_LINK_MAPPING(fd sock_nl_generic, msg ptr[in, msghdr_nl80211$auto[NL80211_CMD_SET_TID_TO_LINK_MAPPING, nl80211_policy_nl80211$auto]], f flags[send_flags])

nl80211_policy_nl80211$auto [
	NL80211_ATTR_WIPHY				nlattr[NL80211_ATTR_WIPHY, int32]
	NL80211_ATTR_WIPHY_NAME				nlattr[NL80211_ATTR_WIPHY_NAME, string]
	NL80211_ATTR_WIPHY_TXQ_PARAMS			nlnest[NL80211_ATTR_WIPHY_TXQ_PARAMS, array[nl_generic_attr]]
	NL80211_ATTR_WIPHY_FREQ				nlattr[NL80211_ATTR_WIPHY_FREQ, int32]
	NL80211_ATTR_WIPHY_CHANNEL_TYPE			nlattr[NL80211_ATTR_WIPHY_CHANNEL_TYPE, int32]
	NL80211_ATTR_WIPHY_EDMG_CHANNELS		nlattr[NL80211_ATTR_WIPHY_EDMG_CHANNELS, int8]
	NL80211_ATTR_WIPHY_EDMG_BW_CONFIG		nlattr[NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, int8]
	NL80211_ATTR_CHANNEL_WIDTH			nlattr[NL80211_ATTR_CHANNEL_WIDTH, int32]
	NL80211_ATTR_CENTER_FREQ1			nlattr[NL80211_ATTR_CENTER_FREQ1, int32]
	NL80211_ATTR_CENTER_FREQ1_OFFSET		nlattr[NL80211_ATTR_CENTER_FREQ1_OFFSET, int32]
	NL80211_ATTR_CENTER_FREQ2			nlattr[NL80211_ATTR_CENTER_FREQ2, int32]
	NL80211_ATTR_WIPHY_RETRY_SHORT			nlattr[NL80211_ATTR_WIPHY_RETRY_SHORT, int8]
	NL80211_ATTR_WIPHY_RETRY_LONG			nlattr[NL80211_ATTR_WIPHY_RETRY_LONG, int8]
	NL80211_ATTR_WIPHY_FRAG_THRESHOLD		nlattr[NL80211_ATTR_WIPHY_FRAG_THRESHOLD, int32]
	NL80211_ATTR_WIPHY_RTS_THRESHOLD		nlattr[NL80211_ATTR_WIPHY_RTS_THRESHOLD, int32]
	NL80211_ATTR_WIPHY_COVERAGE_CLASS		nlattr[NL80211_ATTR_WIPHY_COVERAGE_CLASS, int8]
	NL80211_ATTR_WIPHY_DYN_ACK			nlattr[NL80211_ATTR_WIPHY_DYN_ACK, void]
	NL80211_ATTR_IFTYPE				nlattr[NL80211_ATTR_IFTYPE, int32]
	NL80211_ATTR_IFINDEX				nlattr[NL80211_ATTR_IFINDEX, ifindex]
	NL80211_ATTR_IFNAME				nlattr[NL80211_ATTR_IFNAME, devname]
	NL80211_ATTR_MAC				nlattr[NL80211_ATTR_MAC, array[int8]]
	NL80211_ATTR_PREV_BSSID				nlattr[NL80211_ATTR_PREV_BSSID, array[int8]]
	NL80211_ATTR_KEY				nlnest[NL80211_ATTR_KEY, array[nl_generic_attr]]
	NL80211_ATTR_KEY_DATA				nlattr[NL80211_ATTR_KEY_DATA, array[int8, 0:32]]
	NL80211_ATTR_KEY_IDX				nlattr[NL80211_ATTR_KEY_IDX, int8]
	NL80211_ATTR_KEY_CIPHER				nlattr[NL80211_ATTR_KEY_CIPHER, int32]
	NL80211_ATTR_KEY_DEFAULT			nlattr[NL80211_ATTR_KEY_DEFAULT, void]
	NL80211_ATTR_KEY_SEQ				nlattr[NL80211_ATTR_KEY_SEQ, array[int8, 0:16]]
	NL80211_ATTR_KEY_TYPE				nlattr[NL80211_ATTR_KEY_TYPE, int32]
	NL80211_ATTR_BEACON_INTERVAL			nlattr[NL80211_ATTR_BEACON_INTERVAL, int32]
	NL80211_ATTR_DTIM_PERIOD			nlattr[NL80211_ATTR_DTIM_PERIOD, int32]
	NL80211_ATTR_BEACON_HEAD			nlattr[NL80211_ATTR_BEACON_HEAD, array[int8, 0:2304]]
	NL80211_ATTR_BEACON_TAIL			nlattr[NL80211_ATTR_BEACON_TAIL, array[int8, 0:2304]]
	NL80211_ATTR_STA_AID				nlattr[NL80211_ATTR_STA_AID, int16]
	NL80211_ATTR_STA_FLAGS				nlnest[NL80211_ATTR_STA_FLAGS, array[nl_generic_attr]]
	NL80211_ATTR_STA_LISTEN_INTERVAL		nlattr[NL80211_ATTR_STA_LISTEN_INTERVAL, int16]
	NL80211_ATTR_STA_SUPPORTED_RATES		nlattr[NL80211_ATTR_STA_SUPPORTED_RATES, array[int8, 0:32]]
	NL80211_ATTR_STA_PLINK_ACTION			nlattr[NL80211_ATTR_STA_PLINK_ACTION, int8]
	NL80211_ATTR_STA_TX_POWER_SETTING		nlattr[NL80211_ATTR_STA_TX_POWER_SETTING, int8]
	NL80211_ATTR_STA_TX_POWER			nlattr[NL80211_ATTR_STA_TX_POWER, int16]
	NL80211_ATTR_STA_VLAN				nlattr[NL80211_ATTR_STA_VLAN, int32]
	NL80211_ATTR_MNTR_FLAGS				nlattr[NL80211_ATTR_MNTR_FLAGS, array[int8]]
	NL80211_ATTR_MESH_ID				nlattr[NL80211_ATTR_MESH_ID, array[int8, 0:32]]
	NL80211_ATTR_MPATH_NEXT_HOP			nlattr[NL80211_ATTR_MPATH_NEXT_HOP, array[int8]]
	NL80211_ATTR_REG_ALPHA2				nlattr[NL80211_ATTR_REG_ALPHA2, array[int8]]
	NL80211_ATTR_REG_RULES				nlnest[NL80211_ATTR_REG_RULES, array[nl_generic_attr]]
	NL80211_ATTR_BSS_CTS_PROT			nlattr[NL80211_ATTR_BSS_CTS_PROT, int8]
	NL80211_ATTR_BSS_SHORT_PREAMBLE			nlattr[NL80211_ATTR_BSS_SHORT_PREAMBLE, int8]
	NL80211_ATTR_BSS_SHORT_SLOT_TIME		nlattr[NL80211_ATTR_BSS_SHORT_SLOT_TIME, int8]
	NL80211_ATTR_BSS_BASIC_RATES			nlattr[NL80211_ATTR_BSS_BASIC_RATES, array[int8, 0:32]]
	NL80211_ATTR_BSS_HT_OPMODE			nlattr[NL80211_ATTR_BSS_HT_OPMODE, int16]
	NL80211_ATTR_MESH_CONFIG			nlnest[NL80211_ATTR_MESH_CONFIG, array[nl_generic_attr]]
	NL80211_ATTR_SUPPORT_MESH_AUTH			nlattr[NL80211_ATTR_SUPPORT_MESH_AUTH, void]
	NL80211_ATTR_HT_CAPABILITY			nlattr[NL80211_ATTR_HT_CAPABILITY, array[int8]]
	NL80211_ATTR_MGMT_SUBTYPE			nlattr[NL80211_ATTR_MGMT_SUBTYPE, int8]
	NL80211_ATTR_IE					nlattr[NL80211_ATTR_IE, array[int8, 0:2304]]
	NL80211_ATTR_SCAN_FREQUENCIES			nlnest[NL80211_ATTR_SCAN_FREQUENCIES, array[nl_generic_attr]]
	NL80211_ATTR_SCAN_SSIDS				nlnest[NL80211_ATTR_SCAN_SSIDS, array[nl_generic_attr]]
	NL80211_ATTR_SSID				nlattr[NL80211_ATTR_SSID, array[int8, 0:32]]
	NL80211_ATTR_AUTH_TYPE				nlattr[NL80211_ATTR_AUTH_TYPE, int32]
	NL80211_ATTR_REASON_CODE			nlattr[NL80211_ATTR_REASON_CODE, int16]
	NL80211_ATTR_FREQ_FIXED				nlattr[NL80211_ATTR_FREQ_FIXED, void]
	NL80211_ATTR_TIMED_OUT				nlattr[NL80211_ATTR_TIMED_OUT, void]
	NL80211_ATTR_USE_MFP				nlattr[NL80211_ATTR_USE_MFP, int32]
	NL80211_ATTR_STA_FLAGS2				nlattr[NL80211_ATTR_STA_FLAGS2, array[int8]]
	NL80211_ATTR_CONTROL_PORT			nlattr[NL80211_ATTR_CONTROL_PORT, void]
	NL80211_ATTR_CONTROL_PORT_ETHERTYPE		nlattr[NL80211_ATTR_CONTROL_PORT_ETHERTYPE, sock_port]
	NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT		nlattr[NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, void]
	NL80211_ATTR_CONTROL_PORT_OVER_NL80211		nlattr[NL80211_ATTR_CONTROL_PORT_OVER_NL80211, void]
	NL80211_ATTR_PRIVACY				nlattr[NL80211_ATTR_PRIVACY, void]
	NL80211_ATTR_STATUS_CODE			nlattr[NL80211_ATTR_STATUS_CODE, int16]
	NL80211_ATTR_CIPHER_SUITE_GROUP			nlattr[NL80211_ATTR_CIPHER_SUITE_GROUP, int32]
	NL80211_ATTR_WPA_VERSIONS			nlattr[NL80211_ATTR_WPA_VERSIONS, int32]
	NL80211_ATTR_PID				nlattr[NL80211_ATTR_PID, pid]
	NL80211_ATTR_4ADDR				nlattr[NL80211_ATTR_4ADDR, int8]
	NL80211_ATTR_PMKID				nlattr[NL80211_ATTR_PMKID, array[int8]]
	NL80211_ATTR_DURATION				nlattr[NL80211_ATTR_DURATION, int32]
	NL80211_ATTR_COOKIE				nlattr[NL80211_ATTR_COOKIE, int64]
	NL80211_ATTR_TX_RATES				nlnest[NL80211_ATTR_TX_RATES, array[nl_generic_attr]]
	NL80211_ATTR_FRAME				nlattr[NL80211_ATTR_FRAME, array[int8, 0:2304]]
	NL80211_ATTR_FRAME_MATCH			nlattr[NL80211_ATTR_FRAME_MATCH, array[int8]]
	NL80211_ATTR_PS_STATE				nlattr[NL80211_ATTR_PS_STATE, int32]
	NL80211_ATTR_CQM				nlnest[NL80211_ATTR_CQM, array[nl_generic_attr]]
	NL80211_ATTR_LOCAL_STATE_CHANGE			nlattr[NL80211_ATTR_LOCAL_STATE_CHANGE, void]
	NL80211_ATTR_AP_ISOLATE				nlattr[NL80211_ATTR_AP_ISOLATE, int8]
	NL80211_ATTR_WIPHY_TX_POWER_SETTING		nlattr[NL80211_ATTR_WIPHY_TX_POWER_SETTING, int32]
	NL80211_ATTR_WIPHY_TX_POWER_LEVEL		nlattr[NL80211_ATTR_WIPHY_TX_POWER_LEVEL, int32]
	NL80211_ATTR_FRAME_TYPE				nlattr[NL80211_ATTR_FRAME_TYPE, int16]
	NL80211_ATTR_WIPHY_ANTENNA_TX			nlattr[NL80211_ATTR_WIPHY_ANTENNA_TX, int32]
	NL80211_ATTR_WIPHY_ANTENNA_RX			nlattr[NL80211_ATTR_WIPHY_ANTENNA_RX, int32]
	NL80211_ATTR_MCAST_RATE				nlattr[NL80211_ATTR_MCAST_RATE, int32]
	NL80211_ATTR_OFFCHANNEL_TX_OK			nlattr[NL80211_ATTR_OFFCHANNEL_TX_OK, void]
	NL80211_ATTR_KEY_DEFAULT_TYPES			nlnest[NL80211_ATTR_KEY_DEFAULT_TYPES, array[nl_generic_attr]]
	NL80211_ATTR_WOWLAN_TRIGGERS			nlnest[NL80211_ATTR_WOWLAN_TRIGGERS, array[nl_generic_attr]]
	NL80211_ATTR_STA_PLINK_STATE			nlattr[NL80211_ATTR_STA_PLINK_STATE, int8]
	NL80211_ATTR_MEASUREMENT_DURATION		nlattr[NL80211_ATTR_MEASUREMENT_DURATION, int16]
	NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY	nlattr[NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY, void]
	NL80211_ATTR_MESH_PEER_AID			nlattr[NL80211_ATTR_MESH_PEER_AID, int16]
	NL80211_ATTR_SCHED_SCAN_INTERVAL		nlattr[NL80211_ATTR_SCHED_SCAN_INTERVAL, int32]
	NL80211_ATTR_REKEY_DATA				nlnest[NL80211_ATTR_REKEY_DATA, array[nl_generic_attr]]
	NL80211_ATTR_SCAN_SUPP_RATES			nlnest[NL80211_ATTR_SCAN_SUPP_RATES, array[nl_generic_attr]]
	NL80211_ATTR_HIDDEN_SSID			nlattr[NL80211_ATTR_HIDDEN_SSID, int32]
	NL80211_ATTR_IE_PROBE_RESP			nlattr[NL80211_ATTR_IE_PROBE_RESP, array[int8, 0:2304]]
	NL80211_ATTR_IE_ASSOC_RESP			nlattr[NL80211_ATTR_IE_ASSOC_RESP, array[int8, 0:2304]]
	NL80211_ATTR_ROAM_SUPPORT			nlattr[NL80211_ATTR_ROAM_SUPPORT, void]
	NL80211_ATTR_STA_WME				nlnest[NL80211_ATTR_STA_WME, array[nl80211_sta_wme_policy_nl80211$auto]]
	NL80211_ATTR_SCHED_SCAN_MATCH			nlnest[NL80211_ATTR_SCHED_SCAN_MATCH, array[nl_generic_attr]]
	NL80211_ATTR_TX_NO_CCK_RATE			nlattr[NL80211_ATTR_TX_NO_CCK_RATE, void]
	NL80211_ATTR_TDLS_ACTION			nlattr[NL80211_ATTR_TDLS_ACTION, int8]
	NL80211_ATTR_TDLS_DIALOG_TOKEN			nlattr[NL80211_ATTR_TDLS_DIALOG_TOKEN, int8]
	NL80211_ATTR_TDLS_OPERATION			nlattr[NL80211_ATTR_TDLS_OPERATION, int8]
	NL80211_ATTR_TDLS_SUPPORT			nlattr[NL80211_ATTR_TDLS_SUPPORT, void]
	NL80211_ATTR_TDLS_EXTERNAL_SETUP		nlattr[NL80211_ATTR_TDLS_EXTERNAL_SETUP, void]
	NL80211_ATTR_TDLS_INITIATOR			nlattr[NL80211_ATTR_TDLS_INITIATOR, void]
	NL80211_ATTR_DONT_WAIT_FOR_ACK			nlattr[NL80211_ATTR_DONT_WAIT_FOR_ACK, void]
	NL80211_ATTR_PROBE_RESP				nlattr[NL80211_ATTR_PROBE_RESP, array[int8, 0:2304]]
	NL80211_ATTR_DFS_REGION				nlattr[NL80211_ATTR_DFS_REGION, int8]
	NL80211_ATTR_DISABLE_HT				nlattr[NL80211_ATTR_DISABLE_HT, void]
	NL80211_ATTR_HT_CAPABILITY_MASK			nlattr[NL80211_ATTR_HT_CAPABILITY_MASK, array[int8, 26]]
	NL80211_ATTR_NOACK_MAP				nlattr[NL80211_ATTR_NOACK_MAP, int16]
	NL80211_ATTR_INACTIVITY_TIMEOUT			nlattr[NL80211_ATTR_INACTIVITY_TIMEOUT, int16]
	NL80211_ATTR_BG_SCAN_PERIOD			nlattr[NL80211_ATTR_BG_SCAN_PERIOD, int16]
	NL80211_ATTR_WDEV				nlattr[NL80211_ATTR_WDEV, int64]
	NL80211_ATTR_USER_REG_HINT_TYPE			nlattr[NL80211_ATTR_USER_REG_HINT_TYPE, int32]
	NL80211_ATTR_AUTH_DATA				nlattr[NL80211_ATTR_AUTH_DATA, array[int8]]
	NL80211_ATTR_VHT_CAPABILITY			nlattr[NL80211_ATTR_VHT_CAPABILITY, array[int8]]
	NL80211_ATTR_SCAN_FLAGS				nlattr[NL80211_ATTR_SCAN_FLAGS, int32]
	NL80211_ATTR_P2P_CTWINDOW			nlattr[NL80211_ATTR_P2P_CTWINDOW, int8]
	NL80211_ATTR_P2P_OPPPS				nlattr[NL80211_ATTR_P2P_OPPPS, int8]
	NL80211_ATTR_LOCAL_MESH_POWER_MODE		nlattr[NL80211_ATTR_LOCAL_MESH_POWER_MODE, int32]
	NL80211_ATTR_ACL_POLICY				nlattr[NL80211_ATTR_ACL_POLICY, int32]
	NL80211_ATTR_MAC_ADDRS				nlnest[NL80211_ATTR_MAC_ADDRS, array[nl_generic_attr]]
	NL80211_ATTR_STA_CAPABILITY			nlattr[NL80211_ATTR_STA_CAPABILITY, int16]
	NL80211_ATTR_STA_EXT_CAPABILITY			nlattr[NL80211_ATTR_STA_EXT_CAPABILITY, array[int8]]
	NL80211_ATTR_SPLIT_WIPHY_DUMP			nlattr[NL80211_ATTR_SPLIT_WIPHY_DUMP, void]
	NL80211_ATTR_DISABLE_VHT			nlattr[NL80211_ATTR_DISABLE_VHT, void]
	NL80211_ATTR_VHT_CAPABILITY_MASK		nlattr[NL80211_ATTR_VHT_CAPABILITY_MASK, array[int8, 12]]
	NL80211_ATTR_MDID				nlattr[NL80211_ATTR_MDID, int16]
	NL80211_ATTR_IE_RIC				nlattr[NL80211_ATTR_IE_RIC, array[int8, 0:2304]]
	NL80211_ATTR_CRIT_PROT_ID			nlattr[NL80211_ATTR_CRIT_PROT_ID, int16]
	NL80211_ATTR_MAX_CRIT_PROT_DURATION		nlattr[NL80211_ATTR_MAX_CRIT_PROT_DURATION, int16]
	NL80211_ATTR_PEER_AID				nlattr[NL80211_ATTR_PEER_AID, int16]
	NL80211_ATTR_CH_SWITCH_COUNT			nlattr[NL80211_ATTR_CH_SWITCH_COUNT, int32]
	NL80211_ATTR_CH_SWITCH_BLOCK_TX			nlattr[NL80211_ATTR_CH_SWITCH_BLOCK_TX, void]
	NL80211_ATTR_CSA_IES				nlnest[NL80211_ATTR_CSA_IES, array[nl_generic_attr]]
	NL80211_ATTR_CNTDWN_OFFS_BEACON			nlattr[NL80211_ATTR_CNTDWN_OFFS_BEACON, array[int8]]
	NL80211_ATTR_CNTDWN_OFFS_PRESP			nlattr[NL80211_ATTR_CNTDWN_OFFS_PRESP, array[int8]]
	NL80211_ATTR_STA_SUPPORTED_CHANNELS		nlattr[NL80211_ATTR_STA_SUPPORTED_CHANNELS, array[int8]]
	NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES		nlattr[NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, array[int8]]
	NL80211_ATTR_HANDLE_DFS				nlattr[NL80211_ATTR_HANDLE_DFS, void]
	NL80211_ATTR_OPMODE_NOTIF			nlattr[NL80211_ATTR_OPMODE_NOTIF, int8]
	NL80211_ATTR_VENDOR_ID				nlattr[NL80211_ATTR_VENDOR_ID, int32]
	NL80211_ATTR_VENDOR_SUBCMD			nlattr[NL80211_ATTR_VENDOR_SUBCMD, int32]
	NL80211_ATTR_VENDOR_DATA			nlattr[NL80211_ATTR_VENDOR_DATA, array[int8]]
	NL80211_ATTR_QOS_MAP				nlattr[NL80211_ATTR_QOS_MAP, array[int8]]
	NL80211_ATTR_MAC_HINT				nlattr[NL80211_ATTR_MAC_HINT, array[int8]]
	NL80211_ATTR_WIPHY_FREQ_HINT			nlattr[NL80211_ATTR_WIPHY_FREQ_HINT, int32]
	NL80211_ATTR_TDLS_PEER_CAPABILITY		nlattr[NL80211_ATTR_TDLS_PEER_CAPABILITY, int32]
	NL80211_ATTR_SOCKET_OWNER			nlattr[NL80211_ATTR_SOCKET_OWNER, void]
	NL80211_ATTR_CSA_C_OFFSETS_TX			nlattr[NL80211_ATTR_CSA_C_OFFSETS_TX, array[int8]]
	NL80211_ATTR_USE_RRM				nlattr[NL80211_ATTR_USE_RRM, void]
	NL80211_ATTR_TSID				nlattr[NL80211_ATTR_TSID, int8]
	NL80211_ATTR_USER_PRIO				nlattr[NL80211_ATTR_USER_PRIO, int8]
	NL80211_ATTR_ADMITTED_TIME			nlattr[NL80211_ATTR_ADMITTED_TIME, int16]
	NL80211_ATTR_SMPS_MODE				nlattr[NL80211_ATTR_SMPS_MODE, int8]
	NL80211_ATTR_OPER_CLASS				nlattr[NL80211_ATTR_OPER_CLASS, int8]
	NL80211_ATTR_MAC_MASK				nlattr[NL80211_ATTR_MAC_MASK, array[int8]]
	NL80211_ATTR_WIPHY_SELF_MANAGED_REG		nlattr[NL80211_ATTR_WIPHY_SELF_MANAGED_REG, void]
	NL80211_ATTR_NETNS_FD				nlattr[NL80211_ATTR_NETNS_FD, fd_namespace]
	NL80211_ATTR_SCHED_SCAN_DELAY			nlattr[NL80211_ATTR_SCHED_SCAN_DELAY, int32]
	NL80211_ATTR_REG_INDOOR				nlattr[NL80211_ATTR_REG_INDOOR, void]
	NL80211_ATTR_PBSS				nlattr[NL80211_ATTR_PBSS, void]
	NL80211_ATTR_BSS_SELECT				nlnest[NL80211_ATTR_BSS_SELECT, array[nl_generic_attr]]
	NL80211_ATTR_STA_SUPPORT_P2P_PS			nlattr[NL80211_ATTR_STA_SUPPORT_P2P_PS, int8]
	NL80211_ATTR_MU_MIMO_GROUP_DATA			nlattr[NL80211_ATTR_MU_MIMO_GROUP_DATA, array[int8, 24]]
	NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR		nlattr[NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR, array[int8]]
	NL80211_ATTR_NAN_MASTER_PREF			nlattr[NL80211_ATTR_NAN_MASTER_PREF, int8]
	NL80211_ATTR_BANDS				nlattr[NL80211_ATTR_BANDS, int32]
	NL80211_ATTR_NAN_FUNC				nlnest[NL80211_ATTR_NAN_FUNC, array[nl_generic_attr]]
	NL80211_ATTR_FILS_KEK				nlattr[NL80211_ATTR_FILS_KEK, array[int8, 0:64]]
	NL80211_ATTR_FILS_NONCES			nlattr[NL80211_ATTR_FILS_NONCES, array[int8]]
	NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED	nlattr[NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED, void]
	NL80211_ATTR_BSSID				nlattr[NL80211_ATTR_BSSID, array[int8]]
	NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI		nlattr[NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI, int8]
	NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST		nlattr[NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, nl80211_bss_select_rssi_adjust$auto]
	NL80211_ATTR_TIMEOUT_REASON			nlattr[NL80211_ATTR_TIMEOUT_REASON, int32]
	NL80211_ATTR_FILS_ERP_USERNAME			nlattr[NL80211_ATTR_FILS_ERP_USERNAME, array[int8, 0:16]]
	NL80211_ATTR_FILS_ERP_REALM			nlattr[NL80211_ATTR_FILS_ERP_REALM, array[int8, 0:253]]
	NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM		nlattr[NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM, int16]
	NL80211_ATTR_FILS_ERP_RRK			nlattr[NL80211_ATTR_FILS_ERP_RRK, array[int8, 0:64]]
	NL80211_ATTR_FILS_CACHE_ID			nlattr[NL80211_ATTR_FILS_CACHE_ID, array[int8]]
	NL80211_ATTR_PMK				nlattr[NL80211_ATTR_PMK, array[int8, 0:64]]
	NL80211_ATTR_PMKR0_NAME				nlattr[NL80211_ATTR_PMKR0_NAME, array[int8]]
	NL80211_ATTR_SCHED_SCAN_MULTI			nlattr[NL80211_ATTR_SCHED_SCAN_MULTI, void]
	NL80211_ATTR_EXTERNAL_AUTH_SUPPORT		nlattr[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, void]
	NL80211_ATTR_TXQ_LIMIT				nlattr[NL80211_ATTR_TXQ_LIMIT, int32]
	NL80211_ATTR_TXQ_MEMORY_LIMIT			nlattr[NL80211_ATTR_TXQ_MEMORY_LIMIT, int32]
	NL80211_ATTR_TXQ_QUANTUM			nlattr[NL80211_ATTR_TXQ_QUANTUM, int32]
	NL80211_ATTR_HE_CAPABILITY			nlattr[NL80211_ATTR_HE_CAPABILITY, array[int8, 0:54]]
	NL80211_ATTR_FTM_RESPONDER			nlnest[NL80211_ATTR_FTM_RESPONDER, array[nl80211_ftm_responder_policy_nl80211$auto]]
	NL80211_ATTR_TIMEOUT				nlattr[NL80211_ATTR_TIMEOUT, int32]
	NL80211_ATTR_PEER_MEASUREMENTS			nlnest[NL80211_ATTR_PEER_MEASUREMENTS, array[nl80211_pmsr_attr_policy_nl80211$auto]]
	NL80211_ATTR_AIRTIME_WEIGHT			nlattr[NL80211_ATTR_AIRTIME_WEIGHT, int16]
	NL80211_ATTR_SAE_PASSWORD			nlattr[NL80211_ATTR_SAE_PASSWORD, array[int8, 0:128]]
	NL80211_ATTR_TWT_RESPONDER			nlattr[NL80211_ATTR_TWT_RESPONDER, void]
	NL80211_ATTR_HE_OBSS_PD				nlnest[NL80211_ATTR_HE_OBSS_PD, array[he_obss_pd_policy_nl80211$auto]]
	NL80211_ATTR_VLAN_ID				nlattr[NL80211_ATTR_VLAN_ID, int16]
	NL80211_ATTR_HE_BSS_COLOR			nlnest[NL80211_ATTR_HE_BSS_COLOR, array[he_bss_color_policy_nl80211$auto]]
	NL80211_ATTR_TID_CONFIG				nlnest[NL80211_ATTR_TID_CONFIG, array[nlnest[0, array[nl80211_tid_config_attr_policy_nl80211$auto]]]]
	NL80211_ATTR_CONTROL_PORT_NO_PREAUTH		nlattr[NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, void]
	NL80211_ATTR_PMK_LIFETIME			nlattr[NL80211_ATTR_PMK_LIFETIME, int32]
	NL80211_ATTR_PMK_REAUTH_THRESHOLD		nlattr[NL80211_ATTR_PMK_REAUTH_THRESHOLD, int8]
	NL80211_ATTR_RECEIVE_MULTICAST			nlattr[NL80211_ATTR_RECEIVE_MULTICAST, void]
	NL80211_ATTR_WIPHY_FREQ_OFFSET			nlattr[NL80211_ATTR_WIPHY_FREQ_OFFSET, int32]
	NL80211_ATTR_SCAN_FREQ_KHZ			nlnest[NL80211_ATTR_SCAN_FREQ_KHZ, array[nl_generic_attr]]
	NL80211_ATTR_HE_6GHZ_CAPABILITY			nlattr[NL80211_ATTR_HE_6GHZ_CAPABILITY, array[int8]]
	NL80211_ATTR_FILS_DISCOVERY			nlnest[NL80211_ATTR_FILS_DISCOVERY, array[nl80211_fils_discovery_policy_nl80211$auto]]
	NL80211_ATTR_UNSOL_BCAST_PROBE_RESP		nlnest[NL80211_ATTR_UNSOL_BCAST_PROBE_RESP, array[nl80211_unsol_bcast_probe_resp_policy_nl80211$auto]]
	NL80211_ATTR_S1G_CAPABILITY			nlattr[NL80211_ATTR_S1G_CAPABILITY, array[int8]]
	NL80211_ATTR_S1G_CAPABILITY_MASK		nlattr[NL80211_ATTR_S1G_CAPABILITY_MASK, array[int8]]
	NL80211_ATTR_SAE_PWE				nlattr[NL80211_ATTR_SAE_PWE, int8]
	NL80211_ATTR_SAR_SPEC				nlnest[NL80211_ATTR_SAR_SPEC, array[sar_policy_nl80211$auto]]
	NL80211_ATTR_DISABLE_HE				nlattr[NL80211_ATTR_DISABLE_HE, void]
	NL80211_ATTR_OBSS_COLOR_BITMAP			nlattr[NL80211_ATTR_OBSS_COLOR_BITMAP, int64]
	NL80211_ATTR_COLOR_CHANGE_COUNT			nlattr[NL80211_ATTR_COLOR_CHANGE_COUNT, int8]
	NL80211_ATTR_COLOR_CHANGE_COLOR			nlattr[NL80211_ATTR_COLOR_CHANGE_COLOR, int8]
	NL80211_ATTR_COLOR_CHANGE_ELEMS			nlnest[NL80211_ATTR_COLOR_CHANGE_ELEMS, array[nl80211_policy_nl80211$auto]]
	NL80211_ATTR_MBSSID_CONFIG			nlnest[NL80211_ATTR_MBSSID_CONFIG, array[nl80211_mbssid_config_policy_nl80211$auto]]
	NL80211_ATTR_MBSSID_ELEMS			nlnest[NL80211_ATTR_MBSSID_ELEMS, array[nl_generic_attr]]
	NL80211_ATTR_RADAR_BACKGROUND			nlattr[NL80211_ATTR_RADAR_BACKGROUND, void]
	NL80211_ATTR_AP_SETTINGS_FLAGS			nlattr[NL80211_ATTR_AP_SETTINGS_FLAGS, int32]
	NL80211_ATTR_EHT_CAPABILITY			nlattr[NL80211_ATTR_EHT_CAPABILITY, array[int8]]
	NL80211_ATTR_DISABLE_EHT			nlattr[NL80211_ATTR_DISABLE_EHT, void]
	NL80211_ATTR_MLO_LINKS				nlnest[NL80211_ATTR_MLO_LINKS, array[nlnest[0, array[nl80211_policy_nl80211$auto]]]]
	NL80211_ATTR_MLO_LINK_ID			nlattr[NL80211_ATTR_MLO_LINK_ID, int8]
	NL80211_ATTR_MLD_ADDR				nlattr[NL80211_ATTR_MLD_ADDR, array[int8]]
	NL80211_ATTR_MLO_SUPPORT			nlattr[NL80211_ATTR_MLO_SUPPORT, void]
	NL80211_ATTR_PUNCT_BITMAP			nlattr[NL80211_ATTR_PUNCT_BITMAP, int32]
	NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS		nlattr[NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS, int16]
	NL80211_ATTR_HW_TIMESTAMP_ENABLED		nlattr[NL80211_ATTR_HW_TIMESTAMP_ENABLED, void]
	NL80211_ATTR_EMA_RNR_ELEMS			nlnest[NL80211_ATTR_EMA_RNR_ELEMS, array[nl_generic_attr]]
	NL80211_ATTR_MLO_LINK_DISABLED			nlattr[NL80211_ATTR_MLO_LINK_DISABLED, void]
	NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA		nlattr[NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA, void]
	NL80211_ATTR_MLO_TTLM_DLINK			nlattr[NL80211_ATTR_MLO_TTLM_DLINK, array[int8]]
	NL80211_ATTR_MLO_TTLM_ULINK			nlattr[NL80211_ATTR_MLO_TTLM_ULINK, array[int8]]
	NL80211_ATTR_ASSOC_SPP_AMSDU			nlattr[NL80211_ATTR_ASSOC_SPP_AMSDU, void]
	NL80211_ATTR_VIF_RADIO_MASK			nlattr[NL80211_ATTR_VIF_RADIO_MASK, int32]
] [varlen]

nl80211_sta_wme_policy_nl80211$auto [
	NL80211_STA_WME_UAPSD_QUEUES	nlattr[NL80211_STA_WME_UAPSD_QUEUES, int8]
	NL80211_STA_WME_MAX_SP		nlattr[NL80211_STA_WME_MAX_SP, int8]
] [varlen]

nl80211_ftm_responder_policy_nl80211$auto [
	NL80211_FTM_RESP_ATTR_ENABLED	nlattr[NL80211_FTM_RESP_ATTR_ENABLED, void]
	NL80211_FTM_RESP_ATTR_LCI	nlattr[NL80211_FTM_RESP_ATTR_LCI, array[int8, 0:255]]
	NL80211_FTM_RESP_ATTR_CIVICLOC	nlattr[NL80211_FTM_RESP_ATTR_CIVICLOC, array[int8, 0:255]]
] [varlen]

nl80211_pmsr_attr_policy_nl80211$auto [
	NL80211_PMSR_ATTR_PEERS	nlnest[NL80211_PMSR_ATTR_PEERS, array[nlnest[0, array[nl80211_pmsr_peer_attr_policy_nl80211$auto]]]]
] [varlen]

he_obss_pd_policy_nl80211$auto [
	NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET		nlattr[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, int8]
	NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET		nlattr[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, int8]
	NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET	nlattr[NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET, int8]
	NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP	nlattr[NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP, array[int8]]
	NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP	nlattr[NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP, array[int8]]
	NL80211_HE_OBSS_PD_ATTR_SR_CTRL			nlattr[NL80211_HE_OBSS_PD_ATTR_SR_CTRL, int8]
] [varlen]

he_bss_color_policy_nl80211$auto [
	NL80211_HE_BSS_COLOR_ATTR_COLOR		nlattr[NL80211_HE_BSS_COLOR_ATTR_COLOR, int8]
	NL80211_HE_BSS_COLOR_ATTR_DISABLED	nlattr[NL80211_HE_BSS_COLOR_ATTR_DISABLED, void]
	NL80211_HE_BSS_COLOR_ATTR_PARTIAL	nlattr[NL80211_HE_BSS_COLOR_ATTR_PARTIAL, void]
] [varlen]

nl80211_tid_config_attr_policy_nl80211$auto [
	NL80211_TID_CONFIG_ATTR_VIF_SUPP	nlattr[NL80211_TID_CONFIG_ATTR_VIF_SUPP, int64]
	NL80211_TID_CONFIG_ATTR_PEER_SUPP	nlattr[NL80211_TID_CONFIG_ATTR_PEER_SUPP, int64]
	NL80211_TID_CONFIG_ATTR_OVERRIDE	nlattr[NL80211_TID_CONFIG_ATTR_OVERRIDE, void]
	NL80211_TID_CONFIG_ATTR_TIDS		nlattr[NL80211_TID_CONFIG_ATTR_TIDS, int16]
	NL80211_TID_CONFIG_ATTR_NOACK		nlattr[NL80211_TID_CONFIG_ATTR_NOACK, int8]
	NL80211_TID_CONFIG_ATTR_RETRY_SHORT	nlattr[NL80211_TID_CONFIG_ATTR_RETRY_SHORT, int8]
	NL80211_TID_CONFIG_ATTR_RETRY_LONG	nlattr[NL80211_TID_CONFIG_ATTR_RETRY_LONG, int8]
	NL80211_TID_CONFIG_ATTR_AMPDU_CTRL	nlattr[NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, int8]
	NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL	nlattr[NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, int8]
	NL80211_TID_CONFIG_ATTR_AMSDU_CTRL	nlattr[NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, int8]
	NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE	nlattr[NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, int8]
	NL80211_TID_CONFIG_ATTR_TX_RATE		nlnest[NL80211_TID_CONFIG_ATTR_TX_RATE, array[nl80211_txattr_policy_nl80211$auto]]
] [varlen]

nl80211_fils_discovery_policy_nl80211$auto [
	NL80211_FILS_DISCOVERY_ATTR_INT_MIN	nlattr[NL80211_FILS_DISCOVERY_ATTR_INT_MIN, int32]
	NL80211_FILS_DISCOVERY_ATTR_INT_MAX	nlattr[NL80211_FILS_DISCOVERY_ATTR_INT_MAX, int32]
	NL80211_FILS_DISCOVERY_ATTR_TMPL	nlattr[NL80211_FILS_DISCOVERY_ATTR_TMPL, array[int8]]
] [varlen]

nl80211_unsol_bcast_probe_resp_policy_nl80211$auto [
	NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT		nlattr[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT, int32]
	NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL	nlattr[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL, array[int8, 0:2304]]
] [varlen]

sar_policy_nl80211$auto [
	NL80211_SAR_ATTR_TYPE	nlattr[NL80211_SAR_ATTR_TYPE, int32]
	NL80211_SAR_ATTR_SPECS	nlnest[NL80211_SAR_ATTR_SPECS, array[nlnest[0, array[sar_specs_policy_nl80211$auto]]]]
] [varlen]

nl80211_mbssid_config_policy_nl80211$auto [
	NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES		nlattr[NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES, int8]
	NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY	nlattr[NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY, int8]
	NL80211_MBSSID_CONFIG_ATTR_INDEX			nlattr[NL80211_MBSSID_CONFIG_ATTR_INDEX, int8]
	NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX			nlattr[NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX, ifindex]
	NL80211_MBSSID_CONFIG_ATTR_EMA				nlattr[NL80211_MBSSID_CONFIG_ATTR_EMA, void]
] [varlen]

nl80211_pmsr_peer_attr_policy_nl80211$auto [
	NL80211_PMSR_PEER_ATTR_ADDR	nlattr[NL80211_PMSR_PEER_ATTR_ADDR, array[int8]]
	NL80211_PMSR_PEER_ATTR_CHAN	nlnest[NL80211_PMSR_PEER_ATTR_CHAN, array[nl80211_policy_nl80211$auto]]
	NL80211_PMSR_PEER_ATTR_REQ	nlnest[NL80211_PMSR_PEER_ATTR_REQ, array[nl80211_pmsr_req_attr_policy_nl80211$auto]]
] [varlen]

nl80211_txattr_policy_nl80211$auto [
	NL80211_TXRATE_LEGACY	nlattr[NL80211_TXRATE_LEGACY, array[int8, 0:32]]
	NL80211_TXRATE_HT	nlattr[NL80211_TXRATE_HT, array[int8, 0:77]]
	NL80211_TXRATE_VHT	nlattr[NL80211_TXRATE_VHT, array[int8]]
	NL80211_TXRATE_GI	nlattr[NL80211_TXRATE_GI, int8]
	NL80211_TXRATE_HE	nlattr[NL80211_TXRATE_HE, array[int8]]
	NL80211_TXRATE_HE_GI	nlattr[NL80211_TXRATE_HE_GI, int8]
	NL80211_TXRATE_HE_LTF	nlattr[NL80211_TXRATE_HE_LTF, int8]
] [varlen]

sar_specs_policy_nl80211$auto [
	NL80211_SAR_ATTR_SPECS_POWER		nlattr[NL80211_SAR_ATTR_SPECS_POWER, int32]
	NL80211_SAR_ATTR_SPECS_RANGE_INDEX	nlattr[NL80211_SAR_ATTR_SPECS_RANGE_INDEX, int32]
] [varlen]

nl80211_pmsr_req_attr_policy_nl80211$auto [
	NL80211_PMSR_REQ_ATTR_DATA		nlnest[NL80211_PMSR_REQ_ATTR_DATA, array[nl80211_pmsr_req_data_policy_nl80211$auto]]
	NL80211_PMSR_REQ_ATTR_GET_AP_TSF	nlattr[NL80211_PMSR_REQ_ATTR_GET_AP_TSF, void]
] [varlen]

nl80211_pmsr_req_data_policy_nl80211$auto [
	NL80211_PMSR_TYPE_FTM	nlnest[NL80211_PMSR_TYPE_FTM, array[nl80211_pmsr_ftm_req_attr_policy_nl80211$auto]]
] [varlen]

nl80211_pmsr_ftm_req_attr_policy_nl80211$auto [
	NL80211_PMSR_FTM_REQ_ATTR_ASAP			nlattr[NL80211_PMSR_FTM_REQ_ATTR_ASAP, void]
	NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE		nlattr[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE, int32]
	NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP	nlattr[NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP, int8]
	NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD		nlattr[NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD, int16]
	NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION	nlattr[NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION, int8]
	NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST	nlattr[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST, int8]
	NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES	nlattr[NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, int8]
	NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI		nlattr[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, void]
	NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC	nlattr[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, void]
	NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED		nlattr[NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED, void]
	NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED	nlattr[NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED, void]
	NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK		nlattr[NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK, void]
	NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR		nlattr[NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR, int8]
] [varlen]

resource genl_nl802154_family_id$auto[int16]
type msghdr_nl802154$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nl802154_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nl802154(name ptr[in, string["nl802154"]], fd sock_nl_generic) genl_nl802154_family_id$auto

sendmsg$auto_NL802154_CMD_GET_WPAN_PHY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_WPAN_PHY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_GET_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_INTERFACE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_NEW_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_NEW_INTERFACE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DEL_INTERFACE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DEL_INTERFACE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_CHANNEL(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_CHANNEL, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_CCA_MODE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_CCA_MODE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_CCA_ED_LEVEL(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_CCA_ED_LEVEL, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_TX_POWER(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_TX_POWER, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_WPAN_PHY_NETNS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_WPAN_PHY_NETNS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_PAN_ID(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_PAN_ID, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_SHORT_ADDR(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_SHORT_ADDR, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_BACKOFF_EXPONENT(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_BACKOFF_EXPONENT, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_MAX_CSMA_BACKOFFS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_MAX_CSMA_BACKOFFS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_MAX_FRAME_RETRIES(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_MAX_FRAME_RETRIES, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_LBT_MODE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_LBT_MODE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_ACKREQ_DEFAULT(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_ACKREQ_DEFAULT, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_TRIGGER_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_TRIGGER_SCAN, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_ABORT_SCAN(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_ABORT_SCAN, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SEND_BEACONS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SEND_BEACONS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_STOP_BEACONS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_STOP_BEACONS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_ASSOCIATE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_ASSOCIATE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DISASSOCIATE(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DISASSOCIATE, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_MAX_ASSOCIATIONS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_MAX_ASSOCIATIONS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_LIST_ASSOCIATIONS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_LIST_ASSOCIATIONS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_SET_SEC_PARAMS(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_SET_SEC_PARAMS, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_GET_SEC_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_SEC_KEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_NEW_SEC_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_NEW_SEC_KEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DEL_SEC_KEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DEL_SEC_KEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_GET_SEC_DEV(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_SEC_DEV, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_NEW_SEC_DEV(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_NEW_SEC_DEV, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DEL_SEC_DEV(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DEL_SEC_DEV, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_GET_SEC_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_SEC_DEVKEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_NEW_SEC_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_NEW_SEC_DEVKEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DEL_SEC_DEVKEY(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DEL_SEC_DEVKEY, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_GET_SEC_LEVEL(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_GET_SEC_LEVEL, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_NEW_SEC_LEVEL(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_NEW_SEC_LEVEL, nl802154_policy_nl802154$auto]], f flags[send_flags])
sendmsg$auto_NL802154_CMD_DEL_SEC_LEVEL(fd sock_nl_generic, msg ptr[in, msghdr_nl802154$auto[NL802154_CMD_DEL_SEC_LEVEL, nl802154_policy_nl802154$auto]], f flags[send_flags])

nl802154_policy_nl802154$auto [
	NL802154_ATTR_WPAN_PHY			nlattr[NL802154_ATTR_WPAN_PHY, int32]
	NL802154_ATTR_WPAN_PHY_NAME		nlattr[NL802154_ATTR_WPAN_PHY_NAME, string]
	NL802154_ATTR_IFINDEX			nlattr[NL802154_ATTR_IFINDEX, ifindex]
	NL802154_ATTR_IFTYPE			nlattr[NL802154_ATTR_IFTYPE, int32]
	NL802154_ATTR_IFNAME			nlattr[NL802154_ATTR_IFNAME, devname]
	NL802154_ATTR_WPAN_DEV			nlattr[NL802154_ATTR_WPAN_DEV, int64]
	NL802154_ATTR_PAGE			nlattr[NL802154_ATTR_PAGE, int8]
	NL802154_ATTR_CHANNEL			nlattr[NL802154_ATTR_CHANNEL, int8]
	NL802154_ATTR_TX_POWER			nlattr[NL802154_ATTR_TX_POWER, int32]
	NL802154_ATTR_CCA_MODE			nlattr[NL802154_ATTR_CCA_MODE, int32]
	NL802154_ATTR_CCA_OPT			nlattr[NL802154_ATTR_CCA_OPT, int32]
	NL802154_ATTR_CCA_ED_LEVEL		nlattr[NL802154_ATTR_CCA_ED_LEVEL, int32]
	NL802154_ATTR_SUPPORTED_CHANNEL		nlattr[NL802154_ATTR_SUPPORTED_CHANNEL, int32]
	NL802154_ATTR_PAN_ID			nlattr[NL802154_ATTR_PAN_ID, int16]
	NL802154_ATTR_EXTENDED_ADDR		nlattr[NL802154_ATTR_EXTENDED_ADDR, int64]
	NL802154_ATTR_SHORT_ADDR		nlattr[NL802154_ATTR_SHORT_ADDR, int16]
	NL802154_ATTR_MIN_BE			nlattr[NL802154_ATTR_MIN_BE, int8]
	NL802154_ATTR_MAX_BE			nlattr[NL802154_ATTR_MAX_BE, int8]
	NL802154_ATTR_MAX_CSMA_BACKOFFS		nlattr[NL802154_ATTR_MAX_CSMA_BACKOFFS, int8]
	NL802154_ATTR_MAX_FRAME_RETRIES		nlattr[NL802154_ATTR_MAX_FRAME_RETRIES, int8]
	NL802154_ATTR_LBT_MODE			nlattr[NL802154_ATTR_LBT_MODE, int8]
	NL802154_ATTR_WPAN_PHY_CAPS		nlnest[NL802154_ATTR_WPAN_PHY_CAPS, array[nl_generic_attr]]
	NL802154_ATTR_SUPPORTED_COMMANDS	nlnest[NL802154_ATTR_SUPPORTED_COMMANDS, array[nl_generic_attr]]
	NL802154_ATTR_ACKREQ_DEFAULT		nlattr[NL802154_ATTR_ACKREQ_DEFAULT, int8]
	NL802154_ATTR_PID			nlattr[NL802154_ATTR_PID, pid]
	NL802154_ATTR_NETNS_FD			nlattr[NL802154_ATTR_NETNS_FD, fd_namespace]
	NL802154_ATTR_COORDINATOR		nlnest[NL802154_ATTR_COORDINATOR, array[nl_generic_attr]]
	NL802154_ATTR_SCAN_TYPE			nlattr[NL802154_ATTR_SCAN_TYPE, int8]
	NL802154_ATTR_SCAN_CHANNELS		nlattr[NL802154_ATTR_SCAN_CHANNELS, int32]
	NL802154_ATTR_SCAN_DURATION		nlattr[NL802154_ATTR_SCAN_DURATION, int8]
	NL802154_ATTR_SCAN_DONE_REASON		nlattr[NL802154_ATTR_SCAN_DONE_REASON, int8]
	NL802154_ATTR_BEACON_INTERVAL		nlattr[NL802154_ATTR_BEACON_INTERVAL, int8]
	NL802154_ATTR_MAX_ASSOCIATIONS		nlattr[NL802154_ATTR_MAX_ASSOCIATIONS, int32]
	NL802154_ATTR_PEER			nlnest[NL802154_ATTR_PEER, array[nl_generic_attr]]
	NL802154_ATTR_SEC_ENABLED		nlattr[NL802154_ATTR_SEC_ENABLED, bool8]
	NL802154_ATTR_SEC_OUT_LEVEL		nlattr[NL802154_ATTR_SEC_OUT_LEVEL, int32]
	NL802154_ATTR_SEC_OUT_KEY_ID		nlnest[NL802154_ATTR_SEC_OUT_KEY_ID, array[nl_generic_attr]]
	NL802154_ATTR_SEC_FRAME_COUNTER		nlattr[NL802154_ATTR_SEC_FRAME_COUNTER, int32]
	NL802154_ATTR_SEC_LEVEL			nlnest[NL802154_ATTR_SEC_LEVEL, array[nl_generic_attr]]
	NL802154_ATTR_SEC_DEVICE		nlnest[NL802154_ATTR_SEC_DEVICE, array[nl_generic_attr]]
	NL802154_ATTR_SEC_DEVKEY		nlnest[NL802154_ATTR_SEC_DEVKEY, array[nl_generic_attr]]
	NL802154_ATTR_SEC_KEY			nlnest[NL802154_ATTR_SEC_KEY, array[nl_generic_attr]]
] [varlen]

resource genl_nlctrl_family_id$auto[int16]
type msghdr_nlctrl$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_nlctrl_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_nlctrl(name ptr[in, string["nlctrl"]], fd sock_nl_generic) genl_nlctrl_family_id$auto

sendmsg$auto_CTRL_CMD_GETFAMILY(fd sock_nl_generic, msg ptr[in, msghdr_nlctrl$auto[CTRL_CMD_GETFAMILY, ctrl_policy_family_genetlink$auto]], f flags[send_flags])
sendmsg$auto_CTRL_CMD_GETFAMILY2(fd sock_nl_generic, msg ptr[in, msghdr_nlctrl$auto[CTRL_CMD_GETFAMILY, ctrl_policy_family_genetlink$auto]], f flags[send_flags])
sendmsg$auto_CTRL_CMD_GETPOLICY(fd sock_nl_generic, msg ptr[in, msghdr_nlctrl$auto[CTRL_CMD_GETPOLICY, ctrl_policy_policy_genetlink$auto]], f flags[send_flags])

ctrl_policy_family_genetlink$auto [
	CTRL_ATTR_FAMILY_ID	nlattr[CTRL_ATTR_FAMILY_ID, int16]
	CTRL_ATTR_FAMILY_NAME	nlattr[CTRL_ATTR_FAMILY_NAME, string]
] [varlen]

ctrl_policy_policy_genetlink$auto [
	CTRL_ATTR_FAMILY_ID	nlattr[CTRL_ATTR_FAMILY_ID, int16]
	CTRL_ATTR_FAMILY_NAME	nlattr[CTRL_ATTR_FAMILY_NAME, string]
	CTRL_ATTR_OP		nlattr[CTRL_ATTR_OP, int32]
] [varlen]

resource genl_ovs_ct_limit_family_id$auto[int16]
type msghdr_ovs_ct_limit$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_ct_limit_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_ct_limit(name ptr[in, string["ovs_ct_limit"]], fd sock_nl_generic) genl_ovs_ct_limit_family_id$auto

sendmsg$auto_OVS_CT_LIMIT_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_ct_limit$auto[OVS_CT_LIMIT_CMD_SET, ct_limit_policy_conntrack$auto]], f flags[send_flags])
sendmsg$auto_OVS_CT_LIMIT_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ovs_ct_limit$auto[OVS_CT_LIMIT_CMD_DEL, ct_limit_policy_conntrack$auto]], f flags[send_flags])
sendmsg$auto_OVS_CT_LIMIT_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_ct_limit$auto[OVS_CT_LIMIT_CMD_GET, ct_limit_policy_conntrack$auto]], f flags[send_flags])

ct_limit_policy_conntrack$auto [
	OVS_CT_LIMIT_ATTR_ZONE_LIMIT	nlnest[OVS_CT_LIMIT_ATTR_ZONE_LIMIT, array[nl_generic_attr]]
] [varlen]

resource genl_ovs_datapath_family_id$auto[int16]
type msghdr_ovs_datapath$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_datapath_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_datapath(name ptr[in, string["ovs_datapath"]], fd sock_nl_generic) genl_ovs_datapath_family_id$auto

sendmsg$auto_OVS_DP_CMD_NEW(fd sock_nl_generic, msg ptr[in, msghdr_ovs_datapath$auto[OVS_DP_CMD_NEW, datapath_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_DP_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ovs_datapath$auto[OVS_DP_CMD_DEL, datapath_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_DP_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_datapath$auto[OVS_DP_CMD_GET, datapath_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_DP_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_datapath$auto[OVS_DP_CMD_SET, datapath_policy_datapath$auto]], f flags[send_flags])

datapath_policy_datapath$auto [
	OVS_DP_ATTR_NAME		nlattr[OVS_DP_ATTR_NAME, string]
	OVS_DP_ATTR_UPCALL_PID		nlattr[OVS_DP_ATTR_UPCALL_PID, pid]
	OVS_DP_ATTR_USER_FEATURES	nlattr[OVS_DP_ATTR_USER_FEATURES, int32]
	OVS_DP_ATTR_MASKS_CACHE_SIZE	nlattr[OVS_DP_ATTR_MASKS_CACHE_SIZE, int32]
	OVS_DP_ATTR_IFINDEX		nlattr[OVS_DP_ATTR_IFINDEX, ifindex]
] [varlen]

resource genl_ovs_flow_family_id$auto[int16]
type msghdr_ovs_flow$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_flow_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_flow(name ptr[in, string["ovs_flow"]], fd sock_nl_generic) genl_ovs_flow_family_id$auto

sendmsg$auto_OVS_FLOW_CMD_NEW(fd sock_nl_generic, msg ptr[in, msghdr_ovs_flow$auto[OVS_FLOW_CMD_NEW, flow_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_FLOW_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ovs_flow$auto[OVS_FLOW_CMD_DEL, flow_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_FLOW_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_flow$auto[OVS_FLOW_CMD_GET, flow_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_FLOW_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_flow$auto[OVS_FLOW_CMD_SET, flow_policy_datapath$auto]], f flags[send_flags])

flow_policy_datapath$auto [
	OVS_FLOW_ATTR_KEY		nlnest[OVS_FLOW_ATTR_KEY, array[nl_generic_attr]]
	OVS_FLOW_ATTR_MASK		nlnest[OVS_FLOW_ATTR_MASK, array[nl_generic_attr]]
	OVS_FLOW_ATTR_ACTIONS		nlnest[OVS_FLOW_ATTR_ACTIONS, array[nl_generic_attr]]
	OVS_FLOW_ATTR_CLEAR		nlattr[OVS_FLOW_ATTR_CLEAR, void]
	OVS_FLOW_ATTR_PROBE		nlattr[OVS_FLOW_ATTR_PROBE, void]
	OVS_FLOW_ATTR_UFID		nlattr[OVS_FLOW_ATTR_UFID, int8]
	OVS_FLOW_ATTR_UFID_FLAGS	nlattr[OVS_FLOW_ATTR_UFID_FLAGS, int32]
] [varlen]

resource genl_ovs_meter_family_id$auto[int16]
type msghdr_ovs_meter$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_meter_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_meter(name ptr[in, string["ovs_meter"]], fd sock_nl_generic) genl_ovs_meter_family_id$auto

sendmsg$auto_OVS_METER_CMD_FEATURES(fd sock_nl_generic, msg ptr[in, msghdr_ovs_meter$auto[OVS_METER_CMD_FEATURES, meter_policy_meter$auto]], f flags[send_flags])
sendmsg$auto_OVS_METER_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_meter$auto[OVS_METER_CMD_SET, meter_policy_meter$auto]], f flags[send_flags])
sendmsg$auto_OVS_METER_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_meter$auto[OVS_METER_CMD_GET, meter_policy_meter$auto]], f flags[send_flags])
sendmsg$auto_OVS_METER_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ovs_meter$auto[OVS_METER_CMD_DEL, meter_policy_meter$auto]], f flags[send_flags])

meter_policy_meter$auto [
	OVS_METER_ATTR_ID		nlattr[OVS_METER_ATTR_ID, int32]
	OVS_METER_ATTR_KBPS		nlattr[OVS_METER_ATTR_KBPS, void]
	OVS_METER_ATTR_STATS		nlattr[OVS_METER_ATTR_STATS, ovs_flow_stats$auto]
	OVS_METER_ATTR_BANDS		nlnest[OVS_METER_ATTR_BANDS, array[nl_generic_attr]]
	OVS_METER_ATTR_USED		nlattr[OVS_METER_ATTR_USED, int64]
	OVS_METER_ATTR_CLEAR		nlattr[OVS_METER_ATTR_CLEAR, void]
	OVS_METER_ATTR_MAX_METERS	nlattr[OVS_METER_ATTR_MAX_METERS, int32]
	OVS_METER_ATTR_MAX_BANDS	nlattr[OVS_METER_ATTR_MAX_BANDS, int32]
] [varlen]

resource genl_ovs_packet_family_id$auto[int16]
type msghdr_ovs_packet$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_packet_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_packet(name ptr[in, string["ovs_packet"]], fd sock_nl_generic) genl_ovs_packet_family_id$auto

sendmsg$auto_OVS_PACKET_CMD_EXECUTE(fd sock_nl_generic, msg ptr[in, msghdr_ovs_packet$auto[OVS_PACKET_CMD_EXECUTE, packet_policy_datapath$auto]], f flags[send_flags])

packet_policy_datapath$auto [
	OVS_PACKET_ATTR_PACKET	nlattr[OVS_PACKET_ATTR_PACKET, array[int8, 14]]
	OVS_PACKET_ATTR_KEY	nlnest[OVS_PACKET_ATTR_KEY, array[nl_generic_attr]]
	OVS_PACKET_ATTR_ACTIONS	nlnest[OVS_PACKET_ATTR_ACTIONS, array[nl_generic_attr]]
	OVS_PACKET_ATTR_PROBE	nlattr[OVS_PACKET_ATTR_PROBE, void]
	OVS_PACKET_ATTR_MRU	nlattr[OVS_PACKET_ATTR_MRU, int16]
	OVS_PACKET_ATTR_HASH	nlattr[OVS_PACKET_ATTR_HASH, int64]
] [varlen]

resource genl_ovs_vport_family_id$auto[int16]
type msghdr_ovs_vport$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_ovs_vport_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_ovs_vport(name ptr[in, string["ovs_vport"]], fd sock_nl_generic) genl_ovs_vport_family_id$auto

sendmsg$auto_OVS_VPORT_CMD_NEW(fd sock_nl_generic, msg ptr[in, msghdr_ovs_vport$auto[OVS_VPORT_CMD_NEW, vport_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_VPORT_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_ovs_vport$auto[OVS_VPORT_CMD_DEL, vport_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_VPORT_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_vport$auto[OVS_VPORT_CMD_GET, vport_policy_datapath$auto]], f flags[send_flags])
sendmsg$auto_OVS_VPORT_CMD_SET(fd sock_nl_generic, msg ptr[in, msghdr_ovs_vport$auto[OVS_VPORT_CMD_SET, vport_policy_datapath$auto]], f flags[send_flags])

vport_policy_datapath$auto [
	OVS_VPORT_ATTR_NAME		nlattr[OVS_VPORT_ATTR_NAME, string]
	OVS_VPORT_ATTR_STATS		nlattr[OVS_VPORT_ATTR_STATS, ovs_vport_stats$auto]
	OVS_VPORT_ATTR_PORT_NO		nlattr[OVS_VPORT_ATTR_PORT_NO, int32]
	OVS_VPORT_ATTR_TYPE		nlattr[OVS_VPORT_ATTR_TYPE, int32]
	OVS_VPORT_ATTR_UPCALL_PID	nlattr[OVS_VPORT_ATTR_UPCALL_PID, array[int8]]
	OVS_VPORT_ATTR_OPTIONS		nlnest[OVS_VPORT_ATTR_OPTIONS, array[nl_generic_attr]]
	OVS_VPORT_ATTR_IFINDEX		nlattr[OVS_VPORT_ATTR_IFINDEX, ifindex]
	OVS_VPORT_ATTR_NETNSID		nlattr[OVS_VPORT_ATTR_NETNSID, int32]
	OVS_VPORT_ATTR_UPCALL_STATS	nlnest[OVS_VPORT_ATTR_UPCALL_STATS, array[nl_generic_attr]]
] [varlen]

resource genl_psample_family_id$auto[int16]
type msghdr_psample$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_psample_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_psample(name ptr[in, string["psample"]], fd sock_nl_generic) genl_psample_family_id$auto

sendmsg$auto_PSAMPLE_CMD_GET_GROUP(fd sock_nl_generic, msg ptr[in, msghdr_psample$auto[PSAMPLE_CMD_GET_GROUP, void]], f flags[send_flags])
resource genl_tcp_metrics_family_id$auto[int16]
type msghdr_tcp_metrics$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_tcp_metrics_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_tcp_metrics(name ptr[in, string["tcp_metrics"]], fd sock_nl_generic) genl_tcp_metrics_family_id$auto

sendmsg$auto_TCP_METRICS_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_tcp_metrics$auto[TCP_METRICS_CMD_GET, tcp_metrics_nl_policy_tcp_metrics$auto]], f flags[send_flags])
sendmsg$auto_TCP_METRICS_CMD_DEL(fd sock_nl_generic, msg ptr[in, msghdr_tcp_metrics$auto[TCP_METRICS_CMD_DEL, tcp_metrics_nl_policy_tcp_metrics$auto]], f flags[send_flags])

tcp_metrics_nl_policy_tcp_metrics$auto [
	TCP_METRICS_ATTR_ADDR_IPV4	nlattr[TCP_METRICS_ATTR_ADDR_IPV4, ipv4_addr]
	TCP_METRICS_ATTR_ADDR_IPV6	nlattr[TCP_METRICS_ATTR_ADDR_IPV6, array[int8]]
	TCP_METRICS_ATTR_SADDR_IPV4	nlattr[TCP_METRICS_ATTR_SADDR_IPV4, ipv4_addr]
	TCP_METRICS_ATTR_SADDR_IPV6	nlattr[TCP_METRICS_ATTR_SADDR_IPV6, array[int8]]
] [varlen]

resource genl_thermal_family_id$auto[int16]
type msghdr_thermal$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_thermal_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_thermal(name ptr[in, string["thermal"]], fd sock_nl_generic) genl_thermal_family_id$auto

sendmsg$auto_THERMAL_GENL_CMD_TZ_GET_ID(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_TZ_GET_ID, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_TZ_GET_TRIP(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_TZ_GET_TRIP, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_TZ_GET_TEMP(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_TZ_GET_TEMP, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_TZ_GET_GOV(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_TZ_GET_GOV, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_CDEV_GET(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_CDEV_GET, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_THRESHOLD_GET(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_THRESHOLD_GET, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_THRESHOLD_ADD(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_THRESHOLD_ADD, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_THRESHOLD_DELETE(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_THRESHOLD_DELETE, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])
sendmsg$auto_THERMAL_GENL_CMD_THRESHOLD_FLUSH(fd sock_nl_generic, msg ptr[in, msghdr_thermal$auto[THERMAL_GENL_CMD_THRESHOLD_FLUSH, thermal_genl_policy_thermal_netlink$auto]], f flags[send_flags])

thermal_genl_policy_thermal_netlink$auto [
	THERMAL_GENL_ATTR_TZ				nlnest[THERMAL_GENL_ATTR_TZ, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_TZ_ID				nlattr[THERMAL_GENL_ATTR_TZ_ID, int32]
	THERMAL_GENL_ATTR_TZ_TEMP			nlattr[THERMAL_GENL_ATTR_TZ_TEMP, int32]
	THERMAL_GENL_ATTR_TZ_TRIP			nlnest[THERMAL_GENL_ATTR_TZ_TRIP, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_TZ_TRIP_ID			nlattr[THERMAL_GENL_ATTR_TZ_TRIP_ID, int32]
	THERMAL_GENL_ATTR_TZ_TRIP_TEMP			nlattr[THERMAL_GENL_ATTR_TZ_TRIP_TEMP, int32]
	THERMAL_GENL_ATTR_TZ_TRIP_TYPE			nlattr[THERMAL_GENL_ATTR_TZ_TRIP_TYPE, int32]
	THERMAL_GENL_ATTR_TZ_TRIP_HYST			nlattr[THERMAL_GENL_ATTR_TZ_TRIP_HYST, int32]
	THERMAL_GENL_ATTR_TZ_MODE			nlattr[THERMAL_GENL_ATTR_TZ_MODE, int32]
	THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT		nlattr[THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT, int32]
	THERMAL_GENL_ATTR_TZ_NAME			nlattr[THERMAL_GENL_ATTR_TZ_NAME, stringnoz]
	THERMAL_GENL_ATTR_TZ_GOV			nlnest[THERMAL_GENL_ATTR_TZ_GOV, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_TZ_GOV_NAME			nlattr[THERMAL_GENL_ATTR_TZ_GOV_NAME, stringnoz]
	THERMAL_GENL_ATTR_CDEV				nlnest[THERMAL_GENL_ATTR_CDEV, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_CDEV_ID			nlattr[THERMAL_GENL_ATTR_CDEV_ID, int32]
	THERMAL_GENL_ATTR_CDEV_CUR_STATE		nlattr[THERMAL_GENL_ATTR_CDEV_CUR_STATE, int32]
	THERMAL_GENL_ATTR_CDEV_MAX_STATE		nlattr[THERMAL_GENL_ATTR_CDEV_MAX_STATE, int32]
	THERMAL_GENL_ATTR_CDEV_NAME			nlattr[THERMAL_GENL_ATTR_CDEV_NAME, devname]
	THERMAL_GENL_ATTR_CPU_CAPABILITY		nlnest[THERMAL_GENL_ATTR_CPU_CAPABILITY, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_CPU_CAPABILITY_ID		nlattr[THERMAL_GENL_ATTR_CPU_CAPABILITY_ID, int32]
	THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE	nlattr[THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE, int32]
	THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY	nlattr[THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY, int32]
	THERMAL_GENL_ATTR_THRESHOLD			nlnest[THERMAL_GENL_ATTR_THRESHOLD, array[nl_generic_attr]]
	THERMAL_GENL_ATTR_THRESHOLD_TEMP		nlattr[THERMAL_GENL_ATTR_THRESHOLD_TEMP, int32]
	THERMAL_GENL_ATTR_THRESHOLD_DIRECTION		nlattr[THERMAL_GENL_ATTR_THRESHOLD_DIRECTION, int32]
] [varlen]

resource genl_vdpa_family_id$auto[int16]
type msghdr_vdpa$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_vdpa_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_vdpa(name ptr[in, string["vdpa"]], fd sock_nl_generic) genl_vdpa_family_id$auto

sendmsg$auto_VDPA_CMD_MGMTDEV_GET(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_MGMTDEV_GET, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_NEW(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_NEW, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_DEL(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_DEL, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_GET(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_GET, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_CONFIG_GET(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_CONFIG_GET, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_VSTATS_GET(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_VSTATS_GET, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])
sendmsg$auto_VDPA_CMD_DEV_ATTR_SET(fd sock_nl_generic, msg ptr[in, msghdr_vdpa$auto[VDPA_CMD_DEV_ATTR_SET, vdpa_nl_policy_vdpa$auto]], f flags[send_flags])

vdpa_nl_policy_vdpa$auto [
	VDPA_ATTR_MGMTDEV_BUS_NAME	nlattr[VDPA_ATTR_MGMTDEV_BUS_NAME, string]
	VDPA_ATTR_MGMTDEV_DEV_NAME	nlattr[VDPA_ATTR_MGMTDEV_DEV_NAME, devname]
	VDPA_ATTR_DEV_NAME		nlattr[VDPA_ATTR_DEV_NAME, devname]
	VDPA_ATTR_DEV_NET_CFG_MACADDR	nlattr[VDPA_ATTR_DEV_NET_CFG_MACADDR, array[int8]]
	VDPA_ATTR_DEV_NET_CFG_MAX_VQP	nlattr[VDPA_ATTR_DEV_NET_CFG_MAX_VQP, int16]
	VDPA_ATTR_DEV_NET_CFG_MTU	nlattr[VDPA_ATTR_DEV_NET_CFG_MTU, int16]
	VDPA_ATTR_DEV_QUEUE_INDEX	nlattr[VDPA_ATTR_DEV_QUEUE_INDEX, int32]
	VDPA_ATTR_DEV_FEATURES		nlattr[VDPA_ATTR_DEV_FEATURES, int64]
] [varlen]

resource genl_wireguard_family_id$auto[int16]
type msghdr_wireguard$auto[CMD, POLICY] msghdr_netlink[netlink_msg_t[genl_wireguard_family_id$auto, genlmsghdr_t[CMD], POLICY]]
syz_genetlink_get_family_id$auto_wireguard(name ptr[in, string["wireguard"]], fd sock_nl_generic) genl_wireguard_family_id$auto

sendmsg$auto_WG_CMD_GET_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_wireguard$auto[WG_CMD_GET_DEVICE, device_policy_netlink$auto]], f flags[send_flags])
sendmsg$auto_WG_CMD_SET_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_wireguard$auto[WG_CMD_SET_DEVICE, device_policy_netlink$auto]], f flags[send_flags])

device_policy_netlink$auto [
	WGDEVICE_A_IFINDEX	nlattr[WGDEVICE_A_IFINDEX, ifindex]
	WGDEVICE_A_IFNAME	nlattr[WGDEVICE_A_IFNAME, devname]
	WGDEVICE_A_PRIVATE_KEY	nlattr[WGDEVICE_A_PRIVATE_KEY, array[int8]]
	WGDEVICE_A_PUBLIC_KEY	nlattr[WGDEVICE_A_PUBLIC_KEY, array[int8]]
	WGDEVICE_A_FLAGS	nlattr[WGDEVICE_A_FLAGS, int32]
	WGDEVICE_A_LISTEN_PORT	nlattr[WGDEVICE_A_LISTEN_PORT, sock_port]
	WGDEVICE_A_FWMARK	nlattr[WGDEVICE_A_FWMARK, int32]
	WGDEVICE_A_PEERS	nlnest[WGDEVICE_A_PEERS, array[nl_generic_attr]]
] [varlen]

__aio_sigset$auto {
	sigmask		ptr[in, sigset_t$auto]
	sigsetsize	const[8, intptr]
}

__kernel_fd_set$auto {
	fds_bits	array[intptr, 16]
}

__kernel_fsid_t$auto {
	val	array[int32, 2]
}

__kernel_itimerspec$auto {
	it_interval	__kernel_timespec$auto
	it_value	__kernel_timespec$auto
}

__kernel_old_itimerval$auto {
	it_interval	__kernel_old_timeval$auto
	it_value	__kernel_old_timeval$auto
}

__kernel_old_timeval$auto {
	tv_sec	intptr
	tv_usec	intptr
}

__kernel_timespec$auto {
	tv_sec	int64
	tv_nsec	int64
}

__kernel_timex$auto {
	modes			int32
	__kernel_timex_1	const[0, int32]
	offset			int64
	freq			int64
	maxerror		int64
	esterror		int64
	status			int32
	__kernel_timex_7	const[0, int32]
	constant		int64
	precision		int64
	tolerance		int64
	time			__kernel_timex_timeval$auto
	tick			int64
	ppsfreq			int64
	jitter			int64
	shift			int32
	__kernel_timex_16	const[0, int32]
	stabil			int64
	jitcnt			int64
	calcnt			int64
	errcnt			int64
	stbcnt			int64
	tai			int32
	__kernel_timex_23	const[0, int32]
	__kernel_timex_24	const[0, int32]
	__kernel_timex_25	const[0, int32]
	__kernel_timex_26	const[0, int32]
	__kernel_timex_27	const[0, int32]
	__kernel_timex_28	const[0, int32]
	__kernel_timex_29	const[0, int32]
	__kernel_timex_30	const[0, int32]
	__kernel_timex_31	const[0, int32]
	__kernel_timex_32	const[0, int32]
	__kernel_timex_33	const[0, int32]
}

__kernel_timex_timeval$auto {
	tv_sec	int64
	tv_usec	int64
}

__old_kernel_stat$auto {
	st_dev		int16
	st_ino		int16
	st_mode		int16
	st_nlink	int16
	st_uid		int16
	st_gid		int16
	st_rdev		int16
	st_size		int32
	st_atime	int32
	st_mtime	int32
	st_ctime	int32
}

__sifields$auto [
	_kill		__sifields__kill$auto
	_timer		__sifields__timer$auto
	_rt		__sifields__rt$auto
	_sigchld	__sifields__sigchld$auto
	_sigfault	__sifields__sigfault$auto
	_sigpoll	__sifields__sigpoll$auto
	_sigsys		__sifields__sigsys$auto
]

__sifields__kill$auto {
	_pid	pid
	_uid	uid
}

__sifields__rt$auto {
	_pid	pid
	_uid	uid
	_sigval	sigval$auto
}

__sifields__sigchld$auto {
	_pid	pid
	_uid	uid
	_status	int32
	_utime	intptr
	_stime	intptr
}

__sifields__sigfault$auto {
	_addr			ptr[inout, array[auto_todo]]
	__sifields__sigfault_1	__sifields__sigfault_1$auto
}

__sifields__sigfault_1$auto [
	_trapno		int32
	_addr_lsb	int16
	_addr_bnd	__sifields__sigfault_1__addr_bnd$auto
	_addr_pkey	__sifields__sigfault_1__addr_pkey$auto
	_perf		__sifields__sigfault_1__perf$auto
]

__sifields__sigfault_1__addr_bnd$auto {
	_dummy_bnd	array[int8, 8]
	_lower		ptr[inout, array[auto_todo]]
	_upper		ptr[inout, array[auto_todo]]
}

__sifields__sigfault_1__addr_pkey$auto {
	_dummy_pkey	array[int8, 8]
	_pkey		int32
}

__sifields__sigfault_1__perf$auto {
	_data	intptr
	_type	int32
	_flags	int32
}

__sifields__sigpoll$auto {
	_band	intptr
	_fd	fd
}

__sifields__sigsys$auto {
	_call_addr	ptr[inout, array[auto_todo]]
	_syscall	int32
	_arch		int32
}

__sifields__timer$auto {
	_tid		pid
	_overrun	int32
	_sigval		sigval$auto
	_sys_private	int32
}

__user_cap_data_struct$auto {
	effective	int32
	permitted	int32
	inheritable	int32
}

__user_cap_header_struct$auto {
	version	int32
	pid	pid
}

bpf_attr$auto [
	bpf_attr_0	bpf_attr_0$auto
	bpf_attr_1	bpf_attr_1$auto
	batch		bpf_attr_batch$auto
	bpf_attr_3	bpf_attr_3$auto
	bpf_attr_4	bpf_attr_4$auto
	bpf_attr_5	bpf_attr_5$auto
	test		bpf_attr_test$auto
	bpf_attr_7	bpf_attr_7$auto
	info		bpf_attr_info$auto
	query		bpf_attr_query$auto
	raw_tracepoint	bpf_attr_raw_tracepoint$auto
	bpf_attr_11	bpf_attr_11$auto
	task_fd_query	bpf_attr_task_fd_query$auto
	link_create	bpf_attr_link_create$auto
	link_update	bpf_attr_link_update$auto
	link_detach	bpf_attr_link_detach$auto
	enable_stats	bpf_attr_enable_stats$auto
	iter_create	bpf_attr_iter_create$auto
	prog_bind_map	bpf_attr_prog_bind_map$auto
	token_create	bpf_attr_token_create$auto
]

bpf_attr_0$auto {
	map_type			int32
	key_size			int32
	value_size			int32
	max_entries			int32
	map_flags			int32
	inner_map_fd			fd
	numa_node			int32
	map_name			array[int8, 16]
	map_ifindex			ifindex
	btf_fd				fd
	btf_key_type_id			int32
	btf_value_type_id		int32
	btf_vmlinux_value_type_id	int32
	map_extra			int64
	value_type_btf_obj_fd		fd
	map_token_fd			fd
}

bpf_attr_1$auto {
	map_fd		fd
	key		int64
	bpf_attr_1_2	bpf_attr_1_2$auto
	flags		int64
}

bpf_attr_11$auto {
	btf			int64
	btf_log_buf		int64
	btf_size		int32
	btf_log_size		int32
	btf_log_level		int32
	btf_log_true_size	int32
	btf_flags		int32
	btf_token_fd		fd
}

bpf_attr_1_2$auto [
	value		int64
	next_key	int64
]

bpf_attr_3$auto {
	prog_type		int32
	insn_cnt		int32
	insns			int64
	license			int64
	log_level		int32
	log_size		int32
	log_buf			int64
	kern_version		int32
	prog_flags		int32
	prog_name		array[int8, 16]
	prog_ifindex		ifindex
	expected_attach_type	int32
	prog_btf_fd		fd
	func_info_rec_size	int32
	func_info		int64
	func_info_cnt		int32
	line_info_rec_size	int32
	line_info		int64
	line_info_cnt		int32
	attach_btf_id		int32
	bpf_attr_3_20		bpf_attr_3_20$auto
	core_relo_cnt		int32
	fd_array		int64
	core_relos		int64
	core_relo_rec_size	int32
	log_true_size		int32
	prog_token_fd		fd
}

bpf_attr_3_20$auto [
	attach_prog_fd		fd
	attach_btf_obj_fd	fd
]

bpf_attr_4$auto {
	pathname	int64
	bpf_fd		fd
	file_flags	int32
	path_fd		fd
}

bpf_attr_5$auto {
	bpf_attr_5_0		bpf_attr_5_0$auto
	attach_bpf_fd		fd
	attach_type		int32
	attach_flags		int32
	replace_bpf_fd		fd
	bpf_attr_5_5		bpf_attr_5_5$auto
	expected_revision	int64
}

bpf_attr_5_0$auto [
	target_fd	fd
	target_ifindex	ifindex
]

bpf_attr_5_5$auto [
	relative_fd	fd
	relative_id	int32
]

bpf_attr_7$auto {
	bpf_attr_7_0	bpf_attr_7_0$auto
	next_id		int32
	open_flags	int32
}

bpf_attr_7_0$auto [
	start_id	int32
	prog_id		int32
	map_id		int32
	btf_id		int32
	link_id		int32
]

bpf_attr_batch$auto {
	in_batch	int64
	out_batch	int64
	keys		int64
	values		int64
	count		int32
	map_fd		fd
	elem_flags	int64
	flags		int64
}

bpf_attr_enable_stats$auto {
	type	int32
}

bpf_attr_info$auto {
	bpf_fd		fd
	info_len	int32
	info		int64
}

bpf_attr_iter_create$auto {
	link_fd	fd
	flags	int32
}

bpf_attr_link_create$auto {
	bpf_attr_link_create_0	bpf_attr_link_create_0$auto
	bpf_attr_link_create_1	bpf_attr_link_create_1$auto
	attach_type		int32
	flags			int32
	bpf_attr_link_create_4	bpf_attr_link_create_4$auto
}

bpf_attr_link_create_0$auto [
	prog_fd	fd
	map_fd	fd
]

bpf_attr_link_create_1$auto [
	target_fd	fd
	target_ifindex	ifindex
]

bpf_attr_link_create_4$auto [
	target_btf_id			int32
	bpf_attr_link_create_4_1	bpf_attr_link_create_4_1$auto
	perf_event			bpf_attr_link_create_4_perf_event$auto
	kprobe_multi			bpf_attr_link_create_4_kprobe_multi$auto
	tracing				bpf_attr_link_create_4_tracing$auto
	netfilter			bpf_attr_link_create_4_netfilter$auto
	tcx				bpf_attr_link_create_4_tcx$auto
	uprobe_multi			bpf_attr_link_create_4_uprobe_multi$auto
	netkit				bpf_attr_link_create_4_netkit$auto
]

bpf_attr_link_create_4_1$auto {
	iter_info	int64
	iter_info_len	int32
}

bpf_attr_link_create_4_kprobe_multi$auto {
	flags	int32
	cnt	int32
	syms	int64
	addrs	int64
	cookies	int64
}

bpf_attr_link_create_4_netfilter$auto {
	pf		int32
	hooknum		int32
	priority	int32
	flags		int32
}

bpf_attr_link_create_4_netkit$auto {
	bpf_attr_link_create_4_netkit_0	bpf_attr_link_create_4_netkit_0$auto
	expected_revision		int64
}

bpf_attr_link_create_4_netkit_0$auto [
	relative_fd	fd
	relative_id	int32
]

bpf_attr_link_create_4_perf_event$auto {
	bpf_cookie	int64
}

bpf_attr_link_create_4_tcx$auto {
	bpf_attr_link_create_4_tcx_0	bpf_attr_link_create_4_tcx_0$auto
	expected_revision		int64
}

bpf_attr_link_create_4_tcx_0$auto [
	relative_fd	fd
	relative_id	int32
]

bpf_attr_link_create_4_tracing$auto {
	target_btf_id	int32
	cookie		int64
}

bpf_attr_link_create_4_uprobe_multi$auto {
	path		int64
	offsets		int64
	ref_ctr_offsets	int64
	cookies		int64
	cnt		int32
	flags		int32
	pid		pid
}

bpf_attr_link_detach$auto {
	link_fd	fd
}

bpf_attr_link_update$auto {
	link_fd			fd
	bpf_attr_link_update_1	bpf_attr_link_update_1$auto
	flags			int32
	bpf_attr_link_update_3	bpf_attr_link_update_3$auto
}

bpf_attr_link_update_1$auto [
	new_prog_fd	fd
	new_map_fd	fd
]

bpf_attr_link_update_3$auto [
	old_prog_fd	fd
	old_map_fd	fd
]

bpf_attr_prog_bind_map$auto {
	prog_fd	fd
	map_fd	fd
	flags	int32
}

bpf_attr_query$auto {
	bpf_attr_query_0	bpf_attr_query_0$auto
	attach_type		int32
	query_flags		int32
	attach_flags		int32
	prog_ids		int64
	bpf_attr_query_5	bpf_attr_query_5$auto
	bpf_attr_query_6	const[0, int32]
	prog_attach_flags	int64
	link_ids		int64
	link_attach_flags	int64
	revision		int64
}

bpf_attr_query_0$auto [
	target_fd	fd
	target_ifindex	ifindex
]

bpf_attr_query_5$auto [
	prog_cnt	int32
	count		int32
]

bpf_attr_raw_tracepoint$auto {
	name				int64
	prog_fd				fd
	bpf_attr_raw_tracepoint_2	const[0, int32]
	cookie				int64
}

bpf_attr_task_fd_query$auto {
	pid		pid
	fd		fd
	flags		int32
	buf_len		int32
	buf		int64
	prog_id		int32
	fd_type		fd
	probe_offset	int64
	probe_addr	int64
}

bpf_attr_test$auto {
	prog_fd		fd
	retval		int32
	data_size_in	int32
	data_size_out	int32
	data_in		int64
	data_out	int64
	repeat		int32
	duration	int32
	ctx_size_in	int32
	ctx_size_out	int32
	ctx_in		int64
	ctx_out		int64
	flags		int32
	cpu		int32
	batch_size	int32
}

bpf_attr_token_create$auto {
	flags		int32
	bpffs_fd	fd
}

cachestat$auto {
	nr_cache		int64
	nr_dirty		int64
	nr_writeback		int64
	nr_evicted		int64
	nr_recently_evicted	int64
}

cachestat_range$auto {
	off	int64
	len	int64
}

clone_args$auto {
	flags		int64
	pidfd		int64
	child_tid	int64
	parent_tid	int64
	exit_signal	int64
	stack		int64
	stack_size	int64
	tls		int64
	set_tid		int64
	set_tid_size	int64
	cgroup		int64
}

epoll_event$auto {
	events	int32
	data	int64
} [packed]

file_handle$auto {
	handle_bytes	len[f_handle, int32]
	handle_type	int32
	f_handle	array[int8]
}

futex_waitv$auto {
	val		int64
	uaddr		int64
	flags		int32
	__reserved	const[0, int32]
}

getcpu_cache$auto {
	blob	array[intptr, 16]
}

hwsim_tx_rate$auto {
	idx	int8
	count	int8
} [packed]

io_cqring_offsets$auto {
	head		int32
	tail		int32
	ring_mask	int32
	ring_entries	int32
	overflow	int32
	cqes		int32
	flags		int32
	resv1		int32
	user_addr	int64
}

io_event$auto {
	data	int64
	obj	int64
	res	int64
	res2	int64
}

io_sqring_offsets$auto {
	head		int32
	tail		int32
	ring_mask	int32
	ring_entries	int32
	flags		int32
	dropped		int32
	array		int32
	resv1		int32
	user_addr	int64
}

io_uring_params$auto {
	sq_entries	int32
	cq_entries	int32
	flags		int32
	sq_thread_cpu	int32
	sq_thread_idle	int32
	features	int32
	wq_fd		fd
	resv		array[int32, 3]
	sq_off		io_sqring_offsets$auto
	cq_off		io_cqring_offsets$auto
}

iocb$auto {
	aio_data	int64
	aio_key		int32
	aio_rw_flags	int32
	aio_lio_opcode	int16
	aio_reqprio	int16
	aio_fildes	fd
	aio_buf		int64
	aio_nbytes	int64
	aio_offset	int64
	aio_reserved2	const[0, int64]
	aio_flags	int32
	aio_resfd	fd
}

iovec$auto {
	iov_base	ptr[inout, array[auto_todo]]
	iov_len		intptr
}

ipc_perm$auto {
	key	int32
	uid	uid
	gid	gid
	cuid	int32
	cgid	int32
	mode	int32
	seq	int16
}

kexec_segment$auto {
	kexec_segment_0	kexec_segment_0$auto
	bufsz		intptr
	mem		intptr
	memsz		intptr
}

kexec_segment_0$auto [
	buf	ptr[inout, array[auto_todo]]
	kbuf	ptr[inout, array[auto_todo]]
]

landlock_ruleset_attr$auto {
	handled_access_fs	int64
	handled_access_net	int64
	scoped			int64
}

linux_dirent$auto {
	d_ino		intptr
	d_off		intptr
	d_reclen	int16
	d_name		array[int8]
}

linux_dirent64$auto {
	d_ino		int64
	d_off		int64
	d_reclen	int16
	d_type		int8
	d_name		array[int8]
}

lsm_ctx$auto {
	id	int64
	flags	int64
	len	int64
	ctx_len	len[ctx, int64]
	ctx	array[int8]
}

mmsghdr$auto {
	msg_hdr	user_msghdr$auto
	msg_len	int32
}

mnt_id_req$auto {
	size		int32
	spare		int32
	mnt_id		int64
	param		int64
	mnt_ns_id	int64
}

mount_attr$auto {
	attr_set	int64
	attr_clr	int64
	propagation	int64
	userns_fd	int64
}

mq_attr$auto {
	mq_flags	intptr
	mq_maxmsg	intptr
	mq_msgsize	intptr
	mq_curmsgs	intptr
	__reserved	array[const[0, intptr], 4]
}

msgbuf$auto {
	mtype	intptr
	mtext	int8
}

msqid_ds$auto {
	msg_perm	ipc_perm$auto
	msg_first	ptr[inout, auto_todo]
	msg_last	ptr[inout, auto_todo]
	msg_stime	intptr
	msg_rtime	intptr
	msg_ctime	intptr
	msg_lcbytes	intptr
	msg_lqbytes	intptr
	msg_cbytes	int16
	msg_qnum	int16
	msg_qbytes	int16
	msg_lspid	int32
	msg_lrpid	int32
}

new_utsname$auto {
	sysname		array[int8, 65]
	nodename	array[int8, 65]
	release		array[int8, 65]
	version		array[int8, 65]
	machine		array[int8, 65]
	domainname	array[int8, 65]
}

nl80211_bss_select_rssi_adjust$auto {
	band	int8
	delta	int8
} [packed]

old_linux_dirent$auto {
	d_ino		intptr
	d_offset	intptr
	d_namlen	int16
	d_name		array[int8]
}

old_utsname$auto {
	sysname		array[int8, 65]
	nodename	array[int8, 65]
	release		array[int8, 65]
	version		array[int8, 65]
	machine		array[int8, 65]
}

oldold_utsname$auto {
	sysname		array[int8, 9]
	nodename	array[int8, 9]
	release		array[int8, 9]
	version		array[int8, 9]
	machine		array[int8, 9]
}

open_how$auto {
	flags	int64
	mode	int64
	resolve	int64
}

ovs_flow_stats$auto {
	n_packets	int64
	n_bytes		int64
}

ovs_vport_stats$auto {
	rx_packets	int64
	tx_packets	int64
	rx_bytes	int64
	tx_bytes	int64
	rx_errors	int64
	tx_errors	int64
	rx_dropped	int64
	tx_dropped	int64
}

perf_event_attr$auto {
	type				int32
	size				int32
	config				int64
	perf_event_attr_3		perf_event_attr_3$auto
	sample_type			int64
	read_format			int64
	disabled			int64:1
	inherit				int64:1
	pinned				int64:1
	exclusive			int64:1
	exclude_user			int64:1
	exclude_kernel			int64:1
	exclude_hv			int64:1
	exclude_idle			int64:1
	mmap				int64:1
	comm				int64:1
	freq				int64:1
	inherit_stat			int64:1
	enable_on_exec			int64:1
	task				int64:1
	watermark			int64:1
	precise_ip			int64:2
	mmap_data			int64:1
	sample_id_all			int64:1
	exclude_host			int64:1
	exclude_guest			int64:1
	exclude_callchain_kernel	int64:1
	exclude_callchain_user		int64:1
	mmap2				int64:1
	comm_exec			int64:1
	use_clockid			int64:1
	context_switch			int64:1
	write_backward			int64:1
	namespaces			int64:1
	ksymbol				int64:1
	bpf_event			int64:1
	aux_output			int64:1
	cgroup				int64:1
	text_poke			int64:1
	build_id			int64:1
	inherit_thread			int64:1
	remove_on_exec			int64:1
	sigtrap				int64:1
	__reserved_1			const[0, int64:26]
	perf_event_attr_44		perf_event_attr_44$auto
	bp_type				int32
	perf_event_attr_46		perf_event_attr_46$auto
	perf_event_attr_47		perf_event_attr_47$auto
	branch_sample_type		int64
	sample_regs_user		int64
	sample_stack_user		int32
	clockid				int32
	sample_regs_intr		int64
	aux_watermark			int32
	sample_max_stack		int16
	__reserved_2			const[0, int16]
	aux_sample_size			int32
	perf_event_attr_57		perf_event_attr_57$auto
	sig_data			int64
	config3				int64
}

perf_event_attr_3$auto [
	sample_period	int64
	sample_freq	int64
]

perf_event_attr_44$auto [
	wakeup_events		int32
	wakeup_watermark	int32
]

perf_event_attr_46$auto [
	bp_addr		int64
	kprobe_func	int64
	uprobe_path	int64
	config1		int64
]

perf_event_attr_47$auto [
	bp_len		int64
	kprobe_addr	int64
	probe_offset	int64
	config2		int64
]

perf_event_attr_57$auto [
	aux_action		int32
	perf_event_attr_57_1	perf_event_attr_57_1$auto
]

perf_event_attr_57_1$auto {
	aux_start_paused	int32:1
	aux_pause		int32:1
	aux_resume		int32:1
	__reserved_3		const[0, int32:29]
}

pollfd$auto {
	fd	fd
	events	int16
	revents	int16
}

rlimit$auto {
	rlim_cur	intptr
	rlim_max	intptr
}

rlimit64$auto {
	rlim_cur	int64
	rlim_max	int64
}

robust_list$auto {
	next	ptr[inout, robust_list$auto, opt]
}

robust_list_head$auto {
	list		robust_list$auto
	futex_offset	intptr
	list_op_pending	ptr[inout, robust_list$auto]
}

rseq$auto {
	cpu_id_start	int32
	cpu_id		int32
	rseq_cs		int64
	flags		int32
	node_id		int32
	mm_cid		int32
	end		array[int8]
} [align[32]]

rusage$auto {
	ru_utime	__kernel_old_timeval$auto
	ru_stime	__kernel_old_timeval$auto
	ru_maxrss	intptr
	ru_ixrss	intptr
	ru_idrss	intptr
	ru_isrss	intptr
	ru_minflt	intptr
	ru_majflt	intptr
	ru_nswap	intptr
	ru_inblock	intptr
	ru_oublock	intptr
	ru_msgsnd	intptr
	ru_msgrcv	intptr
	ru_nsignals	intptr
	ru_nvcsw	intptr
	ru_nivcsw	intptr
}

sched_attr$auto {
	size		int32
	sched_policy	int32
	sched_flags	int64
	sched_nice	int32
	sched_priority	int32
	sched_runtime	int64
	sched_deadline	int64
	sched_period	int64
	sched_util_min	int32
	sched_util_max	int32
}

sched_param$auto {
	sched_priority	int32
}

sembuf$auto {
	sem_num	int16
	sem_op	int16
	sem_flg	int16
}

shmid_ds$auto {
	shm_perm	ipc_perm$auto
	shm_segsz	int32
	shm_atime	intptr
	shm_dtime	intptr
	shm_ctime	intptr
	shm_cpid	int32
	shm_lpid	int32
	shm_nattch	int16
	shm_unused	const[0, int16]
	shm_unused2	ptr[inout, array[auto_todo]]
	shm_unused3	ptr[inout, array[auto_todo]]
}

sigaction$auto {
	sa_handler	ptr[inout, ptr[in, auto_todo]]
	sa_flags	intptr
	sa_restorer	ptr[inout, ptr[in, auto_todo]]
	sa_mask		sigset_t$auto
}

sigaltstack$auto {
	ss_sp		ptr[inout, array[auto_todo]]
	ss_flags	int32
	ss_size		intptr
}

sigevent$auto {
	sigev_value	sigval$auto
	sigev_signo	int32
	sigev_notify	int32
	_sigev_un	sigevent__sigev_un$auto
}

sigevent__sigev_un$auto [
	_pad		array[const[0, int32], 12]
	_tid		pid
	_sigev_thread	sigevent__sigev_un__sigev_thread$auto
]

sigevent__sigev_un__sigev_thread$auto {
	_function	ptr[inout, ptr[in, auto_todo]]
	_attribute	ptr[inout, array[auto_todo]]
}

siginfo$auto {
	siginfo_0	siginfo_0$auto
}

siginfo_0$auto [
	siginfo_0_0	siginfo_0_0$auto
	_si_pad		array[const[0, int32], 32]
]

siginfo_0_0$auto {
	si_signo	int32
	si_errno	int32
	si_code		int32
	_sifields	__sifields$auto
}

sigset_t$auto {
	sig	intptr
}

sigval$auto [
	sival_int	int32
	sival_ptr	ptr[inout, array[auto_todo]]
]

stat$auto {
	st_dev		intptr
	st_ino		intptr
	st_nlink	intptr
	st_mode		int32
	st_uid		uid
	st_gid		gid
	__pad0		const[0, int32]
	st_rdev		intptr
	st_size		intptr
	st_blksize	intptr
	st_blocks	intptr
	st_atime	intptr
	st_atime_nsec	intptr
	st_mtime	intptr
	st_mtime_nsec	intptr
	st_ctime	intptr
	st_ctime_nsec	intptr
	__unused	array[const[0, intptr], 3]
}

statfs$auto {
	f_type		intptr
	f_bsize		intptr
	f_blocks	intptr
	f_bfree		intptr
	f_bavail	intptr
	f_files		intptr
	f_ffree		intptr
	f_fsid		__kernel_fsid_t$auto
	f_namelen	intptr
	f_frsize	intptr
	f_flags		intptr
	f_spare		array[intptr, 4]
}

statfs64$auto {
	f_type		intptr
	f_bsize		intptr
	f_blocks	int64
	f_bfree		int64
	f_bavail	int64
	f_files		int64
	f_ffree		int64
	f_fsid		__kernel_fsid_t$auto
	f_namelen	intptr
	f_frsize	intptr
	f_flags		intptr
	f_spare		array[intptr, 4]
}

statmount$auto {
	size			int32
	mnt_opts		int32
	mask			int64
	sb_dev_major		int32
	sb_dev_minor		int32
	sb_magic		int64
	sb_flags		int32
	fs_type			int32
	mnt_id			int64
	mnt_parent_id		int64
	mnt_id_old		int32
	mnt_parent_id_old	int32
	mnt_attr		int64
	mnt_propagation		int64
	mnt_peer_group		int64
	mnt_master		int64
	propagate_from		int64
	mnt_root		int32
	mnt_point		int32
	mnt_ns_id		int64
	fs_subtype		int32
	sb_source		int32
	opt_num			int32
	opt_array		int32
	opt_sec_num		int32
	opt_sec_array		int32
	__spare2		array[int64, 46]
	str			array[int8]
}

statx$auto {
	stx_mask			int32
	stx_blksize			int32
	stx_attributes			int64
	stx_nlink			int32
	stx_uid				uid
	stx_gid				gid
	stx_mode			int16
	__spare0			int16
	stx_ino				int64
	stx_size			int64
	stx_blocks			int64
	stx_attributes_mask		int64
	stx_atime			statx_timestamp$auto
	stx_btime			statx_timestamp$auto
	stx_ctime			statx_timestamp$auto
	stx_mtime			statx_timestamp$auto
	stx_rdev_major			int32
	stx_rdev_minor			int32
	stx_dev_major			int32
	stx_dev_minor			int32
	stx_mnt_id			int64
	stx_dio_mem_align		int32
	stx_dio_offset_align		int32
	stx_subvol			int64
	stx_atomic_write_unit_min	int32
	stx_atomic_write_unit_max	int32
	stx_atomic_write_segments_max	int32
	__spare1			int32
	__spare3			array[int64, 9]
}

statx_timestamp$auto {
	tv_sec		int64
	tv_nsec		int32
	__reserved	const[0, int32]
}

sysinfo$auto {
	uptime		intptr
	loads		array[intptr, 3]
	totalram	intptr
	freeram		intptr
	sharedram	intptr
	bufferram	intptr
	totalswap	intptr
	freeswap	intptr
	procs		int16
	pad		const[0, int16]
	totalhigh	intptr
	freehigh	intptr
	mem_unit	int32
	_f		array[int8]
}

timezone$auto {
	tz_minuteswest	int32
	tz_dsttime	int32
}

tms$auto {
	tms_utime	intptr
	tms_stime	intptr
	tms_cutime	intptr
	tms_cstime	intptr
}

user_desc$auto {
	entry_number	int32
	base_addr	int32
	limit		int32
	seg_32bit	int32:1
	contents	int32:2
	read_exec_only	int32:1
	limit_in_pages	int32:1
	seg_not_present	int32:1
	useable		int32:1
	lm		int32:1
}

user_msghdr$auto {
	msg_name	ptr[inout, array[auto_todo]]
	msg_namelen	int32
	msg_iov		ptr[inout, iovec$auto]
	msg_iovlen	intptr
	msg_control	ptr[inout, array[auto_todo]]
	msg_controllen	intptr
	msg_flags	int32
}

ustat$auto {
	f_tfree		int32
	f_tinode	intptr
	f_fname		array[int8, 6]
	f_fpack		array[int8, 6]
}

utimbuf$auto {
	actime	intptr
	modtime	intptr
}

xattr_args$auto {
	value	int64
	size	int32
	flags	int32
}

define HWSIM_ATTR_ADDR_RECEIVER	1
define HWSIM_ATTR_ADDR_TRANSMITTER	2
define HWSIM_ATTR_CHANNELS	9
define HWSIM_ATTR_CIPHER_SUPPORT	24
define HWSIM_ATTR_COOKIE	8
define HWSIM_ATTR_DESTROY_RADIO_ON_CLOSE	16
define HWSIM_ATTR_FLAGS	4
define HWSIM_ATTR_FRAME	3
define HWSIM_ATTR_FREQ	19
define HWSIM_ATTR_IFTYPE_SUPPORT	23
define HWSIM_ATTR_MLO_SUPPORT	25
define HWSIM_ATTR_MULTI_RADIO	29
define HWSIM_ATTR_NO_VIF	18
define HWSIM_ATTR_PERM_ADDR	22
define HWSIM_ATTR_PMSR_RESULT	28
define HWSIM_ATTR_PMSR_SUPPORT	26
define HWSIM_ATTR_RADIO_ID	10
define HWSIM_ATTR_RADIO_NAME	17
define HWSIM_ATTR_REG_CUSTOM_REG	12
define HWSIM_ATTR_REG_HINT_ALPHA2	11
define HWSIM_ATTR_REG_STRICT_REG	13
define HWSIM_ATTR_RX_RATE	5
define HWSIM_ATTR_SIGNAL	6
define HWSIM_ATTR_SUPPORT_P2P_DEVICE	14
define HWSIM_ATTR_TX_INFO	7
define HWSIM_ATTR_TX_INFO_FLAGS	21
define HWSIM_ATTR_USE_CHANCTX	15
define HWSIM_CMD_DEL_RADIO	5
define HWSIM_CMD_FRAME	2
define HWSIM_CMD_GET_RADIO	6
define HWSIM_CMD_NEW_RADIO	4
define HWSIM_CMD_REGISTER	1
define HWSIM_CMD_REPORT_PMSR	11
define HWSIM_CMD_TX_INFO_FRAME	3
define HWSIM_RATE_INFO_ATTR_BW	5
define HWSIM_RATE_INFO_ATTR_EHT_GI	10
define HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC	11
define HWSIM_RATE_INFO_ATTR_FLAGS	1
define HWSIM_RATE_INFO_ATTR_HE_DCM	7
define HWSIM_RATE_INFO_ATTR_HE_GI	6
define HWSIM_RATE_INFO_ATTR_HE_RU_ALLOC	8
define HWSIM_RATE_INFO_ATTR_LEGACY	3
define HWSIM_RATE_INFO_ATTR_MCS	2
define HWSIM_RATE_INFO_ATTR_NSS	4
define HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH	9
define IEEE802154_ADD_IFACE	33
define IEEE802154_ASSOCIATE_REQ	1
define IEEE802154_ASSOCIATE_RESP	19
define IEEE802154_ATTR_BAT_EXT	26
define IEEE802154_ATTR_BCN_ORD	23
define IEEE802154_ATTR_CAPABILITY	17
define IEEE802154_ATTR_CCA_ED_LEVEL	36
define IEEE802154_ATTR_CCA_MODE	35
define IEEE802154_ATTR_CHANNEL	7
define IEEE802154_ATTR_CHANNELS	20
define IEEE802154_ATTR_CHANNEL_PAGE_LIST	30
define IEEE802154_ATTR_COORD_HW_ADDR	9
define IEEE802154_ATTR_COORD_PAN_ID	10
define IEEE802154_ATTR_COORD_REALIGN	27
define IEEE802154_ATTR_COORD_SHORT_ADDR	8
define IEEE802154_ATTR_CSMA_MAX_BE	39
define IEEE802154_ATTR_CSMA_MIN_BE	38
define IEEE802154_ATTR_CSMA_RETRIES	37
define IEEE802154_ATTR_DEST_HW_ADDR	15
define IEEE802154_ATTR_DEST_PAN_ID	16
define IEEE802154_ATTR_DEST_SHORT_ADDR	14
define IEEE802154_ATTR_DEV_INDEX	2
define IEEE802154_ATTR_DEV_NAME	1
define IEEE802154_ATTR_DEV_TYPE	32
define IEEE802154_ATTR_DURATION	21
define IEEE802154_ATTR_ED_LIST	22
define IEEE802154_ATTR_FRAME_RETRIES	40
define IEEE802154_ATTR_HW_ADDR	5
define IEEE802154_ATTR_LBT_ENABLED	34
define IEEE802154_ATTR_LLSEC_CMD_FRAME_ID	52
define IEEE802154_ATTR_LLSEC_DEV_KEY_MODE	55
define IEEE802154_ATTR_LLSEC_DEV_OVERRIDE	54
define IEEE802154_ATTR_LLSEC_ENABLED	41
define IEEE802154_ATTR_LLSEC_FRAME_COUNTER	47
define IEEE802154_ATTR_LLSEC_FRAME_TYPE	51
define IEEE802154_ATTR_LLSEC_KEY_BYTES	48
define IEEE802154_ATTR_LLSEC_KEY_ID	46
define IEEE802154_ATTR_LLSEC_KEY_MODE	43
define IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED	45
define IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT	44
define IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS	50
define IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES	49
define IEEE802154_ATTR_LLSEC_SECLEVEL	42
define IEEE802154_ATTR_LLSEC_SECLEVELS	53
define IEEE802154_ATTR_PAGE	29
define IEEE802154_ATTR_PAN_COORD	25
define IEEE802154_ATTR_PAN_ID	6
define IEEE802154_ATTR_PHY_NAME	31
define IEEE802154_ATTR_REASON	18
define IEEE802154_ATTR_SCAN_TYPE	19
define IEEE802154_ATTR_SF_ORD	24
define IEEE802154_ATTR_SHORT_ADDR	4
define IEEE802154_ATTR_SRC_HW_ADDR	12
define IEEE802154_ATTR_SRC_PAN_ID	13
define IEEE802154_ATTR_SRC_SHORT_ADDR	11
define IEEE802154_ATTR_STATUS	3
define IEEE802154_ATTR_TXPOWER	33
define IEEE802154_DEL_IFACE	34
define IEEE802154_DISASSOCIATE_REQ	3
define IEEE802154_LIST_IFACE	31
define IEEE802154_LIST_PHY	32
define IEEE802154_LLSEC_ADD_DEV	42
define IEEE802154_LLSEC_ADD_DEVKEY	45
define IEEE802154_LLSEC_ADD_KEY	39
define IEEE802154_LLSEC_ADD_SECLEVEL	48
define IEEE802154_LLSEC_DEL_DEV	43
define IEEE802154_LLSEC_DEL_DEVKEY	46
define IEEE802154_LLSEC_DEL_KEY	40
define IEEE802154_LLSEC_DEL_SECLEVEL	49
define IEEE802154_LLSEC_GETPARAMS	36
define IEEE802154_LLSEC_LIST_DEV	41
define IEEE802154_LLSEC_LIST_DEVKEY	44
define IEEE802154_LLSEC_LIST_KEY	38
define IEEE802154_LLSEC_LIST_SECLEVEL	47
define IEEE802154_LLSEC_SETPARAMS	37
define IEEE802154_SCAN_REQ	9
define IEEE802154_SET_MACPARAMS	35
define IEEE802154_START_REQ	13
define MAC802154_HWSIM_ATTR_RADIO_EDGE	2
define MAC802154_HWSIM_ATTR_RADIO_EDGES	3
define MAC802154_HWSIM_ATTR_RADIO_ID	1
define MAC802154_HWSIM_CMD_DEL_EDGE	7
define MAC802154_HWSIM_CMD_DEL_RADIO	4
define MAC802154_HWSIM_CMD_GET_RADIO	1
define MAC802154_HWSIM_CMD_NEW_EDGE	8
define MAC802154_HWSIM_CMD_NEW_RADIO	3
define MAC802154_HWSIM_CMD_SET_EDGE	6
define MAC802154_HWSIM_EDGE_ATTR_ENDPOINT_ID	1
define MAC802154_HWSIM_EDGE_ATTR_LQI	2
define NL802154_ATTR_ACKREQ_DEFAULT	26
define NL802154_ATTR_BEACON_INTERVAL	38
define NL802154_ATTR_CCA_ED_LEVEL	14
define NL802154_ATTR_CCA_MODE	12
define NL802154_ATTR_CCA_OPT	13
define NL802154_ATTR_CHANNEL	8
define NL802154_ATTR_COORDINATOR	30
define NL802154_ATTR_EXTENDED_ADDR	23
define NL802154_ATTR_IFINDEX	3
define NL802154_ATTR_IFNAME	4
define NL802154_ATTR_IFTYPE	5
define NL802154_ATTR_LBT_MODE	19
define NL802154_ATTR_MAX_ASSOCIATIONS	39
define NL802154_ATTR_MAX_BE	16
define NL802154_ATTR_MAX_CSMA_BACKOFFS	18
define NL802154_ATTR_MAX_FRAME_RETRIES	15
define NL802154_ATTR_MIN_BE	17
define NL802154_ATTR_NETNS_FD	29
define NL802154_ATTR_PAGE	7
define NL802154_ATTR_PAN_ID	9
define NL802154_ATTR_PEER	40
define NL802154_ATTR_PID	28
define NL802154_ATTR_SCAN_CHANNELS	33
define NL802154_ATTR_SCAN_DONE_REASON	37
define NL802154_ATTR_SCAN_DURATION	36
define NL802154_ATTR_SCAN_MEAN_PRF	35
define NL802154_ATTR_SCAN_PREAMBLE_CODES	34
define NL802154_ATTR_SCAN_TYPE	31
define NL802154_ATTR_SEC_DEVICE	46
define NL802154_ATTR_SEC_DEVKEY	47
define NL802154_ATTR_SEC_ENABLED	41
define NL802154_ATTR_SEC_FRAME_COUNTER	44
define NL802154_ATTR_SEC_KEY	48
define NL802154_ATTR_SEC_LEVEL	45
define NL802154_ATTR_SEC_OUT_KEY_ID	43
define NL802154_ATTR_SEC_OUT_LEVEL	42
define NL802154_ATTR_SHORT_ADDR	10
define NL802154_ATTR_SUPPORTED_CHANNEL	22
define NL802154_ATTR_SUPPORTED_COMMANDS	25
define NL802154_ATTR_TX_POWER	11
define NL802154_ATTR_WPAN_DEV	6
define NL802154_ATTR_WPAN_PHY	1
define NL802154_ATTR_WPAN_PHY_CAPS	24
define NL802154_ATTR_WPAN_PHY_NAME	2
define NL802154_CMD_ABORT_SCAN	36
define NL802154_CMD_ASSOCIATE	40
define NL802154_CMD_DEL_INTERFACE	8
define NL802154_CMD_DEL_SEC_DEV	27
define NL802154_CMD_DEL_SEC_DEVKEY	30
define NL802154_CMD_DEL_SEC_KEY	24
define NL802154_CMD_DEL_SEC_LEVEL	33
define NL802154_CMD_DISASSOCIATE	41
define NL802154_CMD_GET_INTERFACE	5
define NL802154_CMD_GET_SEC_DEV	25
define NL802154_CMD_GET_SEC_DEVKEY	28
define NL802154_CMD_GET_SEC_KEY	22
define NL802154_CMD_GET_SEC_LEVEL	31
define NL802154_CMD_GET_WPAN_PHY	1
define NL802154_CMD_LIST_ASSOCIATIONS	43
define NL802154_CMD_NEW_INTERFACE	7
define NL802154_CMD_NEW_SEC_DEV	26
define NL802154_CMD_NEW_SEC_DEVKEY	29
define NL802154_CMD_NEW_SEC_KEY	23
define NL802154_CMD_NEW_SEC_LEVEL	32
define NL802154_CMD_SEND_BEACONS	38
define NL802154_CMD_SET_ACKREQ_DEFAULT	19
define NL802154_CMD_SET_BACKOFF_EXPONENT	16
define NL802154_CMD_SET_CCA_ED_LEVEL	14
define NL802154_CMD_SET_CCA_MODE	13
define NL802154_CMD_SET_CHANNEL	9
define NL802154_CMD_SET_LBT_MODE	18
define NL802154_CMD_SET_MAX_ASSOCIATIONS	42
define NL802154_CMD_SET_MAX_CSMA_BACKOFFS	17
define NL802154_CMD_SET_MAX_FRAME_RETRIES	15
define NL802154_CMD_SET_PAN_ID	10
define NL802154_CMD_SET_SEC_PARAMS	21
define NL802154_CMD_SET_SHORT_ADDR	11
define NL802154_CMD_SET_TX_POWER	12
define NL802154_CMD_SET_WPAN_PHY_NETNS	20
define NL802154_CMD_STOP_BEACONS	39
define NL802154_CMD_TRIGGER_SCAN	35
define NL802154_DEVKEY_ATTR_EXTENDED_ADDR	2
define NL802154_DEVKEY_ATTR_FRAME_COUNTER	1
define NL802154_DEVKEY_ATTR_ID	3
define NL802154_DEV_ADDR_ATTR_EXTENDED	4
define NL802154_DEV_ADDR_ATTR_MODE	2
define NL802154_DEV_ADDR_ATTR_PAN_ID	1
define NL802154_DEV_ADDR_ATTR_SHORT	3
define NL802154_DEV_ATTR_EXTENDED_ADDR	4
define NL802154_DEV_ATTR_FRAME_COUNTER	1
define NL802154_DEV_ATTR_KEY_MODE	6
define NL802154_DEV_ATTR_PAN_ID	2
define NL802154_DEV_ATTR_SECLEVEL_EXEMPT	5
define NL802154_DEV_ATTR_SHORT_ADDR	3
define NL802154_KEY_ATTR_BYTES	4
define NL802154_KEY_ATTR_ID	1
define NL802154_KEY_ATTR_USAGE_CMDS	3
define NL802154_KEY_ATTR_USAGE_FRAMES	2
define NL802154_KEY_ID_ATTR_IMPLICIT	3
define NL802154_KEY_ID_ATTR_INDEX	2
define NL802154_KEY_ID_ATTR_MODE	1
define NL802154_KEY_ID_ATTR_SOURCE_EXTENDED	5
define NL802154_KEY_ID_ATTR_SOURCE_SHORT	4
define NL802154_SECLEVEL_ATTR_CMD_FRAME	3
define NL802154_SECLEVEL_ATTR_DEV_OVERRIDE	4
define NL802154_SECLEVEL_ATTR_FRAME	2
define NL802154_SECLEVEL_ATTR_LEVELS	1
define NLBL_CALIPSO_A_DOI	1
define NLBL_CALIPSO_A_MTYPE	2
define NLBL_CALIPSO_C_ADD	1
define NLBL_CALIPSO_C_LIST	3
define NLBL_CALIPSO_C_LISTALL	4
define NLBL_CALIPSO_C_REMOVE	2
define NLBL_CIPSOV4_A_DOI	1
define NLBL_CIPSOV4_A_MLSCAT	11
define NLBL_CIPSOV4_A_MLSCATLOC	9
define NLBL_CIPSOV4_A_MLSCATLST	12
define NLBL_CIPSOV4_A_MLSCATREM	10
define NLBL_CIPSOV4_A_MLSLVL	7
define NLBL_CIPSOV4_A_MLSLVLLOC	5
define NLBL_CIPSOV4_A_MLSLVLLST	8
define NLBL_CIPSOV4_A_MLSLVLREM	6
define NLBL_CIPSOV4_A_MTYPE	2
define NLBL_CIPSOV4_A_TAG	3
define NLBL_CIPSOV4_A_TAGLST	4
define NLBL_CIPSOV4_C_ADD	1
define NLBL_CIPSOV4_C_LIST	3
define NLBL_CIPSOV4_C_LISTALL	4
define NLBL_CIPSOV4_C_REMOVE	2
define NLBL_MGMT_A_CLPDOI	12
define NLBL_MGMT_A_CV4DOI	4
define NLBL_MGMT_A_DOMAIN	1
define NLBL_MGMT_A_FAMILY	11
define NLBL_MGMT_A_PROTOCOL	2
define NLBL_MGMT_A_VERSION	3
define NLBL_MGMT_C_ADD	1
define NLBL_MGMT_C_ADDDEF	4
define NLBL_MGMT_C_LISTALL	3
define NLBL_MGMT_C_LISTDEF	6
define NLBL_MGMT_C_PROTOCOLS	7
define NLBL_MGMT_C_REMOVE	2
define NLBL_MGMT_C_REMOVEDEF	5
define NLBL_MGMT_C_VERSION	8
define NLBL_UNLABEL_A_ACPTFLG	1
define NLBL_UNLABEL_A_IFACE	6
define NLBL_UNLABEL_A_IPV4ADDR	4
define NLBL_UNLABEL_A_IPV4MASK	5
define NLBL_UNLABEL_A_IPV6ADDR	2
define NLBL_UNLABEL_A_IPV6MASK	3
define NLBL_UNLABEL_A_SECCTX	7
define NLBL_UNLABEL_C_ACCEPT	1
define NLBL_UNLABEL_C_LIST	2
define NLBL_UNLABEL_C_STATICADD	3
define NLBL_UNLABEL_C_STATICADDDEF	6
define NLBL_UNLABEL_C_STATICLIST	5
define NLBL_UNLABEL_C_STATICLISTDEF	8
define NLBL_UNLABEL_C_STATICREMOVE	4
define NLBL_UNLABEL_C_STATICREMOVEDEF	7
define QCA_WLAN_VENDOR_ATTR_MAX	8