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