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
/* automatically generated by rust-bindgen 0.58.1 */

pub const LINUX_VERSION_CODE: u32 = 132640;
pub const _K_SS_MAXSIZE: u32 = 128;
pub const __BITS_PER_LONG: u32 = 64;
pub const __FD_SETSIZE: u32 = 1024;
pub const NETLINK_ROUTE: u32 = 0;
pub const NETLINK_UNUSED: u32 = 1;
pub const NETLINK_USERSOCK: u32 = 2;
pub const NETLINK_FIREWALL: u32 = 3;
pub const NETLINK_INET_DIAG: u32 = 4;
pub const NETLINK_NFLOG: u32 = 5;
pub const NETLINK_XFRM: u32 = 6;
pub const NETLINK_SELINUX: u32 = 7;
pub const NETLINK_ISCSI: u32 = 8;
pub const NETLINK_AUDIT: u32 = 9;
pub const NETLINK_FIB_LOOKUP: u32 = 10;
pub const NETLINK_CONNECTOR: u32 = 11;
pub const NETLINK_NETFILTER: u32 = 12;
pub const NETLINK_IP6_FW: u32 = 13;
pub const NETLINK_DNRTMSG: u32 = 14;
pub const NETLINK_KOBJECT_UEVENT: u32 = 15;
pub const NETLINK_GENERIC: u32 = 16;
pub const NETLINK_SCSITRANSPORT: u32 = 18;
pub const NETLINK_ECRYPTFS: u32 = 19;
pub const MAX_LINKS: u32 = 32;
pub const NLM_F_REQUEST: u32 = 1;
pub const NLM_F_MULTI: u32 = 2;
pub const NLM_F_ACK: u32 = 4;
pub const NLM_F_ECHO: u32 = 8;
pub const NLM_F_ROOT: u32 = 256;
pub const NLM_F_MATCH: u32 = 512;
pub const NLM_F_ATOMIC: u32 = 1024;
pub const NLM_F_DUMP: u32 = 768;
pub const NLM_F_REPLACE: u32 = 256;
pub const NLM_F_EXCL: u32 = 512;
pub const NLM_F_CREATE: u32 = 1024;
pub const NLM_F_APPEND: u32 = 2048;
pub const NLMSG_ALIGNTO: u32 = 4;
pub const NLMSG_NOOP: u32 = 1;
pub const NLMSG_ERROR: u32 = 2;
pub const NLMSG_DONE: u32 = 3;
pub const NLMSG_OVERRUN: u32 = 4;
pub const NLMSG_MIN_TYPE: u32 = 16;
pub const NETLINK_ADD_MEMBERSHIP: u32 = 1;
pub const NETLINK_DROP_MEMBERSHIP: u32 = 2;
pub const NETLINK_PKTINFO: u32 = 3;
pub const NETLINK_BROADCAST_ERROR: u32 = 4;
pub const NETLINK_NO_ENOBUFS: u32 = 5;
pub const NET_MAJOR: u32 = 36;
pub const NLA_F_NESTED: u32 = 32768;
pub const NLA_F_NET_BYTEORDER: u32 = 16384;
pub const NLA_TYPE_MASK: i32 = -49153;
pub const NLA_ALIGNTO: u32 = 4;
pub const IFA_F_SECONDARY: u32 = 1;
pub const IFA_F_TEMPORARY: u32 = 1;
pub const IFA_F_NODAD: u32 = 2;
pub const IFA_F_OPTIMISTIC: u32 = 4;
pub const IFA_F_DADFAILED: u32 = 8;
pub const IFA_F_HOMEADDRESS: u32 = 16;
pub const IFA_F_DEPRECATED: u32 = 32;
pub const IFA_F_TENTATIVE: u32 = 64;
pub const IFA_F_PERMANENT: u32 = 128;
pub const NTF_USE: u32 = 1;
pub const NTF_PROXY: u32 = 8;
pub const NTF_ROUTER: u32 = 128;
pub const NUD_INCOMPLETE: u32 = 1;
pub const NUD_REACHABLE: u32 = 2;
pub const NUD_STALE: u32 = 4;
pub const NUD_DELAY: u32 = 8;
pub const NUD_PROBE: u32 = 16;
pub const NUD_FAILED: u32 = 32;
pub const NUD_NOARP: u32 = 64;
pub const NUD_PERMANENT: u32 = 128;
pub const NUD_NONE: u32 = 0;
pub const RTA_ALIGNTO: u32 = 4;
pub const RTPROT_UNSPEC: u32 = 0;
pub const RTPROT_REDIRECT: u32 = 1;
pub const RTPROT_KERNEL: u32 = 2;
pub const RTPROT_BOOT: u32 = 3;
pub const RTPROT_STATIC: u32 = 4;
pub const RTPROT_GATED: u32 = 8;
pub const RTPROT_RA: u32 = 9;
pub const RTPROT_MRT: u32 = 10;
pub const RTPROT_ZEBRA: u32 = 11;
pub const RTPROT_BIRD: u32 = 12;
pub const RTPROT_DNROUTED: u32 = 13;
pub const RTPROT_XORP: u32 = 14;
pub const RTPROT_NTK: u32 = 15;
pub const RTPROT_DHCP: u32 = 16;
pub const RTM_F_NOTIFY: u32 = 256;
pub const RTM_F_CLONED: u32 = 512;
pub const RTM_F_EQUALIZE: u32 = 1024;
pub const RTM_F_PREFIX: u32 = 2048;
pub const RTNH_F_DEAD: u32 = 1;
pub const RTNH_F_PERVASIVE: u32 = 2;
pub const RTNH_F_ONLINK: u32 = 4;
pub const RTNH_ALIGNTO: u32 = 4;
pub const RTNETLINK_HAVE_PEERINFO: u32 = 1;
pub const RTAX_FEATURE_ECN: u32 = 1;
pub const RTAX_FEATURE_SACK: u32 = 2;
pub const RTAX_FEATURE_TIMESTAMP: u32 = 4;
pub const RTAX_FEATURE_ALLFRAG: u32 = 8;
pub const RTMGRP_LINK: u32 = 1;
pub const RTMGRP_NOTIFY: u32 = 2;
pub const RTMGRP_NEIGH: u32 = 4;
pub const RTMGRP_TC: u32 = 8;
pub const RTMGRP_IPV4_IFADDR: u32 = 16;
pub const RTMGRP_IPV4_MROUTE: u32 = 32;
pub const RTMGRP_IPV4_ROUTE: u32 = 64;
pub const RTMGRP_IPV4_RULE: u32 = 128;
pub const RTMGRP_IPV6_IFADDR: u32 = 256;
pub const RTMGRP_IPV6_MROUTE: u32 = 512;
pub const RTMGRP_IPV6_ROUTE: u32 = 1024;
pub const RTMGRP_IPV6_IFINFO: u32 = 2048;
pub const RTMGRP_DECnet_IFADDR: u32 = 4096;
pub const RTMGRP_DECnet_ROUTE: u32 = 16384;
pub const RTMGRP_IPV6_PREFIX: u32 = 131072;
pub const TCA_ACT_TAB: u32 = 1;
pub const TCAA_MAX: u32 = 1;
pub type size_t = ::std::os::raw::c_ulong;
pub type ssize_t = ::std::os::raw::c_long;
#[repr(C)]
#[repr(align(8))]
#[derive(Copy, Clone)]
pub struct __kernel_sockaddr_storage {
pub ss_family: ::std::os::raw::c_ushort,
pub __data: [::std::os::raw::c_char; 126usize],
}
pub type __s8 = ::std::os::raw::c_schar;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __s16 = ::std::os::raw::c_short;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __s64 = ::std::os::raw::c_longlong;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type umode_t = ::std::os::raw::c_ushort;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
pub fds_bits: [::std::os::raw::c_ulong; 16usize],
}
pub type __kernel_sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
pub type __kernel_key_t = ::std::os::raw::c_int;
pub type __kernel_mqd_t = ::std::os::raw::c_int;
pub type __kernel_ino_t = ::std::os::raw::c_ulong;
pub type __kernel_mode_t = ::std::os::raw::c_uint;
pub type __kernel_nlink_t = ::std::os::raw::c_ulong;
pub type __kernel_off_t = ::std::os::raw::c_long;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
pub type __kernel_uid_t = ::std::os::raw::c_uint;
pub type __kernel_gid_t = ::std::os::raw::c_uint;
pub type __kernel_size_t = ::std::os::raw::c_ulong;
pub type __kernel_ssize_t = ::std::os::raw::c_long;
pub type __kernel_ptrdiff_t = ::std::os::raw::c_long;
pub type __kernel_time_t = ::std::os::raw::c_long;
pub type __kernel_suseconds_t = ::std::os::raw::c_long;
pub type __kernel_clock_t = ::std::os::raw::c_long;
pub type __kernel_timer_t = ::std::os::raw::c_int;
pub type __kernel_clockid_t = ::std::os::raw::c_int;
pub type __kernel_daddr_t = ::std::os::raw::c_int;
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
pub val: [::std::os::raw::c_int; 2usize],
}
pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
pub type __kernel_uid32_t = __kernel_uid_t;
pub type __kernel_gid32_t = __kernel_gid_t;
pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
pub type __sum16 = __u16;
pub type __wsum = __u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct net {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sockaddr_nl {
pub nl_family: u16,
pub nl_pad: ::std::os::raw::c_ushort,
pub nl_pid: __u32,
pub nl_groups: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsghdr {
pub nlmsg_len: __u32,
pub nlmsg_type: __u16,
pub nlmsg_flags: __u16,
pub nlmsg_seq: __u32,
pub nlmsg_pid: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsgerr {
pub error: ::std::os::raw::c_int,
pub msg: nlmsghdr,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_pktinfo {
pub group: __u32,
}
pub const NETLINK_UNCONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_UNCONNECTED;
pub const NETLINK_CONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_CONNECTED;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_1 {
NETLINK_UNCONNECTED = 0,
NETLINK_CONNECTED = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlattr {
pub nla_len: __u16,
pub nla_type: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_stats {
pub rx_packets: __u32,
pub tx_packets: __u32,
pub rx_bytes: __u32,
pub tx_bytes: __u32,
pub rx_errors: __u32,
pub tx_errors: __u32,
pub rx_dropped: __u32,
pub tx_dropped: __u32,
pub multicast: __u32,
pub collisions: __u32,
pub rx_length_errors: __u32,
pub rx_over_errors: __u32,
pub rx_crc_errors: __u32,
pub rx_frame_errors: __u32,
pub rx_fifo_errors: __u32,
pub rx_missed_errors: __u32,
pub tx_aborted_errors: __u32,
pub tx_carrier_errors: __u32,
pub tx_fifo_errors: __u32,
pub tx_heartbeat_errors: __u32,
pub tx_window_errors: __u32,
pub rx_compressed: __u32,
pub tx_compressed: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_ifmap {
pub mem_start: __u64,
pub mem_end: __u64,
pub base_addr: __u64,
pub irq: __u16,
pub dma: __u8,
pub port: __u8,
}
pub const IFLA_UNSPEC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_UNSPEC;
pub const IFLA_ADDRESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_ADDRESS;
pub const IFLA_BROADCAST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_BROADCAST;
pub const IFLA_IFNAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFNAME;
pub const IFLA_MTU: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MTU;
pub const IFLA_LINK: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINK;
pub const IFLA_QDISC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_QDISC;
pub const IFLA_STATS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_STATS;
pub const IFLA_COST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_COST;
pub const IFLA_PRIORITY: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PRIORITY;
pub const IFLA_MASTER: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MASTER;
pub const IFLA_WIRELESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WIRELESS;
pub const IFLA_PROTINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROTINFO;
pub const IFLA_TXQLEN: _bindgen_ty_2 = _bindgen_ty_2::IFLA_TXQLEN;
pub const IFLA_MAP: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MAP;
pub const IFLA_WEIGHT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WEIGHT;
pub const IFLA_OPERSTATE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_OPERSTATE;
pub const IFLA_LINKMODE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKMODE;
pub const IFLA_LINKINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKINFO;
pub const IFLA_NET_NS_PID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NET_NS_PID;
pub const IFLA_IFALIAS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFALIAS;
pub const __IFLA_MAX: _bindgen_ty_2 = _bindgen_ty_2::__IFLA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_2 {
IFLA_UNSPEC = 0,
IFLA_ADDRESS = 1,
IFLA_BROADCAST = 2,
IFLA_IFNAME = 3,
IFLA_MTU = 4,
IFLA_LINK = 5,
IFLA_QDISC = 6,
IFLA_STATS = 7,
IFLA_COST = 8,
IFLA_PRIORITY = 9,
IFLA_MASTER = 10,
IFLA_WIRELESS = 11,
IFLA_PROTINFO = 12,
IFLA_TXQLEN = 13,
IFLA_MAP = 14,
IFLA_WEIGHT = 15,
IFLA_OPERSTATE = 16,
IFLA_LINKMODE = 17,
IFLA_LINKINFO = 18,
IFLA_NET_NS_PID = 19,
IFLA_IFALIAS = 20,
__IFLA_MAX = 21,
}
pub const IFLA_INET6_UNSPEC: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_UNSPEC;
pub const IFLA_INET6_FLAGS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_FLAGS;
pub const IFLA_INET6_CONF: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_CONF;
pub const IFLA_INET6_STATS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_STATS;
pub const IFLA_INET6_MCAST: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_MCAST;
pub const IFLA_INET6_CACHEINFO: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_CACHEINFO;
pub const IFLA_INET6_ICMP6STATS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_ICMP6STATS;
pub const __IFLA_INET6_MAX: _bindgen_ty_3 = _bindgen_ty_3::__IFLA_INET6_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_3 {
IFLA_INET6_UNSPEC = 0,
IFLA_INET6_FLAGS = 1,
IFLA_INET6_CONF = 2,
IFLA_INET6_STATS = 3,
IFLA_INET6_MCAST = 4,
IFLA_INET6_CACHEINFO = 5,
IFLA_INET6_ICMP6STATS = 6,
__IFLA_INET6_MAX = 7,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_cacheinfo {
pub max_reasm_len: __u32,
pub tstamp: __u32,
pub reachable_time: __u32,
pub retrans_time: __u32,
}
pub const IFLA_INFO_UNSPEC: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_UNSPEC;
pub const IFLA_INFO_KIND: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_KIND;
pub const IFLA_INFO_DATA: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_DATA;
pub const IFLA_INFO_XSTATS: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_XSTATS;
pub const __IFLA_INFO_MAX: _bindgen_ty_4 = _bindgen_ty_4::__IFLA_INFO_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_4 {
IFLA_INFO_UNSPEC = 0,
IFLA_INFO_KIND = 1,
IFLA_INFO_DATA = 2,
IFLA_INFO_XSTATS = 3,
__IFLA_INFO_MAX = 4,
}
pub const IFLA_VLAN_UNSPEC: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_UNSPEC;
pub const IFLA_VLAN_ID: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_ID;
pub const IFLA_VLAN_FLAGS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_FLAGS;
pub const IFLA_VLAN_EGRESS_QOS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_EGRESS_QOS;
pub const IFLA_VLAN_INGRESS_QOS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_INGRESS_QOS;
pub const __IFLA_VLAN_MAX: _bindgen_ty_5 = _bindgen_ty_5::__IFLA_VLAN_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_5 {
IFLA_VLAN_UNSPEC = 0,
IFLA_VLAN_ID = 1,
IFLA_VLAN_FLAGS = 2,
IFLA_VLAN_EGRESS_QOS = 3,
IFLA_VLAN_INGRESS_QOS = 4,
__IFLA_VLAN_MAX = 5,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_flags {
pub flags: __u32,
pub mask: __u32,
}
pub const IFLA_VLAN_QOS_UNSPEC: _bindgen_ty_6 = _bindgen_ty_6::IFLA_VLAN_QOS_UNSPEC;
pub const IFLA_VLAN_QOS_MAPPING: _bindgen_ty_6 = _bindgen_ty_6::IFLA_VLAN_QOS_MAPPING;
pub const __IFLA_VLAN_QOS_MAX: _bindgen_ty_6 = _bindgen_ty_6::__IFLA_VLAN_QOS_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_6 {
IFLA_VLAN_QOS_UNSPEC = 0,
IFLA_VLAN_QOS_MAPPING = 1,
__IFLA_VLAN_QOS_MAX = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_qos_mapping {
pub from: __u32,
pub to: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifaddrmsg {
pub ifa_family: __u8,
pub ifa_prefixlen: __u8,
pub ifa_flags: __u8,
pub ifa_scope: __u8,
pub ifa_index: __u32,
}
pub const IFA_UNSPEC: _bindgen_ty_7 = _bindgen_ty_7::IFA_UNSPEC;
pub const IFA_ADDRESS: _bindgen_ty_7 = _bindgen_ty_7::IFA_ADDRESS;
pub const IFA_LOCAL: _bindgen_ty_7 = _bindgen_ty_7::IFA_LOCAL;
pub const IFA_LABEL: _bindgen_ty_7 = _bindgen_ty_7::IFA_LABEL;
pub const IFA_BROADCAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_BROADCAST;
pub const IFA_ANYCAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_ANYCAST;
pub const IFA_CACHEINFO: _bindgen_ty_7 = _bindgen_ty_7::IFA_CACHEINFO;
pub const IFA_MULTICAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_MULTICAST;
pub const __IFA_MAX: _bindgen_ty_7 = _bindgen_ty_7::__IFA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_7 {
IFA_UNSPEC = 0,
IFA_ADDRESS = 1,
IFA_LOCAL = 2,
IFA_LABEL = 3,
IFA_BROADCAST = 4,
IFA_ANYCAST = 5,
IFA_CACHEINFO = 6,
IFA_MULTICAST = 7,
__IFA_MAX = 8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifa_cacheinfo {
pub ifa_prefered: __u32,
pub ifa_valid: __u32,
pub cstamp: __u32,
pub tstamp: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndmsg {
pub ndm_family: __u8,
pub ndm_pad1: __u8,
pub ndm_pad2: __u16,
pub ndm_ifindex: __s32,
pub ndm_state: __u16,
pub ndm_flags: __u8,
pub ndm_type: __u8,
}
pub const NDA_UNSPEC: _bindgen_ty_8 = _bindgen_ty_8::NDA_UNSPEC;
pub const NDA_DST: _bindgen_ty_8 = _bindgen_ty_8::NDA_DST;
pub const NDA_LLADDR: _bindgen_ty_8 = _bindgen_ty_8::NDA_LLADDR;
pub const NDA_CACHEINFO: _bindgen_ty_8 = _bindgen_ty_8::NDA_CACHEINFO;
pub const NDA_PROBES: _bindgen_ty_8 = _bindgen_ty_8::NDA_PROBES;
pub const __NDA_MAX: _bindgen_ty_8 = _bindgen_ty_8::__NDA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_8 {
NDA_UNSPEC = 0,
NDA_DST = 1,
NDA_LLADDR = 2,
NDA_CACHEINFO = 3,
NDA_PROBES = 4,
__NDA_MAX = 5,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nda_cacheinfo {
pub ndm_confirmed: __u32,
pub ndm_used: __u32,
pub ndm_updated: __u32,
pub ndm_refcnt: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndt_stats {
pub ndts_allocs: __u64,
pub ndts_destroys: __u64,
pub ndts_hash_grows: __u64,
pub ndts_res_failed: __u64,
pub ndts_lookups: __u64,
pub ndts_hits: __u64,
pub ndts_rcv_probes_mcast: __u64,
pub ndts_rcv_probes_ucast: __u64,
pub ndts_periodic_gc_runs: __u64,
pub ndts_forced_gc_runs: __u64,
}
pub const NDTPA_UNSPEC: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_UNSPEC;
pub const NDTPA_IFINDEX: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_IFINDEX;
pub const NDTPA_REFCNT: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_REFCNT;
pub const NDTPA_REACHABLE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_REACHABLE_TIME;
pub const NDTPA_BASE_REACHABLE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_BASE_REACHABLE_TIME;
pub const NDTPA_RETRANS_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_RETRANS_TIME;
pub const NDTPA_GC_STALETIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_GC_STALETIME;
pub const NDTPA_DELAY_PROBE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_DELAY_PROBE_TIME;
pub const NDTPA_QUEUE_LEN: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_QUEUE_LEN;
pub const NDTPA_APP_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_APP_PROBES;
pub const NDTPA_UCAST_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_UCAST_PROBES;
pub const NDTPA_MCAST_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_MCAST_PROBES;
pub const NDTPA_ANYCAST_DELAY: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_ANYCAST_DELAY;
pub const NDTPA_PROXY_DELAY: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_PROXY_DELAY;
pub const NDTPA_PROXY_QLEN: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_PROXY_QLEN;
pub const NDTPA_LOCKTIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_LOCKTIME;
pub const __NDTPA_MAX: _bindgen_ty_9 = _bindgen_ty_9::__NDTPA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_9 {
NDTPA_UNSPEC = 0,
NDTPA_IFINDEX = 1,
NDTPA_REFCNT = 2,
NDTPA_REACHABLE_TIME = 3,
NDTPA_BASE_REACHABLE_TIME = 4,
NDTPA_RETRANS_TIME = 5,
NDTPA_GC_STALETIME = 6,
NDTPA_DELAY_PROBE_TIME = 7,
NDTPA_QUEUE_LEN = 8,
NDTPA_APP_PROBES = 9,
NDTPA_UCAST_PROBES = 10,
NDTPA_MCAST_PROBES = 11,
NDTPA_ANYCAST_DELAY = 12,
NDTPA_PROXY_DELAY = 13,
NDTPA_PROXY_QLEN = 14,
NDTPA_LOCKTIME = 15,
__NDTPA_MAX = 16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndtmsg {
pub ndtm_family: __u8,
pub ndtm_pad1: __u8,
pub ndtm_pad2: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndt_config {
pub ndtc_key_len: __u16,
pub ndtc_entry_size: __u16,
pub ndtc_entries: __u32,
pub ndtc_last_flush: __u32,
pub ndtc_last_rand: __u32,
pub ndtc_hash_rnd: __u32,
pub ndtc_hash_mask: __u32,
pub ndtc_hash_chain_gc: __u32,
pub ndtc_proxy_qlen: __u32,
}
pub const NDTA_UNSPEC: _bindgen_ty_10 = _bindgen_ty_10::NDTA_UNSPEC;
pub const NDTA_NAME: _bindgen_ty_10 = _bindgen_ty_10::NDTA_NAME;
pub const NDTA_THRESH1: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH1;
pub const NDTA_THRESH2: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH2;
pub const NDTA_THRESH3: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH3;
pub const NDTA_CONFIG: _bindgen_ty_10 = _bindgen_ty_10::NDTA_CONFIG;
pub const NDTA_PARMS: _bindgen_ty_10 = _bindgen_ty_10::NDTA_PARMS;
pub const NDTA_STATS: _bindgen_ty_10 = _bindgen_ty_10::NDTA_STATS;
pub const NDTA_GC_INTERVAL: _bindgen_ty_10 = _bindgen_ty_10::NDTA_GC_INTERVAL;
pub const __NDTA_MAX: _bindgen_ty_10 = _bindgen_ty_10::__NDTA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_10 {
NDTA_UNSPEC = 0,
NDTA_NAME = 1,
NDTA_THRESH1 = 2,
NDTA_THRESH2 = 3,
NDTA_THRESH3 = 4,
NDTA_CONFIG = 5,
NDTA_PARMS = 6,
NDTA_STATS = 7,
NDTA_GC_INTERVAL = 8,
__NDTA_MAX = 9,
}
pub const RTM_BASE: _bindgen_ty_11 = _bindgen_ty_11::RTM_BASE;
pub const RTM_NEWLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_BASE;
pub const RTM_DELLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELLINK;
pub const RTM_GETLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETLINK;
pub const RTM_SETLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETLINK;
pub const RTM_NEWADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWADDR;
pub const RTM_DELADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELADDR;
pub const RTM_GETADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETADDR;
pub const RTM_NEWROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWROUTE;
pub const RTM_DELROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELROUTE;
pub const RTM_GETROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETROUTE;
pub const RTM_NEWNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNEIGH;
pub const RTM_DELNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELNEIGH;
pub const RTM_GETNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETNEIGH;
pub const RTM_NEWRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWRULE;
pub const RTM_DELRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELRULE;
pub const RTM_GETRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETRULE;
pub const RTM_NEWQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWQDISC;
pub const RTM_DELQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELQDISC;
pub const RTM_GETQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETQDISC;
pub const RTM_NEWTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWTCLASS;
pub const RTM_DELTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELTCLASS;
pub const RTM_GETTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETTCLASS;
pub const RTM_NEWTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWTFILTER;
pub const RTM_DELTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELTFILTER;
pub const RTM_GETTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETTFILTER;
pub const RTM_NEWACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWACTION;
pub const RTM_DELACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELACTION;
pub const RTM_GETACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETACTION;
pub const RTM_NEWPREFIX: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWPREFIX;
pub const RTM_GETMULTICAST: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETMULTICAST;
pub const RTM_GETANYCAST: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETANYCAST;
pub const RTM_NEWNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNEIGHTBL;
pub const RTM_GETNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETNEIGHTBL;
pub const RTM_SETNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETNEIGHTBL;
pub const RTM_NEWNDUSEROPT: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNDUSEROPT;
pub const RTM_NEWADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWADDRLABEL;
pub const RTM_DELADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELADDRLABEL;
pub const RTM_GETADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETADDRLABEL;
pub const RTM_GETDCB: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETDCB;
pub const RTM_SETDCB: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETDCB;
pub const __RTM_MAX: _bindgen_ty_11 = _bindgen_ty_11::__RTM_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_11 {
RTM_BASE = 16,
RTM_DELLINK = 17,
RTM_GETLINK = 18,
RTM_SETLINK = 19,
RTM_NEWADDR = 20,
RTM_DELADDR = 21,
RTM_GETADDR = 22,
RTM_NEWROUTE = 24,
RTM_DELROUTE = 25,
RTM_GETROUTE = 26,
RTM_NEWNEIGH = 28,
RTM_DELNEIGH = 29,
RTM_GETNEIGH = 30,
RTM_NEWRULE = 32,
RTM_DELRULE = 33,
RTM_GETRULE = 34,
RTM_NEWQDISC = 36,
RTM_DELQDISC = 37,
RTM_GETQDISC = 38,
RTM_NEWTCLASS = 40,
RTM_DELTCLASS = 41,
RTM_GETTCLASS = 42,
RTM_NEWTFILTER = 44,
RTM_DELTFILTER = 45,
RTM_GETTFILTER = 46,
RTM_NEWACTION = 48,
RTM_DELACTION = 49,
RTM_GETACTION = 50,
RTM_NEWPREFIX = 52,
RTM_GETMULTICAST = 58,
RTM_GETANYCAST = 62,
RTM_NEWNEIGHTBL = 64,
RTM_GETNEIGHTBL = 66,
RTM_SETNEIGHTBL = 67,
RTM_NEWNDUSEROPT = 68,
RTM_NEWADDRLABEL = 72,
RTM_DELADDRLABEL = 73,
RTM_GETADDRLABEL = 74,
RTM_GETDCB = 78,
RTM_SETDCB = 79,
__RTM_MAX = 80,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtattr {
pub rta_len: ::std::os::raw::c_ushort,
pub rta_type: ::std::os::raw::c_ushort,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtmsg {
pub rtm_family: ::std::os::raw::c_uchar,
pub rtm_dst_len: ::std::os::raw::c_uchar,
pub rtm_src_len: ::std::os::raw::c_uchar,
pub rtm_tos: ::std::os::raw::c_uchar,
pub rtm_table: ::std::os::raw::c_uchar,
pub rtm_protocol: ::std::os::raw::c_uchar,
pub rtm_scope: ::std::os::raw::c_uchar,
pub rtm_type: ::std::os::raw::c_uchar,
pub rtm_flags: ::std::os::raw::c_uint,
}
pub const RTN_UNSPEC: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNSPEC;
pub const RTN_UNICAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNICAST;
pub const RTN_LOCAL: _bindgen_ty_12 = _bindgen_ty_12::RTN_LOCAL;
pub const RTN_BROADCAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_BROADCAST;
pub const RTN_ANYCAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_ANYCAST;
pub const RTN_MULTICAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_MULTICAST;
pub const RTN_BLACKHOLE: _bindgen_ty_12 = _bindgen_ty_12::RTN_BLACKHOLE;
pub const RTN_UNREACHABLE: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNREACHABLE;
pub const RTN_PROHIBIT: _bindgen_ty_12 = _bindgen_ty_12::RTN_PROHIBIT;
pub const RTN_THROW: _bindgen_ty_12 = _bindgen_ty_12::RTN_THROW;
pub const RTN_NAT: _bindgen_ty_12 = _bindgen_ty_12::RTN_NAT;
pub const RTN_XRESOLVE: _bindgen_ty_12 = _bindgen_ty_12::RTN_XRESOLVE;
pub const __RTN_MAX: _bindgen_ty_12 = _bindgen_ty_12::__RTN_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_12 {
RTN_UNSPEC = 0,
RTN_UNICAST = 1,
RTN_LOCAL = 2,
RTN_BROADCAST = 3,
RTN_ANYCAST = 4,
RTN_MULTICAST = 5,
RTN_BLACKHOLE = 6,
RTN_UNREACHABLE = 7,
RTN_PROHIBIT = 8,
RTN_THROW = 9,
RTN_NAT = 10,
RTN_XRESOLVE = 11,
__RTN_MAX = 12,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rt_scope_t {
RT_SCOPE_UNIVERSE = 0,
RT_SCOPE_SITE = 200,
RT_SCOPE_LINK = 253,
RT_SCOPE_HOST = 254,
RT_SCOPE_NOWHERE = 255,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rt_class_t {
RT_TABLE_UNSPEC = 0,
RT_TABLE_COMPAT = 252,
RT_TABLE_DEFAULT = 253,
RT_TABLE_MAIN = 254,
RT_TABLE_LOCAL = 255,
RT_TABLE_MAX = 4294967295,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rtattr_type_t {
RTA_UNSPEC = 0,
RTA_DST = 1,
RTA_SRC = 2,
RTA_IIF = 3,
RTA_OIF = 4,
RTA_GATEWAY = 5,
RTA_PRIORITY = 6,
RTA_PREFSRC = 7,
RTA_METRICS = 8,
RTA_MULTIPATH = 9,
RTA_PROTOINFO = 10,
RTA_FLOW = 11,
RTA_CACHEINFO = 12,
RTA_SESSION = 13,
RTA_MP_ALGO = 14,
RTA_TABLE = 15,
__RTA_MAX = 16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnexthop {
pub rtnh_len: ::std::os::raw::c_ushort,
pub rtnh_flags: ::std::os::raw::c_uchar,
pub rtnh_hops: ::std::os::raw::c_uchar,
pub rtnh_ifindex: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_cacheinfo {
pub rta_clntref: __u32,
pub rta_lastuse: __u32,
pub rta_expires: __s32,
pub rta_error: __u32,
pub rta_used: __u32,
pub rta_id: __u32,
pub rta_ts: __u32,
pub rta_tsage: __u32,
}
pub const RTAX_UNSPEC: _bindgen_ty_13 = _bindgen_ty_13::RTAX_UNSPEC;
pub const RTAX_LOCK: _bindgen_ty_13 = _bindgen_ty_13::RTAX_LOCK;
pub const RTAX_MTU: _bindgen_ty_13 = _bindgen_ty_13::RTAX_MTU;
pub const RTAX_WINDOW: _bindgen_ty_13 = _bindgen_ty_13::RTAX_WINDOW;
pub const RTAX_RTT: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTT;
pub const RTAX_RTTVAR: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTTVAR;
pub const RTAX_SSTHRESH: _bindgen_ty_13 = _bindgen_ty_13::RTAX_SSTHRESH;
pub const RTAX_CWND: _bindgen_ty_13 = _bindgen_ty_13::RTAX_CWND;
pub const RTAX_ADVMSS: _bindgen_ty_13 = _bindgen_ty_13::RTAX_ADVMSS;
pub const RTAX_REORDERING: _bindgen_ty_13 = _bindgen_ty_13::RTAX_REORDERING;
pub const RTAX_HOPLIMIT: _bindgen_ty_13 = _bindgen_ty_13::RTAX_HOPLIMIT;
pub const RTAX_INITCWND: _bindgen_ty_13 = _bindgen_ty_13::RTAX_INITCWND;
pub const RTAX_FEATURES: _bindgen_ty_13 = _bindgen_ty_13::RTAX_FEATURES;
pub const RTAX_RTO_MIN: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTO_MIN;
pub const __RTAX_MAX: _bindgen_ty_13 = _bindgen_ty_13::__RTAX_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_13 {
RTAX_UNSPEC = 0,
RTAX_LOCK = 1,
RTAX_MTU = 2,
RTAX_WINDOW = 3,
RTAX_RTT = 4,
RTAX_RTTVAR = 5,
RTAX_SSTHRESH = 6,
RTAX_CWND = 7,
RTAX_ADVMSS = 8,
RTAX_REORDERING = 9,
RTAX_HOPLIMIT = 10,
RTAX_INITCWND = 11,
RTAX_FEATURES = 12,
RTAX_RTO_MIN = 13,
__RTAX_MAX = 14,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct rta_session {
pub proto: __u8,
pub pad1: __u8,
pub pad2: __u16,
pub u: rta_session__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union rta_session__bindgen_ty_1 {
pub ports: rta_session__bindgen_ty_1__bindgen_ty_1,
pub icmpt: rta_session__bindgen_ty_1__bindgen_ty_2,
pub spi: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_session__bindgen_ty_1__bindgen_ty_1 {
pub sport: __u16,
pub dport: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_session__bindgen_ty_1__bindgen_ty_2 {
pub type_: __u8,
pub code: __u8,
pub ident: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtgenmsg {
pub rtgen_family: ::std::os::raw::c_uchar,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifinfomsg {
pub ifi_family: ::std::os::raw::c_uchar,
pub __ifi_pad: ::std::os::raw::c_uchar,
pub ifi_type: ::std::os::raw::c_ushort,
pub ifi_index: ::std::os::raw::c_int,
pub ifi_flags: ::std::os::raw::c_uint,
pub ifi_change: ::std::os::raw::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct prefixmsg {
pub prefix_family: ::std::os::raw::c_uchar,
pub prefix_pad1: ::std::os::raw::c_uchar,
pub prefix_pad2: ::std::os::raw::c_ushort,
pub prefix_ifindex: ::std::os::raw::c_int,
pub prefix_type: ::std::os::raw::c_uchar,
pub prefix_len: ::std::os::raw::c_uchar,
pub prefix_flags: ::std::os::raw::c_uchar,
pub prefix_pad3: ::std::os::raw::c_uchar,
}
pub const PREFIX_UNSPEC: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_UNSPEC;
pub const PREFIX_ADDRESS: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_ADDRESS;
pub const PREFIX_CACHEINFO: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_CACHEINFO;
pub const __PREFIX_MAX: _bindgen_ty_14 = _bindgen_ty_14::__PREFIX_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_14 {
PREFIX_UNSPEC = 0,
PREFIX_ADDRESS = 1,
PREFIX_CACHEINFO = 2,
__PREFIX_MAX = 3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct prefix_cacheinfo {
pub preferred_time: __u32,
pub valid_time: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tcmsg {
pub tcm_family: ::std::os::raw::c_uchar,
pub tcm__pad1: ::std::os::raw::c_uchar,
pub tcm__pad2: ::std::os::raw::c_ushort,
pub tcm_ifindex: ::std::os::raw::c_int,
pub tcm_handle: __u32,
pub tcm_parent: __u32,
pub tcm_info: __u32,
}
pub const TCA_UNSPEC: _bindgen_ty_15 = _bindgen_ty_15::TCA_UNSPEC;
pub const TCA_KIND: _bindgen_ty_15 = _bindgen_ty_15::TCA_KIND;
pub const TCA_OPTIONS: _bindgen_ty_15 = _bindgen_ty_15::TCA_OPTIONS;
pub const TCA_STATS: _bindgen_ty_15 = _bindgen_ty_15::TCA_STATS;
pub const TCA_XSTATS: _bindgen_ty_15 = _bindgen_ty_15::TCA_XSTATS;
pub const TCA_RATE: _bindgen_ty_15 = _bindgen_ty_15::TCA_RATE;
pub const TCA_FCNT: _bindgen_ty_15 = _bindgen_ty_15::TCA_FCNT;
pub const TCA_STATS2: _bindgen_ty_15 = _bindgen_ty_15::TCA_STATS2;
pub const TCA_STAB: _bindgen_ty_15 = _bindgen_ty_15::TCA_STAB;
pub const __TCA_MAX: _bindgen_ty_15 = _bindgen_ty_15::__TCA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_15 {
TCA_UNSPEC = 0,
TCA_KIND = 1,
TCA_OPTIONS = 2,
TCA_STATS = 3,
TCA_XSTATS = 4,
TCA_RATE = 5,
TCA_FCNT = 6,
TCA_STATS2 = 7,
TCA_STAB = 8,
__TCA_MAX = 9,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nduseroptmsg {
pub nduseropt_family: ::std::os::raw::c_uchar,
pub nduseropt_pad1: ::std::os::raw::c_uchar,
pub nduseropt_opts_len: ::std::os::raw::c_ushort,
pub nduseropt_ifindex: ::std::os::raw::c_int,
pub nduseropt_icmp_type: __u8,
pub nduseropt_icmp_code: __u8,
pub nduseropt_pad2: ::std::os::raw::c_ushort,
pub nduseropt_pad3: ::std::os::raw::c_uint,
}
pub const NDUSEROPT_UNSPEC: _bindgen_ty_16 = _bindgen_ty_16::NDUSEROPT_UNSPEC;
pub const NDUSEROPT_SRCADDR: _bindgen_ty_16 = _bindgen_ty_16::NDUSEROPT_SRCADDR;
pub const __NDUSEROPT_MAX: _bindgen_ty_16 = _bindgen_ty_16::__NDUSEROPT_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_16 {
NDUSEROPT_UNSPEC = 0,
NDUSEROPT_SRCADDR = 1,
__NDUSEROPT_MAX = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rtnetlink_groups {
RTNLGRP_NONE = 0,
RTNLGRP_LINK = 1,
RTNLGRP_NOTIFY = 2,
RTNLGRP_NEIGH = 3,
RTNLGRP_TC = 4,
RTNLGRP_IPV4_IFADDR = 5,
RTNLGRP_IPV4_MROUTE = 6,
RTNLGRP_IPV4_ROUTE = 7,
RTNLGRP_IPV4_RULE = 8,
RTNLGRP_IPV6_IFADDR = 9,
RTNLGRP_IPV6_MROUTE = 10,
RTNLGRP_IPV6_ROUTE = 11,
RTNLGRP_IPV6_IFINFO = 12,
RTNLGRP_DECnet_IFADDR = 13,
RTNLGRP_NOP2 = 14,
RTNLGRP_DECnet_ROUTE = 15,
RTNLGRP_DECnet_RULE = 16,
RTNLGRP_NOP4 = 17,
RTNLGRP_IPV6_PREFIX = 18,
RTNLGRP_IPV6_RULE = 19,
RTNLGRP_ND_USEROPT = 20,
RTNLGRP_PHONET_IFADDR = 21,
RTNLGRP_PHONET_ROUTE = 22,
__RTNLGRP_MAX = 23,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tcamsg {
pub tca_family: ::std::os::raw::c_uchar,
pub tca__pad1: ::std::os::raw::c_uchar,
pub tca__pad2: ::std::os::raw::c_ushort,
}