github.com/ie310mu/ie310go/forks/golang.org/x/sys@v0.0.0-20190821095322-9a46783d4de5/unix/linux/types.go (about)

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