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