Code refactoring for bpa operator
[icn.git] / cmd / bpa-operator / vendor / golang.org / x / sys / unix / ztypes_linux_386.go
1 // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go
2 // Code generated by the command above; see README.md. DO NOT EDIT.
3
4 // +build 386,linux
5
6 package unix
7
8 const (
9         SizeofPtr      = 0x4
10         SizeofShort    = 0x2
11         SizeofInt      = 0x4
12         SizeofLong     = 0x4
13         SizeofLongLong = 0x8
14         PathMax        = 0x1000
15 )
16
17 type (
18         _C_short     int16
19         _C_int       int32
20         _C_long      int32
21         _C_long_long int64
22 )
23
24 type Timespec struct {
25         Sec  int32
26         Nsec int32
27 }
28
29 type Timeval struct {
30         Sec  int32
31         Usec int32
32 }
33
34 type Timex struct {
35         Modes     uint32
36         Offset    int32
37         Freq      int32
38         Maxerror  int32
39         Esterror  int32
40         Status    int32
41         Constant  int32
42         Precision int32
43         Tolerance int32
44         Time      Timeval
45         Tick      int32
46         Ppsfreq   int32
47         Jitter    int32
48         Shift     int32
49         Stabil    int32
50         Jitcnt    int32
51         Calcnt    int32
52         Errcnt    int32
53         Stbcnt    int32
54         Tai       int32
55         _         [44]byte
56 }
57
58 type Time_t int32
59
60 type Tms struct {
61         Utime  int32
62         Stime  int32
63         Cutime int32
64         Cstime int32
65 }
66
67 type Utimbuf struct {
68         Actime  int32
69         Modtime int32
70 }
71
72 type Rusage struct {
73         Utime    Timeval
74         Stime    Timeval
75         Maxrss   int32
76         Ixrss    int32
77         Idrss    int32
78         Isrss    int32
79         Minflt   int32
80         Majflt   int32
81         Nswap    int32
82         Inblock  int32
83         Oublock  int32
84         Msgsnd   int32
85         Msgrcv   int32
86         Nsignals int32
87         Nvcsw    int32
88         Nivcsw   int32
89 }
90
91 type Rlimit struct {
92         Cur uint64
93         Max uint64
94 }
95
96 type _Gid_t uint32
97
98 type Stat_t struct {
99         Dev     uint64
100         _       uint16
101         _       uint32
102         Mode    uint32
103         Nlink   uint32
104         Uid     uint32
105         Gid     uint32
106         Rdev    uint64
107         _       uint16
108         Size    int64
109         Blksize int32
110         Blocks  int64
111         Atim    Timespec
112         Mtim    Timespec
113         Ctim    Timespec
114         Ino     uint64
115 }
116
117 type StatxTimestamp struct {
118         Sec  int64
119         Nsec uint32
120         _    int32
121 }
122
123 type Statx_t struct {
124         Mask            uint32
125         Blksize         uint32
126         Attributes      uint64
127         Nlink           uint32
128         Uid             uint32
129         Gid             uint32
130         Mode            uint16
131         _               [1]uint16
132         Ino             uint64
133         Size            uint64
134         Blocks          uint64
135         Attributes_mask uint64
136         Atime           StatxTimestamp
137         Btime           StatxTimestamp
138         Ctime           StatxTimestamp
139         Mtime           StatxTimestamp
140         Rdev_major      uint32
141         Rdev_minor      uint32
142         Dev_major       uint32
143         Dev_minor       uint32
144         _               [14]uint64
145 }
146
147 type Dirent struct {
148         Ino    uint64
149         Off    int64
150         Reclen uint16
151         Type   uint8
152         Name   [256]int8
153         _      [1]byte
154 }
155
156 type Fsid struct {
157         Val [2]int32
158 }
159
160 type Flock_t struct {
161         Type   int16
162         Whence int16
163         Start  int64
164         Len    int64
165         Pid    int32
166 }
167
168 type FscryptPolicy struct {
169         Version                   uint8
170         Contents_encryption_mode  uint8
171         Filenames_encryption_mode uint8
172         Flags                     uint8
173         Master_key_descriptor     [8]uint8
174 }
175
176 type FscryptKey struct {
177         Mode uint32
178         Raw  [64]uint8
179         Size uint32
180 }
181
182 type KeyctlDHParams struct {
183         Private int32
184         Prime   int32
185         Base    int32
186 }
187
188 const (
189         FADV_NORMAL     = 0x0
190         FADV_RANDOM     = 0x1
191         FADV_SEQUENTIAL = 0x2
192         FADV_WILLNEED   = 0x3
193         FADV_DONTNEED   = 0x4
194         FADV_NOREUSE    = 0x5
195 )
196
197 type RawSockaddrInet4 struct {
198         Family uint16
199         Port   uint16
200         Addr   [4]byte /* in_addr */
201         Zero   [8]uint8
202 }
203
204 type RawSockaddrInet6 struct {
205         Family   uint16
206         Port     uint16
207         Flowinfo uint32
208         Addr     [16]byte /* in6_addr */
209         Scope_id uint32
210 }
211
212 type RawSockaddrUnix struct {
213         Family uint16
214         Path   [108]int8
215 }
216
217 type RawSockaddrLinklayer struct {
218         Family   uint16
219         Protocol uint16
220         Ifindex  int32
221         Hatype   uint16
222         Pkttype  uint8
223         Halen    uint8
224         Addr     [8]uint8
225 }
226
227 type RawSockaddrNetlink struct {
228         Family uint16
229         Pad    uint16
230         Pid    uint32
231         Groups uint32
232 }
233
234 type RawSockaddrHCI struct {
235         Family  uint16
236         Dev     uint16
237         Channel uint16
238 }
239
240 type RawSockaddrL2 struct {
241         Family      uint16
242         Psm         uint16
243         Bdaddr      [6]uint8
244         Cid         uint16
245         Bdaddr_type uint8
246         _           [1]byte
247 }
248
249 type RawSockaddrRFCOMM struct {
250         Family  uint16
251         Bdaddr  [6]uint8
252         Channel uint8
253         _       [1]byte
254 }
255
256 type RawSockaddrCAN struct {
257         Family  uint16
258         Ifindex int32
259         Addr    [8]byte
260 }
261
262 type RawSockaddrALG struct {
263         Family uint16
264         Type   [14]uint8
265         Feat   uint32
266         Mask   uint32
267         Name   [64]uint8
268 }
269
270 type RawSockaddrVM struct {
271         Family    uint16
272         Reserved1 uint16
273         Port      uint32
274         Cid       uint32
275         Zero      [4]uint8
276 }
277
278 type RawSockaddrXDP struct {
279         Family         uint16
280         Flags          uint16
281         Ifindex        uint32
282         Queue_id       uint32
283         Shared_umem_fd uint32
284 }
285
286 type RawSockaddrPPPoX [0x1e]byte
287
288 type RawSockaddr struct {
289         Family uint16
290         Data   [14]int8
291 }
292
293 type RawSockaddrAny struct {
294         Addr RawSockaddr
295         Pad  [96]int8
296 }
297
298 type _Socklen uint32
299
300 type Linger struct {
301         Onoff  int32
302         Linger int32
303 }
304
305 type Iovec struct {
306         Base *byte
307         Len  uint32
308 }
309
310 type IPMreq struct {
311         Multiaddr [4]byte /* in_addr */
312         Interface [4]byte /* in_addr */
313 }
314
315 type IPMreqn struct {
316         Multiaddr [4]byte /* in_addr */
317         Address   [4]byte /* in_addr */
318         Ifindex   int32
319 }
320
321 type IPv6Mreq struct {
322         Multiaddr [16]byte /* in6_addr */
323         Interface uint32
324 }
325
326 type PacketMreq struct {
327         Ifindex int32
328         Type    uint16
329         Alen    uint16
330         Address [8]uint8
331 }
332
333 type Msghdr struct {
334         Name       *byte
335         Namelen    uint32
336         Iov        *Iovec
337         Iovlen     uint32
338         Control    *byte
339         Controllen uint32
340         Flags      int32
341 }
342
343 type Cmsghdr struct {
344         Len   uint32
345         Level int32
346         Type  int32
347 }
348
349 type Inet4Pktinfo struct {
350         Ifindex  int32
351         Spec_dst [4]byte /* in_addr */
352         Addr     [4]byte /* in_addr */
353 }
354
355 type Inet6Pktinfo struct {
356         Addr    [16]byte /* in6_addr */
357         Ifindex uint32
358 }
359
360 type IPv6MTUInfo struct {
361         Addr RawSockaddrInet6
362         Mtu  uint32
363 }
364
365 type ICMPv6Filter struct {
366         Data [8]uint32
367 }
368
369 type Ucred struct {
370         Pid int32
371         Uid uint32
372         Gid uint32
373 }
374
375 type TCPInfo struct {
376         State          uint8
377         Ca_state       uint8
378         Retransmits    uint8
379         Probes         uint8
380         Backoff        uint8
381         Options        uint8
382         Rto            uint32
383         Ato            uint32
384         Snd_mss        uint32
385         Rcv_mss        uint32
386         Unacked        uint32
387         Sacked         uint32
388         Lost           uint32
389         Retrans        uint32
390         Fackets        uint32
391         Last_data_sent uint32
392         Last_ack_sent  uint32
393         Last_data_recv uint32
394         Last_ack_recv  uint32
395         Pmtu           uint32
396         Rcv_ssthresh   uint32
397         Rtt            uint32
398         Rttvar         uint32
399         Snd_ssthresh   uint32
400         Snd_cwnd       uint32
401         Advmss         uint32
402         Reordering     uint32
403         Rcv_rtt        uint32
404         Rcv_space      uint32
405         Total_retrans  uint32
406 }
407
408 type CanFilter struct {
409         Id   uint32
410         Mask uint32
411 }
412
413 const (
414         SizeofSockaddrInet4     = 0x10
415         SizeofSockaddrInet6     = 0x1c
416         SizeofSockaddrAny       = 0x70
417         SizeofSockaddrUnix      = 0x6e
418         SizeofSockaddrLinklayer = 0x14
419         SizeofSockaddrNetlink   = 0xc
420         SizeofSockaddrHCI       = 0x6
421         SizeofSockaddrL2        = 0xe
422         SizeofSockaddrRFCOMM    = 0xa
423         SizeofSockaddrCAN       = 0x10
424         SizeofSockaddrALG       = 0x58
425         SizeofSockaddrVM        = 0x10
426         SizeofSockaddrXDP       = 0x10
427         SizeofSockaddrPPPoX     = 0x1e
428         SizeofLinger            = 0x8
429         SizeofIovec             = 0x8
430         SizeofIPMreq            = 0x8
431         SizeofIPMreqn           = 0xc
432         SizeofIPv6Mreq          = 0x14
433         SizeofPacketMreq        = 0x10
434         SizeofMsghdr            = 0x1c
435         SizeofCmsghdr           = 0xc
436         SizeofInet4Pktinfo      = 0xc
437         SizeofInet6Pktinfo      = 0x14
438         SizeofIPv6MTUInfo       = 0x20
439         SizeofICMPv6Filter      = 0x20
440         SizeofUcred             = 0xc
441         SizeofTCPInfo           = 0x68
442         SizeofCanFilter         = 0x8
443 )
444
445 const (
446         IFA_UNSPEC           = 0x0
447         IFA_ADDRESS          = 0x1
448         IFA_LOCAL            = 0x2
449         IFA_LABEL            = 0x3
450         IFA_BROADCAST        = 0x4
451         IFA_ANYCAST          = 0x5
452         IFA_CACHEINFO        = 0x6
453         IFA_MULTICAST        = 0x7
454         IFLA_UNSPEC          = 0x0
455         IFLA_ADDRESS         = 0x1
456         IFLA_BROADCAST       = 0x2
457         IFLA_IFNAME          = 0x3
458         IFLA_INFO_KIND       = 0x1
459         IFLA_MTU             = 0x4
460         IFLA_LINK            = 0x5
461         IFLA_QDISC           = 0x6
462         IFLA_STATS           = 0x7
463         IFLA_COST            = 0x8
464         IFLA_PRIORITY        = 0x9
465         IFLA_MASTER          = 0xa
466         IFLA_WIRELESS        = 0xb
467         IFLA_PROTINFO        = 0xc
468         IFLA_TXQLEN          = 0xd
469         IFLA_MAP             = 0xe
470         IFLA_WEIGHT          = 0xf
471         IFLA_OPERSTATE       = 0x10
472         IFLA_LINKMODE        = 0x11
473         IFLA_LINKINFO        = 0x12
474         IFLA_NET_NS_PID      = 0x13
475         IFLA_IFALIAS         = 0x14
476         IFLA_NUM_VF          = 0x15
477         IFLA_VFINFO_LIST     = 0x16
478         IFLA_STATS64         = 0x17
479         IFLA_VF_PORTS        = 0x18
480         IFLA_PORT_SELF       = 0x19
481         IFLA_AF_SPEC         = 0x1a
482         IFLA_GROUP           = 0x1b
483         IFLA_NET_NS_FD       = 0x1c
484         IFLA_EXT_MASK        = 0x1d
485         IFLA_PROMISCUITY     = 0x1e
486         IFLA_NUM_TX_QUEUES   = 0x1f
487         IFLA_NUM_RX_QUEUES   = 0x20
488         IFLA_CARRIER         = 0x21
489         IFLA_PHYS_PORT_ID    = 0x22
490         IFLA_CARRIER_CHANGES = 0x23
491         IFLA_PHYS_SWITCH_ID  = 0x24
492         IFLA_LINK_NETNSID    = 0x25
493         IFLA_PHYS_PORT_NAME  = 0x26
494         IFLA_PROTO_DOWN      = 0x27
495         IFLA_GSO_MAX_SEGS    = 0x28
496         IFLA_GSO_MAX_SIZE    = 0x29
497         IFLA_PAD             = 0x2a
498         IFLA_XDP             = 0x2b
499         IFLA_EVENT           = 0x2c
500         IFLA_NEW_NETNSID     = 0x2d
501         IFLA_IF_NETNSID      = 0x2e
502         IFLA_MAX             = 0x33
503         RT_SCOPE_UNIVERSE    = 0x0
504         RT_SCOPE_SITE        = 0xc8
505         RT_SCOPE_LINK        = 0xfd
506         RT_SCOPE_HOST        = 0xfe
507         RT_SCOPE_NOWHERE     = 0xff
508         RT_TABLE_UNSPEC      = 0x0
509         RT_TABLE_COMPAT      = 0xfc
510         RT_TABLE_DEFAULT     = 0xfd
511         RT_TABLE_MAIN        = 0xfe
512         RT_TABLE_LOCAL       = 0xff
513         RT_TABLE_MAX         = 0xffffffff
514         RTA_UNSPEC           = 0x0
515         RTA_DST              = 0x1
516         RTA_SRC              = 0x2
517         RTA_IIF              = 0x3
518         RTA_OIF              = 0x4
519         RTA_GATEWAY          = 0x5
520         RTA_PRIORITY         = 0x6
521         RTA_PREFSRC          = 0x7
522         RTA_METRICS          = 0x8
523         RTA_MULTIPATH        = 0x9
524         RTA_FLOW             = 0xb
525         RTA_CACHEINFO        = 0xc
526         RTA_TABLE            = 0xf
527         RTA_MARK             = 0x10
528         RTA_MFC_STATS        = 0x11
529         RTA_VIA              = 0x12
530         RTA_NEWDST           = 0x13
531         RTA_PREF             = 0x14
532         RTA_ENCAP_TYPE       = 0x15
533         RTA_ENCAP            = 0x16
534         RTA_EXPIRES          = 0x17
535         RTA_PAD              = 0x18
536         RTA_UID              = 0x19
537         RTA_TTL_PROPAGATE    = 0x1a
538         RTA_IP_PROTO         = 0x1b
539         RTA_SPORT            = 0x1c
540         RTA_DPORT            = 0x1d
541         RTN_UNSPEC           = 0x0
542         RTN_UNICAST          = 0x1
543         RTN_LOCAL            = 0x2
544         RTN_BROADCAST        = 0x3
545         RTN_ANYCAST          = 0x4
546         RTN_MULTICAST        = 0x5
547         RTN_BLACKHOLE        = 0x6
548         RTN_UNREACHABLE      = 0x7
549         RTN_PROHIBIT         = 0x8
550         RTN_THROW            = 0x9
551         RTN_NAT              = 0xa
552         RTN_XRESOLVE         = 0xb
553         RTNLGRP_NONE         = 0x0
554         RTNLGRP_LINK         = 0x1
555         RTNLGRP_NOTIFY       = 0x2
556         RTNLGRP_NEIGH        = 0x3
557         RTNLGRP_TC           = 0x4
558         RTNLGRP_IPV4_IFADDR  = 0x5
559         RTNLGRP_IPV4_MROUTE  = 0x6
560         RTNLGRP_IPV4_ROUTE   = 0x7
561         RTNLGRP_IPV4_RULE    = 0x8
562         RTNLGRP_IPV6_IFADDR  = 0x9
563         RTNLGRP_IPV6_MROUTE  = 0xa
564         RTNLGRP_IPV6_ROUTE   = 0xb
565         RTNLGRP_IPV6_IFINFO  = 0xc
566         RTNLGRP_IPV6_PREFIX  = 0x12
567         RTNLGRP_IPV6_RULE    = 0x13
568         RTNLGRP_ND_USEROPT   = 0x14
569         SizeofNlMsghdr       = 0x10
570         SizeofNlMsgerr       = 0x14
571         SizeofRtGenmsg       = 0x1
572         SizeofNlAttr         = 0x4
573         SizeofRtAttr         = 0x4
574         SizeofIfInfomsg      = 0x10
575         SizeofIfAddrmsg      = 0x8
576         SizeofRtMsg          = 0xc
577         SizeofRtNexthop      = 0x8
578         SizeofNdUseroptmsg   = 0x10
579 )
580
581 type NlMsghdr struct {
582         Len   uint32
583         Type  uint16
584         Flags uint16
585         Seq   uint32
586         Pid   uint32
587 }
588
589 type NlMsgerr struct {
590         Error int32
591         Msg   NlMsghdr
592 }
593
594 type RtGenmsg struct {
595         Family uint8
596 }
597
598 type NlAttr struct {
599         Len  uint16
600         Type uint16
601 }
602
603 type RtAttr struct {
604         Len  uint16
605         Type uint16
606 }
607
608 type IfInfomsg struct {
609         Family uint8
610         _      uint8
611         Type   uint16
612         Index  int32
613         Flags  uint32
614         Change uint32
615 }
616
617 type IfAddrmsg struct {
618         Family    uint8
619         Prefixlen uint8
620         Flags     uint8
621         Scope     uint8
622         Index     uint32
623 }
624
625 type RtMsg struct {
626         Family   uint8
627         Dst_len  uint8
628         Src_len  uint8
629         Tos      uint8
630         Table    uint8
631         Protocol uint8
632         Scope    uint8
633         Type     uint8
634         Flags    uint32
635 }
636
637 type RtNexthop struct {
638         Len     uint16
639         Flags   uint8
640         Hops    uint8
641         Ifindex int32
642 }
643
644 type NdUseroptmsg struct {
645         Family    uint8
646         Pad1      uint8
647         Opts_len  uint16
648         Ifindex   int32
649         Icmp_type uint8
650         Icmp_code uint8
651         Pad2      uint16
652         Pad3      uint32
653 }
654
655 const (
656         SizeofSockFilter = 0x8
657         SizeofSockFprog  = 0x8
658 )
659
660 type SockFilter struct {
661         Code uint16
662         Jt   uint8
663         Jf   uint8
664         K    uint32
665 }
666
667 type SockFprog struct {
668         Len    uint16
669         Filter *SockFilter
670 }
671
672 type InotifyEvent struct {
673         Wd     int32
674         Mask   uint32
675         Cookie uint32
676         Len    uint32
677 }
678
679 const SizeofInotifyEvent = 0x10
680
681 type PtraceRegs struct {
682         Ebx      int32
683         Ecx      int32
684         Edx      int32
685         Esi      int32
686         Edi      int32
687         Ebp      int32
688         Eax      int32
689         Xds      int32
690         Xes      int32
691         Xfs      int32
692         Xgs      int32
693         Orig_eax int32
694         Eip      int32
695         Xcs      int32
696         Eflags   int32
697         Esp      int32
698         Xss      int32
699 }
700
701 type FdSet struct {
702         Bits [32]int32
703 }
704
705 type Sysinfo_t struct {
706         Uptime    int32
707         Loads     [3]uint32
708         Totalram  uint32
709         Freeram   uint32
710         Sharedram uint32
711         Bufferram uint32
712         Totalswap uint32
713         Freeswap  uint32
714         Procs     uint16
715         Pad       uint16
716         Totalhigh uint32
717         Freehigh  uint32
718         Unit      uint32
719         _         [8]int8
720 }
721
722 type Utsname struct {
723         Sysname    [65]byte
724         Nodename   [65]byte
725         Release    [65]byte
726         Version    [65]byte
727         Machine    [65]byte
728         Domainname [65]byte
729 }
730
731 type Ustat_t struct {
732         Tfree  int32
733         Tinode uint32
734         Fname  [6]int8
735         Fpack  [6]int8
736 }
737
738 type EpollEvent struct {
739         Events uint32
740         Fd     int32
741         Pad    int32
742 }
743
744 const (
745         AT_EMPTY_PATH   = 0x1000
746         AT_FDCWD        = -0x64
747         AT_NO_AUTOMOUNT = 0x800
748         AT_REMOVEDIR    = 0x200
749
750         AT_STATX_SYNC_AS_STAT = 0x0
751         AT_STATX_FORCE_SYNC   = 0x2000
752         AT_STATX_DONT_SYNC    = 0x4000
753
754         AT_SYMLINK_FOLLOW   = 0x400
755         AT_SYMLINK_NOFOLLOW = 0x100
756
757         AT_EACCESS = 0x200
758 )
759
760 type PollFd struct {
761         Fd      int32
762         Events  int16
763         Revents int16
764 }
765
766 const (
767         POLLIN    = 0x1
768         POLLPRI   = 0x2
769         POLLOUT   = 0x4
770         POLLRDHUP = 0x2000
771         POLLERR   = 0x8
772         POLLHUP   = 0x10
773         POLLNVAL  = 0x20
774 )
775
776 type Sigset_t struct {
777         Val [32]uint32
778 }
779
780 type SignalfdSiginfo struct {
781         Signo     uint32
782         Errno     int32
783         Code      int32
784         Pid       uint32
785         Uid       uint32
786         Fd        int32
787         Tid       uint32
788         Band      uint32
789         Overrun   uint32
790         Trapno    uint32
791         Status    int32
792         Int       int32
793         Ptr       uint64
794         Utime     uint64
795         Stime     uint64
796         Addr      uint64
797         Addr_lsb  uint16
798         _         uint16
799         Syscall   int32
800         Call_addr uint64
801         Arch      uint32
802         _         [28]uint8
803 }
804
805 const PERF_IOC_FLAG_GROUP = 0x1
806
807 type Termios struct {
808         Iflag  uint32
809         Oflag  uint32
810         Cflag  uint32
811         Lflag  uint32
812         Line   uint8
813         Cc     [19]uint8
814         Ispeed uint32
815         Ospeed uint32
816 }
817
818 type Winsize struct {
819         Row    uint16
820         Col    uint16
821         Xpixel uint16
822         Ypixel uint16
823 }
824
825 type Taskstats struct {
826         Version                   uint16
827         Ac_exitcode               uint32
828         Ac_flag                   uint8
829         Ac_nice                   uint8
830         _                         [4]byte
831         Cpu_count                 uint64
832         Cpu_delay_total           uint64
833         Blkio_count               uint64
834         Blkio_delay_total         uint64
835         Swapin_count              uint64
836         Swapin_delay_total        uint64
837         Cpu_run_real_total        uint64
838         Cpu_run_virtual_total     uint64
839         Ac_comm                   [32]int8
840         Ac_sched                  uint8
841         Ac_pad                    [3]uint8
842         _                         [4]byte
843         Ac_uid                    uint32
844         Ac_gid                    uint32
845         Ac_pid                    uint32
846         Ac_ppid                   uint32
847         Ac_btime                  uint32
848         _                         [4]byte
849         Ac_etime                  uint64
850         Ac_utime                  uint64
851         Ac_stime                  uint64
852         Ac_minflt                 uint64
853         Ac_majflt                 uint64
854         Coremem                   uint64
855         Virtmem                   uint64
856         Hiwater_rss               uint64
857         Hiwater_vm                uint64
858         Read_char                 uint64
859         Write_char                uint64
860         Read_syscalls             uint64
861         Write_syscalls            uint64
862         Read_bytes                uint64
863         Write_bytes               uint64
864         Cancelled_write_bytes     uint64
865         Nvcsw                     uint64
866         Nivcsw                    uint64
867         Ac_utimescaled            uint64
868         Ac_stimescaled            uint64
869         Cpu_scaled_run_real_total uint64
870         Freepages_count           uint64
871         Freepages_delay_total     uint64
872         Thrashing_count           uint64
873         Thrashing_delay_total     uint64
874 }
875
876 const (
877         TASKSTATS_CMD_UNSPEC                  = 0x0
878         TASKSTATS_CMD_GET                     = 0x1
879         TASKSTATS_CMD_NEW                     = 0x2
880         TASKSTATS_TYPE_UNSPEC                 = 0x0
881         TASKSTATS_TYPE_PID                    = 0x1
882         TASKSTATS_TYPE_TGID                   = 0x2
883         TASKSTATS_TYPE_STATS                  = 0x3
884         TASKSTATS_TYPE_AGGR_PID               = 0x4
885         TASKSTATS_TYPE_AGGR_TGID              = 0x5
886         TASKSTATS_TYPE_NULL                   = 0x6
887         TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
888         TASKSTATS_CMD_ATTR_PID                = 0x1
889         TASKSTATS_CMD_ATTR_TGID               = 0x2
890         TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
891         TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
892 )
893
894 type CGroupStats struct {
895         Sleeping        uint64
896         Running         uint64
897         Stopped         uint64
898         Uninterruptible uint64
899         Io_wait         uint64
900 }
901
902 const (
903         CGROUPSTATS_CMD_UNSPEC        = 0x3
904         CGROUPSTATS_CMD_GET           = 0x4
905         CGROUPSTATS_CMD_NEW           = 0x5
906         CGROUPSTATS_TYPE_UNSPEC       = 0x0
907         CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
908         CGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0
909         CGROUPSTATS_CMD_ATTR_FD       = 0x1
910 )
911
912 type Genlmsghdr struct {
913         Cmd      uint8
914         Version  uint8
915         Reserved uint16
916 }
917
918 const (
919         CTRL_CMD_UNSPEC            = 0x0
920         CTRL_CMD_NEWFAMILY         = 0x1
921         CTRL_CMD_DELFAMILY         = 0x2
922         CTRL_CMD_GETFAMILY         = 0x3
923         CTRL_CMD_NEWOPS            = 0x4
924         CTRL_CMD_DELOPS            = 0x5
925         CTRL_CMD_GETOPS            = 0x6
926         CTRL_CMD_NEWMCAST_GRP      = 0x7
927         CTRL_CMD_DELMCAST_GRP      = 0x8
928         CTRL_CMD_GETMCAST_GRP      = 0x9
929         CTRL_ATTR_UNSPEC           = 0x0
930         CTRL_ATTR_FAMILY_ID        = 0x1
931         CTRL_ATTR_FAMILY_NAME      = 0x2
932         CTRL_ATTR_VERSION          = 0x3
933         CTRL_ATTR_HDRSIZE          = 0x4
934         CTRL_ATTR_MAXATTR          = 0x5
935         CTRL_ATTR_OPS              = 0x6
936         CTRL_ATTR_MCAST_GROUPS     = 0x7
937         CTRL_ATTR_OP_UNSPEC        = 0x0
938         CTRL_ATTR_OP_ID            = 0x1
939         CTRL_ATTR_OP_FLAGS         = 0x2
940         CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
941         CTRL_ATTR_MCAST_GRP_NAME   = 0x1
942         CTRL_ATTR_MCAST_GRP_ID     = 0x2
943 )
944
945 type cpuMask uint32
946
947 const (
948         _CPU_SETSIZE = 0x400
949         _NCPUBITS    = 0x20
950 )
951
952 const (
953         BDADDR_BREDR     = 0x0
954         BDADDR_LE_PUBLIC = 0x1
955         BDADDR_LE_RANDOM = 0x2
956 )
957
958 type PerfEventAttr struct {
959         Type               uint32
960         Size               uint32
961         Config             uint64
962         Sample             uint64
963         Sample_type        uint64
964         Read_format        uint64
965         Bits               uint64
966         Wakeup             uint32
967         Bp_type            uint32
968         Ext1               uint64
969         Ext2               uint64
970         Branch_sample_type uint64
971         Sample_regs_user   uint64
972         Sample_stack_user  uint32
973         Clockid            int32
974         Sample_regs_intr   uint64
975         Aux_watermark      uint32
976         Sample_max_stack   uint16
977         _                  uint16
978 }
979
980 type PerfEventMmapPage struct {
981         Version        uint32
982         Compat_version uint32
983         Lock           uint32
984         Index          uint32
985         Offset         int64
986         Time_enabled   uint64
987         Time_running   uint64
988         Capabilities   uint64
989         Pmc_width      uint16
990         Time_shift     uint16
991         Time_mult      uint32
992         Time_offset    uint64
993         Time_zero      uint64
994         Size           uint32
995         _              [948]uint8
996         Data_head      uint64
997         Data_tail      uint64
998         Data_offset    uint64
999         Data_size      uint64
1000         Aux_head       uint64
1001         Aux_tail       uint64
1002         Aux_offset     uint64
1003         Aux_size       uint64
1004 }
1005
1006 const (
1007         PerfBitDisabled               uint64 = CBitFieldMaskBit0
1008         PerfBitInherit                       = CBitFieldMaskBit1
1009         PerfBitPinned                        = CBitFieldMaskBit2
1010         PerfBitExclusive                     = CBitFieldMaskBit3
1011         PerfBitExcludeUser                   = CBitFieldMaskBit4
1012         PerfBitExcludeKernel                 = CBitFieldMaskBit5
1013         PerfBitExcludeHv                     = CBitFieldMaskBit6
1014         PerfBitExcludeIdle                   = CBitFieldMaskBit7
1015         PerfBitMmap                          = CBitFieldMaskBit8
1016         PerfBitComm                          = CBitFieldMaskBit9
1017         PerfBitFreq                          = CBitFieldMaskBit10
1018         PerfBitInheritStat                   = CBitFieldMaskBit11
1019         PerfBitEnableOnExec                  = CBitFieldMaskBit12
1020         PerfBitTask                          = CBitFieldMaskBit13
1021         PerfBitWatermark                     = CBitFieldMaskBit14
1022         PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
1023         PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
1024         PerfBitMmapData                      = CBitFieldMaskBit17
1025         PerfBitSampleIDAll                   = CBitFieldMaskBit18
1026         PerfBitExcludeHost                   = CBitFieldMaskBit19
1027         PerfBitExcludeGuest                  = CBitFieldMaskBit20
1028         PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
1029         PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
1030         PerfBitMmap2                         = CBitFieldMaskBit23
1031         PerfBitCommExec                      = CBitFieldMaskBit24
1032         PerfBitUseClockID                    = CBitFieldMaskBit25
1033         PerfBitContextSwitch                 = CBitFieldMaskBit26
1034 )
1035
1036 const (
1037         PERF_TYPE_HARDWARE   = 0x0
1038         PERF_TYPE_SOFTWARE   = 0x1
1039         PERF_TYPE_TRACEPOINT = 0x2
1040         PERF_TYPE_HW_CACHE   = 0x3
1041         PERF_TYPE_RAW        = 0x4
1042         PERF_TYPE_BREAKPOINT = 0x5
1043
1044         PERF_COUNT_HW_CPU_CYCLES              = 0x0
1045         PERF_COUNT_HW_INSTRUCTIONS            = 0x1
1046         PERF_COUNT_HW_CACHE_REFERENCES        = 0x2
1047         PERF_COUNT_HW_CACHE_MISSES            = 0x3
1048         PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4
1049         PERF_COUNT_HW_BRANCH_MISSES           = 0x5
1050         PERF_COUNT_HW_BUS_CYCLES              = 0x6
1051         PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
1052         PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8
1053         PERF_COUNT_HW_REF_CPU_CYCLES          = 0x9
1054
1055         PERF_COUNT_HW_CACHE_L1D  = 0x0
1056         PERF_COUNT_HW_CACHE_L1I  = 0x1
1057         PERF_COUNT_HW_CACHE_LL   = 0x2
1058         PERF_COUNT_HW_CACHE_DTLB = 0x3
1059         PERF_COUNT_HW_CACHE_ITLB = 0x4
1060         PERF_COUNT_HW_CACHE_BPU  = 0x5
1061         PERF_COUNT_HW_CACHE_NODE = 0x6
1062
1063         PERF_COUNT_HW_CACHE_OP_READ     = 0x0
1064         PERF_COUNT_HW_CACHE_OP_WRITE    = 0x1
1065         PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
1066
1067         PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
1068         PERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1
1069
1070         PERF_COUNT_SW_CPU_CLOCK        = 0x0
1071         PERF_COUNT_SW_TASK_CLOCK       = 0x1
1072         PERF_COUNT_SW_PAGE_FAULTS      = 0x2
1073         PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
1074         PERF_COUNT_SW_CPU_MIGRATIONS   = 0x4
1075         PERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5
1076         PERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6
1077         PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
1078         PERF_COUNT_SW_EMULATION_FAULTS = 0x8
1079         PERF_COUNT_SW_DUMMY            = 0x9
1080         PERF_COUNT_SW_BPF_OUTPUT       = 0xa
1081
1082         PERF_SAMPLE_IP           = 0x1
1083         PERF_SAMPLE_TID          = 0x2
1084         PERF_SAMPLE_TIME         = 0x4
1085         PERF_SAMPLE_ADDR         = 0x8
1086         PERF_SAMPLE_READ         = 0x10
1087         PERF_SAMPLE_CALLCHAIN    = 0x20
1088         PERF_SAMPLE_ID           = 0x40
1089         PERF_SAMPLE_CPU          = 0x80
1090         PERF_SAMPLE_PERIOD       = 0x100
1091         PERF_SAMPLE_STREAM_ID    = 0x200
1092         PERF_SAMPLE_RAW          = 0x400
1093         PERF_SAMPLE_BRANCH_STACK = 0x800
1094
1095         PERF_SAMPLE_BRANCH_USER       = 0x1
1096         PERF_SAMPLE_BRANCH_KERNEL     = 0x2
1097         PERF_SAMPLE_BRANCH_HV         = 0x4
1098         PERF_SAMPLE_BRANCH_ANY        = 0x8
1099         PERF_SAMPLE_BRANCH_ANY_CALL   = 0x10
1100         PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
1101         PERF_SAMPLE_BRANCH_IND_CALL   = 0x40
1102         PERF_SAMPLE_BRANCH_ABORT_TX   = 0x80
1103         PERF_SAMPLE_BRANCH_IN_TX      = 0x100
1104         PERF_SAMPLE_BRANCH_NO_TX      = 0x200
1105         PERF_SAMPLE_BRANCH_COND       = 0x400
1106         PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
1107         PERF_SAMPLE_BRANCH_IND_JUMP   = 0x1000
1108         PERF_SAMPLE_BRANCH_CALL       = 0x2000
1109         PERF_SAMPLE_BRANCH_NO_FLAGS   = 0x4000
1110         PERF_SAMPLE_BRANCH_NO_CYCLES  = 0x8000
1111         PERF_SAMPLE_BRANCH_TYPE_SAVE  = 0x10000
1112
1113         PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
1114         PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
1115         PERF_FORMAT_ID                 = 0x4
1116         PERF_FORMAT_GROUP              = 0x8
1117
1118         PERF_RECORD_MMAP            = 0x1
1119         PERF_RECORD_LOST            = 0x2
1120         PERF_RECORD_COMM            = 0x3
1121         PERF_RECORD_EXIT            = 0x4
1122         PERF_RECORD_THROTTLE        = 0x5
1123         PERF_RECORD_UNTHROTTLE      = 0x6
1124         PERF_RECORD_FORK            = 0x7
1125         PERF_RECORD_READ            = 0x8
1126         PERF_RECORD_SAMPLE          = 0x9
1127         PERF_RECORD_MMAP2           = 0xa
1128         PERF_RECORD_AUX             = 0xb
1129         PERF_RECORD_ITRACE_START    = 0xc
1130         PERF_RECORD_LOST_SAMPLES    = 0xd
1131         PERF_RECORD_SWITCH          = 0xe
1132         PERF_RECORD_SWITCH_CPU_WIDE = 0xf
1133         PERF_RECORD_NAMESPACES      = 0x10
1134
1135         PERF_CONTEXT_HV     = -0x20
1136         PERF_CONTEXT_KERNEL = -0x80
1137         PERF_CONTEXT_USER   = -0x200
1138
1139         PERF_CONTEXT_GUEST        = -0x800
1140         PERF_CONTEXT_GUEST_KERNEL = -0x880
1141         PERF_CONTEXT_GUEST_USER   = -0xa00
1142
1143         PERF_FLAG_FD_NO_GROUP = 0x1
1144         PERF_FLAG_FD_OUTPUT   = 0x2
1145         PERF_FLAG_PID_CGROUP  = 0x4
1146         PERF_FLAG_FD_CLOEXEC  = 0x8
1147 )
1148
1149 const (
1150         CBitFieldMaskBit0  = 0x1
1151         CBitFieldMaskBit1  = 0x2
1152         CBitFieldMaskBit2  = 0x4
1153         CBitFieldMaskBit3  = 0x8
1154         CBitFieldMaskBit4  = 0x10
1155         CBitFieldMaskBit5  = 0x20
1156         CBitFieldMaskBit6  = 0x40
1157         CBitFieldMaskBit7  = 0x80
1158         CBitFieldMaskBit8  = 0x100
1159         CBitFieldMaskBit9  = 0x200
1160         CBitFieldMaskBit10 = 0x400
1161         CBitFieldMaskBit11 = 0x800
1162         CBitFieldMaskBit12 = 0x1000
1163         CBitFieldMaskBit13 = 0x2000
1164         CBitFieldMaskBit14 = 0x4000
1165         CBitFieldMaskBit15 = 0x8000
1166         CBitFieldMaskBit16 = 0x10000
1167         CBitFieldMaskBit17 = 0x20000
1168         CBitFieldMaskBit18 = 0x40000
1169         CBitFieldMaskBit19 = 0x80000
1170         CBitFieldMaskBit20 = 0x100000
1171         CBitFieldMaskBit21 = 0x200000
1172         CBitFieldMaskBit22 = 0x400000
1173         CBitFieldMaskBit23 = 0x800000
1174         CBitFieldMaskBit24 = 0x1000000
1175         CBitFieldMaskBit25 = 0x2000000
1176         CBitFieldMaskBit26 = 0x4000000
1177         CBitFieldMaskBit27 = 0x8000000
1178         CBitFieldMaskBit28 = 0x10000000
1179         CBitFieldMaskBit29 = 0x20000000
1180         CBitFieldMaskBit30 = 0x40000000
1181         CBitFieldMaskBit31 = 0x80000000
1182         CBitFieldMaskBit32 = 0x100000000
1183         CBitFieldMaskBit33 = 0x200000000
1184         CBitFieldMaskBit34 = 0x400000000
1185         CBitFieldMaskBit35 = 0x800000000
1186         CBitFieldMaskBit36 = 0x1000000000
1187         CBitFieldMaskBit37 = 0x2000000000
1188         CBitFieldMaskBit38 = 0x4000000000
1189         CBitFieldMaskBit39 = 0x8000000000
1190         CBitFieldMaskBit40 = 0x10000000000
1191         CBitFieldMaskBit41 = 0x20000000000
1192         CBitFieldMaskBit42 = 0x40000000000
1193         CBitFieldMaskBit43 = 0x80000000000
1194         CBitFieldMaskBit44 = 0x100000000000
1195         CBitFieldMaskBit45 = 0x200000000000
1196         CBitFieldMaskBit46 = 0x400000000000
1197         CBitFieldMaskBit47 = 0x800000000000
1198         CBitFieldMaskBit48 = 0x1000000000000
1199         CBitFieldMaskBit49 = 0x2000000000000
1200         CBitFieldMaskBit50 = 0x4000000000000
1201         CBitFieldMaskBit51 = 0x8000000000000
1202         CBitFieldMaskBit52 = 0x10000000000000
1203         CBitFieldMaskBit53 = 0x20000000000000
1204         CBitFieldMaskBit54 = 0x40000000000000
1205         CBitFieldMaskBit55 = 0x80000000000000
1206         CBitFieldMaskBit56 = 0x100000000000000
1207         CBitFieldMaskBit57 = 0x200000000000000
1208         CBitFieldMaskBit58 = 0x400000000000000
1209         CBitFieldMaskBit59 = 0x800000000000000
1210         CBitFieldMaskBit60 = 0x1000000000000000
1211         CBitFieldMaskBit61 = 0x2000000000000000
1212         CBitFieldMaskBit62 = 0x4000000000000000
1213         CBitFieldMaskBit63 = 0x8000000000000000
1214 )
1215
1216 type SockaddrStorage struct {
1217         Family uint16
1218         _      [122]int8
1219         _      uint32
1220 }
1221
1222 type TCPMD5Sig struct {
1223         Addr      SockaddrStorage
1224         Flags     uint8
1225         Prefixlen uint8
1226         Keylen    uint16
1227         _         uint32
1228         Key       [80]uint8
1229 }
1230
1231 type HDDriveCmdHdr struct {
1232         Command uint8
1233         Number  uint8
1234         Feature uint8
1235         Count   uint8
1236 }
1237
1238 type HDGeometry struct {
1239         Heads     uint8
1240         Sectors   uint8
1241         Cylinders uint16
1242         Start     uint32
1243 }
1244
1245 type HDDriveID struct {
1246         Config         uint16
1247         Cyls           uint16
1248         Reserved2      uint16
1249         Heads          uint16
1250         Track_bytes    uint16
1251         Sector_bytes   uint16
1252         Sectors        uint16
1253         Vendor0        uint16
1254         Vendor1        uint16
1255         Vendor2        uint16
1256         Serial_no      [20]uint8
1257         Buf_type       uint16
1258         Buf_size       uint16
1259         Ecc_bytes      uint16
1260         Fw_rev         [8]uint8
1261         Model          [40]uint8
1262         Max_multsect   uint8
1263         Vendor3        uint8
1264         Dword_io       uint16
1265         Vendor4        uint8
1266         Capability     uint8
1267         Reserved50     uint16
1268         Vendor5        uint8
1269         TPIO           uint8
1270         Vendor6        uint8
1271         TDMA           uint8
1272         Field_valid    uint16
1273         Cur_cyls       uint16
1274         Cur_heads      uint16
1275         Cur_sectors    uint16
1276         Cur_capacity0  uint16
1277         Cur_capacity1  uint16
1278         Multsect       uint8
1279         Multsect_valid uint8
1280         Lba_capacity   uint32
1281         Dma_1word      uint16
1282         Dma_mword      uint16
1283         Eide_pio_modes uint16
1284         Eide_dma_min   uint16
1285         Eide_dma_time  uint16
1286         Eide_pio       uint16
1287         Eide_pio_iordy uint16
1288         Words69_70     [2]uint16
1289         Words71_74     [4]uint16
1290         Queue_depth    uint16
1291         Words76_79     [4]uint16
1292         Major_rev_num  uint16
1293         Minor_rev_num  uint16
1294         Command_set_1  uint16
1295         Command_set_2  uint16
1296         Cfsse          uint16
1297         Cfs_enable_1   uint16
1298         Cfs_enable_2   uint16
1299         Csf_default    uint16
1300         Dma_ultra      uint16
1301         Trseuc         uint16
1302         TrsEuc         uint16
1303         CurAPMvalues   uint16
1304         Mprc           uint16
1305         Hw_config      uint16
1306         Acoustic       uint16
1307         Msrqs          uint16
1308         Sxfert         uint16
1309         Sal            uint16
1310         Spg            uint32
1311         Lba_capacity_2 uint64
1312         Words104_125   [22]uint16
1313         Last_lun       uint16
1314         Word127        uint16
1315         Dlf            uint16
1316         Csfo           uint16
1317         Words130_155   [26]uint16
1318         Word156        uint16
1319         Words157_159   [3]uint16
1320         Cfa_power      uint16
1321         Words161_175   [15]uint16
1322         Words176_205   [30]uint16
1323         Words206_254   [49]uint16
1324         Integrity_word uint16
1325 }
1326
1327 type Statfs_t struct {
1328         Type    int32
1329         Bsize   int32
1330         Blocks  uint64
1331         Bfree   uint64
1332         Bavail  uint64
1333         Files   uint64
1334         Ffree   uint64
1335         Fsid    Fsid
1336         Namelen int32
1337         Frsize  int32
1338         Flags   int32
1339         Spare   [4]int32
1340 }
1341
1342 const (
1343         ST_MANDLOCK    = 0x40
1344         ST_NOATIME     = 0x400
1345         ST_NODEV       = 0x4
1346         ST_NODIRATIME  = 0x800
1347         ST_NOEXEC      = 0x8
1348         ST_NOSUID      = 0x2
1349         ST_RDONLY      = 0x1
1350         ST_RELATIME    = 0x1000
1351         ST_SYNCHRONOUS = 0x10
1352 )
1353
1354 type TpacketHdr struct {
1355         Status  uint32
1356         Len     uint32
1357         Snaplen uint32
1358         Mac     uint16
1359         Net     uint16
1360         Sec     uint32
1361         Usec    uint32
1362 }
1363
1364 type Tpacket2Hdr struct {
1365         Status    uint32
1366         Len       uint32
1367         Snaplen   uint32
1368         Mac       uint16
1369         Net       uint16
1370         Sec       uint32
1371         Nsec      uint32
1372         Vlan_tci  uint16
1373         Vlan_tpid uint16
1374         _         [4]uint8
1375 }
1376
1377 type Tpacket3Hdr struct {
1378         Next_offset uint32
1379         Sec         uint32
1380         Nsec        uint32
1381         Snaplen     uint32
1382         Len         uint32
1383         Status      uint32
1384         Mac         uint16
1385         Net         uint16
1386         Hv1         TpacketHdrVariant1
1387         _           [8]uint8
1388 }
1389
1390 type TpacketHdrVariant1 struct {
1391         Rxhash    uint32
1392         Vlan_tci  uint32
1393         Vlan_tpid uint16
1394         _         uint16
1395 }
1396
1397 type TpacketBlockDesc struct {
1398         Version uint32
1399         To_priv uint32
1400         Hdr     [40]byte
1401 }
1402
1403 type TpacketReq struct {
1404         Block_size uint32
1405         Block_nr   uint32
1406         Frame_size uint32
1407         Frame_nr   uint32
1408 }
1409
1410 type TpacketReq3 struct {
1411         Block_size       uint32
1412         Block_nr         uint32
1413         Frame_size       uint32
1414         Frame_nr         uint32
1415         Retire_blk_tov   uint32
1416         Sizeof_priv      uint32
1417         Feature_req_word uint32
1418 }
1419
1420 type TpacketStats struct {
1421         Packets uint32
1422         Drops   uint32
1423 }
1424
1425 type TpacketStatsV3 struct {
1426         Packets      uint32
1427         Drops        uint32
1428         Freeze_q_cnt uint32
1429 }
1430
1431 type TpacketAuxdata struct {
1432         Status    uint32
1433         Len       uint32
1434         Snaplen   uint32
1435         Mac       uint16
1436         Net       uint16
1437         Vlan_tci  uint16
1438         Vlan_tpid uint16
1439 }
1440
1441 const (
1442         TPACKET_V1 = 0x0
1443         TPACKET_V2 = 0x1
1444         TPACKET_V3 = 0x2
1445 )
1446
1447 const (
1448         SizeofTpacketHdr  = 0x18
1449         SizeofTpacket2Hdr = 0x20
1450         SizeofTpacket3Hdr = 0x30
1451
1452         SizeofTpacketStats   = 0x8
1453         SizeofTpacketStatsV3 = 0xc
1454 )
1455
1456 const (
1457         NF_INET_PRE_ROUTING  = 0x0
1458         NF_INET_LOCAL_IN     = 0x1
1459         NF_INET_FORWARD      = 0x2
1460         NF_INET_LOCAL_OUT    = 0x3
1461         NF_INET_POST_ROUTING = 0x4
1462         NF_INET_NUMHOOKS     = 0x5
1463 )
1464
1465 const (
1466         NF_NETDEV_INGRESS  = 0x0
1467         NF_NETDEV_NUMHOOKS = 0x1
1468 )
1469
1470 const (
1471         NFPROTO_UNSPEC   = 0x0
1472         NFPROTO_INET     = 0x1
1473         NFPROTO_IPV4     = 0x2
1474         NFPROTO_ARP      = 0x3
1475         NFPROTO_NETDEV   = 0x5
1476         NFPROTO_BRIDGE   = 0x7
1477         NFPROTO_IPV6     = 0xa
1478         NFPROTO_DECNET   = 0xc
1479         NFPROTO_NUMPROTO = 0xd
1480 )
1481
1482 type Nfgenmsg struct {
1483         Nfgen_family uint8
1484         Version      uint8
1485         Res_id       uint16
1486 }
1487
1488 const (
1489         NFNL_BATCH_UNSPEC = 0x0
1490         NFNL_BATCH_GENID  = 0x1
1491 )
1492
1493 const (
1494         NFT_REG_VERDICT                   = 0x0
1495         NFT_REG_1                         = 0x1
1496         NFT_REG_2                         = 0x2
1497         NFT_REG_3                         = 0x3
1498         NFT_REG_4                         = 0x4
1499         NFT_REG32_00                      = 0x8
1500         NFT_REG32_01                      = 0x9
1501         NFT_REG32_02                      = 0xa
1502         NFT_REG32_03                      = 0xb
1503         NFT_REG32_04                      = 0xc
1504         NFT_REG32_05                      = 0xd
1505         NFT_REG32_06                      = 0xe
1506         NFT_REG32_07                      = 0xf
1507         NFT_REG32_08                      = 0x10
1508         NFT_REG32_09                      = 0x11
1509         NFT_REG32_10                      = 0x12
1510         NFT_REG32_11                      = 0x13
1511         NFT_REG32_12                      = 0x14
1512         NFT_REG32_13                      = 0x15
1513         NFT_REG32_14                      = 0x16
1514         NFT_REG32_15                      = 0x17
1515         NFT_CONTINUE                      = -0x1
1516         NFT_BREAK                         = -0x2
1517         NFT_JUMP                          = -0x3
1518         NFT_GOTO                          = -0x4
1519         NFT_RETURN                        = -0x5
1520         NFT_MSG_NEWTABLE                  = 0x0
1521         NFT_MSG_GETTABLE                  = 0x1
1522         NFT_MSG_DELTABLE                  = 0x2
1523         NFT_MSG_NEWCHAIN                  = 0x3
1524         NFT_MSG_GETCHAIN                  = 0x4
1525         NFT_MSG_DELCHAIN                  = 0x5
1526         NFT_MSG_NEWRULE                   = 0x6
1527         NFT_MSG_GETRULE                   = 0x7
1528         NFT_MSG_DELRULE                   = 0x8
1529         NFT_MSG_NEWSET                    = 0x9
1530         NFT_MSG_GETSET                    = 0xa
1531         NFT_MSG_DELSET                    = 0xb
1532         NFT_MSG_NEWSETELEM                = 0xc
1533         NFT_MSG_GETSETELEM                = 0xd
1534         NFT_MSG_DELSETELEM                = 0xe
1535         NFT_MSG_NEWGEN                    = 0xf
1536         NFT_MSG_GETGEN                    = 0x10
1537         NFT_MSG_TRACE                     = 0x11
1538         NFT_MSG_NEWOBJ                    = 0x12
1539         NFT_MSG_GETOBJ                    = 0x13
1540         NFT_MSG_DELOBJ                    = 0x14
1541         NFT_MSG_GETOBJ_RESET              = 0x15
1542         NFT_MSG_MAX                       = 0x19
1543         NFTA_LIST_UNPEC                   = 0x0
1544         NFTA_LIST_ELEM                    = 0x1
1545         NFTA_HOOK_UNSPEC                  = 0x0
1546         NFTA_HOOK_HOOKNUM                 = 0x1
1547         NFTA_HOOK_PRIORITY                = 0x2
1548         NFTA_HOOK_DEV                     = 0x3
1549         NFT_TABLE_F_DORMANT               = 0x1
1550         NFTA_TABLE_UNSPEC                 = 0x0
1551         NFTA_TABLE_NAME                   = 0x1
1552         NFTA_TABLE_FLAGS                  = 0x2
1553         NFTA_TABLE_USE                    = 0x3
1554         NFTA_CHAIN_UNSPEC                 = 0x0
1555         NFTA_CHAIN_TABLE                  = 0x1
1556         NFTA_CHAIN_HANDLE                 = 0x2
1557         NFTA_CHAIN_NAME                   = 0x3
1558         NFTA_CHAIN_HOOK                   = 0x4
1559         NFTA_CHAIN_POLICY                 = 0x5
1560         NFTA_CHAIN_USE                    = 0x6
1561         NFTA_CHAIN_TYPE                   = 0x7
1562         NFTA_CHAIN_COUNTERS               = 0x8
1563         NFTA_CHAIN_PAD                    = 0x9
1564         NFTA_RULE_UNSPEC                  = 0x0
1565         NFTA_RULE_TABLE                   = 0x1
1566         NFTA_RULE_CHAIN                   = 0x2
1567         NFTA_RULE_HANDLE                  = 0x3
1568         NFTA_RULE_EXPRESSIONS             = 0x4
1569         NFTA_RULE_COMPAT                  = 0x5
1570         NFTA_RULE_POSITION                = 0x6
1571         NFTA_RULE_USERDATA                = 0x7
1572         NFTA_RULE_PAD                     = 0x8
1573         NFTA_RULE_ID                      = 0x9
1574         NFT_RULE_COMPAT_F_INV             = 0x2
1575         NFT_RULE_COMPAT_F_MASK            = 0x2
1576         NFTA_RULE_COMPAT_UNSPEC           = 0x0
1577         NFTA_RULE_COMPAT_PROTO            = 0x1
1578         NFTA_RULE_COMPAT_FLAGS            = 0x2
1579         NFT_SET_ANONYMOUS                 = 0x1
1580         NFT_SET_CONSTANT                  = 0x2
1581         NFT_SET_INTERVAL                  = 0x4
1582         NFT_SET_MAP                       = 0x8
1583         NFT_SET_TIMEOUT                   = 0x10
1584         NFT_SET_EVAL                      = 0x20
1585         NFT_SET_OBJECT                    = 0x40
1586         NFT_SET_POL_PERFORMANCE           = 0x0
1587         NFT_SET_POL_MEMORY                = 0x1
1588         NFTA_SET_DESC_UNSPEC              = 0x0
1589         NFTA_SET_DESC_SIZE                = 0x1
1590         NFTA_SET_UNSPEC                   = 0x0
1591         NFTA_SET_TABLE                    = 0x1
1592         NFTA_SET_NAME                     = 0x2
1593         NFTA_SET_FLAGS                    = 0x3
1594         NFTA_SET_KEY_TYPE                 = 0x4
1595         NFTA_SET_KEY_LEN                  = 0x5
1596         NFTA_SET_DATA_TYPE                = 0x6
1597         NFTA_SET_DATA_LEN                 = 0x7
1598         NFTA_SET_POLICY                   = 0x8
1599         NFTA_SET_DESC                     = 0x9
1600         NFTA_SET_ID                       = 0xa
1601         NFTA_SET_TIMEOUT                  = 0xb
1602         NFTA_SET_GC_INTERVAL              = 0xc
1603         NFTA_SET_USERDATA                 = 0xd
1604         NFTA_SET_PAD                      = 0xe
1605         NFTA_SET_OBJ_TYPE                 = 0xf
1606         NFT_SET_ELEM_INTERVAL_END         = 0x1
1607         NFTA_SET_ELEM_UNSPEC              = 0x0
1608         NFTA_SET_ELEM_KEY                 = 0x1
1609         NFTA_SET_ELEM_DATA                = 0x2
1610         NFTA_SET_ELEM_FLAGS               = 0x3
1611         NFTA_SET_ELEM_TIMEOUT             = 0x4
1612         NFTA_SET_ELEM_EXPIRATION          = 0x5
1613         NFTA_SET_ELEM_USERDATA            = 0x6
1614         NFTA_SET_ELEM_EXPR                = 0x7
1615         NFTA_SET_ELEM_PAD                 = 0x8
1616         NFTA_SET_ELEM_OBJREF              = 0x9
1617         NFTA_SET_ELEM_LIST_UNSPEC         = 0x0
1618         NFTA_SET_ELEM_LIST_TABLE          = 0x1
1619         NFTA_SET_ELEM_LIST_SET            = 0x2
1620         NFTA_SET_ELEM_LIST_ELEMENTS       = 0x3
1621         NFTA_SET_ELEM_LIST_SET_ID         = 0x4
1622         NFT_DATA_VALUE                    = 0x0
1623         NFT_DATA_VERDICT                  = 0xffffff00
1624         NFTA_DATA_UNSPEC                  = 0x0
1625         NFTA_DATA_VALUE                   = 0x1
1626         NFTA_DATA_VERDICT                 = 0x2
1627         NFTA_VERDICT_UNSPEC               = 0x0
1628         NFTA_VERDICT_CODE                 = 0x1
1629         NFTA_VERDICT_CHAIN                = 0x2
1630         NFTA_EXPR_UNSPEC                  = 0x0
1631         NFTA_EXPR_NAME                    = 0x1
1632         NFTA_EXPR_DATA                    = 0x2
1633         NFTA_IMMEDIATE_UNSPEC             = 0x0
1634         NFTA_IMMEDIATE_DREG               = 0x1
1635         NFTA_IMMEDIATE_DATA               = 0x2
1636         NFTA_BITWISE_UNSPEC               = 0x0
1637         NFTA_BITWISE_SREG                 = 0x1
1638         NFTA_BITWISE_DREG                 = 0x2
1639         NFTA_BITWISE_LEN                  = 0x3
1640         NFTA_BITWISE_MASK                 = 0x4
1641         NFTA_BITWISE_XOR                  = 0x5
1642         NFT_BYTEORDER_NTOH                = 0x0
1643         NFT_BYTEORDER_HTON                = 0x1
1644         NFTA_BYTEORDER_UNSPEC             = 0x0
1645         NFTA_BYTEORDER_SREG               = 0x1
1646         NFTA_BYTEORDER_DREG               = 0x2
1647         NFTA_BYTEORDER_OP                 = 0x3
1648         NFTA_BYTEORDER_LEN                = 0x4
1649         NFTA_BYTEORDER_SIZE               = 0x5
1650         NFT_CMP_EQ                        = 0x0
1651         NFT_CMP_NEQ                       = 0x1
1652         NFT_CMP_LT                        = 0x2
1653         NFT_CMP_LTE                       = 0x3
1654         NFT_CMP_GT                        = 0x4
1655         NFT_CMP_GTE                       = 0x5
1656         NFTA_CMP_UNSPEC                   = 0x0
1657         NFTA_CMP_SREG                     = 0x1
1658         NFTA_CMP_OP                       = 0x2
1659         NFTA_CMP_DATA                     = 0x3
1660         NFT_RANGE_EQ                      = 0x0
1661         NFT_RANGE_NEQ                     = 0x1
1662         NFTA_RANGE_UNSPEC                 = 0x0
1663         NFTA_RANGE_SREG                   = 0x1
1664         NFTA_RANGE_OP                     = 0x2
1665         NFTA_RANGE_FROM_DATA              = 0x3
1666         NFTA_RANGE_TO_DATA                = 0x4
1667         NFT_LOOKUP_F_INV                  = 0x1
1668         NFTA_LOOKUP_UNSPEC                = 0x0
1669         NFTA_LOOKUP_SET                   = 0x1
1670         NFTA_LOOKUP_SREG                  = 0x2
1671         NFTA_LOOKUP_DREG                  = 0x3
1672         NFTA_LOOKUP_SET_ID                = 0x4
1673         NFTA_LOOKUP_FLAGS                 = 0x5
1674         NFT_DYNSET_OP_ADD                 = 0x0
1675         NFT_DYNSET_OP_UPDATE              = 0x1
1676         NFT_DYNSET_F_INV                  = 0x1
1677         NFTA_DYNSET_UNSPEC                = 0x0
1678         NFTA_DYNSET_SET_NAME              = 0x1
1679         NFTA_DYNSET_SET_ID                = 0x2
1680         NFTA_DYNSET_OP                    = 0x3
1681         NFTA_DYNSET_SREG_KEY              = 0x4
1682         NFTA_DYNSET_SREG_DATA             = 0x5
1683         NFTA_DYNSET_TIMEOUT               = 0x6
1684         NFTA_DYNSET_EXPR                  = 0x7
1685         NFTA_DYNSET_PAD                   = 0x8
1686         NFTA_DYNSET_FLAGS                 = 0x9
1687         NFT_PAYLOAD_LL_HEADER             = 0x0
1688         NFT_PAYLOAD_NETWORK_HEADER        = 0x1
1689         NFT_PAYLOAD_TRANSPORT_HEADER      = 0x2
1690         NFT_PAYLOAD_CSUM_NONE             = 0x0
1691         NFT_PAYLOAD_CSUM_INET             = 0x1
1692         NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1
1693         NFTA_PAYLOAD_UNSPEC               = 0x0
1694         NFTA_PAYLOAD_DREG                 = 0x1
1695         NFTA_PAYLOAD_BASE                 = 0x2
1696         NFTA_PAYLOAD_OFFSET               = 0x3
1697         NFTA_PAYLOAD_LEN                  = 0x4
1698         NFTA_PAYLOAD_SREG                 = 0x5
1699         NFTA_PAYLOAD_CSUM_TYPE            = 0x6
1700         NFTA_PAYLOAD_CSUM_OFFSET          = 0x7
1701         NFTA_PAYLOAD_CSUM_FLAGS           = 0x8
1702         NFT_EXTHDR_F_PRESENT              = 0x1
1703         NFT_EXTHDR_OP_IPV6                = 0x0
1704         NFT_EXTHDR_OP_TCPOPT              = 0x1
1705         NFTA_EXTHDR_UNSPEC                = 0x0
1706         NFTA_EXTHDR_DREG                  = 0x1
1707         NFTA_EXTHDR_TYPE                  = 0x2
1708         NFTA_EXTHDR_OFFSET                = 0x3
1709         NFTA_EXTHDR_LEN                   = 0x4
1710         NFTA_EXTHDR_FLAGS                 = 0x5
1711         NFTA_EXTHDR_OP                    = 0x6
1712         NFTA_EXTHDR_SREG                  = 0x7
1713         NFT_META_LEN                      = 0x0
1714         NFT_META_PROTOCOL                 = 0x1
1715         NFT_META_PRIORITY                 = 0x2
1716         NFT_META_MARK                     = 0x3
1717         NFT_META_IIF                      = 0x4
1718         NFT_META_OIF                      = 0x5
1719         NFT_META_IIFNAME                  = 0x6
1720         NFT_META_OIFNAME                  = 0x7
1721         NFT_META_IIFTYPE                  = 0x8
1722         NFT_META_OIFTYPE                  = 0x9
1723         NFT_META_SKUID                    = 0xa
1724         NFT_META_SKGID                    = 0xb
1725         NFT_META_NFTRACE                  = 0xc
1726         NFT_META_RTCLASSID                = 0xd
1727         NFT_META_SECMARK                  = 0xe
1728         NFT_META_NFPROTO                  = 0xf
1729         NFT_META_L4PROTO                  = 0x10
1730         NFT_META_BRI_IIFNAME              = 0x11
1731         NFT_META_BRI_OIFNAME              = 0x12
1732         NFT_META_PKTTYPE                  = 0x13
1733         NFT_META_CPU                      = 0x14
1734         NFT_META_IIFGROUP                 = 0x15
1735         NFT_META_OIFGROUP                 = 0x16
1736         NFT_META_CGROUP                   = 0x17
1737         NFT_META_PRANDOM                  = 0x18
1738         NFT_RT_CLASSID                    = 0x0
1739         NFT_RT_NEXTHOP4                   = 0x1
1740         NFT_RT_NEXTHOP6                   = 0x2
1741         NFT_RT_TCPMSS                     = 0x3
1742         NFT_HASH_JENKINS                  = 0x0
1743         NFT_HASH_SYM                      = 0x1
1744         NFTA_HASH_UNSPEC                  = 0x0
1745         NFTA_HASH_SREG                    = 0x1
1746         NFTA_HASH_DREG                    = 0x2
1747         NFTA_HASH_LEN                     = 0x3
1748         NFTA_HASH_MODULUS                 = 0x4
1749         NFTA_HASH_SEED                    = 0x5
1750         NFTA_HASH_OFFSET                  = 0x6
1751         NFTA_HASH_TYPE                    = 0x7
1752         NFTA_META_UNSPEC                  = 0x0
1753         NFTA_META_DREG                    = 0x1
1754         NFTA_META_KEY                     = 0x2
1755         NFTA_META_SREG                    = 0x3
1756         NFTA_RT_UNSPEC                    = 0x0
1757         NFTA_RT_DREG                      = 0x1
1758         NFTA_RT_KEY                       = 0x2
1759         NFT_CT_STATE                      = 0x0
1760         NFT_CT_DIRECTION                  = 0x1
1761         NFT_CT_STATUS                     = 0x2
1762         NFT_CT_MARK                       = 0x3
1763         NFT_CT_SECMARK                    = 0x4
1764         NFT_CT_EXPIRATION                 = 0x5
1765         NFT_CT_HELPER                     = 0x6
1766         NFT_CT_L3PROTOCOL                 = 0x7
1767         NFT_CT_SRC                        = 0x8
1768         NFT_CT_DST                        = 0x9
1769         NFT_CT_PROTOCOL                   = 0xa
1770         NFT_CT_PROTO_SRC                  = 0xb
1771         NFT_CT_PROTO_DST                  = 0xc
1772         NFT_CT_LABELS                     = 0xd
1773         NFT_CT_PKTS                       = 0xe
1774         NFT_CT_BYTES                      = 0xf
1775         NFT_CT_AVGPKT                     = 0x10
1776         NFT_CT_ZONE                       = 0x11
1777         NFT_CT_EVENTMASK                  = 0x12
1778         NFTA_CT_UNSPEC                    = 0x0
1779         NFTA_CT_DREG                      = 0x1
1780         NFTA_CT_KEY                       = 0x2
1781         NFTA_CT_DIRECTION                 = 0x3
1782         NFTA_CT_SREG                      = 0x4
1783         NFT_LIMIT_PKTS                    = 0x0
1784         NFT_LIMIT_PKT_BYTES               = 0x1
1785         NFT_LIMIT_F_INV                   = 0x1
1786         NFTA_LIMIT_UNSPEC                 = 0x0
1787         NFTA_LIMIT_RATE                   = 0x1
1788         NFTA_LIMIT_UNIT                   = 0x2
1789         NFTA_LIMIT_BURST                  = 0x3
1790         NFTA_LIMIT_TYPE                   = 0x4
1791         NFTA_LIMIT_FLAGS                  = 0x5
1792         NFTA_LIMIT_PAD                    = 0x6
1793         NFTA_COUNTER_UNSPEC               = 0x0
1794         NFTA_COUNTER_BYTES                = 0x1
1795         NFTA_COUNTER_PACKETS              = 0x2
1796         NFTA_COUNTER_PAD                  = 0x3
1797         NFTA_LOG_UNSPEC                   = 0x0
1798         NFTA_LOG_GROUP                    = 0x1
1799         NFTA_LOG_PREFIX                   = 0x2
1800         NFTA_LOG_SNAPLEN                  = 0x3
1801         NFTA_LOG_QTHRESHOLD               = 0x4
1802         NFTA_LOG_LEVEL                    = 0x5
1803         NFTA_LOG_FLAGS                    = 0x6
1804         NFTA_QUEUE_UNSPEC                 = 0x0
1805         NFTA_QUEUE_NUM                    = 0x1
1806         NFTA_QUEUE_TOTAL                  = 0x2
1807         NFTA_QUEUE_FLAGS                  = 0x3
1808         NFTA_QUEUE_SREG_QNUM              = 0x4
1809         NFT_QUOTA_F_INV                   = 0x1
1810         NFT_QUOTA_F_DEPLETED              = 0x2
1811         NFTA_QUOTA_UNSPEC                 = 0x0
1812         NFTA_QUOTA_BYTES                  = 0x1
1813         NFTA_QUOTA_FLAGS                  = 0x2
1814         NFTA_QUOTA_PAD                    = 0x3
1815         NFTA_QUOTA_CONSUMED               = 0x4
1816         NFT_REJECT_ICMP_UNREACH           = 0x0
1817         NFT_REJECT_TCP_RST                = 0x1
1818         NFT_REJECT_ICMPX_UNREACH          = 0x2
1819         NFT_REJECT_ICMPX_NO_ROUTE         = 0x0
1820         NFT_REJECT_ICMPX_PORT_UNREACH     = 0x1
1821         NFT_REJECT_ICMPX_HOST_UNREACH     = 0x2
1822         NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
1823         NFTA_REJECT_UNSPEC                = 0x0
1824         NFTA_REJECT_TYPE                  = 0x1
1825         NFTA_REJECT_ICMP_CODE             = 0x2
1826         NFT_NAT_SNAT                      = 0x0
1827         NFT_NAT_DNAT                      = 0x1
1828         NFTA_NAT_UNSPEC                   = 0x0
1829         NFTA_NAT_TYPE                     = 0x1
1830         NFTA_NAT_FAMILY                   = 0x2
1831         NFTA_NAT_REG_ADDR_MIN             = 0x3
1832         NFTA_NAT_REG_ADDR_MAX             = 0x4
1833         NFTA_NAT_REG_PROTO_MIN            = 0x5
1834         NFTA_NAT_REG_PROTO_MAX            = 0x6
1835         NFTA_NAT_FLAGS                    = 0x7
1836         NFTA_MASQ_UNSPEC                  = 0x0
1837         NFTA_MASQ_FLAGS                   = 0x1
1838         NFTA_MASQ_REG_PROTO_MIN           = 0x2
1839         NFTA_MASQ_REG_PROTO_MAX           = 0x3
1840         NFTA_REDIR_UNSPEC                 = 0x0
1841         NFTA_REDIR_REG_PROTO_MIN          = 0x1
1842         NFTA_REDIR_REG_PROTO_MAX          = 0x2
1843         NFTA_REDIR_FLAGS                  = 0x3
1844         NFTA_DUP_UNSPEC                   = 0x0
1845         NFTA_DUP_SREG_ADDR                = 0x1
1846         NFTA_DUP_SREG_DEV                 = 0x2
1847         NFTA_FWD_UNSPEC                   = 0x0
1848         NFTA_FWD_SREG_DEV                 = 0x1
1849         NFTA_OBJREF_UNSPEC                = 0x0
1850         NFTA_OBJREF_IMM_TYPE              = 0x1
1851         NFTA_OBJREF_IMM_NAME              = 0x2
1852         NFTA_OBJREF_SET_SREG              = 0x3
1853         NFTA_OBJREF_SET_NAME              = 0x4
1854         NFTA_OBJREF_SET_ID                = 0x5
1855         NFTA_GEN_UNSPEC                   = 0x0
1856         NFTA_GEN_ID                       = 0x1
1857         NFTA_GEN_PROC_PID                 = 0x2
1858         NFTA_GEN_PROC_NAME                = 0x3
1859         NFTA_FIB_UNSPEC                   = 0x0
1860         NFTA_FIB_DREG                     = 0x1
1861         NFTA_FIB_RESULT                   = 0x2
1862         NFTA_FIB_FLAGS                    = 0x3
1863         NFT_FIB_RESULT_UNSPEC             = 0x0
1864         NFT_FIB_RESULT_OIF                = 0x1
1865         NFT_FIB_RESULT_OIFNAME            = 0x2
1866         NFT_FIB_RESULT_ADDRTYPE           = 0x3
1867         NFTA_FIB_F_SADDR                  = 0x1
1868         NFTA_FIB_F_DADDR                  = 0x2
1869         NFTA_FIB_F_MARK                   = 0x4
1870         NFTA_FIB_F_IIF                    = 0x8
1871         NFTA_FIB_F_OIF                    = 0x10
1872         NFTA_FIB_F_PRESENT                = 0x20
1873         NFTA_CT_HELPER_UNSPEC             = 0x0
1874         NFTA_CT_HELPER_NAME               = 0x1
1875         NFTA_CT_HELPER_L3PROTO            = 0x2
1876         NFTA_CT_HELPER_L4PROTO            = 0x3
1877         NFTA_OBJ_UNSPEC                   = 0x0
1878         NFTA_OBJ_TABLE                    = 0x1
1879         NFTA_OBJ_NAME                     = 0x2
1880         NFTA_OBJ_TYPE                     = 0x3
1881         NFTA_OBJ_DATA                     = 0x4
1882         NFTA_OBJ_USE                      = 0x5
1883         NFTA_TRACE_UNSPEC                 = 0x0
1884         NFTA_TRACE_TABLE                  = 0x1
1885         NFTA_TRACE_CHAIN                  = 0x2
1886         NFTA_TRACE_RULE_HANDLE            = 0x3
1887         NFTA_TRACE_TYPE                   = 0x4
1888         NFTA_TRACE_VERDICT                = 0x5
1889         NFTA_TRACE_ID                     = 0x6
1890         NFTA_TRACE_LL_HEADER              = 0x7
1891         NFTA_TRACE_NETWORK_HEADER         = 0x8
1892         NFTA_TRACE_TRANSPORT_HEADER       = 0x9
1893         NFTA_TRACE_IIF                    = 0xa
1894         NFTA_TRACE_IIFTYPE                = 0xb
1895         NFTA_TRACE_OIF                    = 0xc
1896         NFTA_TRACE_OIFTYPE                = 0xd
1897         NFTA_TRACE_MARK                   = 0xe
1898         NFTA_TRACE_NFPROTO                = 0xf
1899         NFTA_TRACE_POLICY                 = 0x10
1900         NFTA_TRACE_PAD                    = 0x11
1901         NFT_TRACETYPE_UNSPEC              = 0x0
1902         NFT_TRACETYPE_POLICY              = 0x1
1903         NFT_TRACETYPE_RETURN              = 0x2
1904         NFT_TRACETYPE_RULE                = 0x3
1905         NFTA_NG_UNSPEC                    = 0x0
1906         NFTA_NG_DREG                      = 0x1
1907         NFTA_NG_MODULUS                   = 0x2
1908         NFTA_NG_TYPE                      = 0x3
1909         NFTA_NG_OFFSET                    = 0x4
1910         NFT_NG_INCREMENTAL                = 0x0
1911         NFT_NG_RANDOM                     = 0x1
1912 )
1913
1914 type RTCTime struct {
1915         Sec   int32
1916         Min   int32
1917         Hour  int32
1918         Mday  int32
1919         Mon   int32
1920         Year  int32
1921         Wday  int32
1922         Yday  int32
1923         Isdst int32
1924 }
1925
1926 type RTCWkAlrm struct {
1927         Enabled uint8
1928         Pending uint8
1929         Time    RTCTime
1930 }
1931
1932 type RTCPLLInfo struct {
1933         Ctrl    int32
1934         Value   int32
1935         Max     int32
1936         Min     int32
1937         Posmult int32
1938         Negmult int32
1939         Clock   int32
1940 }
1941
1942 type BlkpgIoctlArg struct {
1943         Op      int32
1944         Flags   int32
1945         Datalen int32
1946         Data    *byte
1947 }
1948
1949 type BlkpgPartition struct {
1950         Start   int64
1951         Length  int64
1952         Pno     int32
1953         Devname [64]uint8
1954         Volname [64]uint8
1955 }
1956
1957 const (
1958         BLKPG                  = 0x1269
1959         BLKPG_ADD_PARTITION    = 0x1
1960         BLKPG_DEL_PARTITION    = 0x2
1961         BLKPG_RESIZE_PARTITION = 0x3
1962 )
1963
1964 const (
1965         NETNSA_NONE = 0x0
1966         NETNSA_NSID = 0x1
1967         NETNSA_PID  = 0x2
1968         NETNSA_FD   = 0x3
1969 )
1970
1971 type XDPRingOffset struct {
1972         Producer uint64
1973         Consumer uint64
1974         Desc     uint64
1975 }
1976
1977 type XDPMmapOffsets struct {
1978         Rx XDPRingOffset
1979         Tx XDPRingOffset
1980         Fr XDPRingOffset
1981         Cr XDPRingOffset
1982 }
1983
1984 type XDPUmemReg struct {
1985         Addr     uint64
1986         Len      uint64
1987         Size     uint32
1988         Headroom uint32
1989 }
1990
1991 type XDPStatistics struct {
1992         Rx_dropped       uint64
1993         Rx_invalid_descs uint64
1994         Tx_invalid_descs uint64
1995 }
1996
1997 type XDPDesc struct {
1998         Addr    uint64
1999         Len     uint32
2000         Options uint32
2001 }
2002
2003 const (
2004         NCSI_CMD_UNSPEC                 = 0x0
2005         NCSI_CMD_PKG_INFO               = 0x1
2006         NCSI_CMD_SET_INTERFACE          = 0x2
2007         NCSI_CMD_CLEAR_INTERFACE        = 0x3
2008         NCSI_ATTR_UNSPEC                = 0x0
2009         NCSI_ATTR_IFINDEX               = 0x1
2010         NCSI_ATTR_PACKAGE_LIST          = 0x2
2011         NCSI_ATTR_PACKAGE_ID            = 0x3
2012         NCSI_ATTR_CHANNEL_ID            = 0x4
2013         NCSI_PKG_ATTR_UNSPEC            = 0x0
2014         NCSI_PKG_ATTR                   = 0x1
2015         NCSI_PKG_ATTR_ID                = 0x2
2016         NCSI_PKG_ATTR_FORCED            = 0x3
2017         NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
2018         NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
2019         NCSI_CHANNEL_ATTR               = 0x1
2020         NCSI_CHANNEL_ATTR_ID            = 0x2
2021         NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
2022         NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
2023         NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
2024         NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
2025         NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
2026         NCSI_CHANNEL_ATTR_FORCED        = 0x8
2027         NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
2028         NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
2029 )
2030
2031 type ScmTimestamping struct {
2032         Ts [3]Timespec
2033 }
2034
2035 const (
2036         SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
2037         SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
2038         SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
2039         SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
2040         SOF_TIMESTAMPING_SOFTWARE     = 0x10
2041         SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
2042         SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
2043         SOF_TIMESTAMPING_OPT_ID       = 0x80
2044         SOF_TIMESTAMPING_TX_SCHED     = 0x100
2045         SOF_TIMESTAMPING_TX_ACK       = 0x200
2046         SOF_TIMESTAMPING_OPT_CMSG     = 0x400
2047         SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
2048         SOF_TIMESTAMPING_OPT_STATS    = 0x1000
2049         SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
2050         SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
2051
2052         SOF_TIMESTAMPING_LAST = 0x4000
2053         SOF_TIMESTAMPING_MASK = 0x7fff
2054
2055         SCM_TSTAMP_SND   = 0x0
2056         SCM_TSTAMP_SCHED = 0x1
2057         SCM_TSTAMP_ACK   = 0x2
2058 )
2059
2060 type SockExtendedErr struct {
2061         Errno  uint32
2062         Origin uint8
2063         Type   uint8
2064         Code   uint8
2065         Pad    uint8
2066         Info   uint32
2067         Data   uint32
2068 }
2069
2070 type FanotifyEventMetadata struct {
2071         Event_len    uint32
2072         Vers         uint8
2073         Reserved     uint8
2074         Metadata_len uint16
2075         Mask         uint64
2076         Fd           int32
2077         Pid          int32
2078 }
2079
2080 type FanotifyResponse struct {
2081         Fd       int32
2082         Response uint32
2083 }