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