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