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