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