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