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 arm,linux
5
6package unix
7
8const (
9	SizeofPtr      = 0x4
10	SizeofShort    = 0x2
11	SizeofInt      = 0x4
12	SizeofLong     = 0x4
13	SizeofLongLong = 0x8
14	PathMax        = 0x1000
15)
16
17type (
18	_C_short     int16
19	_C_int       int32
20	_C_long      int32
21	_C_long_long int64
22)
23
24type Timespec struct {
25	Sec  int32
26	Nsec int32
27}
28
29type Timeval struct {
30	Sec  int32
31	Usec int32
32}
33
34type 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
58type Time_t int32
59
60type Tms struct {
61	Utime  int32
62	Stime  int32
63	Cutime int32
64	Cstime int32
65}
66
67type Utimbuf struct {
68	Actime  int32
69	Modtime int32
70}
71
72type 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
91type Rlimit struct {
92	Cur uint64
93	Max uint64
94}
95
96type _Gid_t uint32
97
98type Stat_t struct {
99	Dev     uint64
100	_       uint16
101	_       uint32
102	Mode    uint32
103	Nlink   uint32
104	Uid     uint32
105	Gid     uint32
106	Rdev    uint64
107	_       uint16
108	_       [4]byte
109	Size    int64
110	Blksize int32
111	_       [4]byte
112	Blocks  int64
113	Atim    Timespec
114	Mtim    Timespec
115	Ctim    Timespec
116	Ino     uint64
117}
118
119type StatxTimestamp struct {
120	Sec  int64
121	Nsec uint32
122	_    int32
123}
124
125type Statx_t struct {
126	Mask            uint32
127	Blksize         uint32
128	Attributes      uint64
129	Nlink           uint32
130	Uid             uint32
131	Gid             uint32
132	Mode            uint16
133	_               [1]uint16
134	Ino             uint64
135	Size            uint64
136	Blocks          uint64
137	Attributes_mask uint64
138	Atime           StatxTimestamp
139	Btime           StatxTimestamp
140	Ctime           StatxTimestamp
141	Mtime           StatxTimestamp
142	Rdev_major      uint32
143	Rdev_minor      uint32
144	Dev_major       uint32
145	Dev_minor       uint32
146	_               [14]uint64
147}
148
149type Dirent struct {
150	Ino    uint64
151	Off    int64
152	Reclen uint16
153	Type   uint8
154	Name   [256]uint8
155	_      [5]byte
156}
157
158type Fsid struct {
159	Val [2]int32
160}
161
162type Flock_t struct {
163	Type   int16
164	Whence int16
165	_      [4]byte
166	Start  int64
167	Len    int64
168	Pid    int32
169	_      [4]byte
170}
171
172type FscryptPolicy struct {
173	Version                   uint8
174	Contents_encryption_mode  uint8
175	Filenames_encryption_mode uint8
176	Flags                     uint8
177	Master_key_descriptor     [8]uint8
178}
179
180type FscryptKey struct {
181	Mode uint32
182	Raw  [64]uint8
183	Size uint32
184}
185
186type FscryptPolicyV1 struct {
187	Version                   uint8
188	Contents_encryption_mode  uint8
189	Filenames_encryption_mode uint8
190	Flags                     uint8
191	Master_key_descriptor     [8]uint8
192}
193
194type FscryptPolicyV2 struct {
195	Version                   uint8
196	Contents_encryption_mode  uint8
197	Filenames_encryption_mode uint8
198	Flags                     uint8
199	_                         [4]uint8
200	Master_key_identifier     [16]uint8
201}
202
203type FscryptGetPolicyExArg struct {
204	Size   uint64
205	Policy [24]byte
206}
207
208type FscryptKeySpecifier struct {
209	Type uint32
210	_    uint32
211	U    [32]byte
212}
213
214type FscryptAddKeyArg struct {
215	Key_spec FscryptKeySpecifier
216	Raw_size uint32
217	_        [9]uint32
218}
219
220type FscryptRemoveKeyArg struct {
221	Key_spec             FscryptKeySpecifier
222	Removal_status_flags uint32
223	_                    [5]uint32
224}
225
226type FscryptGetKeyStatusArg struct {
227	Key_spec     FscryptKeySpecifier
228	_            [6]uint32
229	Status       uint32
230	Status_flags uint32
231	User_count   uint32
232	_            [13]uint32
233}
234
235type KeyctlDHParams struct {
236	Private int32
237	Prime   int32
238	Base    int32
239}
240
241const (
242	FADV_NORMAL     = 0x0
243	FADV_RANDOM     = 0x1
244	FADV_SEQUENTIAL = 0x2
245	FADV_WILLNEED   = 0x3
246	FADV_DONTNEED   = 0x4
247	FADV_NOREUSE    = 0x5
248)
249
250type RawSockaddrInet4 struct {
251	Family uint16
252	Port   uint16
253	Addr   [4]byte /* in_addr */
254	Zero   [8]uint8
255}
256
257type RawSockaddrInet6 struct {
258	Family   uint16
259	Port     uint16
260	Flowinfo uint32
261	Addr     [16]byte /* in6_addr */
262	Scope_id uint32
263}
264
265type RawSockaddrUnix struct {
266	Family uint16
267	Path   [108]int8
268}
269
270type RawSockaddrLinklayer struct {
271	Family   uint16
272	Protocol uint16
273	Ifindex  int32
274	Hatype   uint16
275	Pkttype  uint8
276	Halen    uint8
277	Addr     [8]uint8
278}
279
280type RawSockaddrNetlink struct {
281	Family uint16
282	Pad    uint16
283	Pid    uint32
284	Groups uint32
285}
286
287type RawSockaddrHCI struct {
288	Family  uint16
289	Dev     uint16
290	Channel uint16
291}
292
293type RawSockaddrL2 struct {
294	Family      uint16
295	Psm         uint16
296	Bdaddr      [6]uint8
297	Cid         uint16
298	Bdaddr_type uint8
299	_           [1]byte
300}
301
302type RawSockaddrRFCOMM struct {
303	Family  uint16
304	Bdaddr  [6]uint8
305	Channel uint8
306	_       [1]byte
307}
308
309type RawSockaddrCAN struct {
310	Family  uint16
311	Ifindex int32
312	Addr    [16]byte
313}
314
315type RawSockaddrALG struct {
316	Family uint16
317	Type   [14]uint8
318	Feat   uint32
319	Mask   uint32
320	Name   [64]uint8
321}
322
323type RawSockaddrVM struct {
324	Family    uint16
325	Reserved1 uint16
326	Port      uint32
327	Cid       uint32
328	Zero      [4]uint8
329}
330
331type RawSockaddrXDP struct {
332	Family         uint16
333	Flags          uint16
334	Ifindex        uint32
335	Queue_id       uint32
336	Shared_umem_fd uint32
337}
338
339type RawSockaddrPPPoX [0x1e]byte
340
341type RawSockaddrTIPC struct {
342	Family   uint16
343	Addrtype uint8
344	Scope    int8
345	Addr     [12]byte
346}
347
348type RawSockaddr struct {
349	Family uint16
350	Data   [14]uint8
351}
352
353type RawSockaddrAny struct {
354	Addr RawSockaddr
355	Pad  [96]uint8
356}
357
358type _Socklen uint32
359
360type Linger struct {
361	Onoff  int32
362	Linger int32
363}
364
365type Iovec struct {
366	Base *byte
367	Len  uint32
368}
369
370type IPMreq struct {
371	Multiaddr [4]byte /* in_addr */
372	Interface [4]byte /* in_addr */
373}
374
375type IPMreqn struct {
376	Multiaddr [4]byte /* in_addr */
377	Address   [4]byte /* in_addr */
378	Ifindex   int32
379}
380
381type IPv6Mreq struct {
382	Multiaddr [16]byte /* in6_addr */
383	Interface uint32
384}
385
386type PacketMreq struct {
387	Ifindex int32
388	Type    uint16
389	Alen    uint16
390	Address [8]uint8
391}
392
393type Msghdr struct {
394	Name       *byte
395	Namelen    uint32
396	Iov        *Iovec
397	Iovlen     uint32
398	Control    *byte
399	Controllen uint32
400	Flags      int32
401}
402
403type Cmsghdr struct {
404	Len   uint32
405	Level int32
406	Type  int32
407}
408
409type Inet4Pktinfo struct {
410	Ifindex  int32
411	Spec_dst [4]byte /* in_addr */
412	Addr     [4]byte /* in_addr */
413}
414
415type Inet6Pktinfo struct {
416	Addr    [16]byte /* in6_addr */
417	Ifindex uint32
418}
419
420type IPv6MTUInfo struct {
421	Addr RawSockaddrInet6
422	Mtu  uint32
423}
424
425type ICMPv6Filter struct {
426	Data [8]uint32
427}
428
429type Ucred struct {
430	Pid int32
431	Uid uint32
432	Gid uint32
433}
434
435type TCPInfo struct {
436	State          uint8
437	Ca_state       uint8
438	Retransmits    uint8
439	Probes         uint8
440	Backoff        uint8
441	Options        uint8
442	Rto            uint32
443	Ato            uint32
444	Snd_mss        uint32
445	Rcv_mss        uint32
446	Unacked        uint32
447	Sacked         uint32
448	Lost           uint32
449	Retrans        uint32
450	Fackets        uint32
451	Last_data_sent uint32
452	Last_ack_sent  uint32
453	Last_data_recv uint32
454	Last_ack_recv  uint32
455	Pmtu           uint32
456	Rcv_ssthresh   uint32
457	Rtt            uint32
458	Rttvar         uint32
459	Snd_ssthresh   uint32
460	Snd_cwnd       uint32
461	Advmss         uint32
462	Reordering     uint32
463	Rcv_rtt        uint32
464	Rcv_space      uint32
465	Total_retrans  uint32
466}
467
468type CanFilter struct {
469	Id   uint32
470	Mask uint32
471}
472
473const (
474	SizeofSockaddrInet4     = 0x10
475	SizeofSockaddrInet6     = 0x1c
476	SizeofSockaddrAny       = 0x70
477	SizeofSockaddrUnix      = 0x6e
478	SizeofSockaddrLinklayer = 0x14
479	SizeofSockaddrNetlink   = 0xc
480	SizeofSockaddrHCI       = 0x6
481	SizeofSockaddrL2        = 0xe
482	SizeofSockaddrRFCOMM    = 0xa
483	SizeofSockaddrCAN       = 0x18
484	SizeofSockaddrALG       = 0x58
485	SizeofSockaddrVM        = 0x10
486	SizeofSockaddrXDP       = 0x10
487	SizeofSockaddrPPPoX     = 0x1e
488	SizeofSockaddrTIPC      = 0x10
489	SizeofLinger            = 0x8
490	SizeofIovec             = 0x8
491	SizeofIPMreq            = 0x8
492	SizeofIPMreqn           = 0xc
493	SizeofIPv6Mreq          = 0x14
494	SizeofPacketMreq        = 0x10
495	SizeofMsghdr            = 0x1c
496	SizeofCmsghdr           = 0xc
497	SizeofInet4Pktinfo      = 0xc
498	SizeofInet6Pktinfo      = 0x14
499	SizeofIPv6MTUInfo       = 0x20
500	SizeofICMPv6Filter      = 0x20
501	SizeofUcred             = 0xc
502	SizeofTCPInfo           = 0x68
503	SizeofCanFilter         = 0x8
504)
505
506const (
507	NDA_UNSPEC              = 0x0
508	NDA_DST                 = 0x1
509	NDA_LLADDR              = 0x2
510	NDA_CACHEINFO           = 0x3
511	NDA_PROBES              = 0x4
512	NDA_VLAN                = 0x5
513	NDA_PORT                = 0x6
514	NDA_VNI                 = 0x7
515	NDA_IFINDEX             = 0x8
516	NDA_MASTER              = 0x9
517	NDA_LINK_NETNSID        = 0xa
518	NDA_SRC_VNI             = 0xb
519	NTF_USE                 = 0x1
520	NTF_SELF                = 0x2
521	NTF_MASTER              = 0x4
522	NTF_PROXY               = 0x8
523	NTF_EXT_LEARNED         = 0x10
524	NTF_OFFLOADED           = 0x20
525	NTF_ROUTER              = 0x80
526	NUD_INCOMPLETE          = 0x1
527	NUD_REACHABLE           = 0x2
528	NUD_STALE               = 0x4
529	NUD_DELAY               = 0x8
530	NUD_PROBE               = 0x10
531	NUD_FAILED              = 0x20
532	NUD_NOARP               = 0x40
533	NUD_PERMANENT           = 0x80
534	NUD_NONE                = 0x0
535	IFA_UNSPEC              = 0x0
536	IFA_ADDRESS             = 0x1
537	IFA_LOCAL               = 0x2
538	IFA_LABEL               = 0x3
539	IFA_BROADCAST           = 0x4
540	IFA_ANYCAST             = 0x5
541	IFA_CACHEINFO           = 0x6
542	IFA_MULTICAST           = 0x7
543	IFA_FLAGS               = 0x8
544	IFA_RT_PRIORITY         = 0x9
545	IFA_TARGET_NETNSID      = 0xa
546	IFLA_UNSPEC             = 0x0
547	IFLA_ADDRESS            = 0x1
548	IFLA_BROADCAST          = 0x2
549	IFLA_IFNAME             = 0x3
550	IFLA_MTU                = 0x4
551	IFLA_LINK               = 0x5
552	IFLA_QDISC              = 0x6
553	IFLA_STATS              = 0x7
554	IFLA_COST               = 0x8
555	IFLA_PRIORITY           = 0x9
556	IFLA_MASTER             = 0xa
557	IFLA_WIRELESS           = 0xb
558	IFLA_PROTINFO           = 0xc
559	IFLA_TXQLEN             = 0xd
560	IFLA_MAP                = 0xe
561	IFLA_WEIGHT             = 0xf
562	IFLA_OPERSTATE          = 0x10
563	IFLA_LINKMODE           = 0x11
564	IFLA_LINKINFO           = 0x12
565	IFLA_NET_NS_PID         = 0x13
566	IFLA_IFALIAS            = 0x14
567	IFLA_NUM_VF             = 0x15
568	IFLA_VFINFO_LIST        = 0x16
569	IFLA_STATS64            = 0x17
570	IFLA_VF_PORTS           = 0x18
571	IFLA_PORT_SELF          = 0x19
572	IFLA_AF_SPEC            = 0x1a
573	IFLA_GROUP              = 0x1b
574	IFLA_NET_NS_FD          = 0x1c
575	IFLA_EXT_MASK           = 0x1d
576	IFLA_PROMISCUITY        = 0x1e
577	IFLA_NUM_TX_QUEUES      = 0x1f
578	IFLA_NUM_RX_QUEUES      = 0x20
579	IFLA_CARRIER            = 0x21
580	IFLA_PHYS_PORT_ID       = 0x22
581	IFLA_CARRIER_CHANGES    = 0x23
582	IFLA_PHYS_SWITCH_ID     = 0x24
583	IFLA_LINK_NETNSID       = 0x25
584	IFLA_PHYS_PORT_NAME     = 0x26
585	IFLA_PROTO_DOWN         = 0x27
586	IFLA_GSO_MAX_SEGS       = 0x28
587	IFLA_GSO_MAX_SIZE       = 0x29
588	IFLA_PAD                = 0x2a
589	IFLA_XDP                = 0x2b
590	IFLA_EVENT              = 0x2c
591	IFLA_NEW_NETNSID        = 0x2d
592	IFLA_IF_NETNSID         = 0x2e
593	IFLA_TARGET_NETNSID     = 0x2e
594	IFLA_CARRIER_UP_COUNT   = 0x2f
595	IFLA_CARRIER_DOWN_COUNT = 0x30
596	IFLA_NEW_IFINDEX        = 0x31
597	IFLA_MIN_MTU            = 0x32
598	IFLA_MAX_MTU            = 0x33
599	IFLA_MAX                = 0x33
600	IFLA_INFO_KIND          = 0x1
601	IFLA_INFO_DATA          = 0x2
602	IFLA_INFO_XSTATS        = 0x3
603	IFLA_INFO_SLAVE_KIND    = 0x4
604	IFLA_INFO_SLAVE_DATA    = 0x5
605	RT_SCOPE_UNIVERSE       = 0x0
606	RT_SCOPE_SITE           = 0xc8
607	RT_SCOPE_LINK           = 0xfd
608	RT_SCOPE_HOST           = 0xfe
609	RT_SCOPE_NOWHERE        = 0xff
610	RT_TABLE_UNSPEC         = 0x0
611	RT_TABLE_COMPAT         = 0xfc
612	RT_TABLE_DEFAULT        = 0xfd
613	RT_TABLE_MAIN           = 0xfe
614	RT_TABLE_LOCAL          = 0xff
615	RT_TABLE_MAX            = 0xffffffff
616	RTA_UNSPEC              = 0x0
617	RTA_DST                 = 0x1
618	RTA_SRC                 = 0x2
619	RTA_IIF                 = 0x3
620	RTA_OIF                 = 0x4
621	RTA_GATEWAY             = 0x5
622	RTA_PRIORITY            = 0x6
623	RTA_PREFSRC             = 0x7
624	RTA_METRICS             = 0x8
625	RTA_MULTIPATH           = 0x9
626	RTA_FLOW                = 0xb
627	RTA_CACHEINFO           = 0xc
628	RTA_TABLE               = 0xf
629	RTA_MARK                = 0x10
630	RTA_MFC_STATS           = 0x11
631	RTA_VIA                 = 0x12
632	RTA_NEWDST              = 0x13
633	RTA_PREF                = 0x14
634	RTA_ENCAP_TYPE          = 0x15
635	RTA_ENCAP               = 0x16
636	RTA_EXPIRES             = 0x17
637	RTA_PAD                 = 0x18
638	RTA_UID                 = 0x19
639	RTA_TTL_PROPAGATE       = 0x1a
640	RTA_IP_PROTO            = 0x1b
641	RTA_SPORT               = 0x1c
642	RTA_DPORT               = 0x1d
643	RTN_UNSPEC              = 0x0
644	RTN_UNICAST             = 0x1
645	RTN_LOCAL               = 0x2
646	RTN_BROADCAST           = 0x3
647	RTN_ANYCAST             = 0x4
648	RTN_MULTICAST           = 0x5
649	RTN_BLACKHOLE           = 0x6
650	RTN_UNREACHABLE         = 0x7
651	RTN_PROHIBIT            = 0x8
652	RTN_THROW               = 0x9
653	RTN_NAT                 = 0xa
654	RTN_XRESOLVE            = 0xb
655	SizeofNlMsghdr          = 0x10
656	SizeofNlMsgerr          = 0x14
657	SizeofRtGenmsg          = 0x1
658	SizeofNlAttr            = 0x4
659	SizeofRtAttr            = 0x4
660	SizeofIfInfomsg         = 0x10
661	SizeofIfAddrmsg         = 0x8
662	SizeofIfaCacheinfo      = 0x10
663	SizeofRtMsg             = 0xc
664	SizeofRtNexthop         = 0x8
665	SizeofNdUseroptmsg      = 0x10
666	SizeofNdMsg             = 0xc
667)
668
669type NlMsghdr struct {
670	Len   uint32
671	Type  uint16
672	Flags uint16
673	Seq   uint32
674	Pid   uint32
675}
676
677type NlMsgerr struct {
678	Error int32
679	Msg   NlMsghdr
680}
681
682type RtGenmsg struct {
683	Family uint8
684}
685
686type NlAttr struct {
687	Len  uint16
688	Type uint16
689}
690
691type RtAttr struct {
692	Len  uint16
693	Type uint16
694}
695
696type IfInfomsg struct {
697	Family uint8
698	_      uint8
699	Type   uint16
700	Index  int32
701	Flags  uint32
702	Change uint32
703}
704
705type IfAddrmsg struct {
706	Family    uint8
707	Prefixlen uint8
708	Flags     uint8
709	Scope     uint8
710	Index     uint32
711}
712
713type IfaCacheinfo struct {
714	Prefered uint32
715	Valid    uint32
716	Cstamp   uint32
717	Tstamp   uint32
718}
719
720type RtMsg struct {
721	Family   uint8
722	Dst_len  uint8
723	Src_len  uint8
724	Tos      uint8
725	Table    uint8
726	Protocol uint8
727	Scope    uint8
728	Type     uint8
729	Flags    uint32
730}
731
732type RtNexthop struct {
733	Len     uint16
734	Flags   uint8
735	Hops    uint8
736	Ifindex int32
737}
738
739type NdUseroptmsg struct {
740	Family    uint8
741	Pad1      uint8
742	Opts_len  uint16
743	Ifindex   int32
744	Icmp_type uint8
745	Icmp_code uint8
746	Pad2      uint16
747	Pad3      uint32
748}
749
750type NdMsg struct {
751	Family  uint8
752	Pad1    uint8
753	Pad2    uint16
754	Ifindex int32
755	State   uint16
756	Flags   uint8
757	Type    uint8
758}
759
760const (
761	SizeofSockFilter = 0x8
762	SizeofSockFprog  = 0x8
763)
764
765type SockFilter struct {
766	Code uint16
767	Jt   uint8
768	Jf   uint8
769	K    uint32
770}
771
772type SockFprog struct {
773	Len    uint16
774	Filter *SockFilter
775}
776
777type InotifyEvent struct {
778	Wd     int32
779	Mask   uint32
780	Cookie uint32
781	Len    uint32
782}
783
784const SizeofInotifyEvent = 0x10
785
786type PtraceRegs struct {
787	Uregs [18]uint32
788}
789
790type FdSet struct {
791	Bits [32]int32
792}
793
794type Sysinfo_t struct {
795	Uptime    int32
796	Loads     [3]uint32
797	Totalram  uint32
798	Freeram   uint32
799	Sharedram uint32
800	Bufferram uint32
801	Totalswap uint32
802	Freeswap  uint32
803	Procs     uint16
804	Pad       uint16
805	Totalhigh uint32
806	Freehigh  uint32
807	Unit      uint32
808	_         [8]uint8
809}
810
811type Utsname struct {
812	Sysname    [65]byte
813	Nodename   [65]byte
814	Release    [65]byte
815	Version    [65]byte
816	Machine    [65]byte
817	Domainname [65]byte
818}
819
820type Ustat_t struct {
821	Tfree  int32
822	Tinode uint32
823	Fname  [6]uint8
824	Fpack  [6]uint8
825}
826
827type EpollEvent struct {
828	Events uint32
829	PadFd  int32
830	Fd     int32
831	Pad    int32
832}
833
834const (
835	AT_EMPTY_PATH   = 0x1000
836	AT_FDCWD        = -0x64
837	AT_NO_AUTOMOUNT = 0x800
838	AT_REMOVEDIR    = 0x200
839
840	AT_STATX_SYNC_AS_STAT = 0x0
841	AT_STATX_FORCE_SYNC   = 0x2000
842	AT_STATX_DONT_SYNC    = 0x4000
843
844	AT_SYMLINK_FOLLOW   = 0x400
845	AT_SYMLINK_NOFOLLOW = 0x100
846
847	AT_EACCESS = 0x200
848)
849
850type PollFd struct {
851	Fd      int32
852	Events  int16
853	Revents int16
854}
855
856const (
857	POLLIN    = 0x1
858	POLLPRI   = 0x2
859	POLLOUT   = 0x4
860	POLLRDHUP = 0x2000
861	POLLERR   = 0x8
862	POLLHUP   = 0x10
863	POLLNVAL  = 0x20
864)
865
866type Sigset_t struct {
867	Val [32]uint32
868}
869
870const _C__NSIG = 0x41
871
872type SignalfdSiginfo struct {
873	Signo     uint32
874	Errno     int32
875	Code      int32
876	Pid       uint32
877	Uid       uint32
878	Fd        int32
879	Tid       uint32
880	Band      uint32
881	Overrun   uint32
882	Trapno    uint32
883	Status    int32
884	Int       int32
885	Ptr       uint64
886	Utime     uint64
887	Stime     uint64
888	Addr      uint64
889	Addr_lsb  uint16
890	_         uint16
891	Syscall   int32
892	Call_addr uint64
893	Arch      uint32
894	_         [28]uint8
895}
896
897const PERF_IOC_FLAG_GROUP = 0x1
898
899type Termios struct {
900	Iflag  uint32
901	Oflag  uint32
902	Cflag  uint32
903	Lflag  uint32
904	Line   uint8
905	Cc     [19]uint8
906	Ispeed uint32
907	Ospeed uint32
908}
909
910type Winsize struct {
911	Row    uint16
912	Col    uint16
913	Xpixel uint16
914	Ypixel uint16
915}
916
917type Taskstats struct {
918	Version                   uint16
919	Ac_exitcode               uint32
920	Ac_flag                   uint8
921	Ac_nice                   uint8
922	_                         [4]byte
923	Cpu_count                 uint64
924	Cpu_delay_total           uint64
925	Blkio_count               uint64
926	Blkio_delay_total         uint64
927	Swapin_count              uint64
928	Swapin_delay_total        uint64
929	Cpu_run_real_total        uint64
930	Cpu_run_virtual_total     uint64
931	Ac_comm                   [32]uint8
932	Ac_sched                  uint8
933	Ac_pad                    [3]uint8
934	_                         [4]byte
935	Ac_uid                    uint32
936	Ac_gid                    uint32
937	Ac_pid                    uint32
938	Ac_ppid                   uint32
939	Ac_btime                  uint32
940	_                         [4]byte
941	Ac_etime                  uint64
942	Ac_utime                  uint64
943	Ac_stime                  uint64
944	Ac_minflt                 uint64
945	Ac_majflt                 uint64
946	Coremem                   uint64
947	Virtmem                   uint64
948	Hiwater_rss               uint64
949	Hiwater_vm                uint64
950	Read_char                 uint64
951	Write_char                uint64
952	Read_syscalls             uint64
953	Write_syscalls            uint64
954	Read_bytes                uint64
955	Write_bytes               uint64
956	Cancelled_write_bytes     uint64
957	Nvcsw                     uint64
958	Nivcsw                    uint64
959	Ac_utimescaled            uint64
960	Ac_stimescaled            uint64
961	Cpu_scaled_run_real_total uint64
962	Freepages_count           uint64
963	Freepages_delay_total     uint64
964	Thrashing_count           uint64
965	Thrashing_delay_total     uint64
966}
967
968const (
969	TASKSTATS_CMD_UNSPEC                  = 0x0
970	TASKSTATS_CMD_GET                     = 0x1
971	TASKSTATS_CMD_NEW                     = 0x2
972	TASKSTATS_TYPE_UNSPEC                 = 0x0
973	TASKSTATS_TYPE_PID                    = 0x1
974	TASKSTATS_TYPE_TGID                   = 0x2
975	TASKSTATS_TYPE_STATS                  = 0x3
976	TASKSTATS_TYPE_AGGR_PID               = 0x4
977	TASKSTATS_TYPE_AGGR_TGID              = 0x5
978	TASKSTATS_TYPE_NULL                   = 0x6
979	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
980	TASKSTATS_CMD_ATTR_PID                = 0x1
981	TASKSTATS_CMD_ATTR_TGID               = 0x2
982	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
983	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
984)
985
986type CGroupStats struct {
987	Sleeping        uint64
988	Running         uint64
989	Stopped         uint64
990	Uninterruptible uint64
991	Io_wait         uint64
992}
993
994const (
995	CGROUPSTATS_CMD_UNSPEC        = 0x3
996	CGROUPSTATS_CMD_GET           = 0x4
997	CGROUPSTATS_CMD_NEW           = 0x5
998	CGROUPSTATS_TYPE_UNSPEC       = 0x0
999	CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
1000	CGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0
1001	CGROUPSTATS_CMD_ATTR_FD       = 0x1
1002)
1003
1004type Genlmsghdr struct {
1005	Cmd      uint8
1006	Version  uint8
1007	Reserved uint16
1008}
1009
1010const (
1011	CTRL_CMD_UNSPEC            = 0x0
1012	CTRL_CMD_NEWFAMILY         = 0x1
1013	CTRL_CMD_DELFAMILY         = 0x2
1014	CTRL_CMD_GETFAMILY         = 0x3
1015	CTRL_CMD_NEWOPS            = 0x4
1016	CTRL_CMD_DELOPS            = 0x5
1017	CTRL_CMD_GETOPS            = 0x6
1018	CTRL_CMD_NEWMCAST_GRP      = 0x7
1019	CTRL_CMD_DELMCAST_GRP      = 0x8
1020	CTRL_CMD_GETMCAST_GRP      = 0x9
1021	CTRL_ATTR_UNSPEC           = 0x0
1022	CTRL_ATTR_FAMILY_ID        = 0x1
1023	CTRL_ATTR_FAMILY_NAME      = 0x2
1024	CTRL_ATTR_VERSION          = 0x3
1025	CTRL_ATTR_HDRSIZE          = 0x4
1026	CTRL_ATTR_MAXATTR          = 0x5
1027	CTRL_ATTR_OPS              = 0x6
1028	CTRL_ATTR_MCAST_GROUPS     = 0x7
1029	CTRL_ATTR_OP_UNSPEC        = 0x0
1030	CTRL_ATTR_OP_ID            = 0x1
1031	CTRL_ATTR_OP_FLAGS         = 0x2
1032	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
1033	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
1034	CTRL_ATTR_MCAST_GRP_ID     = 0x2
1035)
1036
1037type cpuMask uint32
1038
1039const (
1040	_CPU_SETSIZE = 0x400
1041	_NCPUBITS    = 0x20
1042)
1043
1044const (
1045	BDADDR_BREDR     = 0x0
1046	BDADDR_LE_PUBLIC = 0x1
1047	BDADDR_LE_RANDOM = 0x2
1048)
1049
1050type PerfEventAttr struct {
1051	Type               uint32
1052	Size               uint32
1053	Config             uint64
1054	Sample             uint64
1055	Sample_type        uint64
1056	Read_format        uint64
1057	Bits               uint64
1058	Wakeup             uint32
1059	Bp_type            uint32
1060	Ext1               uint64
1061	Ext2               uint64
1062	Branch_sample_type uint64
1063	Sample_regs_user   uint64
1064	Sample_stack_user  uint32
1065	Clockid            int32
1066	Sample_regs_intr   uint64
1067	Aux_watermark      uint32
1068	Sample_max_stack   uint16
1069	_                  uint16
1070}
1071
1072type PerfEventMmapPage struct {
1073	Version        uint32
1074	Compat_version uint32
1075	Lock           uint32
1076	Index          uint32
1077	Offset         int64
1078	Time_enabled   uint64
1079	Time_running   uint64
1080	Capabilities   uint64
1081	Pmc_width      uint16
1082	Time_shift     uint16
1083	Time_mult      uint32
1084	Time_offset    uint64
1085	Time_zero      uint64
1086	Size           uint32
1087	_              [948]uint8
1088	Data_head      uint64
1089	Data_tail      uint64
1090	Data_offset    uint64
1091	Data_size      uint64
1092	Aux_head       uint64
1093	Aux_tail       uint64
1094	Aux_offset     uint64
1095	Aux_size       uint64
1096}
1097
1098const (
1099	PerfBitDisabled               uint64 = CBitFieldMaskBit0
1100	PerfBitInherit                       = CBitFieldMaskBit1
1101	PerfBitPinned                        = CBitFieldMaskBit2
1102	PerfBitExclusive                     = CBitFieldMaskBit3
1103	PerfBitExcludeUser                   = CBitFieldMaskBit4
1104	PerfBitExcludeKernel                 = CBitFieldMaskBit5
1105	PerfBitExcludeHv                     = CBitFieldMaskBit6
1106	PerfBitExcludeIdle                   = CBitFieldMaskBit7
1107	PerfBitMmap                          = CBitFieldMaskBit8
1108	PerfBitComm                          = CBitFieldMaskBit9
1109	PerfBitFreq                          = CBitFieldMaskBit10
1110	PerfBitInheritStat                   = CBitFieldMaskBit11
1111	PerfBitEnableOnExec                  = CBitFieldMaskBit12
1112	PerfBitTask                          = CBitFieldMaskBit13
1113	PerfBitWatermark                     = CBitFieldMaskBit14
1114	PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
1115	PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
1116	PerfBitMmapData                      = CBitFieldMaskBit17
1117	PerfBitSampleIDAll                   = CBitFieldMaskBit18
1118	PerfBitExcludeHost                   = CBitFieldMaskBit19
1119	PerfBitExcludeGuest                  = CBitFieldMaskBit20
1120	PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
1121	PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
1122	PerfBitMmap2                         = CBitFieldMaskBit23
1123	PerfBitCommExec                      = CBitFieldMaskBit24
1124	PerfBitUseClockID                    = CBitFieldMaskBit25
1125	PerfBitContextSwitch                 = CBitFieldMaskBit26
1126)
1127
1128const (
1129	PERF_TYPE_HARDWARE   = 0x0
1130	PERF_TYPE_SOFTWARE   = 0x1
1131	PERF_TYPE_TRACEPOINT = 0x2
1132	PERF_TYPE_HW_CACHE   = 0x3
1133	PERF_TYPE_RAW        = 0x4
1134	PERF_TYPE_BREAKPOINT = 0x5
1135
1136	PERF_COUNT_HW_CPU_CYCLES              = 0x0
1137	PERF_COUNT_HW_INSTRUCTIONS            = 0x1
1138	PERF_COUNT_HW_CACHE_REFERENCES        = 0x2
1139	PERF_COUNT_HW_CACHE_MISSES            = 0x3
1140	PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4
1141	PERF_COUNT_HW_BRANCH_MISSES           = 0x5
1142	PERF_COUNT_HW_BUS_CYCLES              = 0x6
1143	PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
1144	PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8
1145	PERF_COUNT_HW_REF_CPU_CYCLES          = 0x9
1146
1147	PERF_COUNT_HW_CACHE_L1D  = 0x0
1148	PERF_COUNT_HW_CACHE_L1I  = 0x1
1149	PERF_COUNT_HW_CACHE_LL   = 0x2
1150	PERF_COUNT_HW_CACHE_DTLB = 0x3
1151	PERF_COUNT_HW_CACHE_ITLB = 0x4
1152	PERF_COUNT_HW_CACHE_BPU  = 0x5
1153	PERF_COUNT_HW_CACHE_NODE = 0x6
1154
1155	PERF_COUNT_HW_CACHE_OP_READ     = 0x0
1156	PERF_COUNT_HW_CACHE_OP_WRITE    = 0x1
1157	PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
1158
1159	PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
1160	PERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1
1161
1162	PERF_COUNT_SW_CPU_CLOCK        = 0x0
1163	PERF_COUNT_SW_TASK_CLOCK       = 0x1
1164	PERF_COUNT_SW_PAGE_FAULTS      = 0x2
1165	PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
1166	PERF_COUNT_SW_CPU_MIGRATIONS   = 0x4
1167	PERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5
1168	PERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6
1169	PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
1170	PERF_COUNT_SW_EMULATION_FAULTS = 0x8
1171	PERF_COUNT_SW_DUMMY            = 0x9
1172	PERF_COUNT_SW_BPF_OUTPUT       = 0xa
1173
1174	PERF_SAMPLE_IP           = 0x1
1175	PERF_SAMPLE_TID          = 0x2
1176	PERF_SAMPLE_TIME         = 0x4
1177	PERF_SAMPLE_ADDR         = 0x8
1178	PERF_SAMPLE_READ         = 0x10
1179	PERF_SAMPLE_CALLCHAIN    = 0x20
1180	PERF_SAMPLE_ID           = 0x40
1181	PERF_SAMPLE_CPU          = 0x80
1182	PERF_SAMPLE_PERIOD       = 0x100
1183	PERF_SAMPLE_STREAM_ID    = 0x200
1184	PERF_SAMPLE_RAW          = 0x400
1185	PERF_SAMPLE_BRANCH_STACK = 0x800
1186
1187	PERF_SAMPLE_BRANCH_USER       = 0x1
1188	PERF_SAMPLE_BRANCH_KERNEL     = 0x2
1189	PERF_SAMPLE_BRANCH_HV         = 0x4
1190	PERF_SAMPLE_BRANCH_ANY        = 0x8
1191	PERF_SAMPLE_BRANCH_ANY_CALL   = 0x10
1192	PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
1193	PERF_SAMPLE_BRANCH_IND_CALL   = 0x40
1194	PERF_SAMPLE_BRANCH_ABORT_TX   = 0x80
1195	PERF_SAMPLE_BRANCH_IN_TX      = 0x100
1196	PERF_SAMPLE_BRANCH_NO_TX      = 0x200
1197	PERF_SAMPLE_BRANCH_COND       = 0x400
1198	PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
1199	PERF_SAMPLE_BRANCH_IND_JUMP   = 0x1000
1200	PERF_SAMPLE_BRANCH_CALL       = 0x2000
1201	PERF_SAMPLE_BRANCH_NO_FLAGS   = 0x4000
1202	PERF_SAMPLE_BRANCH_NO_CYCLES  = 0x8000
1203	PERF_SAMPLE_BRANCH_TYPE_SAVE  = 0x10000
1204
1205	PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
1206	PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
1207	PERF_FORMAT_ID                 = 0x4
1208	PERF_FORMAT_GROUP              = 0x8
1209
1210	PERF_RECORD_MMAP            = 0x1
1211	PERF_RECORD_LOST            = 0x2
1212	PERF_RECORD_COMM            = 0x3
1213	PERF_RECORD_EXIT            = 0x4
1214	PERF_RECORD_THROTTLE        = 0x5
1215	PERF_RECORD_UNTHROTTLE      = 0x6
1216	PERF_RECORD_FORK            = 0x7
1217	PERF_RECORD_READ            = 0x8
1218	PERF_RECORD_SAMPLE          = 0x9
1219	PERF_RECORD_MMAP2           = 0xa
1220	PERF_RECORD_AUX             = 0xb
1221	PERF_RECORD_ITRACE_START    = 0xc
1222	PERF_RECORD_LOST_SAMPLES    = 0xd
1223	PERF_RECORD_SWITCH          = 0xe
1224	PERF_RECORD_SWITCH_CPU_WIDE = 0xf
1225	PERF_RECORD_NAMESPACES      = 0x10
1226
1227	PERF_CONTEXT_HV     = -0x20
1228	PERF_CONTEXT_KERNEL = -0x80
1229	PERF_CONTEXT_USER   = -0x200
1230
1231	PERF_CONTEXT_GUEST        = -0x800
1232	PERF_CONTEXT_GUEST_KERNEL = -0x880
1233	PERF_CONTEXT_GUEST_USER   = -0xa00
1234
1235	PERF_FLAG_FD_NO_GROUP = 0x1
1236	PERF_FLAG_FD_OUTPUT   = 0x2
1237	PERF_FLAG_PID_CGROUP  = 0x4
1238	PERF_FLAG_FD_CLOEXEC  = 0x8
1239)
1240
1241const (
1242	CBitFieldMaskBit0  = 0x1
1243	CBitFieldMaskBit1  = 0x2
1244	CBitFieldMaskBit2  = 0x4
1245	CBitFieldMaskBit3  = 0x8
1246	CBitFieldMaskBit4  = 0x10
1247	CBitFieldMaskBit5  = 0x20
1248	CBitFieldMaskBit6  = 0x40
1249	CBitFieldMaskBit7  = 0x80
1250	CBitFieldMaskBit8  = 0x100
1251	CBitFieldMaskBit9  = 0x200
1252	CBitFieldMaskBit10 = 0x400
1253	CBitFieldMaskBit11 = 0x800
1254	CBitFieldMaskBit12 = 0x1000
1255	CBitFieldMaskBit13 = 0x2000
1256	CBitFieldMaskBit14 = 0x4000
1257	CBitFieldMaskBit15 = 0x8000
1258	CBitFieldMaskBit16 = 0x10000
1259	CBitFieldMaskBit17 = 0x20000
1260	CBitFieldMaskBit18 = 0x40000
1261	CBitFieldMaskBit19 = 0x80000
1262	CBitFieldMaskBit20 = 0x100000
1263	CBitFieldMaskBit21 = 0x200000
1264	CBitFieldMaskBit22 = 0x400000
1265	CBitFieldMaskBit23 = 0x800000
1266	CBitFieldMaskBit24 = 0x1000000
1267	CBitFieldMaskBit25 = 0x2000000
1268	CBitFieldMaskBit26 = 0x4000000
1269	CBitFieldMaskBit27 = 0x8000000
1270	CBitFieldMaskBit28 = 0x10000000
1271	CBitFieldMaskBit29 = 0x20000000
1272	CBitFieldMaskBit30 = 0x40000000
1273	CBitFieldMaskBit31 = 0x80000000
1274	CBitFieldMaskBit32 = 0x100000000
1275	CBitFieldMaskBit33 = 0x200000000
1276	CBitFieldMaskBit34 = 0x400000000
1277	CBitFieldMaskBit35 = 0x800000000
1278	CBitFieldMaskBit36 = 0x1000000000
1279	CBitFieldMaskBit37 = 0x2000000000
1280	CBitFieldMaskBit38 = 0x4000000000
1281	CBitFieldMaskBit39 = 0x8000000000
1282	CBitFieldMaskBit40 = 0x10000000000
1283	CBitFieldMaskBit41 = 0x20000000000
1284	CBitFieldMaskBit42 = 0x40000000000
1285	CBitFieldMaskBit43 = 0x80000000000
1286	CBitFieldMaskBit44 = 0x100000000000
1287	CBitFieldMaskBit45 = 0x200000000000
1288	CBitFieldMaskBit46 = 0x400000000000
1289	CBitFieldMaskBit47 = 0x800000000000
1290	CBitFieldMaskBit48 = 0x1000000000000
1291	CBitFieldMaskBit49 = 0x2000000000000
1292	CBitFieldMaskBit50 = 0x4000000000000
1293	CBitFieldMaskBit51 = 0x8000000000000
1294	CBitFieldMaskBit52 = 0x10000000000000
1295	CBitFieldMaskBit53 = 0x20000000000000
1296	CBitFieldMaskBit54 = 0x40000000000000
1297	CBitFieldMaskBit55 = 0x80000000000000
1298	CBitFieldMaskBit56 = 0x100000000000000
1299	CBitFieldMaskBit57 = 0x200000000000000
1300	CBitFieldMaskBit58 = 0x400000000000000
1301	CBitFieldMaskBit59 = 0x800000000000000
1302	CBitFieldMaskBit60 = 0x1000000000000000
1303	CBitFieldMaskBit61 = 0x2000000000000000
1304	CBitFieldMaskBit62 = 0x4000000000000000
1305	CBitFieldMaskBit63 = 0x8000000000000000
1306)
1307
1308type SockaddrStorage struct {
1309	Family uint16
1310	_      [122]uint8
1311	_      uint32
1312}
1313
1314type TCPMD5Sig struct {
1315	Addr      SockaddrStorage
1316	Flags     uint8
1317	Prefixlen uint8
1318	Keylen    uint16
1319	_         uint32
1320	Key       [80]uint8
1321}
1322
1323type HDDriveCmdHdr struct {
1324	Command uint8
1325	Number  uint8
1326	Feature uint8
1327	Count   uint8
1328}
1329
1330type HDGeometry struct {
1331	Heads     uint8
1332	Sectors   uint8
1333	Cylinders uint16
1334	Start     uint32
1335}
1336
1337type HDDriveID struct {
1338	Config         uint16
1339	Cyls           uint16
1340	Reserved2      uint16
1341	Heads          uint16
1342	Track_bytes    uint16
1343	Sector_bytes   uint16
1344	Sectors        uint16
1345	Vendor0        uint16
1346	Vendor1        uint16
1347	Vendor2        uint16
1348	Serial_no      [20]uint8
1349	Buf_type       uint16
1350	Buf_size       uint16
1351	Ecc_bytes      uint16
1352	Fw_rev         [8]uint8
1353	Model          [40]uint8
1354	Max_multsect   uint8
1355	Vendor3        uint8
1356	Dword_io       uint16
1357	Vendor4        uint8
1358	Capability     uint8
1359	Reserved50     uint16
1360	Vendor5        uint8
1361	TPIO           uint8
1362	Vendor6        uint8
1363	TDMA           uint8
1364	Field_valid    uint16
1365	Cur_cyls       uint16
1366	Cur_heads      uint16
1367	Cur_sectors    uint16
1368	Cur_capacity0  uint16
1369	Cur_capacity1  uint16
1370	Multsect       uint8
1371	Multsect_valid uint8
1372	Lba_capacity   uint32
1373	Dma_1word      uint16
1374	Dma_mword      uint16
1375	Eide_pio_modes uint16
1376	Eide_dma_min   uint16
1377	Eide_dma_time  uint16
1378	Eide_pio       uint16
1379	Eide_pio_iordy uint16
1380	Words69_70     [2]uint16
1381	Words71_74     [4]uint16
1382	Queue_depth    uint16
1383	Words76_79     [4]uint16
1384	Major_rev_num  uint16
1385	Minor_rev_num  uint16
1386	Command_set_1  uint16
1387	Command_set_2  uint16
1388	Cfsse          uint16
1389	Cfs_enable_1   uint16
1390	Cfs_enable_2   uint16
1391	Csf_default    uint16
1392	Dma_ultra      uint16
1393	Trseuc         uint16
1394	TrsEuc         uint16
1395	CurAPMvalues   uint16
1396	Mprc           uint16
1397	Hw_config      uint16
1398	Acoustic       uint16
1399	Msrqs          uint16
1400	Sxfert         uint16
1401	Sal            uint16
1402	Spg            uint32
1403	Lba_capacity_2 uint64
1404	Words104_125   [22]uint16
1405	Last_lun       uint16
1406	Word127        uint16
1407	Dlf            uint16
1408	Csfo           uint16
1409	Words130_155   [26]uint16
1410	Word156        uint16
1411	Words157_159   [3]uint16
1412	Cfa_power      uint16
1413	Words161_175   [15]uint16
1414	Words176_205   [30]uint16
1415	Words206_254   [49]uint16
1416	Integrity_word uint16
1417}
1418
1419type Statfs_t struct {
1420	Type    int32
1421	Bsize   int32
1422	Blocks  uint64
1423	Bfree   uint64
1424	Bavail  uint64
1425	Files   uint64
1426	Ffree   uint64
1427	Fsid    Fsid
1428	Namelen int32
1429	Frsize  int32
1430	Flags   int32
1431	Spare   [4]int32
1432	_       [4]byte
1433}
1434
1435const (
1436	ST_MANDLOCK    = 0x40
1437	ST_NOATIME     = 0x400
1438	ST_NODEV       = 0x4
1439	ST_NODIRATIME  = 0x800
1440	ST_NOEXEC      = 0x8
1441	ST_NOSUID      = 0x2
1442	ST_RDONLY      = 0x1
1443	ST_RELATIME    = 0x1000
1444	ST_SYNCHRONOUS = 0x10
1445)
1446
1447type TpacketHdr struct {
1448	Status  uint32
1449	Len     uint32
1450	Snaplen uint32
1451	Mac     uint16
1452	Net     uint16
1453	Sec     uint32
1454	Usec    uint32
1455}
1456
1457type Tpacket2Hdr struct {
1458	Status    uint32
1459	Len       uint32
1460	Snaplen   uint32
1461	Mac       uint16
1462	Net       uint16
1463	Sec       uint32
1464	Nsec      uint32
1465	Vlan_tci  uint16
1466	Vlan_tpid uint16
1467	_         [4]uint8
1468}
1469
1470type Tpacket3Hdr struct {
1471	Next_offset uint32
1472	Sec         uint32
1473	Nsec        uint32
1474	Snaplen     uint32
1475	Len         uint32
1476	Status      uint32
1477	Mac         uint16
1478	Net         uint16
1479	Hv1         TpacketHdrVariant1
1480	_           [8]uint8
1481}
1482
1483type TpacketHdrVariant1 struct {
1484	Rxhash    uint32
1485	Vlan_tci  uint32
1486	Vlan_tpid uint16
1487	_         uint16
1488}
1489
1490type TpacketBlockDesc struct {
1491	Version uint32
1492	To_priv uint32
1493	Hdr     [40]byte
1494}
1495
1496type TpacketBDTS struct {
1497	Sec  uint32
1498	Usec uint32
1499}
1500
1501type TpacketHdrV1 struct {
1502	Block_status        uint32
1503	Num_pkts            uint32
1504	Offset_to_first_pkt uint32
1505	Blk_len             uint32
1506	Seq_num             uint64
1507	Ts_first_pkt        TpacketBDTS
1508	Ts_last_pkt         TpacketBDTS
1509}
1510
1511type TpacketReq struct {
1512	Block_size uint32
1513	Block_nr   uint32
1514	Frame_size uint32
1515	Frame_nr   uint32
1516}
1517
1518type TpacketReq3 struct {
1519	Block_size       uint32
1520	Block_nr         uint32
1521	Frame_size       uint32
1522	Frame_nr         uint32
1523	Retire_blk_tov   uint32
1524	Sizeof_priv      uint32
1525	Feature_req_word uint32
1526}
1527
1528type TpacketStats struct {
1529	Packets uint32
1530	Drops   uint32
1531}
1532
1533type TpacketStatsV3 struct {
1534	Packets      uint32
1535	Drops        uint32
1536	Freeze_q_cnt uint32
1537}
1538
1539type TpacketAuxdata struct {
1540	Status    uint32
1541	Len       uint32
1542	Snaplen   uint32
1543	Mac       uint16
1544	Net       uint16
1545	Vlan_tci  uint16
1546	Vlan_tpid uint16
1547}
1548
1549const (
1550	TPACKET_V1 = 0x0
1551	TPACKET_V2 = 0x1
1552	TPACKET_V3 = 0x2
1553)
1554
1555const (
1556	SizeofTpacketHdr  = 0x18
1557	SizeofTpacket2Hdr = 0x20
1558	SizeofTpacket3Hdr = 0x30
1559
1560	SizeofTpacketStats   = 0x8
1561	SizeofTpacketStatsV3 = 0xc
1562)
1563
1564const (
1565	NF_INET_PRE_ROUTING  = 0x0
1566	NF_INET_LOCAL_IN     = 0x1
1567	NF_INET_FORWARD      = 0x2
1568	NF_INET_LOCAL_OUT    = 0x3
1569	NF_INET_POST_ROUTING = 0x4
1570	NF_INET_NUMHOOKS     = 0x5
1571)
1572
1573const (
1574	NF_NETDEV_INGRESS  = 0x0
1575	NF_NETDEV_NUMHOOKS = 0x1
1576)
1577
1578const (
1579	NFPROTO_UNSPEC   = 0x0
1580	NFPROTO_INET     = 0x1
1581	NFPROTO_IPV4     = 0x2
1582	NFPROTO_ARP      = 0x3
1583	NFPROTO_NETDEV   = 0x5
1584	NFPROTO_BRIDGE   = 0x7
1585	NFPROTO_IPV6     = 0xa
1586	NFPROTO_DECNET   = 0xc
1587	NFPROTO_NUMPROTO = 0xd
1588)
1589
1590type Nfgenmsg struct {
1591	Nfgen_family uint8
1592	Version      uint8
1593	Res_id       uint16
1594}
1595
1596const (
1597	NFNL_BATCH_UNSPEC = 0x0
1598	NFNL_BATCH_GENID  = 0x1
1599)
1600
1601const (
1602	NFT_REG_VERDICT                   = 0x0
1603	NFT_REG_1                         = 0x1
1604	NFT_REG_2                         = 0x2
1605	NFT_REG_3                         = 0x3
1606	NFT_REG_4                         = 0x4
1607	NFT_REG32_00                      = 0x8
1608	NFT_REG32_01                      = 0x9
1609	NFT_REG32_02                      = 0xa
1610	NFT_REG32_03                      = 0xb
1611	NFT_REG32_04                      = 0xc
1612	NFT_REG32_05                      = 0xd
1613	NFT_REG32_06                      = 0xe
1614	NFT_REG32_07                      = 0xf
1615	NFT_REG32_08                      = 0x10
1616	NFT_REG32_09                      = 0x11
1617	NFT_REG32_10                      = 0x12
1618	NFT_REG32_11                      = 0x13
1619	NFT_REG32_12                      = 0x14
1620	NFT_REG32_13                      = 0x15
1621	NFT_REG32_14                      = 0x16
1622	NFT_REG32_15                      = 0x17
1623	NFT_CONTINUE                      = -0x1
1624	NFT_BREAK                         = -0x2
1625	NFT_JUMP                          = -0x3
1626	NFT_GOTO                          = -0x4
1627	NFT_RETURN                        = -0x5
1628	NFT_MSG_NEWTABLE                  = 0x0
1629	NFT_MSG_GETTABLE                  = 0x1
1630	NFT_MSG_DELTABLE                  = 0x2
1631	NFT_MSG_NEWCHAIN                  = 0x3
1632	NFT_MSG_GETCHAIN                  = 0x4
1633	NFT_MSG_DELCHAIN                  = 0x5
1634	NFT_MSG_NEWRULE                   = 0x6
1635	NFT_MSG_GETRULE                   = 0x7
1636	NFT_MSG_DELRULE                   = 0x8
1637	NFT_MSG_NEWSET                    = 0x9
1638	NFT_MSG_GETSET                    = 0xa
1639	NFT_MSG_DELSET                    = 0xb
1640	NFT_MSG_NEWSETELEM                = 0xc
1641	NFT_MSG_GETSETELEM                = 0xd
1642	NFT_MSG_DELSETELEM                = 0xe
1643	NFT_MSG_NEWGEN                    = 0xf
1644	NFT_MSG_GETGEN                    = 0x10
1645	NFT_MSG_TRACE                     = 0x11
1646	NFT_MSG_NEWOBJ                    = 0x12
1647	NFT_MSG_GETOBJ                    = 0x13
1648	NFT_MSG_DELOBJ                    = 0x14
1649	NFT_MSG_GETOBJ_RESET              = 0x15
1650	NFT_MSG_MAX                       = 0x19
1651	NFTA_LIST_UNPEC                   = 0x0
1652	NFTA_LIST_ELEM                    = 0x1
1653	NFTA_HOOK_UNSPEC                  = 0x0
1654	NFTA_HOOK_HOOKNUM                 = 0x1
1655	NFTA_HOOK_PRIORITY                = 0x2
1656	NFTA_HOOK_DEV                     = 0x3
1657	NFT_TABLE_F_DORMANT               = 0x1
1658	NFTA_TABLE_UNSPEC                 = 0x0
1659	NFTA_TABLE_NAME                   = 0x1
1660	NFTA_TABLE_FLAGS                  = 0x2
1661	NFTA_TABLE_USE                    = 0x3
1662	NFTA_CHAIN_UNSPEC                 = 0x0
1663	NFTA_CHAIN_TABLE                  = 0x1
1664	NFTA_CHAIN_HANDLE                 = 0x2
1665	NFTA_CHAIN_NAME                   = 0x3
1666	NFTA_CHAIN_HOOK                   = 0x4
1667	NFTA_CHAIN_POLICY                 = 0x5
1668	NFTA_CHAIN_USE                    = 0x6
1669	NFTA_CHAIN_TYPE                   = 0x7
1670	NFTA_CHAIN_COUNTERS               = 0x8
1671	NFTA_CHAIN_PAD                    = 0x9
1672	NFTA_RULE_UNSPEC                  = 0x0
1673	NFTA_RULE_TABLE                   = 0x1
1674	NFTA_RULE_CHAIN                   = 0x2
1675	NFTA_RULE_HANDLE                  = 0x3
1676	NFTA_RULE_EXPRESSIONS             = 0x4
1677	NFTA_RULE_COMPAT                  = 0x5
1678	NFTA_RULE_POSITION                = 0x6
1679	NFTA_RULE_USERDATA                = 0x7
1680	NFTA_RULE_PAD                     = 0x8
1681	NFTA_RULE_ID                      = 0x9
1682	NFT_RULE_COMPAT_F_INV             = 0x2
1683	NFT_RULE_COMPAT_F_MASK            = 0x2
1684	NFTA_RULE_COMPAT_UNSPEC           = 0x0
1685	NFTA_RULE_COMPAT_PROTO            = 0x1
1686	NFTA_RULE_COMPAT_FLAGS            = 0x2
1687	NFT_SET_ANONYMOUS                 = 0x1
1688	NFT_SET_CONSTANT                  = 0x2
1689	NFT_SET_INTERVAL                  = 0x4
1690	NFT_SET_MAP                       = 0x8
1691	NFT_SET_TIMEOUT                   = 0x10
1692	NFT_SET_EVAL                      = 0x20
1693	NFT_SET_OBJECT                    = 0x40
1694	NFT_SET_POL_PERFORMANCE           = 0x0
1695	NFT_SET_POL_MEMORY                = 0x1
1696	NFTA_SET_DESC_UNSPEC              = 0x0
1697	NFTA_SET_DESC_SIZE                = 0x1
1698	NFTA_SET_UNSPEC                   = 0x0
1699	NFTA_SET_TABLE                    = 0x1
1700	NFTA_SET_NAME                     = 0x2
1701	NFTA_SET_FLAGS                    = 0x3
1702	NFTA_SET_KEY_TYPE                 = 0x4
1703	NFTA_SET_KEY_LEN                  = 0x5
1704	NFTA_SET_DATA_TYPE                = 0x6
1705	NFTA_SET_DATA_LEN                 = 0x7
1706	NFTA_SET_POLICY                   = 0x8
1707	NFTA_SET_DESC                     = 0x9
1708	NFTA_SET_ID                       = 0xa
1709	NFTA_SET_TIMEOUT                  = 0xb
1710	NFTA_SET_GC_INTERVAL              = 0xc
1711	NFTA_SET_USERDATA                 = 0xd
1712	NFTA_SET_PAD                      = 0xe
1713	NFTA_SET_OBJ_TYPE                 = 0xf
1714	NFT_SET_ELEM_INTERVAL_END         = 0x1
1715	NFTA_SET_ELEM_UNSPEC              = 0x0
1716	NFTA_SET_ELEM_KEY                 = 0x1
1717	NFTA_SET_ELEM_DATA                = 0x2
1718	NFTA_SET_ELEM_FLAGS               = 0x3
1719	NFTA_SET_ELEM_TIMEOUT             = 0x4
1720	NFTA_SET_ELEM_EXPIRATION          = 0x5
1721	NFTA_SET_ELEM_USERDATA            = 0x6
1722	NFTA_SET_ELEM_EXPR                = 0x7
1723	NFTA_SET_ELEM_PAD                 = 0x8
1724	NFTA_SET_ELEM_OBJREF              = 0x9
1725	NFTA_SET_ELEM_LIST_UNSPEC         = 0x0
1726	NFTA_SET_ELEM_LIST_TABLE          = 0x1
1727	NFTA_SET_ELEM_LIST_SET            = 0x2
1728	NFTA_SET_ELEM_LIST_ELEMENTS       = 0x3
1729	NFTA_SET_ELEM_LIST_SET_ID         = 0x4
1730	NFT_DATA_VALUE                    = 0x0
1731	NFT_DATA_VERDICT                  = 0xffffff00
1732	NFTA_DATA_UNSPEC                  = 0x0
1733	NFTA_DATA_VALUE                   = 0x1
1734	NFTA_DATA_VERDICT                 = 0x2
1735	NFTA_VERDICT_UNSPEC               = 0x0
1736	NFTA_VERDICT_CODE                 = 0x1
1737	NFTA_VERDICT_CHAIN                = 0x2
1738	NFTA_EXPR_UNSPEC                  = 0x0
1739	NFTA_EXPR_NAME                    = 0x1
1740	NFTA_EXPR_DATA                    = 0x2
1741	NFTA_IMMEDIATE_UNSPEC             = 0x0
1742	NFTA_IMMEDIATE_DREG               = 0x1
1743	NFTA_IMMEDIATE_DATA               = 0x2
1744	NFTA_BITWISE_UNSPEC               = 0x0
1745	NFTA_BITWISE_SREG                 = 0x1
1746	NFTA_BITWISE_DREG                 = 0x2
1747	NFTA_BITWISE_LEN                  = 0x3
1748	NFTA_BITWISE_MASK                 = 0x4
1749	NFTA_BITWISE_XOR                  = 0x5
1750	NFT_BYTEORDER_NTOH                = 0x0
1751	NFT_BYTEORDER_HTON                = 0x1
1752	NFTA_BYTEORDER_UNSPEC             = 0x0
1753	NFTA_BYTEORDER_SREG               = 0x1
1754	NFTA_BYTEORDER_DREG               = 0x2
1755	NFTA_BYTEORDER_OP                 = 0x3
1756	NFTA_BYTEORDER_LEN                = 0x4
1757	NFTA_BYTEORDER_SIZE               = 0x5
1758	NFT_CMP_EQ                        = 0x0
1759	NFT_CMP_NEQ                       = 0x1
1760	NFT_CMP_LT                        = 0x2
1761	NFT_CMP_LTE                       = 0x3
1762	NFT_CMP_GT                        = 0x4
1763	NFT_CMP_GTE                       = 0x5
1764	NFTA_CMP_UNSPEC                   = 0x0
1765	NFTA_CMP_SREG                     = 0x1
1766	NFTA_CMP_OP                       = 0x2
1767	NFTA_CMP_DATA                     = 0x3
1768	NFT_RANGE_EQ                      = 0x0
1769	NFT_RANGE_NEQ                     = 0x1
1770	NFTA_RANGE_UNSPEC                 = 0x0
1771	NFTA_RANGE_SREG                   = 0x1
1772	NFTA_RANGE_OP                     = 0x2
1773	NFTA_RANGE_FROM_DATA              = 0x3
1774	NFTA_RANGE_TO_DATA                = 0x4
1775	NFT_LOOKUP_F_INV                  = 0x1
1776	NFTA_LOOKUP_UNSPEC                = 0x0
1777	NFTA_LOOKUP_SET                   = 0x1
1778	NFTA_LOOKUP_SREG                  = 0x2
1779	NFTA_LOOKUP_DREG                  = 0x3
1780	NFTA_LOOKUP_SET_ID                = 0x4
1781	NFTA_LOOKUP_FLAGS                 = 0x5
1782	NFT_DYNSET_OP_ADD                 = 0x0
1783	NFT_DYNSET_OP_UPDATE              = 0x1
1784	NFT_DYNSET_F_INV                  = 0x1
1785	NFTA_DYNSET_UNSPEC                = 0x0
1786	NFTA_DYNSET_SET_NAME              = 0x1
1787	NFTA_DYNSET_SET_ID                = 0x2
1788	NFTA_DYNSET_OP                    = 0x3
1789	NFTA_DYNSET_SREG_KEY              = 0x4
1790	NFTA_DYNSET_SREG_DATA             = 0x5
1791	NFTA_DYNSET_TIMEOUT               = 0x6
1792	NFTA_DYNSET_EXPR                  = 0x7
1793	NFTA_DYNSET_PAD                   = 0x8
1794	NFTA_DYNSET_FLAGS                 = 0x9
1795	NFT_PAYLOAD_LL_HEADER             = 0x0
1796	NFT_PAYLOAD_NETWORK_HEADER        = 0x1
1797	NFT_PAYLOAD_TRANSPORT_HEADER      = 0x2
1798	NFT_PAYLOAD_CSUM_NONE             = 0x0
1799	NFT_PAYLOAD_CSUM_INET             = 0x1
1800	NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1
1801	NFTA_PAYLOAD_UNSPEC               = 0x0
1802	NFTA_PAYLOAD_DREG                 = 0x1
1803	NFTA_PAYLOAD_BASE                 = 0x2
1804	NFTA_PAYLOAD_OFFSET               = 0x3
1805	NFTA_PAYLOAD_LEN                  = 0x4
1806	NFTA_PAYLOAD_SREG                 = 0x5
1807	NFTA_PAYLOAD_CSUM_TYPE            = 0x6
1808	NFTA_PAYLOAD_CSUM_OFFSET          = 0x7
1809	NFTA_PAYLOAD_CSUM_FLAGS           = 0x8
1810	NFT_EXTHDR_F_PRESENT              = 0x1
1811	NFT_EXTHDR_OP_IPV6                = 0x0
1812	NFT_EXTHDR_OP_TCPOPT              = 0x1
1813	NFTA_EXTHDR_UNSPEC                = 0x0
1814	NFTA_EXTHDR_DREG                  = 0x1
1815	NFTA_EXTHDR_TYPE                  = 0x2
1816	NFTA_EXTHDR_OFFSET                = 0x3
1817	NFTA_EXTHDR_LEN                   = 0x4
1818	NFTA_EXTHDR_FLAGS                 = 0x5
1819	NFTA_EXTHDR_OP                    = 0x6
1820	NFTA_EXTHDR_SREG                  = 0x7
1821	NFT_META_LEN                      = 0x0
1822	NFT_META_PROTOCOL                 = 0x1
1823	NFT_META_PRIORITY                 = 0x2
1824	NFT_META_MARK                     = 0x3
1825	NFT_META_IIF                      = 0x4
1826	NFT_META_OIF                      = 0x5
1827	NFT_META_IIFNAME                  = 0x6
1828	NFT_META_OIFNAME                  = 0x7
1829	NFT_META_IIFTYPE                  = 0x8
1830	NFT_META_OIFTYPE                  = 0x9
1831	NFT_META_SKUID                    = 0xa
1832	NFT_META_SKGID                    = 0xb
1833	NFT_META_NFTRACE                  = 0xc
1834	NFT_META_RTCLASSID                = 0xd
1835	NFT_META_SECMARK                  = 0xe
1836	NFT_META_NFPROTO                  = 0xf
1837	NFT_META_L4PROTO                  = 0x10
1838	NFT_META_BRI_IIFNAME              = 0x11
1839	NFT_META_BRI_OIFNAME              = 0x12
1840	NFT_META_PKTTYPE                  = 0x13
1841	NFT_META_CPU                      = 0x14
1842	NFT_META_IIFGROUP                 = 0x15
1843	NFT_META_OIFGROUP                 = 0x16
1844	NFT_META_CGROUP                   = 0x17
1845	NFT_META_PRANDOM                  = 0x18
1846	NFT_RT_CLASSID                    = 0x0
1847	NFT_RT_NEXTHOP4                   = 0x1
1848	NFT_RT_NEXTHOP6                   = 0x2
1849	NFT_RT_TCPMSS                     = 0x3
1850	NFT_HASH_JENKINS                  = 0x0
1851	NFT_HASH_SYM                      = 0x1
1852	NFTA_HASH_UNSPEC                  = 0x0
1853	NFTA_HASH_SREG                    = 0x1
1854	NFTA_HASH_DREG                    = 0x2
1855	NFTA_HASH_LEN                     = 0x3
1856	NFTA_HASH_MODULUS                 = 0x4
1857	NFTA_HASH_SEED                    = 0x5
1858	NFTA_HASH_OFFSET                  = 0x6
1859	NFTA_HASH_TYPE                    = 0x7
1860	NFTA_META_UNSPEC                  = 0x0
1861	NFTA_META_DREG                    = 0x1
1862	NFTA_META_KEY                     = 0x2
1863	NFTA_META_SREG                    = 0x3
1864	NFTA_RT_UNSPEC                    = 0x0
1865	NFTA_RT_DREG                      = 0x1
1866	NFTA_RT_KEY                       = 0x2
1867	NFT_CT_STATE                      = 0x0
1868	NFT_CT_DIRECTION                  = 0x1
1869	NFT_CT_STATUS                     = 0x2
1870	NFT_CT_MARK                       = 0x3
1871	NFT_CT_SECMARK                    = 0x4
1872	NFT_CT_EXPIRATION                 = 0x5
1873	NFT_CT_HELPER                     = 0x6
1874	NFT_CT_L3PROTOCOL                 = 0x7
1875	NFT_CT_SRC                        = 0x8
1876	NFT_CT_DST                        = 0x9
1877	NFT_CT_PROTOCOL                   = 0xa
1878	NFT_CT_PROTO_SRC                  = 0xb
1879	NFT_CT_PROTO_DST                  = 0xc
1880	NFT_CT_LABELS                     = 0xd
1881	NFT_CT_PKTS                       = 0xe
1882	NFT_CT_BYTES                      = 0xf
1883	NFT_CT_AVGPKT                     = 0x10
1884	NFT_CT_ZONE                       = 0x11
1885	NFT_CT_EVENTMASK                  = 0x12
1886	NFTA_CT_UNSPEC                    = 0x0
1887	NFTA_CT_DREG                      = 0x1
1888	NFTA_CT_KEY                       = 0x2
1889	NFTA_CT_DIRECTION                 = 0x3
1890	NFTA_CT_SREG                      = 0x4
1891	NFT_LIMIT_PKTS                    = 0x0
1892	NFT_LIMIT_PKT_BYTES               = 0x1
1893	NFT_LIMIT_F_INV                   = 0x1
1894	NFTA_LIMIT_UNSPEC                 = 0x0
1895	NFTA_LIMIT_RATE                   = 0x1
1896	NFTA_LIMIT_UNIT                   = 0x2
1897	NFTA_LIMIT_BURST                  = 0x3
1898	NFTA_LIMIT_TYPE                   = 0x4
1899	NFTA_LIMIT_FLAGS                  = 0x5
1900	NFTA_LIMIT_PAD                    = 0x6
1901	NFTA_COUNTER_UNSPEC               = 0x0
1902	NFTA_COUNTER_BYTES                = 0x1
1903	NFTA_COUNTER_PACKETS              = 0x2
1904	NFTA_COUNTER_PAD                  = 0x3
1905	NFTA_LOG_UNSPEC                   = 0x0
1906	NFTA_LOG_GROUP                    = 0x1
1907	NFTA_LOG_PREFIX                   = 0x2
1908	NFTA_LOG_SNAPLEN                  = 0x3
1909	NFTA_LOG_QTHRESHOLD               = 0x4
1910	NFTA_LOG_LEVEL                    = 0x5
1911	NFTA_LOG_FLAGS                    = 0x6
1912	NFTA_QUEUE_UNSPEC                 = 0x0
1913	NFTA_QUEUE_NUM                    = 0x1
1914	NFTA_QUEUE_TOTAL                  = 0x2
1915	NFTA_QUEUE_FLAGS                  = 0x3
1916	NFTA_QUEUE_SREG_QNUM              = 0x4
1917	NFT_QUOTA_F_INV                   = 0x1
1918	NFT_QUOTA_F_DEPLETED              = 0x2
1919	NFTA_QUOTA_UNSPEC                 = 0x0
1920	NFTA_QUOTA_BYTES                  = 0x1
1921	NFTA_QUOTA_FLAGS                  = 0x2
1922	NFTA_QUOTA_PAD                    = 0x3
1923	NFTA_QUOTA_CONSUMED               = 0x4
1924	NFT_REJECT_ICMP_UNREACH           = 0x0
1925	NFT_REJECT_TCP_RST                = 0x1
1926	NFT_REJECT_ICMPX_UNREACH          = 0x2
1927	NFT_REJECT_ICMPX_NO_ROUTE         = 0x0
1928	NFT_REJECT_ICMPX_PORT_UNREACH     = 0x1
1929	NFT_REJECT_ICMPX_HOST_UNREACH     = 0x2
1930	NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
1931	NFTA_REJECT_UNSPEC                = 0x0
1932	NFTA_REJECT_TYPE                  = 0x1
1933	NFTA_REJECT_ICMP_CODE             = 0x2
1934	NFT_NAT_SNAT                      = 0x0
1935	NFT_NAT_DNAT                      = 0x1
1936	NFTA_NAT_UNSPEC                   = 0x0
1937	NFTA_NAT_TYPE                     = 0x1
1938	NFTA_NAT_FAMILY                   = 0x2
1939	NFTA_NAT_REG_ADDR_MIN             = 0x3
1940	NFTA_NAT_REG_ADDR_MAX             = 0x4
1941	NFTA_NAT_REG_PROTO_MIN            = 0x5
1942	NFTA_NAT_REG_PROTO_MAX            = 0x6
1943	NFTA_NAT_FLAGS                    = 0x7
1944	NFTA_MASQ_UNSPEC                  = 0x0
1945	NFTA_MASQ_FLAGS                   = 0x1
1946	NFTA_MASQ_REG_PROTO_MIN           = 0x2
1947	NFTA_MASQ_REG_PROTO_MAX           = 0x3
1948	NFTA_REDIR_UNSPEC                 = 0x0
1949	NFTA_REDIR_REG_PROTO_MIN          = 0x1
1950	NFTA_REDIR_REG_PROTO_MAX          = 0x2
1951	NFTA_REDIR_FLAGS                  = 0x3
1952	NFTA_DUP_UNSPEC                   = 0x0
1953	NFTA_DUP_SREG_ADDR                = 0x1
1954	NFTA_DUP_SREG_DEV                 = 0x2
1955	NFTA_FWD_UNSPEC                   = 0x0
1956	NFTA_FWD_SREG_DEV                 = 0x1
1957	NFTA_OBJREF_UNSPEC                = 0x0
1958	NFTA_OBJREF_IMM_TYPE              = 0x1
1959	NFTA_OBJREF_IMM_NAME              = 0x2
1960	NFTA_OBJREF_SET_SREG              = 0x3
1961	NFTA_OBJREF_SET_NAME              = 0x4
1962	NFTA_OBJREF_SET_ID                = 0x5
1963	NFTA_GEN_UNSPEC                   = 0x0
1964	NFTA_GEN_ID                       = 0x1
1965	NFTA_GEN_PROC_PID                 = 0x2
1966	NFTA_GEN_PROC_NAME                = 0x3
1967	NFTA_FIB_UNSPEC                   = 0x0
1968	NFTA_FIB_DREG                     = 0x1
1969	NFTA_FIB_RESULT                   = 0x2
1970	NFTA_FIB_FLAGS                    = 0x3
1971	NFT_FIB_RESULT_UNSPEC             = 0x0
1972	NFT_FIB_RESULT_OIF                = 0x1
1973	NFT_FIB_RESULT_OIFNAME            = 0x2
1974	NFT_FIB_RESULT_ADDRTYPE           = 0x3
1975	NFTA_FIB_F_SADDR                  = 0x1
1976	NFTA_FIB_F_DADDR                  = 0x2
1977	NFTA_FIB_F_MARK                   = 0x4
1978	NFTA_FIB_F_IIF                    = 0x8
1979	NFTA_FIB_F_OIF                    = 0x10
1980	NFTA_FIB_F_PRESENT                = 0x20
1981	NFTA_CT_HELPER_UNSPEC             = 0x0
1982	NFTA_CT_HELPER_NAME               = 0x1
1983	NFTA_CT_HELPER_L3PROTO            = 0x2
1984	NFTA_CT_HELPER_L4PROTO            = 0x3
1985	NFTA_OBJ_UNSPEC                   = 0x0
1986	NFTA_OBJ_TABLE                    = 0x1
1987	NFTA_OBJ_NAME                     = 0x2
1988	NFTA_OBJ_TYPE                     = 0x3
1989	NFTA_OBJ_DATA                     = 0x4
1990	NFTA_OBJ_USE                      = 0x5
1991	NFTA_TRACE_UNSPEC                 = 0x0
1992	NFTA_TRACE_TABLE                  = 0x1
1993	NFTA_TRACE_CHAIN                  = 0x2
1994	NFTA_TRACE_RULE_HANDLE            = 0x3
1995	NFTA_TRACE_TYPE                   = 0x4
1996	NFTA_TRACE_VERDICT                = 0x5
1997	NFTA_TRACE_ID                     = 0x6
1998	NFTA_TRACE_LL_HEADER              = 0x7
1999	NFTA_TRACE_NETWORK_HEADER         = 0x8
2000	NFTA_TRACE_TRANSPORT_HEADER       = 0x9
2001	NFTA_TRACE_IIF                    = 0xa
2002	NFTA_TRACE_IIFTYPE                = 0xb
2003	NFTA_TRACE_OIF                    = 0xc
2004	NFTA_TRACE_OIFTYPE                = 0xd
2005	NFTA_TRACE_MARK                   = 0xe
2006	NFTA_TRACE_NFPROTO                = 0xf
2007	NFTA_TRACE_POLICY                 = 0x10
2008	NFTA_TRACE_PAD                    = 0x11
2009	NFT_TRACETYPE_UNSPEC              = 0x0
2010	NFT_TRACETYPE_POLICY              = 0x1
2011	NFT_TRACETYPE_RETURN              = 0x2
2012	NFT_TRACETYPE_RULE                = 0x3
2013	NFTA_NG_UNSPEC                    = 0x0
2014	NFTA_NG_DREG                      = 0x1
2015	NFTA_NG_MODULUS                   = 0x2
2016	NFTA_NG_TYPE                      = 0x3
2017	NFTA_NG_OFFSET                    = 0x4
2018	NFT_NG_INCREMENTAL                = 0x0
2019	NFT_NG_RANDOM                     = 0x1
2020)
2021
2022type RTCTime struct {
2023	Sec   int32
2024	Min   int32
2025	Hour  int32
2026	Mday  int32
2027	Mon   int32
2028	Year  int32
2029	Wday  int32
2030	Yday  int32
2031	Isdst int32
2032}
2033
2034type RTCWkAlrm struct {
2035	Enabled uint8
2036	Pending uint8
2037	Time    RTCTime
2038}
2039
2040type RTCPLLInfo struct {
2041	Ctrl    int32
2042	Value   int32
2043	Max     int32
2044	Min     int32
2045	Posmult int32
2046	Negmult int32
2047	Clock   int32
2048}
2049
2050type BlkpgIoctlArg struct {
2051	Op      int32
2052	Flags   int32
2053	Datalen int32
2054	Data    *byte
2055}
2056
2057type BlkpgPartition struct {
2058	Start   int64
2059	Length  int64
2060	Pno     int32
2061	Devname [64]uint8
2062	Volname [64]uint8
2063	_       [4]byte
2064}
2065
2066const (
2067	BLKPG                  = 0x1269
2068	BLKPG_ADD_PARTITION    = 0x1
2069	BLKPG_DEL_PARTITION    = 0x2
2070	BLKPG_RESIZE_PARTITION = 0x3
2071)
2072
2073const (
2074	NETNSA_NONE = 0x0
2075	NETNSA_NSID = 0x1
2076	NETNSA_PID  = 0x2
2077	NETNSA_FD   = 0x3
2078)
2079
2080type XDPRingOffset struct {
2081	Producer uint64
2082	Consumer uint64
2083	Desc     uint64
2084	Flags    uint64
2085}
2086
2087type XDPMmapOffsets struct {
2088	Rx XDPRingOffset
2089	Tx XDPRingOffset
2090	Fr XDPRingOffset
2091	Cr XDPRingOffset
2092}
2093
2094type XDPUmemReg struct {
2095	Addr     uint64
2096	Len      uint64
2097	Size     uint32
2098	Headroom uint32
2099	Flags    uint32
2100	_        [4]byte
2101}
2102
2103type XDPStatistics struct {
2104	Rx_dropped       uint64
2105	Rx_invalid_descs uint64
2106	Tx_invalid_descs uint64
2107}
2108
2109type XDPDesc struct {
2110	Addr    uint64
2111	Len     uint32
2112	Options uint32
2113}
2114
2115const (
2116	NCSI_CMD_UNSPEC                 = 0x0
2117	NCSI_CMD_PKG_INFO               = 0x1
2118	NCSI_CMD_SET_INTERFACE          = 0x2
2119	NCSI_CMD_CLEAR_INTERFACE        = 0x3
2120	NCSI_ATTR_UNSPEC                = 0x0
2121	NCSI_ATTR_IFINDEX               = 0x1
2122	NCSI_ATTR_PACKAGE_LIST          = 0x2
2123	NCSI_ATTR_PACKAGE_ID            = 0x3
2124	NCSI_ATTR_CHANNEL_ID            = 0x4
2125	NCSI_PKG_ATTR_UNSPEC            = 0x0
2126	NCSI_PKG_ATTR                   = 0x1
2127	NCSI_PKG_ATTR_ID                = 0x2
2128	NCSI_PKG_ATTR_FORCED            = 0x3
2129	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
2130	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
2131	NCSI_CHANNEL_ATTR               = 0x1
2132	NCSI_CHANNEL_ATTR_ID            = 0x2
2133	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
2134	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
2135	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
2136	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
2137	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
2138	NCSI_CHANNEL_ATTR_FORCED        = 0x8
2139	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
2140	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
2141)
2142
2143type ScmTimestamping struct {
2144	Ts [3]Timespec
2145}
2146
2147const (
2148	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
2149	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
2150	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
2151	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
2152	SOF_TIMESTAMPING_SOFTWARE     = 0x10
2153	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
2154	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
2155	SOF_TIMESTAMPING_OPT_ID       = 0x80
2156	SOF_TIMESTAMPING_TX_SCHED     = 0x100
2157	SOF_TIMESTAMPING_TX_ACK       = 0x200
2158	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
2159	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
2160	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
2161	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
2162	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
2163
2164	SOF_TIMESTAMPING_LAST = 0x4000
2165	SOF_TIMESTAMPING_MASK = 0x7fff
2166
2167	SCM_TSTAMP_SND   = 0x0
2168	SCM_TSTAMP_SCHED = 0x1
2169	SCM_TSTAMP_ACK   = 0x2
2170)
2171
2172type SockExtendedErr struct {
2173	Errno  uint32
2174	Origin uint8
2175	Type   uint8
2176	Code   uint8
2177	Pad    uint8
2178	Info   uint32
2179	Data   uint32
2180}
2181
2182type FanotifyEventMetadata struct {
2183	Event_len    uint32
2184	Vers         uint8
2185	Reserved     uint8
2186	Metadata_len uint16
2187	Mask         uint64
2188	Fd           int32
2189	Pid          int32
2190}
2191
2192type FanotifyResponse struct {
2193	Fd       int32
2194	Response uint32
2195}
2196
2197const (
2198	CRYPTO_MSG_BASE      = 0x10
2199	CRYPTO_MSG_NEWALG    = 0x10
2200	CRYPTO_MSG_DELALG    = 0x11
2201	CRYPTO_MSG_UPDATEALG = 0x12
2202	CRYPTO_MSG_GETALG    = 0x13
2203	CRYPTO_MSG_DELRNG    = 0x14
2204	CRYPTO_MSG_GETSTAT   = 0x15
2205)
2206
2207const (
2208	CRYPTOCFGA_UNSPEC           = 0x0
2209	CRYPTOCFGA_PRIORITY_VAL     = 0x1
2210	CRYPTOCFGA_REPORT_LARVAL    = 0x2
2211	CRYPTOCFGA_REPORT_HASH      = 0x3
2212	CRYPTOCFGA_REPORT_BLKCIPHER = 0x4
2213	CRYPTOCFGA_REPORT_AEAD      = 0x5
2214	CRYPTOCFGA_REPORT_COMPRESS  = 0x6
2215	CRYPTOCFGA_REPORT_RNG       = 0x7
2216	CRYPTOCFGA_REPORT_CIPHER    = 0x8
2217	CRYPTOCFGA_REPORT_AKCIPHER  = 0x9
2218	CRYPTOCFGA_REPORT_KPP       = 0xa
2219	CRYPTOCFGA_REPORT_ACOMP     = 0xb
2220	CRYPTOCFGA_STAT_LARVAL      = 0xc
2221	CRYPTOCFGA_STAT_HASH        = 0xd
2222	CRYPTOCFGA_STAT_BLKCIPHER   = 0xe
2223	CRYPTOCFGA_STAT_AEAD        = 0xf
2224	CRYPTOCFGA_STAT_COMPRESS    = 0x10
2225	CRYPTOCFGA_STAT_RNG         = 0x11
2226	CRYPTOCFGA_STAT_CIPHER      = 0x12
2227	CRYPTOCFGA_STAT_AKCIPHER    = 0x13
2228	CRYPTOCFGA_STAT_KPP         = 0x14
2229	CRYPTOCFGA_STAT_ACOMP       = 0x15
2230)
2231
2232type CryptoUserAlg struct {
2233	Name        [64]uint8
2234	Driver_name [64]uint8
2235	Module_name [64]uint8
2236	Type        uint32
2237	Mask        uint32
2238	Refcnt      uint32
2239	Flags       uint32
2240}
2241
2242type CryptoStatAEAD struct {
2243	Type         [64]uint8
2244	Encrypt_cnt  uint64
2245	Encrypt_tlen uint64
2246	Decrypt_cnt  uint64
2247	Decrypt_tlen uint64
2248	Err_cnt      uint64
2249}
2250
2251type CryptoStatAKCipher struct {
2252	Type         [64]uint8
2253	Encrypt_cnt  uint64
2254	Encrypt_tlen uint64
2255	Decrypt_cnt  uint64
2256	Decrypt_tlen uint64
2257	Verify_cnt   uint64
2258	Sign_cnt     uint64
2259	Err_cnt      uint64
2260}
2261
2262type CryptoStatCipher struct {
2263	Type         [64]uint8
2264	Encrypt_cnt  uint64
2265	Encrypt_tlen uint64
2266	Decrypt_cnt  uint64
2267	Decrypt_tlen uint64
2268	Err_cnt      uint64
2269}
2270
2271type CryptoStatCompress struct {
2272	Type            [64]uint8
2273	Compress_cnt    uint64
2274	Compress_tlen   uint64
2275	Decompress_cnt  uint64
2276	Decompress_tlen uint64
2277	Err_cnt         uint64
2278}
2279
2280type CryptoStatHash struct {
2281	Type      [64]uint8
2282	Hash_cnt  uint64
2283	Hash_tlen uint64
2284	Err_cnt   uint64
2285}
2286
2287type CryptoStatKPP struct {
2288	Type                      [64]uint8
2289	Setsecret_cnt             uint64
2290	Generate_public_key_cnt   uint64
2291	Compute_shared_secret_cnt uint64
2292	Err_cnt                   uint64
2293}
2294
2295type CryptoStatRNG struct {
2296	Type          [64]uint8
2297	Generate_cnt  uint64
2298	Generate_tlen uint64
2299	Seed_cnt      uint64
2300	Err_cnt       uint64
2301}
2302
2303type CryptoStatLarval struct {
2304	Type [64]uint8
2305}
2306
2307type CryptoReportLarval struct {
2308	Type [64]uint8
2309}
2310
2311type CryptoReportHash struct {
2312	Type       [64]uint8
2313	Blocksize  uint32
2314	Digestsize uint32
2315}
2316
2317type CryptoReportCipher struct {
2318	Type        [64]uint8
2319	Blocksize   uint32
2320	Min_keysize uint32
2321	Max_keysize uint32
2322}
2323
2324type CryptoReportBlkCipher struct {
2325	Type        [64]uint8
2326	Geniv       [64]uint8
2327	Blocksize   uint32
2328	Min_keysize uint32
2329	Max_keysize uint32
2330	Ivsize      uint32
2331}
2332
2333type CryptoReportAEAD struct {
2334	Type        [64]uint8
2335	Geniv       [64]uint8
2336	Blocksize   uint32
2337	Maxauthsize uint32
2338	Ivsize      uint32
2339}
2340
2341type CryptoReportComp struct {
2342	Type [64]uint8
2343}
2344
2345type CryptoReportRNG struct {
2346	Type     [64]uint8
2347	Seedsize uint32
2348}
2349
2350type CryptoReportAKCipher struct {
2351	Type [64]uint8
2352}
2353
2354type CryptoReportKPP struct {
2355	Type [64]uint8
2356}
2357
2358type CryptoReportAcomp struct {
2359	Type [64]uint8
2360}
2361
2362const (
2363	BPF_REG_0                           = 0x0
2364	BPF_REG_1                           = 0x1
2365	BPF_REG_2                           = 0x2
2366	BPF_REG_3                           = 0x3
2367	BPF_REG_4                           = 0x4
2368	BPF_REG_5                           = 0x5
2369	BPF_REG_6                           = 0x6
2370	BPF_REG_7                           = 0x7
2371	BPF_REG_8                           = 0x8
2372	BPF_REG_9                           = 0x9
2373	BPF_REG_10                          = 0xa
2374	BPF_MAP_CREATE                      = 0x0
2375	BPF_MAP_LOOKUP_ELEM                 = 0x1
2376	BPF_MAP_UPDATE_ELEM                 = 0x2
2377	BPF_MAP_DELETE_ELEM                 = 0x3
2378	BPF_MAP_GET_NEXT_KEY                = 0x4
2379	BPF_PROG_LOAD                       = 0x5
2380	BPF_OBJ_PIN                         = 0x6
2381	BPF_OBJ_GET                         = 0x7
2382	BPF_PROG_ATTACH                     = 0x8
2383	BPF_PROG_DETACH                     = 0x9
2384	BPF_PROG_TEST_RUN                   = 0xa
2385	BPF_PROG_GET_NEXT_ID                = 0xb
2386	BPF_MAP_GET_NEXT_ID                 = 0xc
2387	BPF_PROG_GET_FD_BY_ID               = 0xd
2388	BPF_MAP_GET_FD_BY_ID                = 0xe
2389	BPF_OBJ_GET_INFO_BY_FD              = 0xf
2390	BPF_PROG_QUERY                      = 0x10
2391	BPF_RAW_TRACEPOINT_OPEN             = 0x11
2392	BPF_BTF_LOAD                        = 0x12
2393	BPF_BTF_GET_FD_BY_ID                = 0x13
2394	BPF_TASK_FD_QUERY                   = 0x14
2395	BPF_MAP_LOOKUP_AND_DELETE_ELEM      = 0x15
2396	BPF_MAP_TYPE_UNSPEC                 = 0x0
2397	BPF_MAP_TYPE_HASH                   = 0x1
2398	BPF_MAP_TYPE_ARRAY                  = 0x2
2399	BPF_MAP_TYPE_PROG_ARRAY             = 0x3
2400	BPF_MAP_TYPE_PERF_EVENT_ARRAY       = 0x4
2401	BPF_MAP_TYPE_PERCPU_HASH            = 0x5
2402	BPF_MAP_TYPE_PERCPU_ARRAY           = 0x6
2403	BPF_MAP_TYPE_STACK_TRACE            = 0x7
2404	BPF_MAP_TYPE_CGROUP_ARRAY           = 0x8
2405	BPF_MAP_TYPE_LRU_HASH               = 0x9
2406	BPF_MAP_TYPE_LRU_PERCPU_HASH        = 0xa
2407	BPF_MAP_TYPE_LPM_TRIE               = 0xb
2408	BPF_MAP_TYPE_ARRAY_OF_MAPS          = 0xc
2409	BPF_MAP_TYPE_HASH_OF_MAPS           = 0xd
2410	BPF_MAP_TYPE_DEVMAP                 = 0xe
2411	BPF_MAP_TYPE_SOCKMAP                = 0xf
2412	BPF_MAP_TYPE_CPUMAP                 = 0x10
2413	BPF_MAP_TYPE_XSKMAP                 = 0x11
2414	BPF_MAP_TYPE_SOCKHASH               = 0x12
2415	BPF_MAP_TYPE_CGROUP_STORAGE         = 0x13
2416	BPF_MAP_TYPE_REUSEPORT_SOCKARRAY    = 0x14
2417	BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE  = 0x15
2418	BPF_MAP_TYPE_QUEUE                  = 0x16
2419	BPF_MAP_TYPE_STACK                  = 0x17
2420	BPF_PROG_TYPE_UNSPEC                = 0x0
2421	BPF_PROG_TYPE_SOCKET_FILTER         = 0x1
2422	BPF_PROG_TYPE_KPROBE                = 0x2
2423	BPF_PROG_TYPE_SCHED_CLS             = 0x3
2424	BPF_PROG_TYPE_SCHED_ACT             = 0x4
2425	BPF_PROG_TYPE_TRACEPOINT            = 0x5
2426	BPF_PROG_TYPE_XDP                   = 0x6
2427	BPF_PROG_TYPE_PERF_EVENT            = 0x7
2428	BPF_PROG_TYPE_CGROUP_SKB            = 0x8
2429	BPF_PROG_TYPE_CGROUP_SOCK           = 0x9
2430	BPF_PROG_TYPE_LWT_IN                = 0xa
2431	BPF_PROG_TYPE_LWT_OUT               = 0xb
2432	BPF_PROG_TYPE_LWT_XMIT              = 0xc
2433	BPF_PROG_TYPE_SOCK_OPS              = 0xd
2434	BPF_PROG_TYPE_SK_SKB                = 0xe
2435	BPF_PROG_TYPE_CGROUP_DEVICE         = 0xf
2436	BPF_PROG_TYPE_SK_MSG                = 0x10
2437	BPF_PROG_TYPE_RAW_TRACEPOINT        = 0x11
2438	BPF_PROG_TYPE_CGROUP_SOCK_ADDR      = 0x12
2439	BPF_PROG_TYPE_LWT_SEG6LOCAL         = 0x13
2440	BPF_PROG_TYPE_LIRC_MODE2            = 0x14
2441	BPF_PROG_TYPE_SK_REUSEPORT          = 0x15
2442	BPF_PROG_TYPE_FLOW_DISSECTOR        = 0x16
2443	BPF_CGROUP_INET_INGRESS             = 0x0
2444	BPF_CGROUP_INET_EGRESS              = 0x1
2445	BPF_CGROUP_INET_SOCK_CREATE         = 0x2
2446	BPF_CGROUP_SOCK_OPS                 = 0x3
2447	BPF_SK_SKB_STREAM_PARSER            = 0x4
2448	BPF_SK_SKB_STREAM_VERDICT           = 0x5
2449	BPF_CGROUP_DEVICE                   = 0x6
2450	BPF_SK_MSG_VERDICT                  = 0x7
2451	BPF_CGROUP_INET4_BIND               = 0x8
2452	BPF_CGROUP_INET6_BIND               = 0x9
2453	BPF_CGROUP_INET4_CONNECT            = 0xa
2454	BPF_CGROUP_INET6_CONNECT            = 0xb
2455	BPF_CGROUP_INET4_POST_BIND          = 0xc
2456	BPF_CGROUP_INET6_POST_BIND          = 0xd
2457	BPF_CGROUP_UDP4_SENDMSG             = 0xe
2458	BPF_CGROUP_UDP6_SENDMSG             = 0xf
2459	BPF_LIRC_MODE2                      = 0x10
2460	BPF_FLOW_DISSECTOR                  = 0x11
2461	BPF_STACK_BUILD_ID_EMPTY            = 0x0
2462	BPF_STACK_BUILD_ID_VALID            = 0x1
2463	BPF_STACK_BUILD_ID_IP               = 0x2
2464	BPF_ADJ_ROOM_NET                    = 0x0
2465	BPF_HDR_START_MAC                   = 0x0
2466	BPF_HDR_START_NET                   = 0x1
2467	BPF_LWT_ENCAP_SEG6                  = 0x0
2468	BPF_LWT_ENCAP_SEG6_INLINE           = 0x1
2469	BPF_OK                              = 0x0
2470	BPF_DROP                            = 0x2
2471	BPF_REDIRECT                        = 0x7
2472	BPF_SOCK_OPS_VOID                   = 0x0
2473	BPF_SOCK_OPS_TIMEOUT_INIT           = 0x1
2474	BPF_SOCK_OPS_RWND_INIT              = 0x2
2475	BPF_SOCK_OPS_TCP_CONNECT_CB         = 0x3
2476	BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB  = 0x4
2477	BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5
2478	BPF_SOCK_OPS_NEEDS_ECN              = 0x6
2479	BPF_SOCK_OPS_BASE_RTT               = 0x7
2480	BPF_SOCK_OPS_RTO_CB                 = 0x8
2481	BPF_SOCK_OPS_RETRANS_CB             = 0x9
2482	BPF_SOCK_OPS_STATE_CB               = 0xa
2483	BPF_SOCK_OPS_TCP_LISTEN_CB          = 0xb
2484	BPF_TCP_ESTABLISHED                 = 0x1
2485	BPF_TCP_SYN_SENT                    = 0x2
2486	BPF_TCP_SYN_RECV                    = 0x3
2487	BPF_TCP_FIN_WAIT1                   = 0x4
2488	BPF_TCP_FIN_WAIT2                   = 0x5
2489	BPF_TCP_TIME_WAIT                   = 0x6
2490	BPF_TCP_CLOSE                       = 0x7
2491	BPF_TCP_CLOSE_WAIT                  = 0x8
2492	BPF_TCP_LAST_ACK                    = 0x9
2493	BPF_TCP_LISTEN                      = 0xa
2494	BPF_TCP_CLOSING                     = 0xb
2495	BPF_TCP_NEW_SYN_RECV                = 0xc
2496	BPF_TCP_MAX_STATES                  = 0xd
2497	BPF_FIB_LKUP_RET_SUCCESS            = 0x0
2498	BPF_FIB_LKUP_RET_BLACKHOLE          = 0x1
2499	BPF_FIB_LKUP_RET_UNREACHABLE        = 0x2
2500	BPF_FIB_LKUP_RET_PROHIBIT           = 0x3
2501	BPF_FIB_LKUP_RET_NOT_FWDED          = 0x4
2502	BPF_FIB_LKUP_RET_FWD_DISABLED       = 0x5
2503	BPF_FIB_LKUP_RET_UNSUPP_LWT         = 0x6
2504	BPF_FIB_LKUP_RET_NO_NEIGH           = 0x7
2505	BPF_FIB_LKUP_RET_FRAG_NEEDED        = 0x8
2506	BPF_FD_TYPE_RAW_TRACEPOINT          = 0x0
2507	BPF_FD_TYPE_TRACEPOINT              = 0x1
2508	BPF_FD_TYPE_KPROBE                  = 0x2
2509	BPF_FD_TYPE_KRETPROBE               = 0x3
2510	BPF_FD_TYPE_UPROBE                  = 0x4
2511	BPF_FD_TYPE_URETPROBE               = 0x5
2512)
2513
2514const (
2515	RTNLGRP_NONE          = 0x0
2516	RTNLGRP_LINK          = 0x1
2517	RTNLGRP_NOTIFY        = 0x2
2518	RTNLGRP_NEIGH         = 0x3
2519	RTNLGRP_TC            = 0x4
2520	RTNLGRP_IPV4_IFADDR   = 0x5
2521	RTNLGRP_IPV4_MROUTE   = 0x6
2522	RTNLGRP_IPV4_ROUTE    = 0x7
2523	RTNLGRP_IPV4_RULE     = 0x8
2524	RTNLGRP_IPV6_IFADDR   = 0x9
2525	RTNLGRP_IPV6_MROUTE   = 0xa
2526	RTNLGRP_IPV6_ROUTE    = 0xb
2527	RTNLGRP_IPV6_IFINFO   = 0xc
2528	RTNLGRP_DECnet_IFADDR = 0xd
2529	RTNLGRP_NOP2          = 0xe
2530	RTNLGRP_DECnet_ROUTE  = 0xf
2531	RTNLGRP_DECnet_RULE   = 0x10
2532	RTNLGRP_NOP4          = 0x11
2533	RTNLGRP_IPV6_PREFIX   = 0x12
2534	RTNLGRP_IPV6_RULE     = 0x13
2535	RTNLGRP_ND_USEROPT    = 0x14
2536	RTNLGRP_PHONET_IFADDR = 0x15
2537	RTNLGRP_PHONET_ROUTE  = 0x16
2538	RTNLGRP_DCB           = 0x17
2539	RTNLGRP_IPV4_NETCONF  = 0x18
2540	RTNLGRP_IPV6_NETCONF  = 0x19
2541	RTNLGRP_MDB           = 0x1a
2542	RTNLGRP_MPLS_ROUTE    = 0x1b
2543	RTNLGRP_NSID          = 0x1c
2544	RTNLGRP_MPLS_NETCONF  = 0x1d
2545	RTNLGRP_IPV4_MROUTE_R = 0x1e
2546	RTNLGRP_IPV6_MROUTE_R = 0x1f
2547	RTNLGRP_NEXTHOP       = 0x20
2548)
2549
2550type CapUserHeader struct {
2551	Version uint32
2552	Pid     int32
2553}
2554
2555type CapUserData struct {
2556	Effective   uint32
2557	Permitted   uint32
2558	Inheritable uint32
2559}
2560
2561const (
2562	LINUX_CAPABILITY_VERSION_1 = 0x19980330
2563	LINUX_CAPABILITY_VERSION_2 = 0x20071026
2564	LINUX_CAPABILITY_VERSION_3 = 0x20080522
2565)
2566
2567const (
2568	LO_FLAGS_READ_ONLY = 0x1
2569	LO_FLAGS_AUTOCLEAR = 0x4
2570	LO_FLAGS_PARTSCAN  = 0x8
2571	LO_FLAGS_DIRECT_IO = 0x10
2572)
2573
2574type LoopInfo struct {
2575	Number           int32
2576	Device           uint16
2577	Inode            uint32
2578	Rdevice          uint16
2579	Offset           int32
2580	Encrypt_type     int32
2581	Encrypt_key_size int32
2582	Flags            int32
2583	Name             [64]uint8
2584	Encrypt_key      [32]uint8
2585	Init             [2]uint32
2586	Reserved         [4]uint8
2587}
2588type LoopInfo64 struct {
2589	Device           uint64
2590	Inode            uint64
2591	Rdevice          uint64
2592	Offset           uint64
2593	Sizelimit        uint64
2594	Number           uint32
2595	Encrypt_type     uint32
2596	Encrypt_key_size uint32
2597	Flags            uint32
2598	File_name        [64]uint8
2599	Crypt_name       [64]uint8
2600	Encrypt_key      [32]uint8
2601	Init             [2]uint64
2602}
2603
2604type TIPCSocketAddr struct {
2605	Ref  uint32
2606	Node uint32
2607}
2608
2609type TIPCServiceRange struct {
2610	Type  uint32
2611	Lower uint32
2612	Upper uint32
2613}
2614
2615type TIPCServiceName struct {
2616	Type     uint32
2617	Instance uint32
2618	Domain   uint32
2619}
2620
2621type TIPCSubscr struct {
2622	Seq     TIPCServiceRange
2623	Timeout uint32
2624	Filter  uint32
2625	Handle  [8]uint8
2626}
2627
2628type TIPCEvent struct {
2629	Event uint32
2630	Lower uint32
2631	Upper uint32
2632	Port  TIPCSocketAddr
2633	S     TIPCSubscr
2634}
2635
2636type TIPCGroupReq struct {
2637	Type     uint32
2638	Instance uint32
2639	Scope    uint32
2640	Flags    uint32
2641}
2642
2643type TIPCSIOCLNReq struct {
2644	Peer     uint32
2645	Id       uint32
2646	Linkname [68]uint8
2647}
2648
2649type TIPCSIOCNodeIDReq struct {
2650	Peer uint32
2651	Id   [16]uint8
2652}
2653
2654const (
2655	TIPC_CLUSTER_SCOPE = 0x2
2656	TIPC_NODE_SCOPE    = 0x3
2657)
2658
2659const (
2660	SYSLOG_ACTION_CLOSE         = 0
2661	SYSLOG_ACTION_OPEN          = 1
2662	SYSLOG_ACTION_READ          = 2
2663	SYSLOG_ACTION_READ_ALL      = 3
2664	SYSLOG_ACTION_READ_CLEAR    = 4
2665	SYSLOG_ACTION_CLEAR         = 5
2666	SYSLOG_ACTION_CONSOLE_OFF   = 6
2667	SYSLOG_ACTION_CONSOLE_ON    = 7
2668	SYSLOG_ACTION_CONSOLE_LEVEL = 8
2669	SYSLOG_ACTION_SIZE_UNREAD   = 9
2670	SYSLOG_ACTION_SIZE_BUFFER   = 10
2671)
2672
2673const (
2674	DEVLINK_CMD_UNSPEC                        = 0x0
2675	DEVLINK_CMD_GET                           = 0x1
2676	DEVLINK_CMD_SET                           = 0x2
2677	DEVLINK_CMD_NEW                           = 0x3
2678	DEVLINK_CMD_DEL                           = 0x4
2679	DEVLINK_CMD_PORT_GET                      = 0x5
2680	DEVLINK_CMD_PORT_SET                      = 0x6
2681	DEVLINK_CMD_PORT_NEW                      = 0x7
2682	DEVLINK_CMD_PORT_DEL                      = 0x8
2683	DEVLINK_CMD_PORT_SPLIT                    = 0x9
2684	DEVLINK_CMD_PORT_UNSPLIT                  = 0xa
2685	DEVLINK_CMD_SB_GET                        = 0xb
2686	DEVLINK_CMD_SB_SET                        = 0xc
2687	DEVLINK_CMD_SB_NEW                        = 0xd
2688	DEVLINK_CMD_SB_DEL                        = 0xe
2689	DEVLINK_CMD_SB_POOL_GET                   = 0xf
2690	DEVLINK_CMD_SB_POOL_SET                   = 0x10
2691	DEVLINK_CMD_SB_POOL_NEW                   = 0x11
2692	DEVLINK_CMD_SB_POOL_DEL                   = 0x12
2693	DEVLINK_CMD_SB_PORT_POOL_GET              = 0x13
2694	DEVLINK_CMD_SB_PORT_POOL_SET              = 0x14
2695	DEVLINK_CMD_SB_PORT_POOL_NEW              = 0x15
2696	DEVLINK_CMD_SB_PORT_POOL_DEL              = 0x16
2697	DEVLINK_CMD_SB_TC_POOL_BIND_GET           = 0x17
2698	DEVLINK_CMD_SB_TC_POOL_BIND_SET           = 0x18
2699	DEVLINK_CMD_SB_TC_POOL_BIND_NEW           = 0x19
2700	DEVLINK_CMD_SB_TC_POOL_BIND_DEL           = 0x1a
2701	DEVLINK_CMD_SB_OCC_SNAPSHOT               = 0x1b
2702	DEVLINK_CMD_SB_OCC_MAX_CLEAR              = 0x1c
2703	DEVLINK_CMD_ESWITCH_GET                   = 0x1d
2704	DEVLINK_CMD_ESWITCH_SET                   = 0x1e
2705	DEVLINK_CMD_DPIPE_TABLE_GET               = 0x1f
2706	DEVLINK_CMD_DPIPE_ENTRIES_GET             = 0x20
2707	DEVLINK_CMD_DPIPE_HEADERS_GET             = 0x21
2708	DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET      = 0x22
2709	DEVLINK_CMD_MAX                           = 0x44
2710	DEVLINK_PORT_TYPE_NOTSET                  = 0x0
2711	DEVLINK_PORT_TYPE_AUTO                    = 0x1
2712	DEVLINK_PORT_TYPE_ETH                     = 0x2
2713	DEVLINK_PORT_TYPE_IB                      = 0x3
2714	DEVLINK_SB_POOL_TYPE_INGRESS              = 0x0
2715	DEVLINK_SB_POOL_TYPE_EGRESS               = 0x1
2716	DEVLINK_SB_THRESHOLD_TYPE_STATIC          = 0x0
2717	DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC         = 0x1
2718	DEVLINK_ESWITCH_MODE_LEGACY               = 0x0
2719	DEVLINK_ESWITCH_MODE_SWITCHDEV            = 0x1
2720	DEVLINK_ESWITCH_INLINE_MODE_NONE          = 0x0
2721	DEVLINK_ESWITCH_INLINE_MODE_LINK          = 0x1
2722	DEVLINK_ESWITCH_INLINE_MODE_NETWORK       = 0x2
2723	DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT     = 0x3
2724	DEVLINK_ESWITCH_ENCAP_MODE_NONE           = 0x0
2725	DEVLINK_ESWITCH_ENCAP_MODE_BASIC          = 0x1
2726	DEVLINK_ATTR_UNSPEC                       = 0x0
2727	DEVLINK_ATTR_BUS_NAME                     = 0x1
2728	DEVLINK_ATTR_DEV_NAME                     = 0x2
2729	DEVLINK_ATTR_PORT_INDEX                   = 0x3
2730	DEVLINK_ATTR_PORT_TYPE                    = 0x4
2731	DEVLINK_ATTR_PORT_DESIRED_TYPE            = 0x5
2732	DEVLINK_ATTR_PORT_NETDEV_IFINDEX          = 0x6
2733	DEVLINK_ATTR_PORT_NETDEV_NAME             = 0x7
2734	DEVLINK_ATTR_PORT_IBDEV_NAME              = 0x8
2735	DEVLINK_ATTR_PORT_SPLIT_COUNT             = 0x9
2736	DEVLINK_ATTR_PORT_SPLIT_GROUP             = 0xa
2737	DEVLINK_ATTR_SB_INDEX                     = 0xb
2738	DEVLINK_ATTR_SB_SIZE                      = 0xc
2739	DEVLINK_ATTR_SB_INGRESS_POOL_COUNT        = 0xd
2740	DEVLINK_ATTR_SB_EGRESS_POOL_COUNT         = 0xe
2741	DEVLINK_ATTR_SB_INGRESS_TC_COUNT          = 0xf
2742	DEVLINK_ATTR_SB_EGRESS_TC_COUNT           = 0x10
2743	DEVLINK_ATTR_SB_POOL_INDEX                = 0x11
2744	DEVLINK_ATTR_SB_POOL_TYPE                 = 0x12
2745	DEVLINK_ATTR_SB_POOL_SIZE                 = 0x13
2746	DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE       = 0x14
2747	DEVLINK_ATTR_SB_THRESHOLD                 = 0x15
2748	DEVLINK_ATTR_SB_TC_INDEX                  = 0x16
2749	DEVLINK_ATTR_SB_OCC_CUR                   = 0x17
2750	DEVLINK_ATTR_SB_OCC_MAX                   = 0x18
2751	DEVLINK_ATTR_ESWITCH_MODE                 = 0x19
2752	DEVLINK_ATTR_ESWITCH_INLINE_MODE          = 0x1a
2753	DEVLINK_ATTR_DPIPE_TABLES                 = 0x1b
2754	DEVLINK_ATTR_DPIPE_TABLE                  = 0x1c
2755	DEVLINK_ATTR_DPIPE_TABLE_NAME             = 0x1d
2756	DEVLINK_ATTR_DPIPE_TABLE_SIZE             = 0x1e
2757	DEVLINK_ATTR_DPIPE_TABLE_MATCHES          = 0x1f
2758	DEVLINK_ATTR_DPIPE_TABLE_ACTIONS          = 0x20
2759	DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21
2760	DEVLINK_ATTR_DPIPE_ENTRIES                = 0x22
2761	DEVLINK_ATTR_DPIPE_ENTRY                  = 0x23
2762	DEVLINK_ATTR_DPIPE_ENTRY_INDEX            = 0x24
2763	DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES     = 0x25
2764	DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES    = 0x26
2765	DEVLINK_ATTR_DPIPE_ENTRY_COUNTER          = 0x27
2766	DEVLINK_ATTR_DPIPE_MATCH                  = 0x28
2767	DEVLINK_ATTR_DPIPE_MATCH_VALUE            = 0x29
2768	DEVLINK_ATTR_DPIPE_MATCH_TYPE             = 0x2a
2769	DEVLINK_ATTR_DPIPE_ACTION                 = 0x2b
2770	DEVLINK_ATTR_DPIPE_ACTION_VALUE           = 0x2c
2771	DEVLINK_ATTR_DPIPE_ACTION_TYPE            = 0x2d
2772	DEVLINK_ATTR_DPIPE_VALUE                  = 0x2e
2773	DEVLINK_ATTR_DPIPE_VALUE_MASK             = 0x2f
2774	DEVLINK_ATTR_DPIPE_VALUE_MAPPING          = 0x30
2775	DEVLINK_ATTR_DPIPE_HEADERS                = 0x31
2776	DEVLINK_ATTR_DPIPE_HEADER                 = 0x32
2777	DEVLINK_ATTR_DPIPE_HEADER_NAME            = 0x33
2778	DEVLINK_ATTR_DPIPE_HEADER_ID              = 0x34
2779	DEVLINK_ATTR_DPIPE_HEADER_FIELDS          = 0x35
2780	DEVLINK_ATTR_DPIPE_HEADER_GLOBAL          = 0x36
2781	DEVLINK_ATTR_DPIPE_HEADER_INDEX           = 0x37
2782	DEVLINK_ATTR_DPIPE_FIELD                  = 0x38
2783	DEVLINK_ATTR_DPIPE_FIELD_NAME             = 0x39
2784	DEVLINK_ATTR_DPIPE_FIELD_ID               = 0x3a
2785	DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH         = 0x3b
2786	DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE     = 0x3c
2787	DEVLINK_ATTR_PAD                          = 0x3d
2788	DEVLINK_ATTR_ESWITCH_ENCAP_MODE           = 0x3e
2789	DEVLINK_ATTR_MAX                          = 0x89
2790	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE     = 0x0
2791	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX  = 0x1
2792	DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT      = 0x0
2793	DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY    = 0x0
2794	DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC      = 0x0
2795	DEVLINK_DPIPE_FIELD_IPV4_DST_IP           = 0x0
2796	DEVLINK_DPIPE_FIELD_IPV6_DST_IP           = 0x0
2797	DEVLINK_DPIPE_HEADER_ETHERNET             = 0x0
2798	DEVLINK_DPIPE_HEADER_IPV4                 = 0x1
2799	DEVLINK_DPIPE_HEADER_IPV6                 = 0x2
2800)
2801