1// Copyright 2009 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build ignore
6
7/*
8Input to cgo -godefs.  See README.md
9*/
10
11// +godefs map struct_in_addr [4]byte /* in_addr */
12// +godefs map struct_in6_addr [16]byte /* in6_addr */
13
14package unix
15
16/*
17#define _LARGEFILE_SOURCE
18#define _LARGEFILE64_SOURCE
19#define _FILE_OFFSET_BITS 64
20#define _GNU_SOURCE
21
22#include <dirent.h>
23#include <netinet/in.h>
24#include <netinet/tcp.h>
25#include <poll.h>
26#include <sched.h>
27#include <signal.h>
28#include <stdio.h>
29#include <sys/epoll.h>
30#include <sys/inotify.h>
31#include <sys/ioctl.h>
32#include <sys/mman.h>
33#include <sys/mount.h>
34#include <sys/param.h>
35#include <sys/ptrace.h>
36#include <sys/resource.h>
37#include <sys/select.h>
38#include <sys/signal.h>
39#include <sys/signalfd.h>
40#include <sys/statfs.h>
41#include <sys/statvfs.h>
42#include <sys/sysinfo.h>
43#include <sys/time.h>
44#include <sys/times.h>
45#include <sys/timex.h>
46#include <sys/un.h>
47#include <sys/user.h>
48#include <sys/utsname.h>
49#include <sys/wait.h>
50#include <linux/bpf.h>
51#include <linux/errqueue.h>
52#include <linux/fanotify.h>
53#include <linux/filter.h>
54#include <linux/icmpv6.h>
55#include <linux/if_pppox.h>
56#include <linux/keyctl.h>
57#include <linux/netfilter/nf_tables.h>
58#include <linux/netfilter/nfnetlink.h>
59#include <linux/netfilter.h>
60#include <linux/netlink.h>
61#include <linux/perf_event.h>
62#include <linux/rtnetlink.h>
63#include <linux/stat.h>
64#if defined(__sparc__)
65// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the
66// definition in glibc. Duplicate the kernel version here.
67#if defined(__arch64__)
68typedef unsigned int tcflag_t;
69#else
70typedef unsigned long tcflag_t;
71#endif
72
73struct termios2 {
74	tcflag_t c_iflag;
75	tcflag_t c_oflag;
76	tcflag_t c_cflag;
77	tcflag_t c_lflag;
78	unsigned char c_line;
79	unsigned char c_cc[19];
80	unsigned int c_ispeed;
81	unsigned int c_ospeed;
82};
83#else
84#include <asm/termbits.h>
85#endif
86#include <asm/ptrace.h>
87#include <time.h>
88#include <unistd.h>
89#include <utime.h>
90#include <linux/can.h>
91#include <linux/if_alg.h>
92#include <linux/if_packet.h>
93#include <linux/fs.h>
94#include <linux/vm_sockets.h>
95#include <linux/random.h>
96#include <linux/taskstats.h>
97#include <linux/cgroupstats.h>
98#include <linux/genetlink.h>
99#include <linux/socket.h>
100#include <linux/hdreg.h>
101#include <linux/rtc.h>
102#include <linux/blkpg.h>
103#include <linux/net_namespace.h>
104#include <linux/net_tstamp.h>
105#include <linux/if_xdp.h>
106#include <linux/ncsi.h>
107#include <linux/cryptouser.h>
108
109// abi/abi.h generated by mkall.go.
110#include "abi/abi.h"
111
112// On mips64, the glibc stat and kernel stat do not agree
113#if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64)
114
115// Use the stat defined by the kernel with a few modifications. These are:
116//	* The time fields (like st_atime and st_atimensec) use the timespec
117//	  struct (like st_atim) for consistency with the glibc fields.
118//	* The padding fields get different names to not break compatibility.
119//	* st_blocks is signed, again for compatibility.
120struct stat {
121	unsigned int		st_dev;
122	unsigned int		st_pad1[3]; // Reserved for st_dev expansion
123
124	unsigned long		st_ino;
125
126	mode_t			st_mode;
127	__u32			st_nlink;
128
129	uid_t			st_uid;
130	gid_t			st_gid;
131
132	unsigned int		st_rdev;
133	unsigned int		st_pad2[3]; // Reserved for st_rdev expansion
134
135	off_t			st_size;
136
137	// These are declared as separate fields in the kernel. Here we use
138	// the timespec struct for consistency with the other stat structs.
139	struct timespec		st_atim;
140	struct timespec		st_mtim;
141	struct timespec		st_ctim;
142
143	unsigned int		st_blksize;
144	unsigned int		st_pad4;
145
146	long			st_blocks;
147};
148
149// These are needed because we do not include fcntl.h or sys/types.h
150#include <linux/fcntl.h>
151#include <linux/fadvise.h>
152
153#else
154
155// Use the stat defined by glibc
156#include <fcntl.h>
157#include <sys/types.h>
158
159#endif
160
161// These are defined in linux/fcntl.h, but including it globally causes
162// conflicts with fcntl.h
163#ifndef AT_STATX_SYNC_TYPE
164# define AT_STATX_SYNC_TYPE	0x6000	// Type of synchronisation required from statx()
165#endif
166#ifndef AT_STATX_SYNC_AS_STAT
167# define AT_STATX_SYNC_AS_STAT	0x0000	// - Do whatever stat() does
168#endif
169#ifndef AT_STATX_FORCE_SYNC
170# define AT_STATX_FORCE_SYNC	0x2000	// - Force the attributes to be sync'd with the server
171#endif
172#ifndef AT_STATX_DONT_SYNC
173# define AT_STATX_DONT_SYNC	0x4000	// - Don't sync attributes with the server
174#endif
175
176#ifndef AT_EACCESS
177# define AT_EACCESS		0x200	// Test access permitted for effective IDs, not real IDs.
178#endif
179
180#ifdef TCSETS2
181// On systems that have "struct termios2" use this as type Termios.
182typedef struct termios2 termios_t;
183#else
184typedef struct termios termios_t;
185#endif
186
187enum {
188	sizeofPtr = sizeof(void*),
189};
190
191union sockaddr_all {
192	struct sockaddr s1;	// this one gets used for fields
193	struct sockaddr_in s2;	// these pad it out
194	struct sockaddr_in6 s3;
195	struct sockaddr_un s4;
196	struct sockaddr_ll s5;
197	struct sockaddr_nl s6;
198	struct sockaddr_pppox s7;
199};
200
201struct sockaddr_any {
202	struct sockaddr addr;
203	char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
204};
205
206// copied from /usr/include/bluetooth/hci.h
207struct sockaddr_hci {
208        sa_family_t     hci_family;
209        unsigned short  hci_dev;
210        unsigned short  hci_channel;
211};
212
213// copied from /usr/include/bluetooth/bluetooth.h
214#define BDADDR_BREDR           0x00
215#define BDADDR_LE_PUBLIC       0x01
216#define BDADDR_LE_RANDOM       0x02
217
218// copied from /usr/include/bluetooth/l2cap.h
219struct sockaddr_l2 {
220	sa_family_t	l2_family;
221	unsigned short	l2_psm;
222	uint8_t		l2_bdaddr[6];
223	unsigned short	l2_cid;
224	uint8_t		l2_bdaddr_type;
225};
226
227// copied from /usr/include/net/bluetooth/rfcomm.h
228struct sockaddr_rc {
229	sa_family_t rc_family;
230	uint8_t     rc_bdaddr[6];
231	uint8_t     rc_channel;
232};
233
234// copied from /usr/include/linux/un.h
235struct my_sockaddr_un {
236	sa_family_t sun_family;
237#if defined(__ARM_EABI__) || defined(__powerpc64__) || defined(__riscv)
238	// on some platforms char is unsigned by default
239	signed char sun_path[108];
240#else
241	char sun_path[108];
242#endif
243};
244
245#ifdef __ARM_EABI__
246typedef struct user_regs PtraceRegs;
247#elif defined(__aarch64__)
248typedef struct user_pt_regs PtraceRegs;
249#elif defined(__mips__) || defined(__powerpc64__)
250typedef struct pt_regs PtraceRegs;
251#elif defined(__s390x__)
252typedef struct _user_regs_struct PtraceRegs;
253#elif defined(__sparc__)
254#include <asm/ptrace.h>
255typedef struct pt_regs PtraceRegs;
256#else
257typedef struct user_regs_struct PtraceRegs;
258#endif
259
260#if defined(__s390x__)
261typedef struct _user_psw_struct ptracePsw;
262typedef struct _user_fpregs_struct ptraceFpregs;
263typedef struct _user_per_struct ptracePer;
264#else
265typedef struct {} ptracePsw;
266typedef struct {} ptraceFpregs;
267typedef struct {} ptracePer;
268#endif
269
270// The real epoll_event is a union, and godefs doesn't handle it well.
271struct my_epoll_event {
272	uint32_t events;
273#if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32)
274	// padding is not specified in linux/eventpoll.h but added to conform to the
275	// alignment requirements of EABI
276	int32_t padFd;
277#elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__)
278	int32_t _padFd;
279#endif
280	int32_t fd;
281	int32_t pad;
282};
283
284// Copied from <linux/perf_event.h> with the following modifications:
285// 1) bit field after read_format redeclared as '__u64 bits' to make it
286//    accessible from Go
287// 2) collapsed the unions, to avoid confusing godoc for the generated output
288//    (e.g. having to use BpAddr as an extension of Config)
289struct perf_event_attr_go {
290	__u32 type;
291
292	__u32 size;
293	__u64 config;
294
295	// union {
296	//   __u64 sample_period;
297	//   __u64 sample_freq;
298	// };
299	__u64 sample;
300
301	__u64 sample_type;
302	__u64 read_format;
303
304	// Replaces the bit field. Flags are defined as constants.
305	__u64 bits;
306
307	// union {
308	//   __u32 wakeup_events;
309	//   __u32 wakeup_watermark;
310	// };
311	__u32 wakeup;
312
313	__u32 bp_type;
314
315	// union {
316	//   __u64 bp_addr;
317	//   __u64 config1;
318	// };
319	__u64 ext1;
320
321	// union {
322	//   __u64 bp_len;
323	//   __u64 config2;
324	// };
325	__u64 ext2;
326
327	__u64 branch_sample_type;
328
329	__u64 sample_regs_user;
330
331	__u32 sample_stack_user;
332
333	__s32 clockid;
334	__u64 sample_regs_intr;
335	__u32 aux_watermark;
336	__u16 sample_max_stack;
337	__u16 __reserved_2;
338};
339
340// ustat is deprecated and glibc 2.28 removed ustat.h. Provide the type here for
341// backwards compatibility. Copied from /usr/include/bits/ustat.h
342struct ustat {
343	__daddr_t f_tfree;
344	__ino_t f_tinode;
345	char f_fname[6];
346	char f_fpack[6];
347};
348
349// my_blkpg_partition is blkpg_partition with unsigned devname & volname.
350struct my_blkpg_partition {
351	long long start;
352	long long length;
353	int pno;
354	unsigned char devname[BLKPG_DEVNAMELTH];
355	unsigned char volname[BLKPG_VOLNAMELTH];
356};
357
358*/
359import "C"
360
361// Machine characteristics
362
363const (
364	SizeofPtr      = C.sizeofPtr
365	SizeofShort    = C.sizeof_short
366	SizeofInt      = C.sizeof_int
367	SizeofLong     = C.sizeof_long
368	SizeofLongLong = C.sizeof_longlong
369	PathMax        = C.PATH_MAX
370)
371
372// Basic types
373
374type (
375	_C_short     C.short
376	_C_int       C.int
377	_C_long      C.long
378	_C_long_long C.longlong
379)
380
381// Time
382
383type Timespec C.struct_timespec
384
385type Timeval C.struct_timeval
386
387type Timex C.struct_timex
388
389type Time_t C.time_t
390
391type Tms C.struct_tms
392
393type Utimbuf C.struct_utimbuf
394
395// Processes
396
397type Rusage C.struct_rusage
398
399type Rlimit C.struct_rlimit
400
401type _Gid_t C.gid_t
402
403// Files
404
405type Stat_t C.struct_stat
406
407type StatxTimestamp C.struct_statx_timestamp
408
409type Statx_t C.struct_statx
410
411type Dirent C.struct_dirent
412
413type Fsid C.fsid_t
414
415type Flock_t C.struct_flock
416
417// Filesystem Encryption
418
419type FscryptPolicy C.struct_fscrypt_policy
420
421type FscryptKey C.struct_fscrypt_key
422
423// Structure for Keyctl
424
425type KeyctlDHParams C.struct_keyctl_dh_params
426
427// Advice to Fadvise
428
429const (
430	FADV_NORMAL     = C.POSIX_FADV_NORMAL
431	FADV_RANDOM     = C.POSIX_FADV_RANDOM
432	FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL
433	FADV_WILLNEED   = C.POSIX_FADV_WILLNEED
434	FADV_DONTNEED   = C.POSIX_FADV_DONTNEED
435	FADV_NOREUSE    = C.POSIX_FADV_NOREUSE
436)
437
438// Sockets
439
440type RawSockaddrInet4 C.struct_sockaddr_in
441
442type RawSockaddrInet6 C.struct_sockaddr_in6
443
444type RawSockaddrUnix C.struct_my_sockaddr_un
445
446type RawSockaddrLinklayer C.struct_sockaddr_ll
447
448type RawSockaddrNetlink C.struct_sockaddr_nl
449
450type RawSockaddrHCI C.struct_sockaddr_hci
451
452type RawSockaddrL2 C.struct_sockaddr_l2
453
454type RawSockaddrRFCOMM C.struct_sockaddr_rc
455
456type RawSockaddrCAN C.struct_sockaddr_can
457
458type RawSockaddrALG C.struct_sockaddr_alg
459
460type RawSockaddrVM C.struct_sockaddr_vm
461
462type RawSockaddrXDP C.struct_sockaddr_xdp
463
464type RawSockaddrPPPoX [C.sizeof_struct_sockaddr_pppox]byte
465
466type RawSockaddr C.struct_sockaddr
467
468type RawSockaddrAny C.struct_sockaddr_any
469
470type _Socklen C.socklen_t
471
472type Linger C.struct_linger
473
474type Iovec C.struct_iovec
475
476type IPMreq C.struct_ip_mreq
477
478type IPMreqn C.struct_ip_mreqn
479
480type IPv6Mreq C.struct_ipv6_mreq
481
482type PacketMreq C.struct_packet_mreq
483
484type Msghdr C.struct_msghdr
485
486type Cmsghdr C.struct_cmsghdr
487
488type Inet4Pktinfo C.struct_in_pktinfo
489
490type Inet6Pktinfo C.struct_in6_pktinfo
491
492type IPv6MTUInfo C.struct_ip6_mtuinfo
493
494type ICMPv6Filter C.struct_icmp6_filter
495
496type Ucred C.struct_ucred
497
498type TCPInfo C.struct_tcp_info
499
500type CanFilter C.struct_can_filter
501
502const (
503	SizeofSockaddrInet4     = C.sizeof_struct_sockaddr_in
504	SizeofSockaddrInet6     = C.sizeof_struct_sockaddr_in6
505	SizeofSockaddrAny       = C.sizeof_struct_sockaddr_any
506	SizeofSockaddrUnix      = C.sizeof_struct_sockaddr_un
507	SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll
508	SizeofSockaddrNetlink   = C.sizeof_struct_sockaddr_nl
509	SizeofSockaddrHCI       = C.sizeof_struct_sockaddr_hci
510	SizeofSockaddrL2        = C.sizeof_struct_sockaddr_l2
511	SizeofSockaddrRFCOMM    = C.sizeof_struct_sockaddr_rc
512	SizeofSockaddrCAN       = C.sizeof_struct_sockaddr_can
513	SizeofSockaddrALG       = C.sizeof_struct_sockaddr_alg
514	SizeofSockaddrVM        = C.sizeof_struct_sockaddr_vm
515	SizeofSockaddrXDP       = C.sizeof_struct_sockaddr_xdp
516	SizeofSockaddrPPPoX     = C.sizeof_struct_sockaddr_pppox
517	SizeofLinger            = C.sizeof_struct_linger
518	SizeofIovec             = C.sizeof_struct_iovec
519	SizeofIPMreq            = C.sizeof_struct_ip_mreq
520	SizeofIPMreqn           = C.sizeof_struct_ip_mreqn
521	SizeofIPv6Mreq          = C.sizeof_struct_ipv6_mreq
522	SizeofPacketMreq        = C.sizeof_struct_packet_mreq
523	SizeofMsghdr            = C.sizeof_struct_msghdr
524	SizeofCmsghdr           = C.sizeof_struct_cmsghdr
525	SizeofInet4Pktinfo      = C.sizeof_struct_in_pktinfo
526	SizeofInet6Pktinfo      = C.sizeof_struct_in6_pktinfo
527	SizeofIPv6MTUInfo       = C.sizeof_struct_ip6_mtuinfo
528	SizeofICMPv6Filter      = C.sizeof_struct_icmp6_filter
529	SizeofUcred             = C.sizeof_struct_ucred
530	SizeofTCPInfo           = C.sizeof_struct_tcp_info
531	SizeofCanFilter         = C.sizeof_struct_can_filter
532)
533
534// Netlink routing and interface messages
535
536const (
537	NDA_UNSPEC              = C.NDA_UNSPEC
538	NDA_DST                 = C.NDA_DST
539	NDA_LLADDR              = C.NDA_LLADDR
540	NDA_CACHEINFO           = C.NDA_CACHEINFO
541	NDA_PROBES              = C.NDA_PROBES
542	NDA_VLAN                = C.NDA_VLAN
543	NDA_PORT                = C.NDA_PORT
544	NDA_VNI                 = C.NDA_VNI
545	NDA_IFINDEX             = C.NDA_IFINDEX
546	NDA_MASTER              = C.NDA_MASTER
547	NDA_LINK_NETNSID        = C.NDA_LINK_NETNSID
548	NDA_SRC_VNI             = C.NDA_SRC_VNI
549	NTF_USE                 = C.NTF_USE
550	NTF_SELF                = C.NTF_SELF
551	NTF_MASTER              = C.NTF_MASTER
552	NTF_PROXY               = C.NTF_PROXY
553	NTF_EXT_LEARNED         = C.NTF_EXT_LEARNED
554	NTF_OFFLOADED           = C.NTF_OFFLOADED
555	NTF_ROUTER              = C.NTF_ROUTER
556	NUD_INCOMPLETE          = C.NUD_INCOMPLETE
557	NUD_REACHABLE           = C.NUD_REACHABLE
558	NUD_STALE               = C.NUD_STALE
559	NUD_DELAY               = C.NUD_DELAY
560	NUD_PROBE               = C.NUD_PROBE
561	NUD_FAILED              = C.NUD_FAILED
562	NUD_NOARP               = C.NUD_NOARP
563	NUD_PERMANENT           = C.NUD_PERMANENT
564	NUD_NONE                = C.NUD_NONE
565	IFA_UNSPEC              = C.IFA_UNSPEC
566	IFA_ADDRESS             = C.IFA_ADDRESS
567	IFA_LOCAL               = C.IFA_LOCAL
568	IFA_LABEL               = C.IFA_LABEL
569	IFA_BROADCAST           = C.IFA_BROADCAST
570	IFA_ANYCAST             = C.IFA_ANYCAST
571	IFA_CACHEINFO           = C.IFA_CACHEINFO
572	IFA_MULTICAST           = C.IFA_MULTICAST
573	IFA_FLAGS               = C.IFA_FLAGS
574	IFA_RT_PRIORITY         = C.IFA_RT_PRIORITY
575	IFA_TARGET_NETNSID      = C.IFA_TARGET_NETNSID
576	IFLA_UNSPEC             = C.IFLA_UNSPEC
577	IFLA_ADDRESS            = C.IFLA_ADDRESS
578	IFLA_BROADCAST          = C.IFLA_BROADCAST
579	IFLA_IFNAME             = C.IFLA_IFNAME
580	IFLA_MTU                = C.IFLA_MTU
581	IFLA_LINK               = C.IFLA_LINK
582	IFLA_QDISC              = C.IFLA_QDISC
583	IFLA_STATS              = C.IFLA_STATS
584	IFLA_COST               = C.IFLA_COST
585	IFLA_PRIORITY           = C.IFLA_PRIORITY
586	IFLA_MASTER             = C.IFLA_MASTER
587	IFLA_WIRELESS           = C.IFLA_WIRELESS
588	IFLA_PROTINFO           = C.IFLA_PROTINFO
589	IFLA_TXQLEN             = C.IFLA_TXQLEN
590	IFLA_MAP                = C.IFLA_MAP
591	IFLA_WEIGHT             = C.IFLA_WEIGHT
592	IFLA_OPERSTATE          = C.IFLA_OPERSTATE
593	IFLA_LINKMODE           = C.IFLA_LINKMODE
594	IFLA_LINKINFO           = C.IFLA_LINKINFO
595	IFLA_NET_NS_PID         = C.IFLA_NET_NS_PID
596	IFLA_IFALIAS            = C.IFLA_IFALIAS
597	IFLA_NUM_VF             = C.IFLA_NUM_VF
598	IFLA_VFINFO_LIST        = C.IFLA_VFINFO_LIST
599	IFLA_STATS64            = C.IFLA_STATS64
600	IFLA_VF_PORTS           = C.IFLA_VF_PORTS
601	IFLA_PORT_SELF          = C.IFLA_PORT_SELF
602	IFLA_AF_SPEC            = C.IFLA_AF_SPEC
603	IFLA_GROUP              = C.IFLA_GROUP
604	IFLA_NET_NS_FD          = C.IFLA_NET_NS_FD
605	IFLA_EXT_MASK           = C.IFLA_EXT_MASK
606	IFLA_PROMISCUITY        = C.IFLA_PROMISCUITY
607	IFLA_NUM_TX_QUEUES      = C.IFLA_NUM_TX_QUEUES
608	IFLA_NUM_RX_QUEUES      = C.IFLA_NUM_RX_QUEUES
609	IFLA_CARRIER            = C.IFLA_CARRIER
610	IFLA_PHYS_PORT_ID       = C.IFLA_PHYS_PORT_ID
611	IFLA_CARRIER_CHANGES    = C.IFLA_CARRIER_CHANGES
612	IFLA_PHYS_SWITCH_ID     = C.IFLA_PHYS_SWITCH_ID
613	IFLA_LINK_NETNSID       = C.IFLA_LINK_NETNSID
614	IFLA_PHYS_PORT_NAME     = C.IFLA_PHYS_PORT_NAME
615	IFLA_PROTO_DOWN         = C.IFLA_PROTO_DOWN
616	IFLA_GSO_MAX_SEGS       = C.IFLA_GSO_MAX_SEGS
617	IFLA_GSO_MAX_SIZE       = C.IFLA_GSO_MAX_SIZE
618	IFLA_PAD                = C.IFLA_PAD
619	IFLA_XDP                = C.IFLA_XDP
620	IFLA_EVENT              = C.IFLA_EVENT
621	IFLA_NEW_NETNSID        = C.IFLA_NEW_NETNSID
622	IFLA_IF_NETNSID         = C.IFLA_IF_NETNSID
623	IFLA_TARGET_NETNSID     = C.IFLA_TARGET_NETNSID
624	IFLA_CARRIER_UP_COUNT   = C.IFLA_CARRIER_UP_COUNT
625	IFLA_CARRIER_DOWN_COUNT = C.IFLA_CARRIER_DOWN_COUNT
626	IFLA_NEW_IFINDEX        = C.IFLA_NEW_IFINDEX
627	IFLA_MIN_MTU            = C.IFLA_MIN_MTU
628	IFLA_MAX_MTU            = C.IFLA_MAX_MTU
629	IFLA_MAX                = C.IFLA_MAX
630	IFLA_INFO_KIND          = C.IFLA_INFO_KIND
631	IFLA_INFO_DATA          = C.IFLA_INFO_DATA
632	IFLA_INFO_XSTATS        = C.IFLA_INFO_XSTATS
633	IFLA_INFO_SLAVE_KIND    = C.IFLA_INFO_SLAVE_KIND
634	IFLA_INFO_SLAVE_DATA    = C.IFLA_INFO_SLAVE_DATA
635	RT_SCOPE_UNIVERSE       = C.RT_SCOPE_UNIVERSE
636	RT_SCOPE_SITE           = C.RT_SCOPE_SITE
637	RT_SCOPE_LINK           = C.RT_SCOPE_LINK
638	RT_SCOPE_HOST           = C.RT_SCOPE_HOST
639	RT_SCOPE_NOWHERE        = C.RT_SCOPE_NOWHERE
640	RT_TABLE_UNSPEC         = C.RT_TABLE_UNSPEC
641	RT_TABLE_COMPAT         = C.RT_TABLE_COMPAT
642	RT_TABLE_DEFAULT        = C.RT_TABLE_DEFAULT
643	RT_TABLE_MAIN           = C.RT_TABLE_MAIN
644	RT_TABLE_LOCAL          = C.RT_TABLE_LOCAL
645	RT_TABLE_MAX            = C.RT_TABLE_MAX
646	RTA_UNSPEC              = C.RTA_UNSPEC
647	RTA_DST                 = C.RTA_DST
648	RTA_SRC                 = C.RTA_SRC
649	RTA_IIF                 = C.RTA_IIF
650	RTA_OIF                 = C.RTA_OIF
651	RTA_GATEWAY             = C.RTA_GATEWAY
652	RTA_PRIORITY            = C.RTA_PRIORITY
653	RTA_PREFSRC             = C.RTA_PREFSRC
654	RTA_METRICS             = C.RTA_METRICS
655	RTA_MULTIPATH           = C.RTA_MULTIPATH
656	RTA_FLOW                = C.RTA_FLOW
657	RTA_CACHEINFO           = C.RTA_CACHEINFO
658	RTA_TABLE               = C.RTA_TABLE
659	RTA_MARK                = C.RTA_MARK
660	RTA_MFC_STATS           = C.RTA_MFC_STATS
661	RTA_VIA                 = C.RTA_VIA
662	RTA_NEWDST              = C.RTA_NEWDST
663	RTA_PREF                = C.RTA_PREF
664	RTA_ENCAP_TYPE          = C.RTA_ENCAP_TYPE
665	RTA_ENCAP               = C.RTA_ENCAP
666	RTA_EXPIRES             = C.RTA_EXPIRES
667	RTA_PAD                 = C.RTA_PAD
668	RTA_UID                 = C.RTA_UID
669	RTA_TTL_PROPAGATE       = C.RTA_TTL_PROPAGATE
670	RTA_IP_PROTO            = C.RTA_IP_PROTO
671	RTA_SPORT               = C.RTA_SPORT
672	RTA_DPORT               = C.RTA_DPORT
673	RTN_UNSPEC              = C.RTN_UNSPEC
674	RTN_UNICAST             = C.RTN_UNICAST
675	RTN_LOCAL               = C.RTN_LOCAL
676	RTN_BROADCAST           = C.RTN_BROADCAST
677	RTN_ANYCAST             = C.RTN_ANYCAST
678	RTN_MULTICAST           = C.RTN_MULTICAST
679	RTN_BLACKHOLE           = C.RTN_BLACKHOLE
680	RTN_UNREACHABLE         = C.RTN_UNREACHABLE
681	RTN_PROHIBIT            = C.RTN_PROHIBIT
682	RTN_THROW               = C.RTN_THROW
683	RTN_NAT                 = C.RTN_NAT
684	RTN_XRESOLVE            = C.RTN_XRESOLVE
685	RTNLGRP_NONE            = C.RTNLGRP_NONE
686	RTNLGRP_LINK            = C.RTNLGRP_LINK
687	RTNLGRP_NOTIFY          = C.RTNLGRP_NOTIFY
688	RTNLGRP_NEIGH           = C.RTNLGRP_NEIGH
689	RTNLGRP_TC              = C.RTNLGRP_TC
690	RTNLGRP_IPV4_IFADDR     = C.RTNLGRP_IPV4_IFADDR
691	RTNLGRP_IPV4_MROUTE     = C.RTNLGRP_IPV4_MROUTE
692	RTNLGRP_IPV4_ROUTE      = C.RTNLGRP_IPV4_ROUTE
693	RTNLGRP_IPV4_RULE       = C.RTNLGRP_IPV4_RULE
694	RTNLGRP_IPV6_IFADDR     = C.RTNLGRP_IPV6_IFADDR
695	RTNLGRP_IPV6_MROUTE     = C.RTNLGRP_IPV6_MROUTE
696	RTNLGRP_IPV6_ROUTE      = C.RTNLGRP_IPV6_ROUTE
697	RTNLGRP_IPV6_IFINFO     = C.RTNLGRP_IPV6_IFINFO
698	RTNLGRP_IPV6_PREFIX     = C.RTNLGRP_IPV6_PREFIX
699	RTNLGRP_IPV6_RULE       = C.RTNLGRP_IPV6_RULE
700	RTNLGRP_ND_USEROPT      = C.RTNLGRP_ND_USEROPT
701	SizeofNlMsghdr          = C.sizeof_struct_nlmsghdr
702	SizeofNlMsgerr          = C.sizeof_struct_nlmsgerr
703	SizeofRtGenmsg          = C.sizeof_struct_rtgenmsg
704	SizeofNlAttr            = C.sizeof_struct_nlattr
705	SizeofRtAttr            = C.sizeof_struct_rtattr
706	SizeofIfInfomsg         = C.sizeof_struct_ifinfomsg
707	SizeofIfAddrmsg         = C.sizeof_struct_ifaddrmsg
708	SizeofRtMsg             = C.sizeof_struct_rtmsg
709	SizeofRtNexthop         = C.sizeof_struct_rtnexthop
710	SizeofNdUseroptmsg      = C.sizeof_struct_nduseroptmsg
711	SizeofNdMsg             = C.sizeof_struct_ndmsg
712)
713
714type NlMsghdr C.struct_nlmsghdr
715
716type NlMsgerr C.struct_nlmsgerr
717
718type RtGenmsg C.struct_rtgenmsg
719
720type NlAttr C.struct_nlattr
721
722type RtAttr C.struct_rtattr
723
724type IfInfomsg C.struct_ifinfomsg
725
726type IfAddrmsg C.struct_ifaddrmsg
727
728type RtMsg C.struct_rtmsg
729
730type RtNexthop C.struct_rtnexthop
731
732type NdUseroptmsg C.struct_nduseroptmsg
733
734type NdMsg C.struct_ndmsg
735
736// Linux socket filter
737
738const (
739	SizeofSockFilter = C.sizeof_struct_sock_filter
740	SizeofSockFprog  = C.sizeof_struct_sock_fprog
741)
742
743type SockFilter C.struct_sock_filter
744
745type SockFprog C.struct_sock_fprog
746
747// Inotify
748
749type InotifyEvent C.struct_inotify_event
750
751const SizeofInotifyEvent = C.sizeof_struct_inotify_event
752
753// Ptrace
754
755// Register structures
756type PtraceRegs C.PtraceRegs
757
758// Structures contained in PtraceRegs on s390x (exported by mkpost.go)
759type PtracePsw C.ptracePsw
760
761type PtraceFpregs C.ptraceFpregs
762
763type PtracePer C.ptracePer
764
765// Misc
766
767type FdSet C.fd_set
768
769type Sysinfo_t C.struct_sysinfo
770
771type Utsname C.struct_utsname
772
773type Ustat_t C.struct_ustat
774
775type EpollEvent C.struct_my_epoll_event
776
777const (
778	AT_EMPTY_PATH   = C.AT_EMPTY_PATH
779	AT_FDCWD        = C.AT_FDCWD
780	AT_NO_AUTOMOUNT = C.AT_NO_AUTOMOUNT
781	AT_REMOVEDIR    = C.AT_REMOVEDIR
782
783	AT_STATX_SYNC_AS_STAT = C.AT_STATX_SYNC_AS_STAT
784	AT_STATX_FORCE_SYNC   = C.AT_STATX_FORCE_SYNC
785	AT_STATX_DONT_SYNC    = C.AT_STATX_DONT_SYNC
786
787	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
788	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
789
790	AT_EACCESS = C.AT_EACCESS
791)
792
793type PollFd C.struct_pollfd
794
795const (
796	POLLIN    = C.POLLIN
797	POLLPRI   = C.POLLPRI
798	POLLOUT   = C.POLLOUT
799	POLLRDHUP = C.POLLRDHUP
800	POLLERR   = C.POLLERR
801	POLLHUP   = C.POLLHUP
802	POLLNVAL  = C.POLLNVAL
803)
804
805type Sigset_t C.sigset_t
806
807const _C__NSIG = C._NSIG
808
809type SignalfdSiginfo C.struct_signalfd_siginfo
810
811const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP
812
813// Terminal handling
814
815type Termios C.termios_t
816
817type Winsize C.struct_winsize
818
819// Taskstats and cgroup stats.
820
821type Taskstats C.struct_taskstats
822
823const (
824	TASKSTATS_CMD_UNSPEC                  = C.TASKSTATS_CMD_UNSPEC
825	TASKSTATS_CMD_GET                     = C.TASKSTATS_CMD_GET
826	TASKSTATS_CMD_NEW                     = C.TASKSTATS_CMD_NEW
827	TASKSTATS_TYPE_UNSPEC                 = C.TASKSTATS_TYPE_UNSPEC
828	TASKSTATS_TYPE_PID                    = C.TASKSTATS_TYPE_PID
829	TASKSTATS_TYPE_TGID                   = C.TASKSTATS_TYPE_TGID
830	TASKSTATS_TYPE_STATS                  = C.TASKSTATS_TYPE_STATS
831	TASKSTATS_TYPE_AGGR_PID               = C.TASKSTATS_TYPE_AGGR_PID
832	TASKSTATS_TYPE_AGGR_TGID              = C.TASKSTATS_TYPE_AGGR_TGID
833	TASKSTATS_TYPE_NULL                   = C.TASKSTATS_TYPE_NULL
834	TASKSTATS_CMD_ATTR_UNSPEC             = C.TASKSTATS_CMD_ATTR_UNSPEC
835	TASKSTATS_CMD_ATTR_PID                = C.TASKSTATS_CMD_ATTR_PID
836	TASKSTATS_CMD_ATTR_TGID               = C.TASKSTATS_CMD_ATTR_TGID
837	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK
838	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK
839)
840
841type CGroupStats C.struct_cgroupstats
842
843const (
844	CGROUPSTATS_CMD_UNSPEC        = C.__TASKSTATS_CMD_MAX
845	CGROUPSTATS_CMD_GET           = C.CGROUPSTATS_CMD_GET
846	CGROUPSTATS_CMD_NEW           = C.CGROUPSTATS_CMD_NEW
847	CGROUPSTATS_TYPE_UNSPEC       = C.CGROUPSTATS_TYPE_UNSPEC
848	CGROUPSTATS_TYPE_CGROUP_STATS = C.CGROUPSTATS_TYPE_CGROUP_STATS
849	CGROUPSTATS_CMD_ATTR_UNSPEC   = C.CGROUPSTATS_CMD_ATTR_UNSPEC
850	CGROUPSTATS_CMD_ATTR_FD       = C.CGROUPSTATS_CMD_ATTR_FD
851)
852
853// Generic netlink
854
855type Genlmsghdr C.struct_genlmsghdr
856
857const (
858	CTRL_CMD_UNSPEC            = C.CTRL_CMD_UNSPEC
859	CTRL_CMD_NEWFAMILY         = C.CTRL_CMD_NEWFAMILY
860	CTRL_CMD_DELFAMILY         = C.CTRL_CMD_DELFAMILY
861	CTRL_CMD_GETFAMILY         = C.CTRL_CMD_GETFAMILY
862	CTRL_CMD_NEWOPS            = C.CTRL_CMD_NEWOPS
863	CTRL_CMD_DELOPS            = C.CTRL_CMD_DELOPS
864	CTRL_CMD_GETOPS            = C.CTRL_CMD_GETOPS
865	CTRL_CMD_NEWMCAST_GRP      = C.CTRL_CMD_NEWMCAST_GRP
866	CTRL_CMD_DELMCAST_GRP      = C.CTRL_CMD_DELMCAST_GRP
867	CTRL_CMD_GETMCAST_GRP      = C.CTRL_CMD_GETMCAST_GRP
868	CTRL_ATTR_UNSPEC           = C.CTRL_ATTR_UNSPEC
869	CTRL_ATTR_FAMILY_ID        = C.CTRL_ATTR_FAMILY_ID
870	CTRL_ATTR_FAMILY_NAME      = C.CTRL_ATTR_FAMILY_NAME
871	CTRL_ATTR_VERSION          = C.CTRL_ATTR_VERSION
872	CTRL_ATTR_HDRSIZE          = C.CTRL_ATTR_HDRSIZE
873	CTRL_ATTR_MAXATTR          = C.CTRL_ATTR_MAXATTR
874	CTRL_ATTR_OPS              = C.CTRL_ATTR_OPS
875	CTRL_ATTR_MCAST_GROUPS     = C.CTRL_ATTR_MCAST_GROUPS
876	CTRL_ATTR_OP_UNSPEC        = C.CTRL_ATTR_OP_UNSPEC
877	CTRL_ATTR_OP_ID            = C.CTRL_ATTR_OP_ID
878	CTRL_ATTR_OP_FLAGS         = C.CTRL_ATTR_OP_FLAGS
879	CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC
880	CTRL_ATTR_MCAST_GRP_NAME   = C.CTRL_ATTR_MCAST_GRP_NAME
881	CTRL_ATTR_MCAST_GRP_ID     = C.CTRL_ATTR_MCAST_GRP_ID
882)
883
884// CPU affinity
885
886type cpuMask C.__cpu_mask
887
888const (
889	_CPU_SETSIZE = C.__CPU_SETSIZE
890	_NCPUBITS    = C.__NCPUBITS
891)
892
893// Bluetooth
894
895const (
896	BDADDR_BREDR     = C.BDADDR_BREDR
897	BDADDR_LE_PUBLIC = C.BDADDR_LE_PUBLIC
898	BDADDR_LE_RANDOM = C.BDADDR_LE_RANDOM
899)
900
901// Perf subsystem
902
903type PerfEventAttr C.struct_perf_event_attr_go
904
905type PerfEventMmapPage C.struct_perf_event_mmap_page
906
907// Bit field in struct perf_event_attr expanded as flags.
908// Set these on PerfEventAttr.Bits by ORing them together.
909const (
910	PerfBitDisabled               uint64 = CBitFieldMaskBit0
911	PerfBitInherit                       = CBitFieldMaskBit1
912	PerfBitPinned                        = CBitFieldMaskBit2
913	PerfBitExclusive                     = CBitFieldMaskBit3
914	PerfBitExcludeUser                   = CBitFieldMaskBit4
915	PerfBitExcludeKernel                 = CBitFieldMaskBit5
916	PerfBitExcludeHv                     = CBitFieldMaskBit6
917	PerfBitExcludeIdle                   = CBitFieldMaskBit7
918	PerfBitMmap                          = CBitFieldMaskBit8
919	PerfBitComm                          = CBitFieldMaskBit9
920	PerfBitFreq                          = CBitFieldMaskBit10
921	PerfBitInheritStat                   = CBitFieldMaskBit11
922	PerfBitEnableOnExec                  = CBitFieldMaskBit12
923	PerfBitTask                          = CBitFieldMaskBit13
924	PerfBitWatermark                     = CBitFieldMaskBit14
925	PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
926	PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
927	PerfBitMmapData                      = CBitFieldMaskBit17
928	PerfBitSampleIDAll                   = CBitFieldMaskBit18
929	PerfBitExcludeHost                   = CBitFieldMaskBit19
930	PerfBitExcludeGuest                  = CBitFieldMaskBit20
931	PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
932	PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
933	PerfBitMmap2                         = CBitFieldMaskBit23
934	PerfBitCommExec                      = CBitFieldMaskBit24
935	PerfBitUseClockID                    = CBitFieldMaskBit25
936	PerfBitContextSwitch                 = CBitFieldMaskBit26
937)
938
939const (
940	PERF_TYPE_HARDWARE   = C.PERF_TYPE_HARDWARE
941	PERF_TYPE_SOFTWARE   = C.PERF_TYPE_SOFTWARE
942	PERF_TYPE_TRACEPOINT = C.PERF_TYPE_TRACEPOINT
943	PERF_TYPE_HW_CACHE   = C.PERF_TYPE_HW_CACHE
944	PERF_TYPE_RAW        = C.PERF_TYPE_RAW
945	PERF_TYPE_BREAKPOINT = C.PERF_TYPE_BREAKPOINT
946
947	PERF_COUNT_HW_CPU_CYCLES              = C.PERF_COUNT_HW_CPU_CYCLES
948	PERF_COUNT_HW_INSTRUCTIONS            = C.PERF_COUNT_HW_INSTRUCTIONS
949	PERF_COUNT_HW_CACHE_REFERENCES        = C.PERF_COUNT_HW_CACHE_REFERENCES
950	PERF_COUNT_HW_CACHE_MISSES            = C.PERF_COUNT_HW_CACHE_MISSES
951	PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = C.PERF_COUNT_HW_BRANCH_INSTRUCTIONS
952	PERF_COUNT_HW_BRANCH_MISSES           = C.PERF_COUNT_HW_BRANCH_MISSES
953	PERF_COUNT_HW_BUS_CYCLES              = C.PERF_COUNT_HW_BUS_CYCLES
954	PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = C.PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
955	PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = C.PERF_COUNT_HW_STALLED_CYCLES_BACKEND
956	PERF_COUNT_HW_REF_CPU_CYCLES          = C.PERF_COUNT_HW_REF_CPU_CYCLES
957
958	PERF_COUNT_HW_CACHE_L1D  = C.PERF_COUNT_HW_CACHE_L1D
959	PERF_COUNT_HW_CACHE_L1I  = C.PERF_COUNT_HW_CACHE_L1I
960	PERF_COUNT_HW_CACHE_LL   = C.PERF_COUNT_HW_CACHE_LL
961	PERF_COUNT_HW_CACHE_DTLB = C.PERF_COUNT_HW_CACHE_DTLB
962	PERF_COUNT_HW_CACHE_ITLB = C.PERF_COUNT_HW_CACHE_ITLB
963	PERF_COUNT_HW_CACHE_BPU  = C.PERF_COUNT_HW_CACHE_BPU
964	PERF_COUNT_HW_CACHE_NODE = C.PERF_COUNT_HW_CACHE_NODE
965
966	PERF_COUNT_HW_CACHE_OP_READ     = C.PERF_COUNT_HW_CACHE_OP_READ
967	PERF_COUNT_HW_CACHE_OP_WRITE    = C.PERF_COUNT_HW_CACHE_OP_WRITE
968	PERF_COUNT_HW_CACHE_OP_PREFETCH = C.PERF_COUNT_HW_CACHE_OP_PREFETCH
969
970	PERF_COUNT_HW_CACHE_RESULT_ACCESS = C.PERF_COUNT_HW_CACHE_RESULT_ACCESS
971	PERF_COUNT_HW_CACHE_RESULT_MISS   = C.PERF_COUNT_HW_CACHE_RESULT_MISS
972
973	PERF_COUNT_SW_CPU_CLOCK        = C.PERF_COUNT_SW_CPU_CLOCK
974	PERF_COUNT_SW_TASK_CLOCK       = C.PERF_COUNT_SW_TASK_CLOCK
975	PERF_COUNT_SW_PAGE_FAULTS      = C.PERF_COUNT_SW_PAGE_FAULTS
976	PERF_COUNT_SW_CONTEXT_SWITCHES = C.PERF_COUNT_SW_CONTEXT_SWITCHES
977	PERF_COUNT_SW_CPU_MIGRATIONS   = C.PERF_COUNT_SW_CPU_MIGRATIONS
978	PERF_COUNT_SW_PAGE_FAULTS_MIN  = C.PERF_COUNT_SW_PAGE_FAULTS_MIN
979	PERF_COUNT_SW_PAGE_FAULTS_MAJ  = C.PERF_COUNT_SW_PAGE_FAULTS_MAJ
980	PERF_COUNT_SW_ALIGNMENT_FAULTS = C.PERF_COUNT_SW_ALIGNMENT_FAULTS
981	PERF_COUNT_SW_EMULATION_FAULTS = C.PERF_COUNT_SW_EMULATION_FAULTS
982	PERF_COUNT_SW_DUMMY            = C.PERF_COUNT_SW_DUMMY
983	PERF_COUNT_SW_BPF_OUTPUT       = C.PERF_COUNT_SW_BPF_OUTPUT
984
985	PERF_SAMPLE_IP           = C.PERF_SAMPLE_IP
986	PERF_SAMPLE_TID          = C.PERF_SAMPLE_TID
987	PERF_SAMPLE_TIME         = C.PERF_SAMPLE_TIME
988	PERF_SAMPLE_ADDR         = C.PERF_SAMPLE_ADDR
989	PERF_SAMPLE_READ         = C.PERF_SAMPLE_READ
990	PERF_SAMPLE_CALLCHAIN    = C.PERF_SAMPLE_CALLCHAIN
991	PERF_SAMPLE_ID           = C.PERF_SAMPLE_ID
992	PERF_SAMPLE_CPU          = C.PERF_SAMPLE_CPU
993	PERF_SAMPLE_PERIOD       = C.PERF_SAMPLE_PERIOD
994	PERF_SAMPLE_STREAM_ID    = C.PERF_SAMPLE_STREAM_ID
995	PERF_SAMPLE_RAW          = C.PERF_SAMPLE_RAW
996	PERF_SAMPLE_BRANCH_STACK = C.PERF_SAMPLE_BRANCH_STACK
997
998	PERF_SAMPLE_BRANCH_USER       = C.PERF_SAMPLE_BRANCH_USER
999	PERF_SAMPLE_BRANCH_KERNEL     = C.PERF_SAMPLE_BRANCH_KERNEL
1000	PERF_SAMPLE_BRANCH_HV         = C.PERF_SAMPLE_BRANCH_HV
1001	PERF_SAMPLE_BRANCH_ANY        = C.PERF_SAMPLE_BRANCH_ANY
1002	PERF_SAMPLE_BRANCH_ANY_CALL   = C.PERF_SAMPLE_BRANCH_ANY_CALL
1003	PERF_SAMPLE_BRANCH_ANY_RETURN = C.PERF_SAMPLE_BRANCH_ANY_RETURN
1004	PERF_SAMPLE_BRANCH_IND_CALL   = C.PERF_SAMPLE_BRANCH_IND_CALL
1005	PERF_SAMPLE_BRANCH_ABORT_TX   = C.PERF_SAMPLE_BRANCH_ABORT_TX
1006	PERF_SAMPLE_BRANCH_IN_TX      = C.PERF_SAMPLE_BRANCH_IN_TX
1007	PERF_SAMPLE_BRANCH_NO_TX      = C.PERF_SAMPLE_BRANCH_NO_TX
1008	PERF_SAMPLE_BRANCH_COND       = C.PERF_SAMPLE_BRANCH_COND
1009	PERF_SAMPLE_BRANCH_CALL_STACK = C.PERF_SAMPLE_BRANCH_CALL_STACK
1010	PERF_SAMPLE_BRANCH_IND_JUMP   = C.PERF_SAMPLE_BRANCH_IND_JUMP
1011	PERF_SAMPLE_BRANCH_CALL       = C.PERF_SAMPLE_BRANCH_CALL
1012	PERF_SAMPLE_BRANCH_NO_FLAGS   = C.PERF_SAMPLE_BRANCH_NO_FLAGS
1013	PERF_SAMPLE_BRANCH_NO_CYCLES  = C.PERF_SAMPLE_BRANCH_NO_CYCLES
1014	PERF_SAMPLE_BRANCH_TYPE_SAVE  = C.PERF_SAMPLE_BRANCH_TYPE_SAVE
1015
1016	PERF_FORMAT_TOTAL_TIME_ENABLED = C.PERF_FORMAT_TOTAL_TIME_ENABLED
1017	PERF_FORMAT_TOTAL_TIME_RUNNING = C.PERF_FORMAT_TOTAL_TIME_RUNNING
1018	PERF_FORMAT_ID                 = C.PERF_FORMAT_ID
1019	PERF_FORMAT_GROUP              = C.PERF_FORMAT_GROUP
1020
1021	PERF_RECORD_MMAP            = C.PERF_RECORD_MMAP
1022	PERF_RECORD_LOST            = C.PERF_RECORD_LOST
1023	PERF_RECORD_COMM            = C.PERF_RECORD_COMM
1024	PERF_RECORD_EXIT            = C.PERF_RECORD_EXIT
1025	PERF_RECORD_THROTTLE        = C.PERF_RECORD_THROTTLE
1026	PERF_RECORD_UNTHROTTLE      = C.PERF_RECORD_UNTHROTTLE
1027	PERF_RECORD_FORK            = C.PERF_RECORD_FORK
1028	PERF_RECORD_READ            = C.PERF_RECORD_READ
1029	PERF_RECORD_SAMPLE          = C.PERF_RECORD_SAMPLE
1030	PERF_RECORD_MMAP2           = C.PERF_RECORD_MMAP2
1031	PERF_RECORD_AUX             = C.PERF_RECORD_AUX
1032	PERF_RECORD_ITRACE_START    = C.PERF_RECORD_ITRACE_START
1033	PERF_RECORD_LOST_SAMPLES    = C.PERF_RECORD_LOST_SAMPLES
1034	PERF_RECORD_SWITCH          = C.PERF_RECORD_SWITCH
1035	PERF_RECORD_SWITCH_CPU_WIDE = C.PERF_RECORD_SWITCH_CPU_WIDE
1036	PERF_RECORD_NAMESPACES      = C.PERF_RECORD_NAMESPACES
1037
1038	PERF_CONTEXT_HV     = C.PERF_CONTEXT_HV
1039	PERF_CONTEXT_KERNEL = C.PERF_CONTEXT_KERNEL
1040	PERF_CONTEXT_USER   = C.PERF_CONTEXT_USER
1041
1042	PERF_CONTEXT_GUEST        = C.PERF_CONTEXT_GUEST
1043	PERF_CONTEXT_GUEST_KERNEL = C.PERF_CONTEXT_GUEST_KERNEL
1044	PERF_CONTEXT_GUEST_USER   = C.PERF_CONTEXT_GUEST_USER
1045
1046	PERF_FLAG_FD_NO_GROUP = C.PERF_FLAG_FD_NO_GROUP
1047	PERF_FLAG_FD_OUTPUT   = C.PERF_FLAG_FD_OUTPUT
1048	PERF_FLAG_PID_CGROUP  = C.PERF_FLAG_PID_CGROUP
1049	PERF_FLAG_FD_CLOEXEC  = C.PERF_FLAG_FD_CLOEXEC
1050)
1051
1052// Platform ABI and calling convention
1053
1054// Bit field masks for interoperability with C code that uses bit fields.
1055// Each mask corresponds to a single bit set - bit field behavior can be replicated by combining
1056// the masks with bitwise OR.
1057const (
1058	CBitFieldMaskBit0  = C.BITFIELD_MASK_0
1059	CBitFieldMaskBit1  = C.BITFIELD_MASK_1
1060	CBitFieldMaskBit2  = C.BITFIELD_MASK_2
1061	CBitFieldMaskBit3  = C.BITFIELD_MASK_3
1062	CBitFieldMaskBit4  = C.BITFIELD_MASK_4
1063	CBitFieldMaskBit5  = C.BITFIELD_MASK_5
1064	CBitFieldMaskBit6  = C.BITFIELD_MASK_6
1065	CBitFieldMaskBit7  = C.BITFIELD_MASK_7
1066	CBitFieldMaskBit8  = C.BITFIELD_MASK_8
1067	CBitFieldMaskBit9  = C.BITFIELD_MASK_9
1068	CBitFieldMaskBit10 = C.BITFIELD_MASK_10
1069	CBitFieldMaskBit11 = C.BITFIELD_MASK_11
1070	CBitFieldMaskBit12 = C.BITFIELD_MASK_12
1071	CBitFieldMaskBit13 = C.BITFIELD_MASK_13
1072	CBitFieldMaskBit14 = C.BITFIELD_MASK_14
1073	CBitFieldMaskBit15 = C.BITFIELD_MASK_15
1074	CBitFieldMaskBit16 = C.BITFIELD_MASK_16
1075	CBitFieldMaskBit17 = C.BITFIELD_MASK_17
1076	CBitFieldMaskBit18 = C.BITFIELD_MASK_18
1077	CBitFieldMaskBit19 = C.BITFIELD_MASK_19
1078	CBitFieldMaskBit20 = C.BITFIELD_MASK_20
1079	CBitFieldMaskBit21 = C.BITFIELD_MASK_21
1080	CBitFieldMaskBit22 = C.BITFIELD_MASK_22
1081	CBitFieldMaskBit23 = C.BITFIELD_MASK_23
1082	CBitFieldMaskBit24 = C.BITFIELD_MASK_24
1083	CBitFieldMaskBit25 = C.BITFIELD_MASK_25
1084	CBitFieldMaskBit26 = C.BITFIELD_MASK_26
1085	CBitFieldMaskBit27 = C.BITFIELD_MASK_27
1086	CBitFieldMaskBit28 = C.BITFIELD_MASK_28
1087	CBitFieldMaskBit29 = C.BITFIELD_MASK_29
1088	CBitFieldMaskBit30 = C.BITFIELD_MASK_30
1089	CBitFieldMaskBit31 = C.BITFIELD_MASK_31
1090	CBitFieldMaskBit32 = C.BITFIELD_MASK_32
1091	CBitFieldMaskBit33 = C.BITFIELD_MASK_33
1092	CBitFieldMaskBit34 = C.BITFIELD_MASK_34
1093	CBitFieldMaskBit35 = C.BITFIELD_MASK_35
1094	CBitFieldMaskBit36 = C.BITFIELD_MASK_36
1095	CBitFieldMaskBit37 = C.BITFIELD_MASK_37
1096	CBitFieldMaskBit38 = C.BITFIELD_MASK_38
1097	CBitFieldMaskBit39 = C.BITFIELD_MASK_39
1098	CBitFieldMaskBit40 = C.BITFIELD_MASK_40
1099	CBitFieldMaskBit41 = C.BITFIELD_MASK_41
1100	CBitFieldMaskBit42 = C.BITFIELD_MASK_42
1101	CBitFieldMaskBit43 = C.BITFIELD_MASK_43
1102	CBitFieldMaskBit44 = C.BITFIELD_MASK_44
1103	CBitFieldMaskBit45 = C.BITFIELD_MASK_45
1104	CBitFieldMaskBit46 = C.BITFIELD_MASK_46
1105	CBitFieldMaskBit47 = C.BITFIELD_MASK_47
1106	CBitFieldMaskBit48 = C.BITFIELD_MASK_48
1107	CBitFieldMaskBit49 = C.BITFIELD_MASK_49
1108	CBitFieldMaskBit50 = C.BITFIELD_MASK_50
1109	CBitFieldMaskBit51 = C.BITFIELD_MASK_51
1110	CBitFieldMaskBit52 = C.BITFIELD_MASK_52
1111	CBitFieldMaskBit53 = C.BITFIELD_MASK_53
1112	CBitFieldMaskBit54 = C.BITFIELD_MASK_54
1113	CBitFieldMaskBit55 = C.BITFIELD_MASK_55
1114	CBitFieldMaskBit56 = C.BITFIELD_MASK_56
1115	CBitFieldMaskBit57 = C.BITFIELD_MASK_57
1116	CBitFieldMaskBit58 = C.BITFIELD_MASK_58
1117	CBitFieldMaskBit59 = C.BITFIELD_MASK_59
1118	CBitFieldMaskBit60 = C.BITFIELD_MASK_60
1119	CBitFieldMaskBit61 = C.BITFIELD_MASK_61
1120	CBitFieldMaskBit62 = C.BITFIELD_MASK_62
1121	CBitFieldMaskBit63 = C.BITFIELD_MASK_63
1122)
1123
1124// TCP-MD5 signature.
1125
1126type SockaddrStorage C.struct_sockaddr_storage
1127
1128type TCPMD5Sig C.struct_tcp_md5sig
1129
1130// Disk drive operations.
1131
1132type HDDriveCmdHdr C.struct_hd_drive_cmd_hdr
1133
1134type HDGeometry C.struct_hd_geometry
1135
1136type HDDriveID C.struct_hd_driveid
1137
1138// Statfs
1139
1140type Statfs_t C.struct_statfs
1141
1142const (
1143	ST_MANDLOCK    = C.ST_MANDLOCK
1144	ST_NOATIME     = C.ST_NOATIME
1145	ST_NODEV       = C.ST_NODEV
1146	ST_NODIRATIME  = C.ST_NODIRATIME
1147	ST_NOEXEC      = C.ST_NOEXEC
1148	ST_NOSUID      = C.ST_NOSUID
1149	ST_RDONLY      = C.ST_RDONLY
1150	ST_RELATIME    = C.ST_RELATIME
1151	ST_SYNCHRONOUS = C.ST_SYNCHRONOUS
1152)
1153
1154// TPacket
1155
1156type TpacketHdr C.struct_tpacket_hdr
1157
1158type Tpacket2Hdr C.struct_tpacket2_hdr
1159
1160type Tpacket3Hdr C.struct_tpacket3_hdr
1161
1162type TpacketHdrVariant1 C.struct_tpacket_hdr_variant1
1163
1164type TpacketBlockDesc C.struct_tpacket_block_desc
1165
1166type TpacketBDTS C.struct_tpacket_bd_ts
1167
1168type TpacketHdrV1 C.struct_tpacket_hdr_v1
1169
1170type TpacketReq C.struct_tpacket_req
1171
1172type TpacketReq3 C.struct_tpacket_req3
1173
1174type TpacketStats C.struct_tpacket_stats
1175
1176type TpacketStatsV3 C.struct_tpacket_stats_v3
1177
1178type TpacketAuxdata C.struct_tpacket_auxdata
1179
1180const (
1181	TPACKET_V1 = C.TPACKET_V1
1182	TPACKET_V2 = C.TPACKET_V2
1183	TPACKET_V3 = C.TPACKET_V3
1184)
1185
1186const (
1187	SizeofTpacketHdr  = C.sizeof_struct_tpacket_hdr
1188	SizeofTpacket2Hdr = C.sizeof_struct_tpacket2_hdr
1189	SizeofTpacket3Hdr = C.sizeof_struct_tpacket3_hdr
1190
1191	SizeofTpacketStats   = C.sizeof_struct_tpacket_stats
1192	SizeofTpacketStatsV3 = C.sizeof_struct_tpacket_stats_v3
1193)
1194
1195// netfilter
1196// generated using:
1197// perl -nlE '/^\s*(NF\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter.h
1198const (
1199	NF_INET_PRE_ROUTING  = C.NF_INET_PRE_ROUTING
1200	NF_INET_LOCAL_IN     = C.NF_INET_LOCAL_IN
1201	NF_INET_FORWARD      = C.NF_INET_FORWARD
1202	NF_INET_LOCAL_OUT    = C.NF_INET_LOCAL_OUT
1203	NF_INET_POST_ROUTING = C.NF_INET_POST_ROUTING
1204	NF_INET_NUMHOOKS     = C.NF_INET_NUMHOOKS
1205)
1206
1207const (
1208	NF_NETDEV_INGRESS  = C.NF_NETDEV_INGRESS
1209	NF_NETDEV_NUMHOOKS = C.NF_NETDEV_NUMHOOKS
1210)
1211
1212const (
1213	NFPROTO_UNSPEC   = C.NFPROTO_UNSPEC
1214	NFPROTO_INET     = C.NFPROTO_INET
1215	NFPROTO_IPV4     = C.NFPROTO_IPV4
1216	NFPROTO_ARP      = C.NFPROTO_ARP
1217	NFPROTO_NETDEV   = C.NFPROTO_NETDEV
1218	NFPROTO_BRIDGE   = C.NFPROTO_BRIDGE
1219	NFPROTO_IPV6     = C.NFPROTO_IPV6
1220	NFPROTO_DECNET   = C.NFPROTO_DECNET
1221	NFPROTO_NUMPROTO = C.NFPROTO_NUMPROTO
1222)
1223
1224// netfilter nfnetlink
1225type Nfgenmsg C.struct_nfgenmsg
1226
1227const (
1228	NFNL_BATCH_UNSPEC = C.NFNL_BATCH_UNSPEC
1229	NFNL_BATCH_GENID  = C.NFNL_BATCH_GENID
1230)
1231
1232// netfilter nf_tables
1233// generated using:
1234// perl -nlE '/^\s*(NFT\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter/nf_tables.h
1235const (
1236	NFT_REG_VERDICT                   = C.NFT_REG_VERDICT
1237	NFT_REG_1                         = C.NFT_REG_1
1238	NFT_REG_2                         = C.NFT_REG_2
1239	NFT_REG_3                         = C.NFT_REG_3
1240	NFT_REG_4                         = C.NFT_REG_4
1241	NFT_REG32_00                      = C.NFT_REG32_00
1242	NFT_REG32_01                      = C.NFT_REG32_01
1243	NFT_REG32_02                      = C.NFT_REG32_02
1244	NFT_REG32_03                      = C.NFT_REG32_03
1245	NFT_REG32_04                      = C.NFT_REG32_04
1246	NFT_REG32_05                      = C.NFT_REG32_05
1247	NFT_REG32_06                      = C.NFT_REG32_06
1248	NFT_REG32_07                      = C.NFT_REG32_07
1249	NFT_REG32_08                      = C.NFT_REG32_08
1250	NFT_REG32_09                      = C.NFT_REG32_09
1251	NFT_REG32_10                      = C.NFT_REG32_10
1252	NFT_REG32_11                      = C.NFT_REG32_11
1253	NFT_REG32_12                      = C.NFT_REG32_12
1254	NFT_REG32_13                      = C.NFT_REG32_13
1255	NFT_REG32_14                      = C.NFT_REG32_14
1256	NFT_REG32_15                      = C.NFT_REG32_15
1257	NFT_CONTINUE                      = C.NFT_CONTINUE
1258	NFT_BREAK                         = C.NFT_BREAK
1259	NFT_JUMP                          = C.NFT_JUMP
1260	NFT_GOTO                          = C.NFT_GOTO
1261	NFT_RETURN                        = C.NFT_RETURN
1262	NFT_MSG_NEWTABLE                  = C.NFT_MSG_NEWTABLE
1263	NFT_MSG_GETTABLE                  = C.NFT_MSG_GETTABLE
1264	NFT_MSG_DELTABLE                  = C.NFT_MSG_DELTABLE
1265	NFT_MSG_NEWCHAIN                  = C.NFT_MSG_NEWCHAIN
1266	NFT_MSG_GETCHAIN                  = C.NFT_MSG_GETCHAIN
1267	NFT_MSG_DELCHAIN                  = C.NFT_MSG_DELCHAIN
1268	NFT_MSG_NEWRULE                   = C.NFT_MSG_NEWRULE
1269	NFT_MSG_GETRULE                   = C.NFT_MSG_GETRULE
1270	NFT_MSG_DELRULE                   = C.NFT_MSG_DELRULE
1271	NFT_MSG_NEWSET                    = C.NFT_MSG_NEWSET
1272	NFT_MSG_GETSET                    = C.NFT_MSG_GETSET
1273	NFT_MSG_DELSET                    = C.NFT_MSG_DELSET
1274	NFT_MSG_NEWSETELEM                = C.NFT_MSG_NEWSETELEM
1275	NFT_MSG_GETSETELEM                = C.NFT_MSG_GETSETELEM
1276	NFT_MSG_DELSETELEM                = C.NFT_MSG_DELSETELEM
1277	NFT_MSG_NEWGEN                    = C.NFT_MSG_NEWGEN
1278	NFT_MSG_GETGEN                    = C.NFT_MSG_GETGEN
1279	NFT_MSG_TRACE                     = C.NFT_MSG_TRACE
1280	NFT_MSG_NEWOBJ                    = C.NFT_MSG_NEWOBJ
1281	NFT_MSG_GETOBJ                    = C.NFT_MSG_GETOBJ
1282	NFT_MSG_DELOBJ                    = C.NFT_MSG_DELOBJ
1283	NFT_MSG_GETOBJ_RESET              = C.NFT_MSG_GETOBJ_RESET
1284	NFT_MSG_MAX                       = C.NFT_MSG_MAX
1285	NFTA_LIST_UNPEC                   = C.NFTA_LIST_UNPEC
1286	NFTA_LIST_ELEM                    = C.NFTA_LIST_ELEM
1287	NFTA_HOOK_UNSPEC                  = C.NFTA_HOOK_UNSPEC
1288	NFTA_HOOK_HOOKNUM                 = C.NFTA_HOOK_HOOKNUM
1289	NFTA_HOOK_PRIORITY                = C.NFTA_HOOK_PRIORITY
1290	NFTA_HOOK_DEV                     = C.NFTA_HOOK_DEV
1291	NFT_TABLE_F_DORMANT               = C.NFT_TABLE_F_DORMANT
1292	NFTA_TABLE_UNSPEC                 = C.NFTA_TABLE_UNSPEC
1293	NFTA_TABLE_NAME                   = C.NFTA_TABLE_NAME
1294	NFTA_TABLE_FLAGS                  = C.NFTA_TABLE_FLAGS
1295	NFTA_TABLE_USE                    = C.NFTA_TABLE_USE
1296	NFTA_CHAIN_UNSPEC                 = C.NFTA_CHAIN_UNSPEC
1297	NFTA_CHAIN_TABLE                  = C.NFTA_CHAIN_TABLE
1298	NFTA_CHAIN_HANDLE                 = C.NFTA_CHAIN_HANDLE
1299	NFTA_CHAIN_NAME                   = C.NFTA_CHAIN_NAME
1300	NFTA_CHAIN_HOOK                   = C.NFTA_CHAIN_HOOK
1301	NFTA_CHAIN_POLICY                 = C.NFTA_CHAIN_POLICY
1302	NFTA_CHAIN_USE                    = C.NFTA_CHAIN_USE
1303	NFTA_CHAIN_TYPE                   = C.NFTA_CHAIN_TYPE
1304	NFTA_CHAIN_COUNTERS               = C.NFTA_CHAIN_COUNTERS
1305	NFTA_CHAIN_PAD                    = C.NFTA_CHAIN_PAD
1306	NFTA_RULE_UNSPEC                  = C.NFTA_RULE_UNSPEC
1307	NFTA_RULE_TABLE                   = C.NFTA_RULE_TABLE
1308	NFTA_RULE_CHAIN                   = C.NFTA_RULE_CHAIN
1309	NFTA_RULE_HANDLE                  = C.NFTA_RULE_HANDLE
1310	NFTA_RULE_EXPRESSIONS             = C.NFTA_RULE_EXPRESSIONS
1311	NFTA_RULE_COMPAT                  = C.NFTA_RULE_COMPAT
1312	NFTA_RULE_POSITION                = C.NFTA_RULE_POSITION
1313	NFTA_RULE_USERDATA                = C.NFTA_RULE_USERDATA
1314	NFTA_RULE_PAD                     = C.NFTA_RULE_PAD
1315	NFTA_RULE_ID                      = C.NFTA_RULE_ID
1316	NFT_RULE_COMPAT_F_INV             = C.NFT_RULE_COMPAT_F_INV
1317	NFT_RULE_COMPAT_F_MASK            = C.NFT_RULE_COMPAT_F_MASK
1318	NFTA_RULE_COMPAT_UNSPEC           = C.NFTA_RULE_COMPAT_UNSPEC
1319	NFTA_RULE_COMPAT_PROTO            = C.NFTA_RULE_COMPAT_PROTO
1320	NFTA_RULE_COMPAT_FLAGS            = C.NFTA_RULE_COMPAT_FLAGS
1321	NFT_SET_ANONYMOUS                 = C.NFT_SET_ANONYMOUS
1322	NFT_SET_CONSTANT                  = C.NFT_SET_CONSTANT
1323	NFT_SET_INTERVAL                  = C.NFT_SET_INTERVAL
1324	NFT_SET_MAP                       = C.NFT_SET_MAP
1325	NFT_SET_TIMEOUT                   = C.NFT_SET_TIMEOUT
1326	NFT_SET_EVAL                      = C.NFT_SET_EVAL
1327	NFT_SET_OBJECT                    = C.NFT_SET_OBJECT
1328	NFT_SET_POL_PERFORMANCE           = C.NFT_SET_POL_PERFORMANCE
1329	NFT_SET_POL_MEMORY                = C.NFT_SET_POL_MEMORY
1330	NFTA_SET_DESC_UNSPEC              = C.NFTA_SET_DESC_UNSPEC
1331	NFTA_SET_DESC_SIZE                = C.NFTA_SET_DESC_SIZE
1332	NFTA_SET_UNSPEC                   = C.NFTA_SET_UNSPEC
1333	NFTA_SET_TABLE                    = C.NFTA_SET_TABLE
1334	NFTA_SET_NAME                     = C.NFTA_SET_NAME
1335	NFTA_SET_FLAGS                    = C.NFTA_SET_FLAGS
1336	NFTA_SET_KEY_TYPE                 = C.NFTA_SET_KEY_TYPE
1337	NFTA_SET_KEY_LEN                  = C.NFTA_SET_KEY_LEN
1338	NFTA_SET_DATA_TYPE                = C.NFTA_SET_DATA_TYPE
1339	NFTA_SET_DATA_LEN                 = C.NFTA_SET_DATA_LEN
1340	NFTA_SET_POLICY                   = C.NFTA_SET_POLICY
1341	NFTA_SET_DESC                     = C.NFTA_SET_DESC
1342	NFTA_SET_ID                       = C.NFTA_SET_ID
1343	NFTA_SET_TIMEOUT                  = C.NFTA_SET_TIMEOUT
1344	NFTA_SET_GC_INTERVAL              = C.NFTA_SET_GC_INTERVAL
1345	NFTA_SET_USERDATA                 = C.NFTA_SET_USERDATA
1346	NFTA_SET_PAD                      = C.NFTA_SET_PAD
1347	NFTA_SET_OBJ_TYPE                 = C.NFTA_SET_OBJ_TYPE
1348	NFT_SET_ELEM_INTERVAL_END         = C.NFT_SET_ELEM_INTERVAL_END
1349	NFTA_SET_ELEM_UNSPEC              = C.NFTA_SET_ELEM_UNSPEC
1350	NFTA_SET_ELEM_KEY                 = C.NFTA_SET_ELEM_KEY
1351	NFTA_SET_ELEM_DATA                = C.NFTA_SET_ELEM_DATA
1352	NFTA_SET_ELEM_FLAGS               = C.NFTA_SET_ELEM_FLAGS
1353	NFTA_SET_ELEM_TIMEOUT             = C.NFTA_SET_ELEM_TIMEOUT
1354	NFTA_SET_ELEM_EXPIRATION          = C.NFTA_SET_ELEM_EXPIRATION
1355	NFTA_SET_ELEM_USERDATA            = C.NFTA_SET_ELEM_USERDATA
1356	NFTA_SET_ELEM_EXPR                = C.NFTA_SET_ELEM_EXPR
1357	NFTA_SET_ELEM_PAD                 = C.NFTA_SET_ELEM_PAD
1358	NFTA_SET_ELEM_OBJREF              = C.NFTA_SET_ELEM_OBJREF
1359	NFTA_SET_ELEM_LIST_UNSPEC         = C.NFTA_SET_ELEM_LIST_UNSPEC
1360	NFTA_SET_ELEM_LIST_TABLE          = C.NFTA_SET_ELEM_LIST_TABLE
1361	NFTA_SET_ELEM_LIST_SET            = C.NFTA_SET_ELEM_LIST_SET
1362	NFTA_SET_ELEM_LIST_ELEMENTS       = C.NFTA_SET_ELEM_LIST_ELEMENTS
1363	NFTA_SET_ELEM_LIST_SET_ID         = C.NFTA_SET_ELEM_LIST_SET_ID
1364	NFT_DATA_VALUE                    = C.NFT_DATA_VALUE
1365	NFT_DATA_VERDICT                  = C.NFT_DATA_VERDICT
1366	NFTA_DATA_UNSPEC                  = C.NFTA_DATA_UNSPEC
1367	NFTA_DATA_VALUE                   = C.NFTA_DATA_VALUE
1368	NFTA_DATA_VERDICT                 = C.NFTA_DATA_VERDICT
1369	NFTA_VERDICT_UNSPEC               = C.NFTA_VERDICT_UNSPEC
1370	NFTA_VERDICT_CODE                 = C.NFTA_VERDICT_CODE
1371	NFTA_VERDICT_CHAIN                = C.NFTA_VERDICT_CHAIN
1372	NFTA_EXPR_UNSPEC                  = C.NFTA_EXPR_UNSPEC
1373	NFTA_EXPR_NAME                    = C.NFTA_EXPR_NAME
1374	NFTA_EXPR_DATA                    = C.NFTA_EXPR_DATA
1375	NFTA_IMMEDIATE_UNSPEC             = C.NFTA_IMMEDIATE_UNSPEC
1376	NFTA_IMMEDIATE_DREG               = C.NFTA_IMMEDIATE_DREG
1377	NFTA_IMMEDIATE_DATA               = C.NFTA_IMMEDIATE_DATA
1378	NFTA_BITWISE_UNSPEC               = C.NFTA_BITWISE_UNSPEC
1379	NFTA_BITWISE_SREG                 = C.NFTA_BITWISE_SREG
1380	NFTA_BITWISE_DREG                 = C.NFTA_BITWISE_DREG
1381	NFTA_BITWISE_LEN                  = C.NFTA_BITWISE_LEN
1382	NFTA_BITWISE_MASK                 = C.NFTA_BITWISE_MASK
1383	NFTA_BITWISE_XOR                  = C.NFTA_BITWISE_XOR
1384	NFT_BYTEORDER_NTOH                = C.NFT_BYTEORDER_NTOH
1385	NFT_BYTEORDER_HTON                = C.NFT_BYTEORDER_HTON
1386	NFTA_BYTEORDER_UNSPEC             = C.NFTA_BYTEORDER_UNSPEC
1387	NFTA_BYTEORDER_SREG               = C.NFTA_BYTEORDER_SREG
1388	NFTA_BYTEORDER_DREG               = C.NFTA_BYTEORDER_DREG
1389	NFTA_BYTEORDER_OP                 = C.NFTA_BYTEORDER_OP
1390	NFTA_BYTEORDER_LEN                = C.NFTA_BYTEORDER_LEN
1391	NFTA_BYTEORDER_SIZE               = C.NFTA_BYTEORDER_SIZE
1392	NFT_CMP_EQ                        = C.NFT_CMP_EQ
1393	NFT_CMP_NEQ                       = C.NFT_CMP_NEQ
1394	NFT_CMP_LT                        = C.NFT_CMP_LT
1395	NFT_CMP_LTE                       = C.NFT_CMP_LTE
1396	NFT_CMP_GT                        = C.NFT_CMP_GT
1397	NFT_CMP_GTE                       = C.NFT_CMP_GTE
1398	NFTA_CMP_UNSPEC                   = C.NFTA_CMP_UNSPEC
1399	NFTA_CMP_SREG                     = C.NFTA_CMP_SREG
1400	NFTA_CMP_OP                       = C.NFTA_CMP_OP
1401	NFTA_CMP_DATA                     = C.NFTA_CMP_DATA
1402	NFT_RANGE_EQ                      = C.NFT_RANGE_EQ
1403	NFT_RANGE_NEQ                     = C.NFT_RANGE_NEQ
1404	NFTA_RANGE_UNSPEC                 = C.NFTA_RANGE_UNSPEC
1405	NFTA_RANGE_SREG                   = C.NFTA_RANGE_SREG
1406	NFTA_RANGE_OP                     = C.NFTA_RANGE_OP
1407	NFTA_RANGE_FROM_DATA              = C.NFTA_RANGE_FROM_DATA
1408	NFTA_RANGE_TO_DATA                = C.NFTA_RANGE_TO_DATA
1409	NFT_LOOKUP_F_INV                  = C.NFT_LOOKUP_F_INV
1410	NFTA_LOOKUP_UNSPEC                = C.NFTA_LOOKUP_UNSPEC
1411	NFTA_LOOKUP_SET                   = C.NFTA_LOOKUP_SET
1412	NFTA_LOOKUP_SREG                  = C.NFTA_LOOKUP_SREG
1413	NFTA_LOOKUP_DREG                  = C.NFTA_LOOKUP_DREG
1414	NFTA_LOOKUP_SET_ID                = C.NFTA_LOOKUP_SET_ID
1415	NFTA_LOOKUP_FLAGS                 = C.NFTA_LOOKUP_FLAGS
1416	NFT_DYNSET_OP_ADD                 = C.NFT_DYNSET_OP_ADD
1417	NFT_DYNSET_OP_UPDATE              = C.NFT_DYNSET_OP_UPDATE
1418	NFT_DYNSET_F_INV                  = C.NFT_DYNSET_F_INV
1419	NFTA_DYNSET_UNSPEC                = C.NFTA_DYNSET_UNSPEC
1420	NFTA_DYNSET_SET_NAME              = C.NFTA_DYNSET_SET_NAME
1421	NFTA_DYNSET_SET_ID                = C.NFTA_DYNSET_SET_ID
1422	NFTA_DYNSET_OP                    = C.NFTA_DYNSET_OP
1423	NFTA_DYNSET_SREG_KEY              = C.NFTA_DYNSET_SREG_KEY
1424	NFTA_DYNSET_SREG_DATA             = C.NFTA_DYNSET_SREG_DATA
1425	NFTA_DYNSET_TIMEOUT               = C.NFTA_DYNSET_TIMEOUT
1426	NFTA_DYNSET_EXPR                  = C.NFTA_DYNSET_EXPR
1427	NFTA_DYNSET_PAD                   = C.NFTA_DYNSET_PAD
1428	NFTA_DYNSET_FLAGS                 = C.NFTA_DYNSET_FLAGS
1429	NFT_PAYLOAD_LL_HEADER             = C.NFT_PAYLOAD_LL_HEADER
1430	NFT_PAYLOAD_NETWORK_HEADER        = C.NFT_PAYLOAD_NETWORK_HEADER
1431	NFT_PAYLOAD_TRANSPORT_HEADER      = C.NFT_PAYLOAD_TRANSPORT_HEADER
1432	NFT_PAYLOAD_CSUM_NONE             = C.NFT_PAYLOAD_CSUM_NONE
1433	NFT_PAYLOAD_CSUM_INET             = C.NFT_PAYLOAD_CSUM_INET
1434	NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = C.NFT_PAYLOAD_L4CSUM_PSEUDOHDR
1435	NFTA_PAYLOAD_UNSPEC               = C.NFTA_PAYLOAD_UNSPEC
1436	NFTA_PAYLOAD_DREG                 = C.NFTA_PAYLOAD_DREG
1437	NFTA_PAYLOAD_BASE                 = C.NFTA_PAYLOAD_BASE
1438	NFTA_PAYLOAD_OFFSET               = C.NFTA_PAYLOAD_OFFSET
1439	NFTA_PAYLOAD_LEN                  = C.NFTA_PAYLOAD_LEN
1440	NFTA_PAYLOAD_SREG                 = C.NFTA_PAYLOAD_SREG
1441	NFTA_PAYLOAD_CSUM_TYPE            = C.NFTA_PAYLOAD_CSUM_TYPE
1442	NFTA_PAYLOAD_CSUM_OFFSET          = C.NFTA_PAYLOAD_CSUM_OFFSET
1443	NFTA_PAYLOAD_CSUM_FLAGS           = C.NFTA_PAYLOAD_CSUM_FLAGS
1444	NFT_EXTHDR_F_PRESENT              = C.NFT_EXTHDR_F_PRESENT
1445	NFT_EXTHDR_OP_IPV6                = C.NFT_EXTHDR_OP_IPV6
1446	NFT_EXTHDR_OP_TCPOPT              = C.NFT_EXTHDR_OP_TCPOPT
1447	NFTA_EXTHDR_UNSPEC                = C.NFTA_EXTHDR_UNSPEC
1448	NFTA_EXTHDR_DREG                  = C.NFTA_EXTHDR_DREG
1449	NFTA_EXTHDR_TYPE                  = C.NFTA_EXTHDR_TYPE
1450	NFTA_EXTHDR_OFFSET                = C.NFTA_EXTHDR_OFFSET
1451	NFTA_EXTHDR_LEN                   = C.NFTA_EXTHDR_LEN
1452	NFTA_EXTHDR_FLAGS                 = C.NFTA_EXTHDR_FLAGS
1453	NFTA_EXTHDR_OP                    = C.NFTA_EXTHDR_OP
1454	NFTA_EXTHDR_SREG                  = C.NFTA_EXTHDR_SREG
1455	NFT_META_LEN                      = C.NFT_META_LEN
1456	NFT_META_PROTOCOL                 = C.NFT_META_PROTOCOL
1457	NFT_META_PRIORITY                 = C.NFT_META_PRIORITY
1458	NFT_META_MARK                     = C.NFT_META_MARK
1459	NFT_META_IIF                      = C.NFT_META_IIF
1460	NFT_META_OIF                      = C.NFT_META_OIF
1461	NFT_META_IIFNAME                  = C.NFT_META_IIFNAME
1462	NFT_META_OIFNAME                  = C.NFT_META_OIFNAME
1463	NFT_META_IIFTYPE                  = C.NFT_META_IIFTYPE
1464	NFT_META_OIFTYPE                  = C.NFT_META_OIFTYPE
1465	NFT_META_SKUID                    = C.NFT_META_SKUID
1466	NFT_META_SKGID                    = C.NFT_META_SKGID
1467	NFT_META_NFTRACE                  = C.NFT_META_NFTRACE
1468	NFT_META_RTCLASSID                = C.NFT_META_RTCLASSID
1469	NFT_META_SECMARK                  = C.NFT_META_SECMARK
1470	NFT_META_NFPROTO                  = C.NFT_META_NFPROTO
1471	NFT_META_L4PROTO                  = C.NFT_META_L4PROTO
1472	NFT_META_BRI_IIFNAME              = C.NFT_META_BRI_IIFNAME
1473	NFT_META_BRI_OIFNAME              = C.NFT_META_BRI_OIFNAME
1474	NFT_META_PKTTYPE                  = C.NFT_META_PKTTYPE
1475	NFT_META_CPU                      = C.NFT_META_CPU
1476	NFT_META_IIFGROUP                 = C.NFT_META_IIFGROUP
1477	NFT_META_OIFGROUP                 = C.NFT_META_OIFGROUP
1478	NFT_META_CGROUP                   = C.NFT_META_CGROUP
1479	NFT_META_PRANDOM                  = C.NFT_META_PRANDOM
1480	NFT_RT_CLASSID                    = C.NFT_RT_CLASSID
1481	NFT_RT_NEXTHOP4                   = C.NFT_RT_NEXTHOP4
1482	NFT_RT_NEXTHOP6                   = C.NFT_RT_NEXTHOP6
1483	NFT_RT_TCPMSS                     = C.NFT_RT_TCPMSS
1484	NFT_HASH_JENKINS                  = C.NFT_HASH_JENKINS
1485	NFT_HASH_SYM                      = C.NFT_HASH_SYM
1486	NFTA_HASH_UNSPEC                  = C.NFTA_HASH_UNSPEC
1487	NFTA_HASH_SREG                    = C.NFTA_HASH_SREG
1488	NFTA_HASH_DREG                    = C.NFTA_HASH_DREG
1489	NFTA_HASH_LEN                     = C.NFTA_HASH_LEN
1490	NFTA_HASH_MODULUS                 = C.NFTA_HASH_MODULUS
1491	NFTA_HASH_SEED                    = C.NFTA_HASH_SEED
1492	NFTA_HASH_OFFSET                  = C.NFTA_HASH_OFFSET
1493	NFTA_HASH_TYPE                    = C.NFTA_HASH_TYPE
1494	NFTA_META_UNSPEC                  = C.NFTA_META_UNSPEC
1495	NFTA_META_DREG                    = C.NFTA_META_DREG
1496	NFTA_META_KEY                     = C.NFTA_META_KEY
1497	NFTA_META_SREG                    = C.NFTA_META_SREG
1498	NFTA_RT_UNSPEC                    = C.NFTA_RT_UNSPEC
1499	NFTA_RT_DREG                      = C.NFTA_RT_DREG
1500	NFTA_RT_KEY                       = C.NFTA_RT_KEY
1501	NFT_CT_STATE                      = C.NFT_CT_STATE
1502	NFT_CT_DIRECTION                  = C.NFT_CT_DIRECTION
1503	NFT_CT_STATUS                     = C.NFT_CT_STATUS
1504	NFT_CT_MARK                       = C.NFT_CT_MARK
1505	NFT_CT_SECMARK                    = C.NFT_CT_SECMARK
1506	NFT_CT_EXPIRATION                 = C.NFT_CT_EXPIRATION
1507	NFT_CT_HELPER                     = C.NFT_CT_HELPER
1508	NFT_CT_L3PROTOCOL                 = C.NFT_CT_L3PROTOCOL
1509	NFT_CT_SRC                        = C.NFT_CT_SRC
1510	NFT_CT_DST                        = C.NFT_CT_DST
1511	NFT_CT_PROTOCOL                   = C.NFT_CT_PROTOCOL
1512	NFT_CT_PROTO_SRC                  = C.NFT_CT_PROTO_SRC
1513	NFT_CT_PROTO_DST                  = C.NFT_CT_PROTO_DST
1514	NFT_CT_LABELS                     = C.NFT_CT_LABELS
1515	NFT_CT_PKTS                       = C.NFT_CT_PKTS
1516	NFT_CT_BYTES                      = C.NFT_CT_BYTES
1517	NFT_CT_AVGPKT                     = C.NFT_CT_AVGPKT
1518	NFT_CT_ZONE                       = C.NFT_CT_ZONE
1519	NFT_CT_EVENTMASK                  = C.NFT_CT_EVENTMASK
1520	NFTA_CT_UNSPEC                    = C.NFTA_CT_UNSPEC
1521	NFTA_CT_DREG                      = C.NFTA_CT_DREG
1522	NFTA_CT_KEY                       = C.NFTA_CT_KEY
1523	NFTA_CT_DIRECTION                 = C.NFTA_CT_DIRECTION
1524	NFTA_CT_SREG                      = C.NFTA_CT_SREG
1525	NFT_LIMIT_PKTS                    = C.NFT_LIMIT_PKTS
1526	NFT_LIMIT_PKT_BYTES               = C.NFT_LIMIT_PKT_BYTES
1527	NFT_LIMIT_F_INV                   = C.NFT_LIMIT_F_INV
1528	NFTA_LIMIT_UNSPEC                 = C.NFTA_LIMIT_UNSPEC
1529	NFTA_LIMIT_RATE                   = C.NFTA_LIMIT_RATE
1530	NFTA_LIMIT_UNIT                   = C.NFTA_LIMIT_UNIT
1531	NFTA_LIMIT_BURST                  = C.NFTA_LIMIT_BURST
1532	NFTA_LIMIT_TYPE                   = C.NFTA_LIMIT_TYPE
1533	NFTA_LIMIT_FLAGS                  = C.NFTA_LIMIT_FLAGS
1534	NFTA_LIMIT_PAD                    = C.NFTA_LIMIT_PAD
1535	NFTA_COUNTER_UNSPEC               = C.NFTA_COUNTER_UNSPEC
1536	NFTA_COUNTER_BYTES                = C.NFTA_COUNTER_BYTES
1537	NFTA_COUNTER_PACKETS              = C.NFTA_COUNTER_PACKETS
1538	NFTA_COUNTER_PAD                  = C.NFTA_COUNTER_PAD
1539	NFTA_LOG_UNSPEC                   = C.NFTA_LOG_UNSPEC
1540	NFTA_LOG_GROUP                    = C.NFTA_LOG_GROUP
1541	NFTA_LOG_PREFIX                   = C.NFTA_LOG_PREFIX
1542	NFTA_LOG_SNAPLEN                  = C.NFTA_LOG_SNAPLEN
1543	NFTA_LOG_QTHRESHOLD               = C.NFTA_LOG_QTHRESHOLD
1544	NFTA_LOG_LEVEL                    = C.NFTA_LOG_LEVEL
1545	NFTA_LOG_FLAGS                    = C.NFTA_LOG_FLAGS
1546	NFTA_QUEUE_UNSPEC                 = C.NFTA_QUEUE_UNSPEC
1547	NFTA_QUEUE_NUM                    = C.NFTA_QUEUE_NUM
1548	NFTA_QUEUE_TOTAL                  = C.NFTA_QUEUE_TOTAL
1549	NFTA_QUEUE_FLAGS                  = C.NFTA_QUEUE_FLAGS
1550	NFTA_QUEUE_SREG_QNUM              = C.NFTA_QUEUE_SREG_QNUM
1551	NFT_QUOTA_F_INV                   = C.NFT_QUOTA_F_INV
1552	NFT_QUOTA_F_DEPLETED              = C.NFT_QUOTA_F_DEPLETED
1553	NFTA_QUOTA_UNSPEC                 = C.NFTA_QUOTA_UNSPEC
1554	NFTA_QUOTA_BYTES                  = C.NFTA_QUOTA_BYTES
1555	NFTA_QUOTA_FLAGS                  = C.NFTA_QUOTA_FLAGS
1556	NFTA_QUOTA_PAD                    = C.NFTA_QUOTA_PAD
1557	NFTA_QUOTA_CONSUMED               = C.NFTA_QUOTA_CONSUMED
1558	NFT_REJECT_ICMP_UNREACH           = C.NFT_REJECT_ICMP_UNREACH
1559	NFT_REJECT_TCP_RST                = C.NFT_REJECT_TCP_RST
1560	NFT_REJECT_ICMPX_UNREACH          = C.NFT_REJECT_ICMPX_UNREACH
1561	NFT_REJECT_ICMPX_NO_ROUTE         = C.NFT_REJECT_ICMPX_NO_ROUTE
1562	NFT_REJECT_ICMPX_PORT_UNREACH     = C.NFT_REJECT_ICMPX_PORT_UNREACH
1563	NFT_REJECT_ICMPX_HOST_UNREACH     = C.NFT_REJECT_ICMPX_HOST_UNREACH
1564	NFT_REJECT_ICMPX_ADMIN_PROHIBITED = C.NFT_REJECT_ICMPX_ADMIN_PROHIBITED
1565	NFTA_REJECT_UNSPEC                = C.NFTA_REJECT_UNSPEC
1566	NFTA_REJECT_TYPE                  = C.NFTA_REJECT_TYPE
1567	NFTA_REJECT_ICMP_CODE             = C.NFTA_REJECT_ICMP_CODE
1568	NFT_NAT_SNAT                      = C.NFT_NAT_SNAT
1569	NFT_NAT_DNAT                      = C.NFT_NAT_DNAT
1570	NFTA_NAT_UNSPEC                   = C.NFTA_NAT_UNSPEC
1571	NFTA_NAT_TYPE                     = C.NFTA_NAT_TYPE
1572	NFTA_NAT_FAMILY                   = C.NFTA_NAT_FAMILY
1573	NFTA_NAT_REG_ADDR_MIN             = C.NFTA_NAT_REG_ADDR_MIN
1574	NFTA_NAT_REG_ADDR_MAX             = C.NFTA_NAT_REG_ADDR_MAX
1575	NFTA_NAT_REG_PROTO_MIN            = C.NFTA_NAT_REG_PROTO_MIN
1576	NFTA_NAT_REG_PROTO_MAX            = C.NFTA_NAT_REG_PROTO_MAX
1577	NFTA_NAT_FLAGS                    = C.NFTA_NAT_FLAGS
1578	NFTA_MASQ_UNSPEC                  = C.NFTA_MASQ_UNSPEC
1579	NFTA_MASQ_FLAGS                   = C.NFTA_MASQ_FLAGS
1580	NFTA_MASQ_REG_PROTO_MIN           = C.NFTA_MASQ_REG_PROTO_MIN
1581	NFTA_MASQ_REG_PROTO_MAX           = C.NFTA_MASQ_REG_PROTO_MAX
1582	NFTA_REDIR_UNSPEC                 = C.NFTA_REDIR_UNSPEC
1583	NFTA_REDIR_REG_PROTO_MIN          = C.NFTA_REDIR_REG_PROTO_MIN
1584	NFTA_REDIR_REG_PROTO_MAX          = C.NFTA_REDIR_REG_PROTO_MAX
1585	NFTA_REDIR_FLAGS                  = C.NFTA_REDIR_FLAGS
1586	NFTA_DUP_UNSPEC                   = C.NFTA_DUP_UNSPEC
1587	NFTA_DUP_SREG_ADDR                = C.NFTA_DUP_SREG_ADDR
1588	NFTA_DUP_SREG_DEV                 = C.NFTA_DUP_SREG_DEV
1589	NFTA_FWD_UNSPEC                   = C.NFTA_FWD_UNSPEC
1590	NFTA_FWD_SREG_DEV                 = C.NFTA_FWD_SREG_DEV
1591	NFTA_OBJREF_UNSPEC                = C.NFTA_OBJREF_UNSPEC
1592	NFTA_OBJREF_IMM_TYPE              = C.NFTA_OBJREF_IMM_TYPE
1593	NFTA_OBJREF_IMM_NAME              = C.NFTA_OBJREF_IMM_NAME
1594	NFTA_OBJREF_SET_SREG              = C.NFTA_OBJREF_SET_SREG
1595	NFTA_OBJREF_SET_NAME              = C.NFTA_OBJREF_SET_NAME
1596	NFTA_OBJREF_SET_ID                = C.NFTA_OBJREF_SET_ID
1597	NFTA_GEN_UNSPEC                   = C.NFTA_GEN_UNSPEC
1598	NFTA_GEN_ID                       = C.NFTA_GEN_ID
1599	NFTA_GEN_PROC_PID                 = C.NFTA_GEN_PROC_PID
1600	NFTA_GEN_PROC_NAME                = C.NFTA_GEN_PROC_NAME
1601	NFTA_FIB_UNSPEC                   = C.NFTA_FIB_UNSPEC
1602	NFTA_FIB_DREG                     = C.NFTA_FIB_DREG
1603	NFTA_FIB_RESULT                   = C.NFTA_FIB_RESULT
1604	NFTA_FIB_FLAGS                    = C.NFTA_FIB_FLAGS
1605	NFT_FIB_RESULT_UNSPEC             = C.NFT_FIB_RESULT_UNSPEC
1606	NFT_FIB_RESULT_OIF                = C.NFT_FIB_RESULT_OIF
1607	NFT_FIB_RESULT_OIFNAME            = C.NFT_FIB_RESULT_OIFNAME
1608	NFT_FIB_RESULT_ADDRTYPE           = C.NFT_FIB_RESULT_ADDRTYPE
1609	NFTA_FIB_F_SADDR                  = C.NFTA_FIB_F_SADDR
1610	NFTA_FIB_F_DADDR                  = C.NFTA_FIB_F_DADDR
1611	NFTA_FIB_F_MARK                   = C.NFTA_FIB_F_MARK
1612	NFTA_FIB_F_IIF                    = C.NFTA_FIB_F_IIF
1613	NFTA_FIB_F_OIF                    = C.NFTA_FIB_F_OIF
1614	NFTA_FIB_F_PRESENT                = C.NFTA_FIB_F_PRESENT
1615	NFTA_CT_HELPER_UNSPEC             = C.NFTA_CT_HELPER_UNSPEC
1616	NFTA_CT_HELPER_NAME               = C.NFTA_CT_HELPER_NAME
1617	NFTA_CT_HELPER_L3PROTO            = C.NFTA_CT_HELPER_L3PROTO
1618	NFTA_CT_HELPER_L4PROTO            = C.NFTA_CT_HELPER_L4PROTO
1619	NFTA_OBJ_UNSPEC                   = C.NFTA_OBJ_UNSPEC
1620	NFTA_OBJ_TABLE                    = C.NFTA_OBJ_TABLE
1621	NFTA_OBJ_NAME                     = C.NFTA_OBJ_NAME
1622	NFTA_OBJ_TYPE                     = C.NFTA_OBJ_TYPE
1623	NFTA_OBJ_DATA                     = C.NFTA_OBJ_DATA
1624	NFTA_OBJ_USE                      = C.NFTA_OBJ_USE
1625	NFTA_TRACE_UNSPEC                 = C.NFTA_TRACE_UNSPEC
1626	NFTA_TRACE_TABLE                  = C.NFTA_TRACE_TABLE
1627	NFTA_TRACE_CHAIN                  = C.NFTA_TRACE_CHAIN
1628	NFTA_TRACE_RULE_HANDLE            = C.NFTA_TRACE_RULE_HANDLE
1629	NFTA_TRACE_TYPE                   = C.NFTA_TRACE_TYPE
1630	NFTA_TRACE_VERDICT                = C.NFTA_TRACE_VERDICT
1631	NFTA_TRACE_ID                     = C.NFTA_TRACE_ID
1632	NFTA_TRACE_LL_HEADER              = C.NFTA_TRACE_LL_HEADER
1633	NFTA_TRACE_NETWORK_HEADER         = C.NFTA_TRACE_NETWORK_HEADER
1634	NFTA_TRACE_TRANSPORT_HEADER       = C.NFTA_TRACE_TRANSPORT_HEADER
1635	NFTA_TRACE_IIF                    = C.NFTA_TRACE_IIF
1636	NFTA_TRACE_IIFTYPE                = C.NFTA_TRACE_IIFTYPE
1637	NFTA_TRACE_OIF                    = C.NFTA_TRACE_OIF
1638	NFTA_TRACE_OIFTYPE                = C.NFTA_TRACE_OIFTYPE
1639	NFTA_TRACE_MARK                   = C.NFTA_TRACE_MARK
1640	NFTA_TRACE_NFPROTO                = C.NFTA_TRACE_NFPROTO
1641	NFTA_TRACE_POLICY                 = C.NFTA_TRACE_POLICY
1642	NFTA_TRACE_PAD                    = C.NFTA_TRACE_PAD
1643	NFT_TRACETYPE_UNSPEC              = C.NFT_TRACETYPE_UNSPEC
1644	NFT_TRACETYPE_POLICY              = C.NFT_TRACETYPE_POLICY
1645	NFT_TRACETYPE_RETURN              = C.NFT_TRACETYPE_RETURN
1646	NFT_TRACETYPE_RULE                = C.NFT_TRACETYPE_RULE
1647	NFTA_NG_UNSPEC                    = C.NFTA_NG_UNSPEC
1648	NFTA_NG_DREG                      = C.NFTA_NG_DREG
1649	NFTA_NG_MODULUS                   = C.NFTA_NG_MODULUS
1650	NFTA_NG_TYPE                      = C.NFTA_NG_TYPE
1651	NFTA_NG_OFFSET                    = C.NFTA_NG_OFFSET
1652	NFT_NG_INCREMENTAL                = C.NFT_NG_INCREMENTAL
1653	NFT_NG_RANDOM                     = C.NFT_NG_RANDOM
1654)
1655
1656type RTCTime C.struct_rtc_time
1657
1658type RTCWkAlrm C.struct_rtc_wkalrm
1659
1660type RTCPLLInfo C.struct_rtc_pll_info
1661
1662// BLKPG ioctl:
1663
1664type BlkpgIoctlArg C.struct_blkpg_ioctl_arg
1665
1666type BlkpgPartition C.struct_my_blkpg_partition
1667
1668const (
1669	BLKPG                  = C.BLKPG
1670	BLKPG_ADD_PARTITION    = C.BLKPG_ADD_PARTITION
1671	BLKPG_DEL_PARTITION    = C.BLKPG_DEL_PARTITION
1672	BLKPG_RESIZE_PARTITION = C.BLKPG_RESIZE_PARTITION
1673)
1674
1675// netlink namespace
1676// generated from
1677// perl -nlE '/^\s*(NETNSA\w+)/ && say "$1 = C.$1"' /usr/include/linux/net_namespace.h
1678const (
1679	NETNSA_NONE = C.NETNSA_NONE
1680	NETNSA_NSID = C.NETNSA_NSID
1681	NETNSA_PID  = C.NETNSA_PID
1682	NETNSA_FD   = C.NETNSA_FD
1683)
1684
1685// AF_XDP:
1686
1687type XDPRingOffset C.struct_xdp_ring_offset
1688
1689type XDPMmapOffsets C.struct_xdp_mmap_offsets
1690
1691type XDPUmemReg C.struct_xdp_umem_reg
1692
1693type XDPStatistics C.struct_xdp_statistics
1694
1695type XDPDesc C.struct_xdp_desc
1696
1697// NCSI generic netlink:
1698
1699const (
1700	NCSI_CMD_UNSPEC                 = C.NCSI_CMD_UNSPEC
1701	NCSI_CMD_PKG_INFO               = C.NCSI_CMD_PKG_INFO
1702	NCSI_CMD_SET_INTERFACE          = C.NCSI_CMD_SET_INTERFACE
1703	NCSI_CMD_CLEAR_INTERFACE        = C.NCSI_CMD_CLEAR_INTERFACE
1704	NCSI_ATTR_UNSPEC                = C.NCSI_ATTR_UNSPEC
1705	NCSI_ATTR_IFINDEX               = C.NCSI_ATTR_IFINDEX
1706	NCSI_ATTR_PACKAGE_LIST          = C.NCSI_ATTR_PACKAGE_LIST
1707	NCSI_ATTR_PACKAGE_ID            = C.NCSI_ATTR_PACKAGE_ID
1708	NCSI_ATTR_CHANNEL_ID            = C.NCSI_ATTR_CHANNEL_ID
1709	NCSI_PKG_ATTR_UNSPEC            = C.NCSI_PKG_ATTR_UNSPEC
1710	NCSI_PKG_ATTR                   = C.NCSI_PKG_ATTR
1711	NCSI_PKG_ATTR_ID                = C.NCSI_PKG_ATTR_ID
1712	NCSI_PKG_ATTR_FORCED            = C.NCSI_PKG_ATTR_FORCED
1713	NCSI_PKG_ATTR_CHANNEL_LIST      = C.NCSI_PKG_ATTR_CHANNEL_LIST
1714	NCSI_CHANNEL_ATTR_UNSPEC        = C.NCSI_CHANNEL_ATTR_UNSPEC
1715	NCSI_CHANNEL_ATTR               = C.NCSI_CHANNEL_ATTR
1716	NCSI_CHANNEL_ATTR_ID            = C.NCSI_CHANNEL_ATTR_ID
1717	NCSI_CHANNEL_ATTR_VERSION_MAJOR = C.NCSI_CHANNEL_ATTR_VERSION_MAJOR
1718	NCSI_CHANNEL_ATTR_VERSION_MINOR = C.NCSI_CHANNEL_ATTR_VERSION_MINOR
1719	NCSI_CHANNEL_ATTR_VERSION_STR   = C.NCSI_CHANNEL_ATTR_VERSION_STR
1720	NCSI_CHANNEL_ATTR_LINK_STATE    = C.NCSI_CHANNEL_ATTR_LINK_STATE
1721	NCSI_CHANNEL_ATTR_ACTIVE        = C.NCSI_CHANNEL_ATTR_ACTIVE
1722	NCSI_CHANNEL_ATTR_FORCED        = C.NCSI_CHANNEL_ATTR_FORCED
1723	NCSI_CHANNEL_ATTR_VLAN_LIST     = C.NCSI_CHANNEL_ATTR_VLAN_LIST
1724	NCSI_CHANNEL_ATTR_VLAN_ID       = C.NCSI_CHANNEL_ATTR_VLAN_ID
1725)
1726
1727// Timestamping
1728
1729type ScmTimestamping C.struct_scm_timestamping
1730
1731const (
1732	SOF_TIMESTAMPING_TX_HARDWARE  = C.SOF_TIMESTAMPING_TX_HARDWARE
1733	SOF_TIMESTAMPING_TX_SOFTWARE  = C.SOF_TIMESTAMPING_TX_SOFTWARE
1734	SOF_TIMESTAMPING_RX_HARDWARE  = C.SOF_TIMESTAMPING_RX_HARDWARE
1735	SOF_TIMESTAMPING_RX_SOFTWARE  = C.SOF_TIMESTAMPING_RX_SOFTWARE
1736	SOF_TIMESTAMPING_SOFTWARE     = C.SOF_TIMESTAMPING_SOFTWARE
1737	SOF_TIMESTAMPING_SYS_HARDWARE = C.SOF_TIMESTAMPING_SYS_HARDWARE
1738	SOF_TIMESTAMPING_RAW_HARDWARE = C.SOF_TIMESTAMPING_RAW_HARDWARE
1739	SOF_TIMESTAMPING_OPT_ID       = C.SOF_TIMESTAMPING_OPT_ID
1740	SOF_TIMESTAMPING_TX_SCHED     = C.SOF_TIMESTAMPING_TX_SCHED
1741	SOF_TIMESTAMPING_TX_ACK       = C.SOF_TIMESTAMPING_TX_ACK
1742	SOF_TIMESTAMPING_OPT_CMSG     = C.SOF_TIMESTAMPING_OPT_CMSG
1743	SOF_TIMESTAMPING_OPT_TSONLY   = C.SOF_TIMESTAMPING_OPT_TSONLY
1744	SOF_TIMESTAMPING_OPT_STATS    = C.SOF_TIMESTAMPING_OPT_STATS
1745	SOF_TIMESTAMPING_OPT_PKTINFO  = C.SOF_TIMESTAMPING_OPT_PKTINFO
1746	SOF_TIMESTAMPING_OPT_TX_SWHW  = C.SOF_TIMESTAMPING_OPT_TX_SWHW
1747
1748	SOF_TIMESTAMPING_LAST = C.SOF_TIMESTAMPING_LAST
1749	SOF_TIMESTAMPING_MASK = C.SOF_TIMESTAMPING_MASK
1750
1751	SCM_TSTAMP_SND   = C.SCM_TSTAMP_SND
1752	SCM_TSTAMP_SCHED = C.SCM_TSTAMP_SCHED
1753	SCM_TSTAMP_ACK   = C.SCM_TSTAMP_ACK
1754)
1755
1756// Socket error queue
1757
1758type SockExtendedErr C.struct_sock_extended_err
1759
1760// Fanotify
1761
1762type FanotifyEventMetadata C.struct_fanotify_event_metadata
1763
1764type FanotifyResponse C.struct_fanotify_response
1765
1766// Crypto user configuration API.
1767
1768const (
1769	CRYPTO_MSG_BASE      = C.CRYPTO_MSG_BASE
1770	CRYPTO_MSG_NEWALG    = C.CRYPTO_MSG_NEWALG
1771	CRYPTO_MSG_DELALG    = C.CRYPTO_MSG_DELALG
1772	CRYPTO_MSG_UPDATEALG = C.CRYPTO_MSG_UPDATEALG
1773	CRYPTO_MSG_GETALG    = C.CRYPTO_MSG_GETALG
1774	CRYPTO_MSG_DELRNG    = C.CRYPTO_MSG_DELRNG
1775	CRYPTO_MSG_GETSTAT   = C.CRYPTO_MSG_GETSTAT
1776)
1777
1778const (
1779	CRYPTOCFGA_UNSPEC           = C.CRYPTOCFGA_UNSPEC
1780	CRYPTOCFGA_PRIORITY_VAL     = C.CRYPTOCFGA_PRIORITY_VAL
1781	CRYPTOCFGA_REPORT_LARVAL    = C.CRYPTOCFGA_REPORT_LARVAL
1782	CRYPTOCFGA_REPORT_HASH      = C.CRYPTOCFGA_REPORT_HASH
1783	CRYPTOCFGA_REPORT_BLKCIPHER = C.CRYPTOCFGA_REPORT_BLKCIPHER
1784	CRYPTOCFGA_REPORT_AEAD      = C.CRYPTOCFGA_REPORT_AEAD
1785	CRYPTOCFGA_REPORT_COMPRESS  = C.CRYPTOCFGA_REPORT_COMPRESS
1786	CRYPTOCFGA_REPORT_RNG       = C.CRYPTOCFGA_REPORT_RNG
1787	CRYPTOCFGA_REPORT_CIPHER    = C.CRYPTOCFGA_REPORT_CIPHER
1788	CRYPTOCFGA_REPORT_AKCIPHER  = C.CRYPTOCFGA_REPORT_AKCIPHER
1789	CRYPTOCFGA_REPORT_KPP       = C.CRYPTOCFGA_REPORT_KPP
1790	CRYPTOCFGA_REPORT_ACOMP     = C.CRYPTOCFGA_REPORT_ACOMP
1791	CRYPTOCFGA_STAT_LARVAL      = C.CRYPTOCFGA_STAT_LARVAL
1792	CRYPTOCFGA_STAT_HASH        = C.CRYPTOCFGA_STAT_HASH
1793	CRYPTOCFGA_STAT_BLKCIPHER   = C.CRYPTOCFGA_STAT_BLKCIPHER
1794	CRYPTOCFGA_STAT_AEAD        = C.CRYPTOCFGA_STAT_AEAD
1795	CRYPTOCFGA_STAT_COMPRESS    = C.CRYPTOCFGA_STAT_COMPRESS
1796	CRYPTOCFGA_STAT_RNG         = C.CRYPTOCFGA_STAT_RNG
1797	CRYPTOCFGA_STAT_CIPHER      = C.CRYPTOCFGA_STAT_CIPHER
1798	CRYPTOCFGA_STAT_AKCIPHER    = C.CRYPTOCFGA_STAT_AKCIPHER
1799	CRYPTOCFGA_STAT_KPP         = C.CRYPTOCFGA_STAT_KPP
1800	CRYPTOCFGA_STAT_ACOMP       = C.CRYPTOCFGA_STAT_ACOMP
1801)
1802
1803type CryptoUserAlg C.struct_crypto_user_alg
1804
1805type CryptoStatAEAD C.struct_crypto_stat_aead
1806
1807type CryptoStatAKCipher C.struct_crypto_stat_akcipher
1808
1809type CryptoStatCipher C.struct_crypto_stat_cipher
1810
1811type CryptoStatCompress C.struct_crypto_stat_compress
1812
1813type CryptoStatHash C.struct_crypto_stat_hash
1814
1815type CryptoStatKPP C.struct_crypto_stat_kpp
1816
1817type CryptoStatRNG C.struct_crypto_stat_rng
1818
1819type CryptoStatLarval C.struct_crypto_stat_larval
1820
1821type CryptoReportLarval C.struct_crypto_report_larval
1822
1823type CryptoReportHash C.struct_crypto_report_hash
1824
1825type CryptoReportCipher C.struct_crypto_report_cipher
1826
1827type CryptoReportBlkCipher C.struct_crypto_report_blkcipher
1828
1829type CryptoReportAEAD C.struct_crypto_report_aead
1830
1831type CryptoReportComp C.struct_crypto_report_comp
1832
1833type CryptoReportRNG C.struct_crypto_report_rng
1834
1835type CryptoReportAKCipher C.struct_crypto_report_akcipher
1836
1837type CryptoReportKPP C.struct_crypto_report_kpp
1838
1839type CryptoReportAcomp C.struct_crypto_report_acomp
1840
1841// generated by:
1842// perl -nlE '/^\s*(BPF_\w+)/ && say "$1 = C.$1"' include/uapi/linux/bpf.h
1843const (
1844	BPF_REG_0                           = C.BPF_REG_0
1845	BPF_REG_1                           = C.BPF_REG_1
1846	BPF_REG_2                           = C.BPF_REG_2
1847	BPF_REG_3                           = C.BPF_REG_3
1848	BPF_REG_4                           = C.BPF_REG_4
1849	BPF_REG_5                           = C.BPF_REG_5
1850	BPF_REG_6                           = C.BPF_REG_6
1851	BPF_REG_7                           = C.BPF_REG_7
1852	BPF_REG_8                           = C.BPF_REG_8
1853	BPF_REG_9                           = C.BPF_REG_9
1854	BPF_REG_10                          = C.BPF_REG_10
1855	BPF_MAP_CREATE                      = C.BPF_MAP_CREATE
1856	BPF_MAP_LOOKUP_ELEM                 = C.BPF_MAP_LOOKUP_ELEM
1857	BPF_MAP_UPDATE_ELEM                 = C.BPF_MAP_UPDATE_ELEM
1858	BPF_MAP_DELETE_ELEM                 = C.BPF_MAP_DELETE_ELEM
1859	BPF_MAP_GET_NEXT_KEY                = C.BPF_MAP_GET_NEXT_KEY
1860	BPF_PROG_LOAD                       = C.BPF_PROG_LOAD
1861	BPF_OBJ_PIN                         = C.BPF_OBJ_PIN
1862	BPF_OBJ_GET                         = C.BPF_OBJ_GET
1863	BPF_PROG_ATTACH                     = C.BPF_PROG_ATTACH
1864	BPF_PROG_DETACH                     = C.BPF_PROG_DETACH
1865	BPF_PROG_TEST_RUN                   = C.BPF_PROG_TEST_RUN
1866	BPF_PROG_GET_NEXT_ID                = C.BPF_PROG_GET_NEXT_ID
1867	BPF_MAP_GET_NEXT_ID                 = C.BPF_MAP_GET_NEXT_ID
1868	BPF_PROG_GET_FD_BY_ID               = C.BPF_PROG_GET_FD_BY_ID
1869	BPF_MAP_GET_FD_BY_ID                = C.BPF_MAP_GET_FD_BY_ID
1870	BPF_OBJ_GET_INFO_BY_FD              = C.BPF_OBJ_GET_INFO_BY_FD
1871	BPF_PROG_QUERY                      = C.BPF_PROG_QUERY
1872	BPF_RAW_TRACEPOINT_OPEN             = C.BPF_RAW_TRACEPOINT_OPEN
1873	BPF_BTF_LOAD                        = C.BPF_BTF_LOAD
1874	BPF_BTF_GET_FD_BY_ID                = C.BPF_BTF_GET_FD_BY_ID
1875	BPF_TASK_FD_QUERY                   = C.BPF_TASK_FD_QUERY
1876	BPF_MAP_LOOKUP_AND_DELETE_ELEM      = C.BPF_MAP_LOOKUP_AND_DELETE_ELEM
1877	BPF_MAP_TYPE_UNSPEC                 = C.BPF_MAP_TYPE_UNSPEC
1878	BPF_MAP_TYPE_HASH                   = C.BPF_MAP_TYPE_HASH
1879	BPF_MAP_TYPE_ARRAY                  = C.BPF_MAP_TYPE_ARRAY
1880	BPF_MAP_TYPE_PROG_ARRAY             = C.BPF_MAP_TYPE_PROG_ARRAY
1881	BPF_MAP_TYPE_PERF_EVENT_ARRAY       = C.BPF_MAP_TYPE_PERF_EVENT_ARRAY
1882	BPF_MAP_TYPE_PERCPU_HASH            = C.BPF_MAP_TYPE_PERCPU_HASH
1883	BPF_MAP_TYPE_PERCPU_ARRAY           = C.BPF_MAP_TYPE_PERCPU_ARRAY
1884	BPF_MAP_TYPE_STACK_TRACE            = C.BPF_MAP_TYPE_STACK_TRACE
1885	BPF_MAP_TYPE_CGROUP_ARRAY           = C.BPF_MAP_TYPE_CGROUP_ARRAY
1886	BPF_MAP_TYPE_LRU_HASH               = C.BPF_MAP_TYPE_LRU_HASH
1887	BPF_MAP_TYPE_LRU_PERCPU_HASH        = C.BPF_MAP_TYPE_LRU_PERCPU_HASH
1888	BPF_MAP_TYPE_LPM_TRIE               = C.BPF_MAP_TYPE_LPM_TRIE
1889	BPF_MAP_TYPE_ARRAY_OF_MAPS          = C.BPF_MAP_TYPE_ARRAY_OF_MAPS
1890	BPF_MAP_TYPE_HASH_OF_MAPS           = C.BPF_MAP_TYPE_HASH_OF_MAPS
1891	BPF_MAP_TYPE_DEVMAP                 = C.BPF_MAP_TYPE_DEVMAP
1892	BPF_MAP_TYPE_SOCKMAP                = C.BPF_MAP_TYPE_SOCKMAP
1893	BPF_MAP_TYPE_CPUMAP                 = C.BPF_MAP_TYPE_CPUMAP
1894	BPF_MAP_TYPE_XSKMAP                 = C.BPF_MAP_TYPE_XSKMAP
1895	BPF_MAP_TYPE_SOCKHASH               = C.BPF_MAP_TYPE_SOCKHASH
1896	BPF_MAP_TYPE_CGROUP_STORAGE         = C.BPF_MAP_TYPE_CGROUP_STORAGE
1897	BPF_MAP_TYPE_REUSEPORT_SOCKARRAY    = C.BPF_MAP_TYPE_REUSEPORT_SOCKARRAY
1898	BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE  = C.BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE
1899	BPF_MAP_TYPE_QUEUE                  = C.BPF_MAP_TYPE_QUEUE
1900	BPF_MAP_TYPE_STACK                  = C.BPF_MAP_TYPE_STACK
1901	BPF_PROG_TYPE_UNSPEC                = C.BPF_PROG_TYPE_UNSPEC
1902	BPF_PROG_TYPE_SOCKET_FILTER         = C.BPF_PROG_TYPE_SOCKET_FILTER
1903	BPF_PROG_TYPE_KPROBE                = C.BPF_PROG_TYPE_KPROBE
1904	BPF_PROG_TYPE_SCHED_CLS             = C.BPF_PROG_TYPE_SCHED_CLS
1905	BPF_PROG_TYPE_SCHED_ACT             = C.BPF_PROG_TYPE_SCHED_ACT
1906	BPF_PROG_TYPE_TRACEPOINT            = C.BPF_PROG_TYPE_TRACEPOINT
1907	BPF_PROG_TYPE_XDP                   = C.BPF_PROG_TYPE_XDP
1908	BPF_PROG_TYPE_PERF_EVENT            = C.BPF_PROG_TYPE_PERF_EVENT
1909	BPF_PROG_TYPE_CGROUP_SKB            = C.BPF_PROG_TYPE_CGROUP_SKB
1910	BPF_PROG_TYPE_CGROUP_SOCK           = C.BPF_PROG_TYPE_CGROUP_SOCK
1911	BPF_PROG_TYPE_LWT_IN                = C.BPF_PROG_TYPE_LWT_IN
1912	BPF_PROG_TYPE_LWT_OUT               = C.BPF_PROG_TYPE_LWT_OUT
1913	BPF_PROG_TYPE_LWT_XMIT              = C.BPF_PROG_TYPE_LWT_XMIT
1914	BPF_PROG_TYPE_SOCK_OPS              = C.BPF_PROG_TYPE_SOCK_OPS
1915	BPF_PROG_TYPE_SK_SKB                = C.BPF_PROG_TYPE_SK_SKB
1916	BPF_PROG_TYPE_CGROUP_DEVICE         = C.BPF_PROG_TYPE_CGROUP_DEVICE
1917	BPF_PROG_TYPE_SK_MSG                = C.BPF_PROG_TYPE_SK_MSG
1918	BPF_PROG_TYPE_RAW_TRACEPOINT        = C.BPF_PROG_TYPE_RAW_TRACEPOINT
1919	BPF_PROG_TYPE_CGROUP_SOCK_ADDR      = C.BPF_PROG_TYPE_CGROUP_SOCK_ADDR
1920	BPF_PROG_TYPE_LWT_SEG6LOCAL         = C.BPF_PROG_TYPE_LWT_SEG6LOCAL
1921	BPF_PROG_TYPE_LIRC_MODE2            = C.BPF_PROG_TYPE_LIRC_MODE2
1922	BPF_PROG_TYPE_SK_REUSEPORT          = C.BPF_PROG_TYPE_SK_REUSEPORT
1923	BPF_PROG_TYPE_FLOW_DISSECTOR        = C.BPF_PROG_TYPE_FLOW_DISSECTOR
1924	BPF_CGROUP_INET_INGRESS             = C.BPF_CGROUP_INET_INGRESS
1925	BPF_CGROUP_INET_EGRESS              = C.BPF_CGROUP_INET_EGRESS
1926	BPF_CGROUP_INET_SOCK_CREATE         = C.BPF_CGROUP_INET_SOCK_CREATE
1927	BPF_CGROUP_SOCK_OPS                 = C.BPF_CGROUP_SOCK_OPS
1928	BPF_SK_SKB_STREAM_PARSER            = C.BPF_SK_SKB_STREAM_PARSER
1929	BPF_SK_SKB_STREAM_VERDICT           = C.BPF_SK_SKB_STREAM_VERDICT
1930	BPF_CGROUP_DEVICE                   = C.BPF_CGROUP_DEVICE
1931	BPF_SK_MSG_VERDICT                  = C.BPF_SK_MSG_VERDICT
1932	BPF_CGROUP_INET4_BIND               = C.BPF_CGROUP_INET4_BIND
1933	BPF_CGROUP_INET6_BIND               = C.BPF_CGROUP_INET6_BIND
1934	BPF_CGROUP_INET4_CONNECT            = C.BPF_CGROUP_INET4_CONNECT
1935	BPF_CGROUP_INET6_CONNECT            = C.BPF_CGROUP_INET6_CONNECT
1936	BPF_CGROUP_INET4_POST_BIND          = C.BPF_CGROUP_INET4_POST_BIND
1937	BPF_CGROUP_INET6_POST_BIND          = C.BPF_CGROUP_INET6_POST_BIND
1938	BPF_CGROUP_UDP4_SENDMSG             = C.BPF_CGROUP_UDP4_SENDMSG
1939	BPF_CGROUP_UDP6_SENDMSG             = C.BPF_CGROUP_UDP6_SENDMSG
1940	BPF_LIRC_MODE2                      = C.BPF_LIRC_MODE2
1941	BPF_FLOW_DISSECTOR                  = C.BPF_FLOW_DISSECTOR
1942	BPF_STACK_BUILD_ID_EMPTY            = C.BPF_STACK_BUILD_ID_EMPTY
1943	BPF_STACK_BUILD_ID_VALID            = C.BPF_STACK_BUILD_ID_VALID
1944	BPF_STACK_BUILD_ID_IP               = C.BPF_STACK_BUILD_ID_IP
1945	BPF_ADJ_ROOM_NET                    = C.BPF_ADJ_ROOM_NET
1946	BPF_HDR_START_MAC                   = C.BPF_HDR_START_MAC
1947	BPF_HDR_START_NET                   = C.BPF_HDR_START_NET
1948	BPF_LWT_ENCAP_SEG6                  = C.BPF_LWT_ENCAP_SEG6
1949	BPF_LWT_ENCAP_SEG6_INLINE           = C.BPF_LWT_ENCAP_SEG6_INLINE
1950	BPF_OK                              = C.BPF_OK
1951	BPF_DROP                            = C.BPF_DROP
1952	BPF_REDIRECT                        = C.BPF_REDIRECT
1953	BPF_SOCK_OPS_VOID                   = C.BPF_SOCK_OPS_VOID
1954	BPF_SOCK_OPS_TIMEOUT_INIT           = C.BPF_SOCK_OPS_TIMEOUT_INIT
1955	BPF_SOCK_OPS_RWND_INIT              = C.BPF_SOCK_OPS_RWND_INIT
1956	BPF_SOCK_OPS_TCP_CONNECT_CB         = C.BPF_SOCK_OPS_TCP_CONNECT_CB
1957	BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB  = C.BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB
1958	BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = C.BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB
1959	BPF_SOCK_OPS_NEEDS_ECN              = C.BPF_SOCK_OPS_NEEDS_ECN
1960	BPF_SOCK_OPS_BASE_RTT               = C.BPF_SOCK_OPS_BASE_RTT
1961	BPF_SOCK_OPS_RTO_CB                 = C.BPF_SOCK_OPS_RTO_CB
1962	BPF_SOCK_OPS_RETRANS_CB             = C.BPF_SOCK_OPS_RETRANS_CB
1963	BPF_SOCK_OPS_STATE_CB               = C.BPF_SOCK_OPS_STATE_CB
1964	BPF_SOCK_OPS_TCP_LISTEN_CB          = C.BPF_SOCK_OPS_TCP_LISTEN_CB
1965	BPF_TCP_ESTABLISHED                 = C.BPF_TCP_ESTABLISHED
1966	BPF_TCP_SYN_SENT                    = C.BPF_TCP_SYN_SENT
1967	BPF_TCP_SYN_RECV                    = C.BPF_TCP_SYN_RECV
1968	BPF_TCP_FIN_WAIT1                   = C.BPF_TCP_FIN_WAIT1
1969	BPF_TCP_FIN_WAIT2                   = C.BPF_TCP_FIN_WAIT2
1970	BPF_TCP_TIME_WAIT                   = C.BPF_TCP_TIME_WAIT
1971	BPF_TCP_CLOSE                       = C.BPF_TCP_CLOSE
1972	BPF_TCP_CLOSE_WAIT                  = C.BPF_TCP_CLOSE_WAIT
1973	BPF_TCP_LAST_ACK                    = C.BPF_TCP_LAST_ACK
1974	BPF_TCP_LISTEN                      = C.BPF_TCP_LISTEN
1975	BPF_TCP_CLOSING                     = C.BPF_TCP_CLOSING
1976	BPF_TCP_NEW_SYN_RECV                = C.BPF_TCP_NEW_SYN_RECV
1977	BPF_TCP_MAX_STATES                  = C.BPF_TCP_MAX_STATES
1978	BPF_FIB_LKUP_RET_SUCCESS            = C.BPF_FIB_LKUP_RET_SUCCESS
1979	BPF_FIB_LKUP_RET_BLACKHOLE          = C.BPF_FIB_LKUP_RET_BLACKHOLE
1980	BPF_FIB_LKUP_RET_UNREACHABLE        = C.BPF_FIB_LKUP_RET_UNREACHABLE
1981	BPF_FIB_LKUP_RET_PROHIBIT           = C.BPF_FIB_LKUP_RET_PROHIBIT
1982	BPF_FIB_LKUP_RET_NOT_FWDED          = C.BPF_FIB_LKUP_RET_NOT_FWDED
1983	BPF_FIB_LKUP_RET_FWD_DISABLED       = C.BPF_FIB_LKUP_RET_FWD_DISABLED
1984	BPF_FIB_LKUP_RET_UNSUPP_LWT         = C.BPF_FIB_LKUP_RET_UNSUPP_LWT
1985	BPF_FIB_LKUP_RET_NO_NEIGH           = C.BPF_FIB_LKUP_RET_NO_NEIGH
1986	BPF_FIB_LKUP_RET_FRAG_NEEDED        = C.BPF_FIB_LKUP_RET_FRAG_NEEDED
1987	BPF_FD_TYPE_RAW_TRACEPOINT          = C.BPF_FD_TYPE_RAW_TRACEPOINT
1988	BPF_FD_TYPE_TRACEPOINT              = C.BPF_FD_TYPE_TRACEPOINT
1989	BPF_FD_TYPE_KPROBE                  = C.BPF_FD_TYPE_KPROBE
1990	BPF_FD_TYPE_KRETPROBE               = C.BPF_FD_TYPE_KRETPROBE
1991	BPF_FD_TYPE_UPROBE                  = C.BPF_FD_TYPE_UPROBE
1992	BPF_FD_TYPE_URETPROBE               = C.BPF_FD_TYPE_URETPROBE
1993)
1994