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