| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // +build ignore |
| |
| /* |
| Input to cgo -godefs. See README.md |
| */ |
| |
| // +godefs map struct_in_addr [4]byte /* in_addr */ |
| // +godefs map struct_in6_addr [16]byte /* in6_addr */ |
| |
| package unix |
| |
| /* |
| #define _LARGEFILE_SOURCE |
| #define _LARGEFILE64_SOURCE |
| #define _FILE_OFFSET_BITS 64 |
| #define _GNU_SOURCE |
| |
| #include <dirent.h> |
| #include <poll.h> |
| #include <sched.h> |
| #include <signal.h> |
| #include <stdio.h> |
| #include <time.h> |
| #include <unistd.h> |
| #include <utime.h> |
| |
| #include <netinet/in.h> |
| #include <netinet/tcp.h> |
| |
| #include <sys/epoll.h> |
| #include <sys/inotify.h> |
| #include <sys/ioctl.h> |
| #include <sys/mman.h> |
| #include <sys/mount.h> |
| #include <sys/param.h> |
| #include <sys/ptrace.h> |
| #include <sys/resource.h> |
| #include <sys/select.h> |
| #include <sys/signal.h> |
| #include <sys/signalfd.h> |
| #include <sys/statfs.h> |
| #include <sys/statvfs.h> |
| #include <sys/sysinfo.h> |
| #include <sys/time.h> |
| #include <sys/times.h> |
| #include <sys/timex.h> |
| #include <sys/un.h> |
| #include <sys/user.h> |
| #include <sys/utsname.h> |
| #include <sys/wait.h> |
| |
| #if defined(__sparc__) |
| // On sparc{,64}, the kernel defines struct termios2 itself which clashes with the |
| // definition in glibc. Duplicate the kernel version here. |
| #if defined(__arch64__) |
| typedef unsigned int tcflag_t; |
| #else |
| typedef unsigned long tcflag_t; |
| #endif |
| |
| struct termios2 { |
| tcflag_t c_iflag; |
| tcflag_t c_oflag; |
| tcflag_t c_cflag; |
| tcflag_t c_lflag; |
| unsigned char c_line; |
| unsigned char c_cc[19]; |
| unsigned int c_ispeed; |
| unsigned int c_ospeed; |
| }; |
| #else |
| #include <asm/termbits.h> |
| #endif |
| #include <asm/ptrace.h> |
| |
| #include <linux/blkpg.h> |
| #include <linux/bpf.h> |
| #include <linux/can.h> |
| #include <linux/capability.h> |
| #include <linux/cgroupstats.h> |
| #include <linux/cryptouser.h> |
| #include <linux/errqueue.h> |
| #include <linux/fanotify.h> |
| #include <linux/filter.h> |
| #include <linux/fs.h> |
| #include <linux/genetlink.h> |
| #include <linux/hdreg.h> |
| #include <linux/icmpv6.h> |
| #include <linux/if_alg.h> |
| #include <linux/if_bridge.h> |
| #include <linux/if_packet.h> |
| #include <linux/if_pppox.h> |
| #include <linux/if_xdp.h> |
| #include <linux/keyctl.h> |
| #include <linux/loop.h> |
| #include <linux/ncsi.h> |
| #include <linux/net_namespace.h> |
| #include <linux/net_tstamp.h> |
| #include <linux/netfilter/nf_tables.h> |
| #include <linux/netfilter/nfnetlink.h> |
| #include <linux/netfilter.h> |
| #include <linux/netlink.h> |
| #include <linux/perf_event.h> |
| #include <linux/random.h> |
| #include <linux/rtc.h> |
| #include <linux/rtnetlink.h> |
| #include <linux/socket.h> |
| #include <linux/stat.h> |
| #include <linux/taskstats.h> |
| #include <linux/tipc.h> |
| #include <linux/vm_sockets.h> |
| |
| // abi/abi.h generated by mkall.go. |
| #include "abi/abi.h" |
| |
| // On mips64, the glibc stat and kernel stat do not agree |
| #if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64) |
| |
| // Use the stat defined by the kernel with a few modifications. These are: |
| // * The time fields (like st_atime and st_atimensec) use the timespec |
| // struct (like st_atim) for consistency with the glibc fields. |
| // * The padding fields get different names to not break compatibility. |
| // * st_blocks is signed, again for compatibility. |
| struct stat { |
| unsigned int st_dev; |
| unsigned int st_pad1[3]; // Reserved for st_dev expansion |
| |
| unsigned long st_ino; |
| |
| mode_t st_mode; |
| __u32 st_nlink; |
| |
| uid_t st_uid; |
| gid_t st_gid; |
| |
| unsigned int st_rdev; |
| unsigned int st_pad2[3]; // Reserved for st_rdev expansion |
| |
| off_t st_size; |
| |
| // These are declared as separate fields in the kernel. Here we use |
| // the timespec struct for consistency with the other stat structs. |
| struct timespec st_atim; |
| struct timespec st_mtim; |
| struct timespec st_ctim; |
| |
| unsigned int st_blksize; |
| unsigned int st_pad4; |
| |
| long st_blocks; |
| }; |
| |
| // These are needed because we do not include fcntl.h or sys/types.h |
| #include <linux/fcntl.h> |
| #include <linux/fadvise.h> |
| |
| #else |
| |
| // Use the stat defined by glibc |
| #include <fcntl.h> |
| #include <sys/types.h> |
| |
| #endif |
| |
| // These are defined in linux/fcntl.h, but including it globally causes |
| // conflicts with fcntl.h |
| #ifndef AT_STATX_SYNC_TYPE |
| # define AT_STATX_SYNC_TYPE 0x6000 // Type of synchronisation required from statx() |
| #endif |
| #ifndef AT_STATX_SYNC_AS_STAT |
| # define AT_STATX_SYNC_AS_STAT 0x0000 // - Do whatever stat() does |
| #endif |
| #ifndef AT_STATX_FORCE_SYNC |
| # define AT_STATX_FORCE_SYNC 0x2000 // - Force the attributes to be sync'd with the server |
| #endif |
| #ifndef AT_STATX_DONT_SYNC |
| # define AT_STATX_DONT_SYNC 0x4000 // - Don't sync attributes with the server |
| #endif |
| |
| #ifndef AT_EACCESS |
| # define AT_EACCESS 0x200 // Test access permitted for effective IDs, not real IDs. |
| #endif |
| |
| #ifdef TCSETS2 |
| // On systems that have "struct termios2" use this as type Termios. |
| typedef struct termios2 termios_t; |
| #else |
| typedef struct termios termios_t; |
| #endif |
| |
| enum { |
| sizeofPtr = sizeof(void*), |
| }; |
| |
| union sockaddr_all { |
| struct sockaddr s1; // this one gets used for fields |
| struct sockaddr_in s2; // these pad it out |
| struct sockaddr_in6 s3; |
| struct sockaddr_un s4; |
| struct sockaddr_ll s5; |
| struct sockaddr_nl s6; |
| struct sockaddr_pppox s7; |
| }; |
| |
| struct sockaddr_any { |
| struct sockaddr addr; |
| char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; |
| }; |
| |
| // copied from /usr/include/bluetooth/hci.h |
| struct sockaddr_hci { |
| sa_family_t hci_family; |
| unsigned short hci_dev; |
| unsigned short hci_channel; |
| }; |
| |
| // copied from /usr/include/bluetooth/bluetooth.h |
| #define BDADDR_BREDR 0x00 |
| #define BDADDR_LE_PUBLIC 0x01 |
| #define BDADDR_LE_RANDOM 0x02 |
| |
| // copied from /usr/include/bluetooth/l2cap.h |
| struct sockaddr_l2 { |
| sa_family_t l2_family; |
| unsigned short l2_psm; |
| uint8_t l2_bdaddr[6]; |
| unsigned short l2_cid; |
| uint8_t l2_bdaddr_type; |
| }; |
| |
| // copied from /usr/include/net/bluetooth/rfcomm.h |
| struct sockaddr_rc { |
| sa_family_t rc_family; |
| uint8_t rc_bdaddr[6]; |
| uint8_t rc_channel; |
| }; |
| |
| // copied from /usr/include/linux/un.h |
| struct my_sockaddr_un { |
| sa_family_t sun_family; |
| #if defined(__ARM_EABI__) || defined(__powerpc64__) || defined(__riscv) |
| // on some platforms char is unsigned by default |
| signed char sun_path[108]; |
| #else |
| char sun_path[108]; |
| #endif |
| }; |
| |
| #ifdef __ARM_EABI__ |
| typedef struct user_regs PtraceRegs; |
| #elif defined(__aarch64__) |
| typedef struct user_pt_regs PtraceRegs; |
| #elif defined(__mips__) || defined(__powerpc64__) |
| typedef struct pt_regs PtraceRegs; |
| #elif defined(__s390x__) |
| typedef struct _user_regs_struct PtraceRegs; |
| #elif defined(__sparc__) |
| #include <asm/ptrace.h> |
| typedef struct pt_regs PtraceRegs; |
| #else |
| typedef struct user_regs_struct PtraceRegs; |
| #endif |
| |
| #if defined(__s390x__) |
| typedef struct _user_psw_struct ptracePsw; |
| typedef struct _user_fpregs_struct ptraceFpregs; |
| typedef struct _user_per_struct ptracePer; |
| #else |
| typedef struct {} ptracePsw; |
| typedef struct {} ptraceFpregs; |
| typedef struct {} ptracePer; |
| #endif |
| |
| // The real epoll_event is a union, and godefs doesn't handle it well. |
| struct my_epoll_event { |
| uint32_t events; |
| #if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32) |
| // padding is not specified in linux/eventpoll.h but added to conform to the |
| // alignment requirements of EABI |
| int32_t padFd; |
| #elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) || defined(__riscv) |
| int32_t _padFd; |
| #endif |
| int32_t fd; |
| int32_t pad; |
| }; |
| |
| // Copied from <linux/perf_event.h> with the following modifications: |
| // 1) bit field after read_format redeclared as '__u64 bits' to make it |
| // accessible from Go |
| // 2) collapsed the unions, to avoid confusing godoc for the generated output |
| // (e.g. having to use BpAddr as an extension of Config) |
| struct perf_event_attr_go { |
| __u32 type; |
| |
| __u32 size; |
| __u64 config; |
| |
| // union { |
| // __u64 sample_period; |
| // __u64 sample_freq; |
| // }; |
| __u64 sample; |
| |
| __u64 sample_type; |
| __u64 read_format; |
| |
| // Replaces the bit field. Flags are defined as constants. |
| __u64 bits; |
| |
| // union { |
| // __u32 wakeup_events; |
| // __u32 wakeup_watermark; |
| // }; |
| __u32 wakeup; |
| |
| __u32 bp_type; |
| |
| // union { |
| // __u64 bp_addr; |
| // __u64 config1; |
| // }; |
| __u64 ext1; |
| |
| // union { |
| // __u64 bp_len; |
| // __u64 config2; |
| // }; |
| __u64 ext2; |
| |
| __u64 branch_sample_type; |
| |
| __u64 sample_regs_user; |
| |
| __u32 sample_stack_user; |
| |
| __s32 clockid; |
| __u64 sample_regs_intr; |
| __u32 aux_watermark; |
| __u16 sample_max_stack; |
| __u16 __reserved_2; |
| }; |
| |
| // ustat is deprecated and glibc 2.28 removed ustat.h. Provide the type here for |
| // backwards compatibility. Copied from /usr/include/bits/ustat.h |
| struct ustat { |
| __daddr_t f_tfree; |
| __ino_t f_tinode; |
| char f_fname[6]; |
| char f_fpack[6]; |
| }; |
| |
| // my_blkpg_partition is blkpg_partition with unsigned devname & volname. |
| struct my_blkpg_partition { |
| long long start; |
| long long length; |
| int pno; |
| unsigned char devname[BLKPG_DEVNAMELTH]; |
| unsigned char volname[BLKPG_VOLNAMELTH]; |
| }; |
| |
| // tipc_service_name is a copied and slightly modified form of the "name" |
| // variant in sockaddr_tipc's union in tipc.h, so it can be exported as part of |
| // SockaddrTIPC's API. |
| struct tipc_service_name { |
| // From tipc_service_addr. |
| __u32 type; |
| __u32 instance; |
| // From the union. |
| __u32 domain; |
| }; |
| */ |
| import "C" |
| |
| // Machine characteristics |
| |
| const ( |
| SizeofPtr = C.sizeofPtr |
| SizeofShort = C.sizeof_short |
| SizeofInt = C.sizeof_int |
| SizeofLong = C.sizeof_long |
| SizeofLongLong = C.sizeof_longlong |
| PathMax = C.PATH_MAX |
| ) |
| |
| // Basic types |
| |
| type ( |
| _C_short C.short |
| _C_int C.int |
| _C_long C.long |
| _C_long_long C.longlong |
| ) |
| |
| // Time |
| |
| type Timespec C.struct_timespec |
| |
| type Timeval C.struct_timeval |
| |
| type Timex C.struct_timex |
| |
| type Time_t C.time_t |
| |
| type Tms C.struct_tms |
| |
| type Utimbuf C.struct_utimbuf |
| |
| // Processes |
| |
| type Rusage C.struct_rusage |
| |
| type Rlimit C.struct_rlimit |
| |
| type _Gid_t C.gid_t |
| |
| // Files |
| |
| type Stat_t C.struct_stat |
| |
| type StatxTimestamp C.struct_statx_timestamp |
| |
| type Statx_t C.struct_statx |
| |
| type Dirent C.struct_dirent |
| |
| type Fsid C.fsid_t |
| |
| type Flock_t C.struct_flock |
| |
| // Filesystem Encryption |
| |
| type FscryptPolicy C.struct_fscrypt_policy |
| |
| type FscryptKey C.struct_fscrypt_key |
| |
| // Structure for Keyctl |
| |
| type KeyctlDHParams C.struct_keyctl_dh_params |
| |
| // Advice to Fadvise |
| |
| const ( |
| FADV_NORMAL = C.POSIX_FADV_NORMAL |
| FADV_RANDOM = C.POSIX_FADV_RANDOM |
| FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL |
| FADV_WILLNEED = C.POSIX_FADV_WILLNEED |
| FADV_DONTNEED = C.POSIX_FADV_DONTNEED |
| FADV_NOREUSE = C.POSIX_FADV_NOREUSE |
| ) |
| |
| // Sockets |
| |
| type RawSockaddrInet4 C.struct_sockaddr_in |
| |
| type RawSockaddrInet6 C.struct_sockaddr_in6 |
| |
| type RawSockaddrUnix C.struct_my_sockaddr_un |
| |
| type RawSockaddrLinklayer C.struct_sockaddr_ll |
| |
| type RawSockaddrNetlink C.struct_sockaddr_nl |
| |
| type RawSockaddrHCI C.struct_sockaddr_hci |
| |
| type RawSockaddrL2 C.struct_sockaddr_l2 |
| |
| type RawSockaddrRFCOMM C.struct_sockaddr_rc |
| |
| type RawSockaddrCAN C.struct_sockaddr_can |
| |
| type RawSockaddrALG C.struct_sockaddr_alg |
| |
| type RawSockaddrVM C.struct_sockaddr_vm |
| |
| type RawSockaddrXDP C.struct_sockaddr_xdp |
| |
| type RawSockaddrPPPoX [C.sizeof_struct_sockaddr_pppox]byte |
| |
| type RawSockaddrTIPC C.struct_sockaddr_tipc |
| |
| type RawSockaddr C.struct_sockaddr |
| |
| type RawSockaddrAny C.struct_sockaddr_any |
| |
| type _Socklen C.socklen_t |
| |
| type Linger C.struct_linger |
| |
| type Iovec C.struct_iovec |
| |
| type IPMreq C.struct_ip_mreq |
| |
| type IPMreqn C.struct_ip_mreqn |
| |
| type IPv6Mreq C.struct_ipv6_mreq |
| |
| type PacketMreq C.struct_packet_mreq |
| |
| type Msghdr C.struct_msghdr |
| |
| type Cmsghdr C.struct_cmsghdr |
| |
| type Inet4Pktinfo C.struct_in_pktinfo |
| |
| type Inet6Pktinfo C.struct_in6_pktinfo |
| |
| type IPv6MTUInfo C.struct_ip6_mtuinfo |
| |
| type ICMPv6Filter C.struct_icmp6_filter |
| |
| type Ucred C.struct_ucred |
| |
| type TCPInfo C.struct_tcp_info |
| |
| type CanFilter C.struct_can_filter |
| |
| const ( |
| SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in |
| SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 |
| SizeofSockaddrAny = C.sizeof_struct_sockaddr_any |
| SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un |
| SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll |
| SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl |
| SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci |
| SizeofSockaddrL2 = C.sizeof_struct_sockaddr_l2 |
| SizeofSockaddrRFCOMM = C.sizeof_struct_sockaddr_rc |
| SizeofSockaddrCAN = C.sizeof_struct_sockaddr_can |
| SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg |
| SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm |
| SizeofSockaddrXDP = C.sizeof_struct_sockaddr_xdp |
| SizeofSockaddrPPPoX = C.sizeof_struct_sockaddr_pppox |
| SizeofSockaddrTIPC = C.sizeof_struct_sockaddr_tipc |
| SizeofLinger = C.sizeof_struct_linger |
| SizeofIovec = C.sizeof_struct_iovec |
| SizeofIPMreq = C.sizeof_struct_ip_mreq |
| SizeofIPMreqn = C.sizeof_struct_ip_mreqn |
| SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq |
| SizeofPacketMreq = C.sizeof_struct_packet_mreq |
| SizeofMsghdr = C.sizeof_struct_msghdr |
| SizeofCmsghdr = C.sizeof_struct_cmsghdr |
| SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo |
| SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo |
| SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo |
| SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter |
| SizeofUcred = C.sizeof_struct_ucred |
| SizeofTCPInfo = C.sizeof_struct_tcp_info |
| SizeofCanFilter = C.sizeof_struct_can_filter |
| ) |
| |
| // Netlink routing and interface messages |
| |
| const ( |
| NDA_UNSPEC = C.NDA_UNSPEC |
| NDA_DST = C.NDA_DST |
| NDA_LLADDR = C.NDA_LLADDR |
| NDA_CACHEINFO = C.NDA_CACHEINFO |
| NDA_PROBES = C.NDA_PROBES |
| NDA_VLAN = C.NDA_VLAN |
| NDA_PORT = C.NDA_PORT |
| NDA_VNI = C.NDA_VNI |
| NDA_IFINDEX = C.NDA_IFINDEX |
| NDA_MASTER = C.NDA_MASTER |
| NDA_LINK_NETNSID = C.NDA_LINK_NETNSID |
| NDA_SRC_VNI = C.NDA_SRC_VNI |
| NTF_USE = C.NTF_USE |
| NTF_SELF = C.NTF_SELF |
| NTF_MASTER = C.NTF_MASTER |
| NTF_PROXY = C.NTF_PROXY |
| NTF_EXT_LEARNED = C.NTF_EXT_LEARNED |
| NTF_OFFLOADED = C.NTF_OFFLOADED |
| NTF_ROUTER = C.NTF_ROUTER |
| NUD_INCOMPLETE = C.NUD_INCOMPLETE |
| NUD_REACHABLE = C.NUD_REACHABLE |
| NUD_STALE = C.NUD_STALE |
| NUD_DELAY = C.NUD_DELAY |
| NUD_PROBE = C.NUD_PROBE |
| NUD_FAILED = C.NUD_FAILED |
| NUD_NOARP = C.NUD_NOARP |
| NUD_PERMANENT = C.NUD_PERMANENT |
| NUD_NONE = C.NUD_NONE |
| IFA_UNSPEC = C.IFA_UNSPEC |
| IFA_ADDRESS = C.IFA_ADDRESS |
| IFA_LOCAL = C.IFA_LOCAL |
| IFA_LABEL = C.IFA_LABEL |
| IFA_BROADCAST = C.IFA_BROADCAST |
| IFA_ANYCAST = C.IFA_ANYCAST |
| IFA_CACHEINFO = C.IFA_CACHEINFO |
| IFA_MULTICAST = C.IFA_MULTICAST |
| IFA_FLAGS = C.IFA_FLAGS |
| IFA_RT_PRIORITY = C.IFA_RT_PRIORITY |
| IFA_TARGET_NETNSID = C.IFA_TARGET_NETNSID |
| IFLA_UNSPEC = C.IFLA_UNSPEC |
| IFLA_ADDRESS = C.IFLA_ADDRESS |
| IFLA_BROADCAST = C.IFLA_BROADCAST |
| IFLA_IFNAME = C.IFLA_IFNAME |
| IFLA_MTU = C.IFLA_MTU |
| IFLA_LINK = C.IFLA_LINK |
| IFLA_QDISC = C.IFLA_QDISC |
| IFLA_STATS = C.IFLA_STATS |
| IFLA_COST = C.IFLA_COST |
| IFLA_PRIORITY = C.IFLA_PRIORITY |
| IFLA_MASTER = C.IFLA_MASTER |
| IFLA_WIRELESS = C.IFLA_WIRELESS |
| IFLA_PROTINFO = C.IFLA_PROTINFO |
| IFLA_TXQLEN = C.IFLA_TXQLEN |
| IFLA_MAP = C.IFLA_MAP |
| IFLA_WEIGHT = C.IFLA_WEIGHT |
| IFLA_OPERSTATE = C.IFLA_OPERSTATE |
| IFLA_LINKMODE = C.IFLA_LINKMODE |
| IFLA_LINKINFO = C.IFLA_LINKINFO |
| IFLA_NET_NS_PID = C.IFLA_NET_NS_PID |
| IFLA_IFALIAS = C.IFLA_IFALIAS |
| IFLA_NUM_VF = C.IFLA_NUM_VF |
| IFLA_VFINFO_LIST = C.IFLA_VFINFO_LIST |
| IFLA_STATS64 = C.IFLA_STATS64 |
| IFLA_VF_PORTS = C.IFLA_VF_PORTS |
| IFLA_PORT_SELF = C.IFLA_PORT_SELF |
| IFLA_AF_SPEC = C.IFLA_AF_SPEC |
| IFLA_GROUP = C.IFLA_GROUP |
| IFLA_NET_NS_FD = C.IFLA_NET_NS_FD |
| IFLA_EXT_MASK = C.IFLA_EXT_MASK |
| IFLA_PROMISCUITY = C.IFLA_PROMISCUITY |
| IFLA_NUM_TX_QUEUES = C.IFLA_NUM_TX_QUEUES |
| IFLA_NUM_RX_QUEUES = C.IFLA_NUM_RX_QUEUES |
| IFLA_CARRIER = C.IFLA_CARRIER |
| IFLA_PHYS_PORT_ID = C.IFLA_PHYS_PORT_ID |
| IFLA_CARRIER_CHANGES = C.IFLA_CARRIER_CHANGES |
| IFLA_PHYS_SWITCH_ID = C.IFLA_PHYS_SWITCH_ID |
| IFLA_LINK_NETNSID = C.IFLA_LINK_NETNSID |
| IFLA_PHYS_PORT_NAME = C.IFLA_PHYS_PORT_NAME |
| IFLA_PROTO_DOWN = C.IFLA_PROTO_DOWN |
| IFLA_GSO_MAX_SEGS = C.IFLA_GSO_MAX_SEGS |
| IFLA_GSO_MAX_SIZE = C.IFLA_GSO_MAX_SIZE |
| IFLA_PAD = C.IFLA_PAD |
| IFLA_XDP = C.IFLA_XDP |
| IFLA_EVENT = C.IFLA_EVENT |
| IFLA_NEW_NETNSID = C.IFLA_NEW_NETNSID |
| IFLA_IF_NETNSID = C.IFLA_IF_NETNSID |
| IFLA_TARGET_NETNSID = C.IFLA_TARGET_NETNSID |
| IFLA_CARRIER_UP_COUNT = C.IFLA_CARRIER_UP_COUNT |
| IFLA_CARRIER_DOWN_COUNT = C.IFLA_CARRIER_DOWN_COUNT |
| IFLA_NEW_IFINDEX = C.IFLA_NEW_IFINDEX |
| IFLA_MIN_MTU = C.IFLA_MIN_MTU |
| IFLA_MAX_MTU = C.IFLA_MAX_MTU |
| IFLA_MAX = C.IFLA_MAX |
| IFLA_INFO_KIND = C.IFLA_INFO_KIND |
| IFLA_INFO_DATA = C.IFLA_INFO_DATA |
| IFLA_INFO_XSTATS = C.IFLA_INFO_XSTATS |
| IFLA_INFO_SLAVE_KIND = C.IFLA_INFO_SLAVE_KIND |
| IFLA_INFO_SLAVE_DATA = C.IFLA_INFO_SLAVE_DATA |
| RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE |
| RT_SCOPE_SITE = C.RT_SCOPE_SITE |
| RT_SCOPE_LINK = C.RT_SCOPE_LINK |
| RT_SCOPE_HOST = C.RT_SCOPE_HOST |
| RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE |
| RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC |
| RT_TABLE_COMPAT = C.RT_TABLE_COMPAT |
| RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT |
| RT_TABLE_MAIN = C.RT_TABLE_MAIN |
| RT_TABLE_LOCAL = C.RT_TABLE_LOCAL |
| RT_TABLE_MAX = C.RT_TABLE_MAX |
| RTA_UNSPEC = C.RTA_UNSPEC |
| RTA_DST = C.RTA_DST |
| RTA_SRC = C.RTA_SRC |
| RTA_IIF = C.RTA_IIF |
| RTA_OIF = C.RTA_OIF |
| RTA_GATEWAY = C.RTA_GATEWAY |
| RTA_PRIORITY = C.RTA_PRIORITY |
| RTA_PREFSRC = C.RTA_PREFSRC |
| RTA_METRICS = C.RTA_METRICS |
| RTA_MULTIPATH = C.RTA_MULTIPATH |
| RTA_FLOW = C.RTA_FLOW |
| RTA_CACHEINFO = C.RTA_CACHEINFO |
| RTA_TABLE = C.RTA_TABLE |
| RTA_MARK = C.RTA_MARK |
| RTA_MFC_STATS = C.RTA_MFC_STATS |
| RTA_VIA = C.RTA_VIA |
| RTA_NEWDST = C.RTA_NEWDST |
| RTA_PREF = C.RTA_PREF |
| RTA_ENCAP_TYPE = C.RTA_ENCAP_TYPE |
| RTA_ENCAP = C.RTA_ENCAP |
| RTA_EXPIRES = C.RTA_EXPIRES |
| RTA_PAD = C.RTA_PAD |
| RTA_UID = C.RTA_UID |
| RTA_TTL_PROPAGATE = C.RTA_TTL_PROPAGATE |
| RTA_IP_PROTO = C.RTA_IP_PROTO |
| RTA_SPORT = C.RTA_SPORT |
| RTA_DPORT = C.RTA_DPORT |
| RTN_UNSPEC = C.RTN_UNSPEC |
| RTN_UNICAST = C.RTN_UNICAST |
| RTN_LOCAL = C.RTN_LOCAL |
| RTN_BROADCAST = C.RTN_BROADCAST |
| RTN_ANYCAST = C.RTN_ANYCAST |
| RTN_MULTICAST = C.RTN_MULTICAST |
| RTN_BLACKHOLE = C.RTN_BLACKHOLE |
| RTN_UNREACHABLE = C.RTN_UNREACHABLE |
| RTN_PROHIBIT = C.RTN_PROHIBIT |
| RTN_THROW = C.RTN_THROW |
| RTN_NAT = C.RTN_NAT |
| RTN_XRESOLVE = C.RTN_XRESOLVE |
| SizeofNlMsghdr = C.sizeof_struct_nlmsghdr |
| SizeofNlMsgerr = C.sizeof_struct_nlmsgerr |
| SizeofRtGenmsg = C.sizeof_struct_rtgenmsg |
| SizeofNlAttr = C.sizeof_struct_nlattr |
| SizeofRtAttr = C.sizeof_struct_rtattr |
| SizeofIfInfomsg = C.sizeof_struct_ifinfomsg |
| SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg |
| SizeofIfaCacheinfo = C.sizeof_struct_ifa_cacheinfo |
| SizeofRtMsg = C.sizeof_struct_rtmsg |
| SizeofRtNexthop = C.sizeof_struct_rtnexthop |
| SizeofNdUseroptmsg = C.sizeof_struct_nduseroptmsg |
| SizeofNdMsg = C.sizeof_struct_ndmsg |
| ) |
| |
| type NlMsghdr C.struct_nlmsghdr |
| |
| type NlMsgerr C.struct_nlmsgerr |
| |
| type RtGenmsg C.struct_rtgenmsg |
| |
| type NlAttr C.struct_nlattr |
| |
| type RtAttr C.struct_rtattr |
| |
| type IfInfomsg C.struct_ifinfomsg |
| |
| type IfAddrmsg C.struct_ifaddrmsg |
| |
| type IfaCacheinfo C.struct_ifa_cacheinfo |
| |
| type RtMsg C.struct_rtmsg |
| |
| type RtNexthop C.struct_rtnexthop |
| |
| type NdUseroptmsg C.struct_nduseroptmsg |
| |
| type NdMsg C.struct_ndmsg |
| |
| // Linux socket filter |
| |
| const ( |
| SizeofSockFilter = C.sizeof_struct_sock_filter |
| SizeofSockFprog = C.sizeof_struct_sock_fprog |
| ) |
| |
| type SockFilter C.struct_sock_filter |
| |
| type SockFprog C.struct_sock_fprog |
| |
| // Inotify |
| |
| type InotifyEvent C.struct_inotify_event |
| |
| const SizeofInotifyEvent = C.sizeof_struct_inotify_event |
| |
| // Ptrace |
| |
| // Register structures |
| type PtraceRegs C.PtraceRegs |
| |
| // Structures contained in PtraceRegs on s390x (exported by mkpost.go) |
| type PtracePsw C.ptracePsw |
| |
| type PtraceFpregs C.ptraceFpregs |
| |
| type PtracePer C.ptracePer |
| |
| // Misc |
| |
| type FdSet C.fd_set |
| |
| type Sysinfo_t C.struct_sysinfo |
| |
| type Utsname C.struct_utsname |
| |
| type Ustat_t C.struct_ustat |
| |
| type EpollEvent C.struct_my_epoll_event |
| |
| const ( |
| AT_EMPTY_PATH = C.AT_EMPTY_PATH |
| AT_FDCWD = C.AT_FDCWD |
| AT_NO_AUTOMOUNT = C.AT_NO_AUTOMOUNT |
| AT_REMOVEDIR = C.AT_REMOVEDIR |
| |
| AT_STATX_SYNC_AS_STAT = C.AT_STATX_SYNC_AS_STAT |
| AT_STATX_FORCE_SYNC = C.AT_STATX_FORCE_SYNC |
| AT_STATX_DONT_SYNC = C.AT_STATX_DONT_SYNC |
| |
| AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW |
| AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW |
| |
| AT_EACCESS = C.AT_EACCESS |
| ) |
| |
| type PollFd C.struct_pollfd |
| |
| const ( |
| POLLIN = C.POLLIN |
| POLLPRI = C.POLLPRI |
| POLLOUT = C.POLLOUT |
| POLLRDHUP = C.POLLRDHUP |
| POLLERR = C.POLLERR |
| POLLHUP = C.POLLHUP |
| POLLNVAL = C.POLLNVAL |
| ) |
| |
| type Sigset_t C.sigset_t |
| |
| const _C__NSIG = C._NSIG |
| |
| type SignalfdSiginfo C.struct_signalfd_siginfo |
| |
| const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP |
| |
| // Terminal handling |
| |
| type Termios C.termios_t |
| |
| type Winsize C.struct_winsize |
| |
| // Taskstats and cgroup stats. |
| |
| type Taskstats C.struct_taskstats |
| |
| const ( |
| TASKSTATS_CMD_UNSPEC = C.TASKSTATS_CMD_UNSPEC |
| TASKSTATS_CMD_GET = C.TASKSTATS_CMD_GET |
| TASKSTATS_CMD_NEW = C.TASKSTATS_CMD_NEW |
| TASKSTATS_TYPE_UNSPEC = C.TASKSTATS_TYPE_UNSPEC |
| TASKSTATS_TYPE_PID = C.TASKSTATS_TYPE_PID |
| TASKSTATS_TYPE_TGID = C.TASKSTATS_TYPE_TGID |
| TASKSTATS_TYPE_STATS = C.TASKSTATS_TYPE_STATS |
| TASKSTATS_TYPE_AGGR_PID = C.TASKSTATS_TYPE_AGGR_PID |
| TASKSTATS_TYPE_AGGR_TGID = C.TASKSTATS_TYPE_AGGR_TGID |
| TASKSTATS_TYPE_NULL = C.TASKSTATS_TYPE_NULL |
| TASKSTATS_CMD_ATTR_UNSPEC = C.TASKSTATS_CMD_ATTR_UNSPEC |
| TASKSTATS_CMD_ATTR_PID = C.TASKSTATS_CMD_ATTR_PID |
| TASKSTATS_CMD_ATTR_TGID = C.TASKSTATS_CMD_ATTR_TGID |
| TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK |
| TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK |
| ) |
| |
| type CGroupStats C.struct_cgroupstats |
| |
| const ( |
| CGROUPSTATS_CMD_UNSPEC = C.__TASKSTATS_CMD_MAX |
| CGROUPSTATS_CMD_GET = C.CGROUPSTATS_CMD_GET |
| CGROUPSTATS_CMD_NEW = C.CGROUPSTATS_CMD_NEW |
| CGROUPSTATS_TYPE_UNSPEC = C.CGROUPSTATS_TYPE_UNSPEC |
| CGROUPSTATS_TYPE_CGROUP_STATS = C.CGROUPSTATS_TYPE_CGROUP_STATS |
| CGROUPSTATS_CMD_ATTR_UNSPEC = C.CGROUPSTATS_CMD_ATTR_UNSPEC |
| CGROUPSTATS_CMD_ATTR_FD = C.CGROUPSTATS_CMD_ATTR_FD |
| ) |
| |
| // Generic netlink |
| |
| type Genlmsghdr C.struct_genlmsghdr |
| |
| const ( |
| CTRL_CMD_UNSPEC = C.CTRL_CMD_UNSPEC |
| CTRL_CMD_NEWFAMILY = C.CTRL_CMD_NEWFAMILY |
| CTRL_CMD_DELFAMILY = C.CTRL_CMD_DELFAMILY |
| CTRL_CMD_GETFAMILY = C.CTRL_CMD_GETFAMILY |
| CTRL_CMD_NEWOPS = C.CTRL_CMD_NEWOPS |
| CTRL_CMD_DELOPS = C.CTRL_CMD_DELOPS |
| CTRL_CMD_GETOPS = C.CTRL_CMD_GETOPS |
| CTRL_CMD_NEWMCAST_GRP = C.CTRL_CMD_NEWMCAST_GRP |
| CTRL_CMD_DELMCAST_GRP = C.CTRL_CMD_DELMCAST_GRP |
| CTRL_CMD_GETMCAST_GRP = C.CTRL_CMD_GETMCAST_GRP |
| CTRL_ATTR_UNSPEC = C.CTRL_ATTR_UNSPEC |
| CTRL_ATTR_FAMILY_ID = C.CTRL_ATTR_FAMILY_ID |
| CTRL_ATTR_FAMILY_NAME = C.CTRL_ATTR_FAMILY_NAME |
| CTRL_ATTR_VERSION = C.CTRL_ATTR_VERSION |
| CTRL_ATTR_HDRSIZE = C.CTRL_ATTR_HDRSIZE |
| CTRL_ATTR_MAXATTR = C.CTRL_ATTR_MAXATTR |
| CTRL_ATTR_OPS = C.CTRL_ATTR_OPS |
| CTRL_ATTR_MCAST_GROUPS = C.CTRL_ATTR_MCAST_GROUPS |
| CTRL_ATTR_OP_UNSPEC = C.CTRL_ATTR_OP_UNSPEC |
| CTRL_ATTR_OP_ID = C.CTRL_ATTR_OP_ID |
| CTRL_ATTR_OP_FLAGS = C.CTRL_ATTR_OP_FLAGS |
| CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC |
| CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME |
| CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID |
| ) |
| |
| // CPU affinity |
| |
| type cpuMask C.__cpu_mask |
| |
| const ( |
| _CPU_SETSIZE = C.__CPU_SETSIZE |
| _NCPUBITS = C.__NCPUBITS |
| ) |
| |
| // Bluetooth |
| |
| const ( |
| BDADDR_BREDR = C.BDADDR_BREDR |
| BDADDR_LE_PUBLIC = C.BDADDR_LE_PUBLIC |
| BDADDR_LE_RANDOM = C.BDADDR_LE_RANDOM |
| ) |
| |
| // Perf subsystem |
| |
| type PerfEventAttr C.struct_perf_event_attr_go |
| |
| type PerfEventMmapPage C.struct_perf_event_mmap_page |
| |
| // Bit field in struct perf_event_attr expanded as flags. |
| // Set these on PerfEventAttr.Bits by ORing them together. |
| const ( |
| PerfBitDisabled uint64 = CBitFieldMaskBit0 |
| PerfBitInherit = CBitFieldMaskBit1 |
| PerfBitPinned = CBitFieldMaskBit2 |
| PerfBitExclusive = CBitFieldMaskBit3 |
| PerfBitExcludeUser = CBitFieldMaskBit4 |
| PerfBitExcludeKernel = CBitFieldMaskBit5 |
| PerfBitExcludeHv = CBitFieldMaskBit6 |
| PerfBitExcludeIdle = CBitFieldMaskBit7 |
| PerfBitMmap = CBitFieldMaskBit8 |
| PerfBitComm = CBitFieldMaskBit9 |
| PerfBitFreq = CBitFieldMaskBit10 |
| PerfBitInheritStat = CBitFieldMaskBit11 |
| PerfBitEnableOnExec = CBitFieldMaskBit12 |
| PerfBitTask = CBitFieldMaskBit13 |
| PerfBitWatermark = CBitFieldMaskBit14 |
| PerfBitPreciseIPBit1 = CBitFieldMaskBit15 |
| PerfBitPreciseIPBit2 = CBitFieldMaskBit16 |
| PerfBitMmapData = CBitFieldMaskBit17 |
| PerfBitSampleIDAll = CBitFieldMaskBit18 |
| PerfBitExcludeHost = CBitFieldMaskBit19 |
| PerfBitExcludeGuest = CBitFieldMaskBit20 |
| PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 |
| PerfBitExcludeCallchainUser = CBitFieldMaskBit22 |
| PerfBitMmap2 = CBitFieldMaskBit23 |
| PerfBitCommExec = CBitFieldMaskBit24 |
| PerfBitUseClockID = CBitFieldMaskBit25 |
| PerfBitContextSwitch = CBitFieldMaskBit26 |
| ) |
| |
| const ( |
| PERF_TYPE_HARDWARE = C.PERF_TYPE_HARDWARE |
| PERF_TYPE_SOFTWARE = C.PERF_TYPE_SOFTWARE |
| PERF_TYPE_TRACEPOINT = C.PERF_TYPE_TRACEPOINT |
| PERF_TYPE_HW_CACHE = C.PERF_TYPE_HW_CACHE |
| PERF_TYPE_RAW = C.PERF_TYPE_RAW |
| PERF_TYPE_BREAKPOINT = C.PERF_TYPE_BREAKPOINT |
| |
| PERF_COUNT_HW_CPU_CYCLES = C.PERF_COUNT_HW_CPU_CYCLES |
| PERF_COUNT_HW_INSTRUCTIONS = C.PERF_COUNT_HW_INSTRUCTIONS |
| PERF_COUNT_HW_CACHE_REFERENCES = C.PERF_COUNT_HW_CACHE_REFERENCES |
| PERF_COUNT_HW_CACHE_MISSES = C.PERF_COUNT_HW_CACHE_MISSES |
| PERF_COUNT_HW_BRANCH_INSTRUCTIONS = C.PERF_COUNT_HW_BRANCH_INSTRUCTIONS |
| PERF_COUNT_HW_BRANCH_MISSES = C.PERF_COUNT_HW_BRANCH_MISSES |
| PERF_COUNT_HW_BUS_CYCLES = C.PERF_COUNT_HW_BUS_CYCLES |
| PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = C.PERF_COUNT_HW_STALLED_CYCLES_FRONTEND |
| PERF_COUNT_HW_STALLED_CYCLES_BACKEND = C.PERF_COUNT_HW_STALLED_CYCLES_BACKEND |
| PERF_COUNT_HW_REF_CPU_CYCLES = C.PERF_COUNT_HW_REF_CPU_CYCLES |
| |
| PERF_COUNT_HW_CACHE_L1D = C.PERF_COUNT_HW_CACHE_L1D |
| PERF_COUNT_HW_CACHE_L1I = C.PERF_COUNT_HW_CACHE_L1I |
| PERF_COUNT_HW_CACHE_LL = C.PERF_COUNT_HW_CACHE_LL |
| PERF_COUNT_HW_CACHE_DTLB = C.PERF_COUNT_HW_CACHE_DTLB |
| PERF_COUNT_HW_CACHE_ITLB = C.PERF_COUNT_HW_CACHE_ITLB |
| PERF_COUNT_HW_CACHE_BPU = C.PERF_COUNT_HW_CACHE_BPU |
| PERF_COUNT_HW_CACHE_NODE = C.PERF_COUNT_HW_CACHE_NODE |
| |
| PERF_COUNT_HW_CACHE_OP_READ = C.PERF_COUNT_HW_CACHE_OP_READ |
| PERF_COUNT_HW_CACHE_OP_WRITE = C.PERF_COUNT_HW_CACHE_OP_WRITE |
| PERF_COUNT_HW_CACHE_OP_PREFETCH = C.PERF_COUNT_HW_CACHE_OP_PREFETCH |
| |
| PERF_COUNT_HW_CACHE_RESULT_ACCESS = C.PERF_COUNT_HW_CACHE_RESULT_ACCESS |
| PERF_COUNT_HW_CACHE_RESULT_MISS = C.PERF_COUNT_HW_CACHE_RESULT_MISS |
| |
| PERF_COUNT_SW_CPU_CLOCK = C.PERF_COUNT_SW_CPU_CLOCK |
| PERF_COUNT_SW_TASK_CLOCK = C.PERF_COUNT_SW_TASK_CLOCK |
| PERF_COUNT_SW_PAGE_FAULTS = C.PERF_COUNT_SW_PAGE_FAULTS |
| PERF_COUNT_SW_CONTEXT_SWITCHES = C.PERF_COUNT_SW_CONTEXT_SWITCHES |
| PERF_COUNT_SW_CPU_MIGRATIONS = C.PERF_COUNT_SW_CPU_MIGRATIONS |
| PERF_COUNT_SW_PAGE_FAULTS_MIN = C.PERF_COUNT_SW_PAGE_FAULTS_MIN |
| PERF_COUNT_SW_PAGE_FAULTS_MAJ = C.PERF_COUNT_SW_PAGE_FAULTS_MAJ |
| PERF_COUNT_SW_ALIGNMENT_FAULTS = C.PERF_COUNT_SW_ALIGNMENT_FAULTS |
| PERF_COUNT_SW_EMULATION_FAULTS = C.PERF_COUNT_SW_EMULATION_FAULTS |
| PERF_COUNT_SW_DUMMY = C.PERF_COUNT_SW_DUMMY |
| PERF_COUNT_SW_BPF_OUTPUT = C.PERF_COUNT_SW_BPF_OUTPUT |
| |
| PERF_SAMPLE_IP = C.PERF_SAMPLE_IP |
| PERF_SAMPLE_TID = C.PERF_SAMPLE_TID |
| PERF_SAMPLE_TIME = C.PERF_SAMPLE_TIME |
| PERF_SAMPLE_ADDR = C.PERF_SAMPLE_ADDR |
| PERF_SAMPLE_READ = C.PERF_SAMPLE_READ |
| PERF_SAMPLE_CALLCHAIN = C.PERF_SAMPLE_CALLCHAIN |
| PERF_SAMPLE_ID = C.PERF_SAMPLE_ID |
| PERF_SAMPLE_CPU = C.PERF_SAMPLE_CPU |
| PERF_SAMPLE_PERIOD = C.PERF_SAMPLE_PERIOD |
| PERF_SAMPLE_STREAM_ID = C.PERF_SAMPLE_STREAM_ID |
| PERF_SAMPLE_RAW = C.PERF_SAMPLE_RAW |
| PERF_SAMPLE_BRANCH_STACK = C.PERF_SAMPLE_BRANCH_STACK |
| |
| PERF_SAMPLE_BRANCH_USER = C.PERF_SAMPLE_BRANCH_USER |
| PERF_SAMPLE_BRANCH_KERNEL = C.PERF_SAMPLE_BRANCH_KERNEL |
| PERF_SAMPLE_BRANCH_HV = C.PERF_SAMPLE_BRANCH_HV |
| PERF_SAMPLE_BRANCH_ANY = C.PERF_SAMPLE_BRANCH_ANY |
| PERF_SAMPLE_BRANCH_ANY_CALL = C.PERF_SAMPLE_BRANCH_ANY_CALL |
| PERF_SAMPLE_BRANCH_ANY_RETURN = C.PERF_SAMPLE_BRANCH_ANY_RETURN |
| PERF_SAMPLE_BRANCH_IND_CALL = C.PERF_SAMPLE_BRANCH_IND_CALL |
| PERF_SAMPLE_BRANCH_ABORT_TX = C.PERF_SAMPLE_BRANCH_ABORT_TX |
| PERF_SAMPLE_BRANCH_IN_TX = C.PERF_SAMPLE_BRANCH_IN_TX |
| PERF_SAMPLE_BRANCH_NO_TX = C.PERF_SAMPLE_BRANCH_NO_TX |
| PERF_SAMPLE_BRANCH_COND = C.PERF_SAMPLE_BRANCH_COND |
| PERF_SAMPLE_BRANCH_CALL_STACK = C.PERF_SAMPLE_BRANCH_CALL_STACK |
| PERF_SAMPLE_BRANCH_IND_JUMP = C.PERF_SAMPLE_BRANCH_IND_JUMP |
| PERF_SAMPLE_BRANCH_CALL = C.PERF_SAMPLE_BRANCH_CALL |
| PERF_SAMPLE_BRANCH_NO_FLAGS = C.PERF_SAMPLE_BRANCH_NO_FLAGS |
| PERF_SAMPLE_BRANCH_NO_CYCLES = C.PERF_SAMPLE_BRANCH_NO_CYCLES |
| PERF_SAMPLE_BRANCH_TYPE_SAVE = C.PERF_SAMPLE_BRANCH_TYPE_SAVE |
| |
| PERF_FORMAT_TOTAL_TIME_ENABLED = C.PERF_FORMAT_TOTAL_TIME_ENABLED |
| PERF_FORMAT_TOTAL_TIME_RUNNING = C.PERF_FORMAT_TOTAL_TIME_RUNNING |
| PERF_FORMAT_ID = C.PERF_FORMAT_ID |
| PERF_FORMAT_GROUP = C.PERF_FORMAT_GROUP |
| |
| PERF_RECORD_MMAP = C.PERF_RECORD_MMAP |
| PERF_RECORD_LOST = C.PERF_RECORD_LOST |
| PERF_RECORD_COMM = C.PERF_RECORD_COMM |
| PERF_RECORD_EXIT = C.PERF_RECORD_EXIT |
| PERF_RECORD_THROTTLE = C.PERF_RECORD_THROTTLE |
| PERF_RECORD_UNTHROTTLE = C.PERF_RECORD_UNTHROTTLE |
| PERF_RECORD_FORK = C.PERF_RECORD_FORK |
| PERF_RECORD_READ = C.PERF_RECORD_READ |
| PERF_RECORD_SAMPLE = C.PERF_RECORD_SAMPLE |
| PERF_RECORD_MMAP2 = C.PERF_RECORD_MMAP2 |
| PERF_RECORD_AUX = C.PERF_RECORD_AUX |
| PERF_RECORD_ITRACE_START = C.PERF_RECORD_ITRACE_START |
| PERF_RECORD_LOST_SAMPLES = C.PERF_RECORD_LOST_SAMPLES |
| PERF_RECORD_SWITCH = C.PERF_RECORD_SWITCH |
| PERF_RECORD_SWITCH_CPU_WIDE = C.PERF_RECORD_SWITCH_CPU_WIDE |
| PERF_RECORD_NAMESPACES = C.PERF_RECORD_NAMESPACES |
| |
| PERF_CONTEXT_HV = C.PERF_CONTEXT_HV |
| PERF_CONTEXT_KERNEL = C.PERF_CONTEXT_KERNEL |
| PERF_CONTEXT_USER = C.PERF_CONTEXT_USER |
| |
| PERF_CONTEXT_GUEST = C.PERF_CONTEXT_GUEST |
| PERF_CONTEXT_GUEST_KERNEL = C.PERF_CONTEXT_GUEST_KERNEL |
| PERF_CONTEXT_GUEST_USER = C.PERF_CONTEXT_GUEST_USER |
| |
| PERF_FLAG_FD_NO_GROUP = C.PERF_FLAG_FD_NO_GROUP |
| PERF_FLAG_FD_OUTPUT = C.PERF_FLAG_FD_OUTPUT |
| PERF_FLAG_PID_CGROUP = C.PERF_FLAG_PID_CGROUP |
| PERF_FLAG_FD_CLOEXEC = C.PERF_FLAG_FD_CLOEXEC |
| ) |
| |
| // Platform ABI and calling convention |
| |
| // Bit field masks for interoperability with C code that uses bit fields. |
| // Each mask corresponds to a single bit set - bit field behavior can be replicated by combining |
| // the masks with bitwise OR. |
| const ( |
| CBitFieldMaskBit0 = C.BITFIELD_MASK_0 |
| CBitFieldMaskBit1 = C.BITFIELD_MASK_1 |
| CBitFieldMaskBit2 = C.BITFIELD_MASK_2 |
| CBitFieldMaskBit3 = C.BITFIELD_MASK_3 |
| CBitFieldMaskBit4 = C.BITFIELD_MASK_4 |
| CBitFieldMaskBit5 = C.BITFIELD_MASK_5 |
| CBitFieldMaskBit6 = C.BITFIELD_MASK_6 |
| CBitFieldMaskBit7 = C.BITFIELD_MASK_7 |
| CBitFieldMaskBit8 = C.BITFIELD_MASK_8 |
| CBitFieldMaskBit9 = C.BITFIELD_MASK_9 |
| CBitFieldMaskBit10 = C.BITFIELD_MASK_10 |
| CBitFieldMaskBit11 = C.BITFIELD_MASK_11 |
| CBitFieldMaskBit12 = C.BITFIELD_MASK_12 |
| CBitFieldMaskBit13 = C.BITFIELD_MASK_13 |
| CBitFieldMaskBit14 = C.BITFIELD_MASK_14 |
| CBitFieldMaskBit15 = C.BITFIELD_MASK_15 |
| CBitFieldMaskBit16 = C.BITFIELD_MASK_16 |
| CBitFieldMaskBit17 = C.BITFIELD_MASK_17 |
| CBitFieldMaskBit18 = C.BITFIELD_MASK_18 |
| CBitFieldMaskBit19 = C.BITFIELD_MASK_19 |
| CBitFieldMaskBit20 = C.BITFIELD_MASK_20 |
| CBitFieldMaskBit21 = C.BITFIELD_MASK_21 |
| CBitFieldMaskBit22 = C.BITFIELD_MASK_22 |
| CBitFieldMaskBit23 = C.BITFIELD_MASK_23 |
| CBitFieldMaskBit24 = C.BITFIELD_MASK_24 |
| CBitFieldMaskBit25 = C.BITFIELD_MASK_25 |
| CBitFieldMaskBit26 = C.BITFIELD_MASK_26 |
| CBitFieldMaskBit27 = C.BITFIELD_MASK_27 |
| CBitFieldMaskBit28 = C.BITFIELD_MASK_28 |
| CBitFieldMaskBit29 = C.BITFIELD_MASK_29 |
| CBitFieldMaskBit30 = C.BITFIELD_MASK_30 |
| CBitFieldMaskBit31 = C.BITFIELD_MASK_31 |
| CBitFieldMaskBit32 = C.BITFIELD_MASK_32 |
| CBitFieldMaskBit33 = C.BITFIELD_MASK_33 |
| CBitFieldMaskBit34 = C.BITFIELD_MASK_34 |
| CBitFieldMaskBit35 = C.BITFIELD_MASK_35 |
| CBitFieldMaskBit36 = C.BITFIELD_MASK_36 |
| CBitFieldMaskBit37 = C.BITFIELD_MASK_37 |
| CBitFieldMaskBit38 = C.BITFIELD_MASK_38 |
| CBitFieldMaskBit39 = C.BITFIELD_MASK_39 |
| CBitFieldMaskBit40 = C.BITFIELD_MASK_40 |
| CBitFieldMaskBit41 = C.BITFIELD_MASK_41 |
| CBitFieldMaskBit42 = C.BITFIELD_MASK_42 |
| CBitFieldMaskBit43 = C.BITFIELD_MASK_43 |
| CBitFieldMaskBit44 = C.BITFIELD_MASK_44 |
| CBitFieldMaskBit45 = C.BITFIELD_MASK_45 |
| CBitFieldMaskBit46 = C.BITFIELD_MASK_46 |
| CBitFieldMaskBit47 = C.BITFIELD_MASK_47 |
| CBitFieldMaskBit48 = C.BITFIELD_MASK_48 |
| CBitFieldMaskBit49 = C.BITFIELD_MASK_49 |
| CBitFieldMaskBit50 = C.BITFIELD_MASK_50 |
| CBitFieldMaskBit51 = C.BITFIELD_MASK_51 |
| CBitFieldMaskBit52 = C.BITFIELD_MASK_52 |
| CBitFieldMaskBit53 = C.BITFIELD_MASK_53 |
| CBitFieldMaskBit54 = C.BITFIELD_MASK_54 |
| CBitFieldMaskBit55 = C.BITFIELD_MASK_55 |
| CBitFieldMaskBit56 = C.BITFIELD_MASK_56 |
| CBitFieldMaskBit57 = C.BITFIELD_MASK_57 |
| CBitFieldMaskBit58 = C.BITFIELD_MASK_58 |
| CBitFieldMaskBit59 = C.BITFIELD_MASK_59 |
| CBitFieldMaskBit60 = C.BITFIELD_MASK_60 |
| CBitFieldMaskBit61 = C.BITFIELD_MASK_61 |
| CBitFieldMaskBit62 = C.BITFIELD_MASK_62 |
| CBitFieldMaskBit63 = C.BITFIELD_MASK_63 |
| ) |
| |
| // TCP-MD5 signature. |
| |
| type SockaddrStorage C.struct_sockaddr_storage |
| |
| type TCPMD5Sig C.struct_tcp_md5sig |
| |
| // Disk drive operations. |
| |
| type HDDriveCmdHdr C.struct_hd_drive_cmd_hdr |
| |
| type HDGeometry C.struct_hd_geometry |
| |
| type HDDriveID C.struct_hd_driveid |
| |
| // Statfs |
| |
| type Statfs_t C.struct_statfs |
| |
| const ( |
| ST_MANDLOCK = C.ST_MANDLOCK |
| ST_NOATIME = C.ST_NOATIME |
| ST_NODEV = C.ST_NODEV |
| ST_NODIRATIME = C.ST_NODIRATIME |
| ST_NOEXEC = C.ST_NOEXEC |
| ST_NOSUID = C.ST_NOSUID |
| ST_RDONLY = C.ST_RDONLY |
| ST_RELATIME = C.ST_RELATIME |
| ST_SYNCHRONOUS = C.ST_SYNCHRONOUS |
| ) |
| |
| // TPacket |
| |
| type TpacketHdr C.struct_tpacket_hdr |
| |
| type Tpacket2Hdr C.struct_tpacket2_hdr |
| |
| type Tpacket3Hdr C.struct_tpacket3_hdr |
| |
| type TpacketHdrVariant1 C.struct_tpacket_hdr_variant1 |
| |
| type TpacketBlockDesc C.struct_tpacket_block_desc |
| |
| type TpacketBDTS C.struct_tpacket_bd_ts |
| |
| type TpacketHdrV1 C.struct_tpacket_hdr_v1 |
| |
| type TpacketReq C.struct_tpacket_req |
| |
| type TpacketReq3 C.struct_tpacket_req3 |
| |
| type TpacketStats C.struct_tpacket_stats |
| |
| type TpacketStatsV3 C.struct_tpacket_stats_v3 |
| |
| type TpacketAuxdata C.struct_tpacket_auxdata |
| |
| const ( |
| TPACKET_V1 = C.TPACKET_V1 |
| TPACKET_V2 = C.TPACKET_V2 |
| TPACKET_V3 = C.TPACKET_V3 |
| ) |
| |
| const ( |
| SizeofTpacketHdr = C.sizeof_struct_tpacket_hdr |
| SizeofTpacket2Hdr = C.sizeof_struct_tpacket2_hdr |
| SizeofTpacket3Hdr = C.sizeof_struct_tpacket3_hdr |
| |
| SizeofTpacketStats = C.sizeof_struct_tpacket_stats |
| SizeofTpacketStatsV3 = C.sizeof_struct_tpacket_stats_v3 |
| ) |
| |
| // netfilter |
| // generated using: |
| // perl -nlE '/^\s*(NF\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter.h |
| const ( |
| NF_INET_PRE_ROUTING = C.NF_INET_PRE_ROUTING |
| NF_INET_LOCAL_IN = C.NF_INET_LOCAL_IN |
| NF_INET_FORWARD = C.NF_INET_FORWARD |
| NF_INET_LOCAL_OUT = C.NF_INET_LOCAL_OUT |
| NF_INET_POST_ROUTING = C.NF_INET_POST_ROUTING |
| NF_INET_NUMHOOKS = C.NF_INET_NUMHOOKS |
| ) |
| |
| const ( |
| NF_NETDEV_INGRESS = C.NF_NETDEV_INGRESS |
| NF_NETDEV_NUMHOOKS = C.NF_NETDEV_NUMHOOKS |
| ) |
| |
| const ( |
| NFPROTO_UNSPEC = C.NFPROTO_UNSPEC |
| NFPROTO_INET = C.NFPROTO_INET |
| NFPROTO_IPV4 = C.NFPROTO_IPV4 |
| NFPROTO_ARP = C.NFPROTO_ARP |
| NFPROTO_NETDEV = C.NFPROTO_NETDEV |
| NFPROTO_BRIDGE = C.NFPROTO_BRIDGE |
| NFPROTO_IPV6 = C.NFPROTO_IPV6 |
| NFPROTO_DECNET = C.NFPROTO_DECNET |
| NFPROTO_NUMPROTO = C.NFPROTO_NUMPROTO |
| ) |
| |
| // netfilter nfnetlink |
| type Nfgenmsg C.struct_nfgenmsg |
| |
| const ( |
| NFNL_BATCH_UNSPEC = C.NFNL_BATCH_UNSPEC |
| NFNL_BATCH_GENID = C.NFNL_BATCH_GENID |
| ) |
| |
| // netfilter nf_tables |
| // generated using: |
| // perl -nlE '/^\s*(NFT\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter/nf_tables.h |
| const ( |
| NFT_REG_VERDICT = C.NFT_REG_VERDICT |
| NFT_REG_1 = C.NFT_REG_1 |
| NFT_REG_2 = C.NFT_REG_2 |
| NFT_REG_3 = C.NFT_REG_3 |
| NFT_REG_4 = C.NFT_REG_4 |
| NFT_REG32_00 = C.NFT_REG32_00 |
| NFT_REG32_01 = C.NFT_REG32_01 |
| NFT_REG32_02 = C.NFT_REG32_02 |
| NFT_REG32_03 = C.NFT_REG32_03 |
| NFT_REG32_04 = C.NFT_REG32_04 |
| NFT_REG32_05 = C.NFT_REG32_05 |
| NFT_REG32_06 = C.NFT_REG32_06 |
| NFT_REG32_07 = C.NFT_REG32_07 |
| NFT_REG32_08 = C.NFT_REG32_08 |
| NFT_REG32_09 = C.NFT_REG32_09 |
| NFT_REG32_10 = C.NFT_REG32_10 |
| NFT_REG32_11 = C.NFT_REG32_11 |
| NFT_REG32_12 = C.NFT_REG32_12 |
| NFT_REG32_13 = C.NFT_REG32_13 |
| NFT_REG32_14 = C.NFT_REG32_14 |
| NFT_REG32_15 = C.NFT_REG32_15 |
| NFT_CONTINUE = C.NFT_CONTINUE |
| NFT_BREAK = C.NFT_BREAK |
| NFT_JUMP = C.NFT_JUMP |
| NFT_GOTO = C.NFT_GOTO |
| NFT_RETURN = C.NFT_RETURN |
| NFT_MSG_NEWTABLE = C.NFT_MSG_NEWTABLE |
| NFT_MSG_GETTABLE = C.NFT_MSG_GETTABLE |
| NFT_MSG_DELTABLE = C.NFT_MSG_DELTABLE |
| NFT_MSG_NEWCHAIN = C.NFT_MSG_NEWCHAIN |
| NFT_MSG_GETCHAIN = C.NFT_MSG_GETCHAIN |
| NFT_MSG_DELCHAIN = C.NFT_MSG_DELCHAIN |
| NFT_MSG_NEWRULE = C.NFT_MSG_NEWRULE |
| NFT_MSG_GETRULE = C.NFT_MSG_GETRULE |
| NFT_MSG_DELRULE = C.NFT_MSG_DELRULE |
| NFT_MSG_NEWSET = C.NFT_MSG_NEWSET |
| NFT_MSG_GETSET = C.NFT_MSG_GETSET |
| NFT_MSG_DELSET = C.NFT_MSG_DELSET |
| NFT_MSG_NEWSETELEM = C.NFT_MSG_NEWSETELEM |
| NFT_MSG_GETSETELEM = C.NFT_MSG_GETSETELEM |
| NFT_MSG_DELSETELEM = C.NFT_MSG_DELSETELEM |
| NFT_MSG_NEWGEN = C.NFT_MSG_NEWGEN |
| NFT_MSG_GETGEN = C.NFT_MSG_GETGEN |
| NFT_MSG_TRACE = C.NFT_MSG_TRACE |
| NFT_MSG_NEWOBJ = C.NFT_MSG_NEWOBJ |
| NFT_MSG_GETOBJ = C.NFT_MSG_GETOBJ |
| NFT_MSG_DELOBJ = C.NFT_MSG_DELOBJ |
| NFT_MSG_GETOBJ_RESET = C.NFT_MSG_GETOBJ_RESET |
| NFT_MSG_MAX = C.NFT_MSG_MAX |
| NFTA_LIST_UNPEC = C.NFTA_LIST_UNPEC |
| NFTA_LIST_ELEM = C.NFTA_LIST_ELEM |
| NFTA_HOOK_UNSPEC = C.NFTA_HOOK_UNSPEC |
| NFTA_HOOK_HOOKNUM = C.NFTA_HOOK_HOOKNUM |
| NFTA_HOOK_PRIORITY = C.NFTA_HOOK_PRIORITY |
| NFTA_HOOK_DEV = C.NFTA_HOOK_DEV |
| NFT_TABLE_F_DORMANT = C.NFT_TABLE_F_DORMANT |
| NFTA_TABLE_UNSPEC = C.NFTA_TABLE_UNSPEC |
| NFTA_TABLE_NAME = C.NFTA_TABLE_NAME |
| NFTA_TABLE_FLAGS = C.NFTA_TABLE_FLAGS |
| NFTA_TABLE_USE = C.NFTA_TABLE_USE |
| NFTA_CHAIN_UNSPEC = C.NFTA_CHAIN_UNSPEC |
| NFTA_CHAIN_TABLE = C.NFTA_CHAIN_TABLE |
| NFTA_CHAIN_HANDLE = C.NFTA_CHAIN_HANDLE |
| NFTA_CHAIN_NAME = C.NFTA_CHAIN_NAME |
| NFTA_CHAIN_HOOK = C.NFTA_CHAIN_HOOK |
| NFTA_CHAIN_POLICY = C.NFTA_CHAIN_POLICY |
| NFTA_CHAIN_USE = C.NFTA_CHAIN_USE |
| NFTA_CHAIN_TYPE = C.NFTA_CHAIN_TYPE |
| NFTA_CHAIN_COUNTERS = C.NFTA_CHAIN_COUNTERS |
| NFTA_CHAIN_PAD = C.NFTA_CHAIN_PAD |
| NFTA_RULE_UNSPEC = C.NFTA_RULE_UNSPEC |
| NFTA_RULE_TABLE = C.NFTA_RULE_TABLE |
| NFTA_RULE_CHAIN = C.NFTA_RULE_CHAIN |
| NFTA_RULE_HANDLE = C.NFTA_RULE_HANDLE |
| NFTA_RULE_EXPRESSIONS = C.NFTA_RULE_EXPRESSIONS |
| NFTA_RULE_COMPAT = C.NFTA_RULE_COMPAT |
| NFTA_RULE_POSITION = C.NFTA_RULE_POSITION |
| NFTA_RULE_USERDATA = C.NFTA_RULE_USERDATA |
| NFTA_RULE_PAD = C.NFTA_RULE_PAD |
| NFTA_RULE_ID = C.NFTA_RULE_ID |
| NFT_RULE_COMPAT_F_INV = C.NFT_RULE_COMPAT_F_INV |
| NFT_RULE_COMPAT_F_MASK = C.NFT_RULE_COMPAT_F_MASK |
| NFTA_RULE_COMPAT_UNSPEC = C.NFTA_RULE_COMPAT_UNSPEC |
| NFTA_RULE_COMPAT_PROTO = C.NFTA_RULE_COMPAT_PROTO |
| NFTA_RULE_COMPAT_FLAGS = C.NFTA_RULE_COMPAT_FLAGS |
| NFT_SET_ANONYMOUS = C.NFT_SET_ANONYMOUS |
| NFT_SET_CONSTANT = C.NFT_SET_CONSTANT |
| NFT_SET_INTERVAL = C.NFT_SET_INTERVAL |
| NFT_SET_MAP = C.NFT_SET_MAP |
| NFT_SET_TIMEOUT = C.NFT_SET_TIMEOUT |
| NFT_SET_EVAL = C.NFT_SET_EVAL |
| NFT_SET_OBJECT = C.NFT_SET_OBJECT |
| NFT_SET_POL_PERFORMANCE = C.NFT_SET_POL_PERFORMANCE |
| NFT_SET_POL_MEMORY = C.NFT_SET_POL_MEMORY |
| NFTA_SET_DESC_UNSPEC = C.NFTA_SET_DESC_UNSPEC |
| NFTA_SET_DESC_SIZE = C.NFTA_SET_DESC_SIZE |
| NFTA_SET_UNSPEC = C.NFTA_SET_UNSPEC |
| NFTA_SET_TABLE = C.NFTA_SET_TABLE |
| NFTA_SET_NAME = C.NFTA_SET_NAME |
| NFTA_SET_FLAGS = C.NFTA_SET_FLAGS |
| NFTA_SET_KEY_TYPE = C.NFTA_SET_KEY_TYPE |
| NFTA_SET_KEY_LEN = C.NFTA_SET_KEY_LEN |
| NFTA_SET_DATA_TYPE = C.NFTA_SET_DATA_TYPE |
| NFTA_SET_DATA_LEN = C.NFTA_SET_DATA_LEN |
| NFTA_SET_POLICY = C.NFTA_SET_POLICY |
| NFTA_SET_DESC = C.NFTA_SET_DESC |
| NFTA_SET_ID = C.NFTA_SET_ID |
| NFTA_SET_TIMEOUT = C.NFTA_SET_TIMEOUT |
| NFTA_SET_GC_INTERVAL = C.NFTA_SET_GC_INTERVAL |
| NFTA_SET_USERDATA = C.NFTA_SET_USERDATA |
| NFTA_SET_PAD = C.NFTA_SET_PAD |
| NFTA_SET_OBJ_TYPE = C.NFTA_SET_OBJ_TYPE |
| NFT_SET_ELEM_INTERVAL_END = C.NFT_SET_ELEM_INTERVAL_END |
| NFTA_SET_ELEM_UNSPEC = C.NFTA_SET_ELEM_UNSPEC |
| NFTA_SET_ELEM_KEY = C.NFTA_SET_ELEM_KEY |
| NFTA_SET_ELEM_DATA = C.NFTA_SET_ELEM_DATA |
| NFTA_SET_ELEM_FLAGS = C.NFTA_SET_ELEM_FLAGS |
| NFTA_SET_ELEM_TIMEOUT = C.NFTA_SET_ELEM_TIMEOUT |
| NFTA_SET_ELEM_EXPIRATION = C.NFTA_SET_ELEM_EXPIRATION |
| NFTA_SET_ELEM_USERDATA = C.NFTA_SET_ELEM_USERDATA |
| NFTA_SET_ELEM_EXPR = C.NFTA_SET_ELEM_EXPR |
| NFTA_SET_ELEM_PAD = C.NFTA_SET_ELEM_PAD |
| NFTA_SET_ELEM_OBJREF = C.NFTA_SET_ELEM_OBJREF |
| NFTA_SET_ELEM_LIST_UNSPEC = C.NFTA_SET_ELEM_LIST_UNSPEC |
| NFTA_SET_ELEM_LIST_TABLE = C.NFTA_SET_ELEM_LIST_TABLE |
| NFTA_SET_ELEM_LIST_SET = C.NFTA_SET_ELEM_LIST_SET |
| NFTA_SET_ELEM_LIST_ELEMENTS = C.NFTA_SET_ELEM_LIST_ELEMENTS |
| NFTA_SET_ELEM_LIST_SET_ID = C.NFTA_SET_ELEM_LIST_SET_ID |
| NFT_DATA_VALUE = C.NFT_DATA_VALUE |
| NFT_DATA_VERDICT = C.NFT_DATA_VERDICT |
| NFTA_DATA_UNSPEC = C.NFTA_DATA_UNSPEC |
| NFTA_DATA_VALUE = C.NFTA_DATA_VALUE |
| NFTA_DATA_VERDICT = C.NFTA_DATA_VERDICT |
| NFTA_VERDICT_UNSPEC = C.NFTA_VERDICT_UNSPEC |
| NFTA_VERDICT_CODE = C.NFTA_VERDICT_CODE |
| NFTA_VERDICT_CHAIN = C.NFTA_VERDICT_CHAIN |
| NFTA_EXPR_UNSPEC = C.NFTA_EXPR_UNSPEC |
| NFTA_EXPR_NAME = C.NFTA_EXPR_NAME |
| NFTA_EXPR_DATA = C.NFTA_EXPR_DATA |
| NFTA_IMMEDIATE_UNSPEC = C.NFTA_IMMEDIATE_UNSPEC |
| NFTA_IMMEDIATE_DREG = C.NFTA_IMMEDIATE_DREG |
| NFTA_IMMEDIATE_DATA = C.NFTA_IMMEDIATE_DATA |
| NFTA_BITWISE_UNSPEC = C.NFTA_BITWISE_UNSPEC |
| NFTA_BITWISE_SREG = C.NFTA_BITWISE_SREG |
| NFTA_BITWISE_DREG = C.NFTA_BITWISE_DREG |
| NFTA_BITWISE_LEN = C.NFTA_BITWISE_LEN |
| NFTA_BITWISE_MASK = C.NFTA_BITWISE_MASK |
| NFTA_BITWISE_XOR = C.NFTA_BITWISE_XOR |
| NFT_BYTEORDER_NTOH = C.NFT_BYTEORDER_NTOH |
| NFT_BYTEORDER_HTON = C.NFT_BYTEORDER_HTON |
| NFTA_BYTEORDER_UNSPEC = C.NFTA_BYTEORDER_UNSPEC |
| NFTA_BYTEORDER_SREG = C.NFTA_BYTEORDER_SREG |
| NFTA_BYTEORDER_DREG = C.NFTA_BYTEORDER_DREG |
| NFTA_BYTEORDER_OP = C.NFTA_BYTEORDER_OP |
| NFTA_BYTEORDER_LEN = C.NFTA_BYTEORDER_LEN |
| NFTA_BYTEORDER_SIZE = C.NFTA_BYTEORDER_SIZE |
| NFT_CMP_EQ = C.NFT_CMP_EQ |
| NFT_CMP_NEQ = C.NFT_CMP_NEQ |
| NFT_CMP_LT = C.NFT_CMP_LT |
| NFT_CMP_LTE = C.NFT_CMP_LTE |
| NFT_CMP_GT = C.NFT_CMP_GT |
| NFT_CMP_GTE = C.NFT_CMP_GTE |
| NFTA_CMP_UNSPEC = C.NFTA_CMP_UNSPEC |
| NFTA_CMP_SREG = C.NFTA_CMP_SREG |
| NFTA_CMP_OP = C.NFTA_CMP_OP |
| NFTA_CMP_DATA = C.NFTA_CMP_DATA |
| NFT_RANGE_EQ = C.NFT_RANGE_EQ |
| NFT_RANGE_NEQ = C.NFT_RANGE_NEQ |
| NFTA_RANGE_UNSPEC = C.NFTA_RANGE_UNSPEC |
| NFTA_RANGE_SREG = C.NFTA_RANGE_SREG |
| NFTA_RANGE_OP = C.NFTA_RANGE_OP |
| NFTA_RANGE_FROM_DATA = C.NFTA_RANGE_FROM_DATA |
| NFTA_RANGE_TO_DATA = C.NFTA_RANGE_TO_DATA |
| NFT_LOOKUP_F_INV = C.NFT_LOOKUP_F_INV |
| NFTA_LOOKUP_UNSPEC = C.NFTA_LOOKUP_UNSPEC |
| NFTA_LOOKUP_SET = C.NFTA_LOOKUP_SET |
| NFTA_LOOKUP_SREG = C.NFTA_LOOKUP_SREG |
| NFTA_LOOKUP_DREG = C.NFTA_LOOKUP_DREG |
| NFTA_LOOKUP_SET_ID = C.NFTA_LOOKUP_SET_ID |
| NFTA_LOOKUP_FLAGS = C.NFTA_LOOKUP_FLAGS |
| NFT_DYNSET_OP_ADD = C.NFT_DYNSET_OP_ADD |
| NFT_DYNSET_OP_UPDATE = C.NFT_DYNSET_OP_UPDATE |
| NFT_DYNSET_F_INV = C.NFT_DYNSET_F_INV |
| NFTA_DYNSET_UNSPEC = C.NFTA_DYNSET_UNSPEC |
| NFTA_DYNSET_SET_NAME = C.NFTA_DYNSET_SET_NAME |
| NFTA_DYNSET_SET_ID = C.NFTA_DYNSET_SET_ID |
| NFTA_DYNSET_OP = C.NFTA_DYNSET_OP |
| NFTA_DYNSET_SREG_KEY = C.NFTA_DYNSET_SREG_KEY |
| NFTA_DYNSET_SREG_DATA = C.NFTA_DYNSET_SREG_DATA |
| NFTA_DYNSET_TIMEOUT = C.NFTA_DYNSET_TIMEOUT |
| NFTA_DYNSET_EXPR = C.NFTA_DYNSET_EXPR |
| NFTA_DYNSET_PAD = C.NFTA_DYNSET_PAD |
| NFTA_DYNSET_FLAGS = C.NFTA_DYNSET_FLAGS |
| NFT_PAYLOAD_LL_HEADER = C.NFT_PAYLOAD_LL_HEADER |
| NFT_PAYLOAD_NETWORK_HEADER = C.NFT_PAYLOAD_NETWORK_HEADER |
| NFT_PAYLOAD_TRANSPORT_HEADER = C.NFT_PAYLOAD_TRANSPORT_HEADER |
| NFT_PAYLOAD_CSUM_NONE = C.NFT_PAYLOAD_CSUM_NONE |
| NFT_PAYLOAD_CSUM_INET = C.NFT_PAYLOAD_CSUM_INET |
| NFT_PAYLOAD_L4CSUM_PSEUDOHDR = C.NFT_PAYLOAD_L4CSUM_PSEUDOHDR |
| NFTA_PAYLOAD_UNSPEC = C.NFTA_PAYLOAD_UNSPEC |
| NFTA_PAYLOAD_DREG = C.NFTA_PAYLOAD_DREG |
| NFTA_PAYLOAD_BASE = C.NFTA_PAYLOAD_BASE |
| NFTA_PAYLOAD_OFFSET = C.NFTA_PAYLOAD_OFFSET |
| NFTA_PAYLOAD_LEN = C.NFTA_PAYLOAD_LEN |
| NFTA_PAYLOAD_SREG = C.NFTA_PAYLOAD_SREG |
| NFTA_PAYLOAD_CSUM_TYPE = C.NFTA_PAYLOAD_CSUM_TYPE |
| NFTA_PAYLOAD_CSUM_OFFSET = C.NFTA_PAYLOAD_CSUM_OFFSET |
| NFTA_PAYLOAD_CSUM_FLAGS = C.NFTA_PAYLOAD_CSUM_FLAGS |
| NFT_EXTHDR_F_PRESENT = C.NFT_EXTHDR_F_PRESENT |
| NFT_EXTHDR_OP_IPV6 = C.NFT_EXTHDR_OP_IPV6 |
| NFT_EXTHDR_OP_TCPOPT = C.NFT_EXTHDR_OP_TCPOPT |
| NFTA_EXTHDR_UNSPEC = C.NFTA_EXTHDR_UNSPEC |
| NFTA_EXTHDR_DREG = C.NFTA_EXTHDR_DREG |
| NFTA_EXTHDR_TYPE = C.NFTA_EXTHDR_TYPE |
| NFTA_EXTHDR_OFFSET = C.NFTA_EXTHDR_OFFSET |
| NFTA_EXTHDR_LEN = C.NFTA_EXTHDR_LEN |
| NFTA_EXTHDR_FLAGS = C.NFTA_EXTHDR_FLAGS |
| NFTA_EXTHDR_OP = C.NFTA_EXTHDR_OP |
| NFTA_EXTHDR_SREG = C.NFTA_EXTHDR_SREG |
| NFT_META_LEN = C.NFT_META_LEN |
| NFT_META_PROTOCOL = C.NFT_META_PROTOCOL |
| NFT_META_PRIORITY = C.NFT_META_PRIORITY |
| NFT_META_MARK = C.NFT_META_MARK |
| NFT_META_IIF = C.NFT_META_IIF |
| NFT_META_OIF = C.NFT_META_OIF |
| NFT_META_IIFNAME = C.NFT_META_IIFNAME |
| NFT_META_OIFNAME = C.NFT_META_OIFNAME |
| NFT_META_IIFTYPE = C.NFT_META_IIFTYPE |
| NFT_META_OIFTYPE = C.NFT_META_OIFTYPE |
| NFT_META_SKUID = C.NFT_META_SKUID |
| NFT_META_SKGID = C.NFT_META_SKGID |
| NFT_META_NFTRACE = C.NFT_META_NFTRACE |
| NFT_META_RTCLASSID = C.NFT_META_RTCLASSID |
| NFT_META_SECMARK = C.NFT_META_SECMARK |
| NFT_META_NFPROTO = C.NFT_META_NFPROTO |
| NFT_META_L4PROTO = C.NFT_META_L4PROTO |
| NFT_META_BRI_IIFNAME = C.NFT_META_BRI_IIFNAME |
| NFT_META_BRI_OIFNAME = C.NFT_META_BRI_OIFNAME |
| NFT_META_PKTTYPE = C.NFT_META_PKTTYPE |
| NFT_META_CPU = C.NFT_META_CPU |
| NFT_META_IIFGROUP = C.NFT_META_IIFGROUP |
| NFT_META_OIFGROUP = C.NFT_META_OIFGROUP |
| NFT_META_CGROUP = C.NFT_META_CGROUP |
| NFT_META_PRANDOM = C.NFT_META_PRANDOM |
| NFT_RT_CLASSID = C.NFT_RT_CLASSID |
| NFT_RT_NEXTHOP4 = C.NFT_RT_NEXTHOP4 |
| NFT_RT_NEXTHOP6 = C.NFT_RT_NEXTHOP6 |
| NFT_RT_TCPMSS = C.NFT_RT_TCPMSS |
| NFT_HASH_JENKINS = C.NFT_HASH_JENKINS |
| NFT_HASH_SYM = C.NFT_HASH_SYM |
| NFTA_HASH_UNSPEC = C.NFTA_HASH_UNSPEC |
| NFTA_HASH_SREG = C.NFTA_HASH_SREG |
| NFTA_HASH_DREG = C.NFTA_HASH_DREG |
| NFTA_HASH_LEN = C.NFTA_HASH_LEN |
| NFTA_HASH_MODULUS = C.NFTA_HASH_MODULUS |
| NFTA_HASH_SEED = C.NFTA_HASH_SEED |
| NFTA_HASH_OFFSET = C.NFTA_HASH_OFFSET |
| NFTA_HASH_TYPE = C.NFTA_HASH_TYPE |
| NFTA_META_UNSPEC = C.NFTA_META_UNSPEC |
| NFTA_META_DREG = C.NFTA_META_DREG |
| NFTA_META_KEY = C.NFTA_META_KEY |
| NFTA_META_SREG = C.NFTA_META_SREG |
| NFTA_RT_UNSPEC = C.NFTA_RT_UNSPEC |
| NFTA_RT_DREG = C.NFTA_RT_DREG |
| NFTA_RT_KEY = C.NFTA_RT_KEY |
| NFT_CT_STATE = C.NFT_CT_STATE |
| NFT_CT_DIRECTION = C.NFT_CT_DIRECTION |
| NFT_CT_STATUS = C.NFT_CT_STATUS |
| NFT_CT_MARK = C.NFT_CT_MARK |
| NFT_CT_SECMARK = C.NFT_CT_SECMARK |
| NFT_CT_EXPIRATION = C.NFT_CT_EXPIRATION |
| NFT_CT_HELPER = C.NFT_CT_HELPER |
| NFT_CT_L3PROTOCOL = C.NFT_CT_L3PROTOCOL |
| NFT_CT_SRC = C.NFT_CT_SRC |
| NFT_CT_DST = C.NFT_CT_DST |
| NFT_CT_PROTOCOL = C.NFT_CT_PROTOCOL |
| NFT_CT_PROTO_SRC = C.NFT_CT_PROTO_SRC |
| NFT_CT_PROTO_DST = C.NFT_CT_PROTO_DST |
| NFT_CT_LABELS = C.NFT_CT_LABELS |
| NFT_CT_PKTS = C.NFT_CT_PKTS |
| NFT_CT_BYTES = C.NFT_CT_BYTES |
| NFT_CT_AVGPKT = C.NFT_CT_AVGPKT |
| NFT_CT_ZONE = C.NFT_CT_ZONE |
| NFT_CT_EVENTMASK = C.NFT_CT_EVENTMASK |
| NFTA_CT_UNSPEC = C.NFTA_CT_UNSPEC |
| NFTA_CT_DREG = C.NFTA_CT_DREG |
| NFTA_CT_KEY = C.NFTA_CT_KEY |
| NFTA_CT_DIRECTION = C.NFTA_CT_DIRECTION |
| NFTA_CT_SREG = C.NFTA_CT_SREG |
| NFT_LIMIT_PKTS = C.NFT_LIMIT_PKTS |
| NFT_LIMIT_PKT_BYTES = C.NFT_LIMIT_PKT_BYTES |
| NFT_LIMIT_F_INV = C.NFT_LIMIT_F_INV |
| NFTA_LIMIT_UNSPEC = C.NFTA_LIMIT_UNSPEC |
| NFTA_LIMIT_RATE = C.NFTA_LIMIT_RATE |
| NFTA_LIMIT_UNIT = C.NFTA_LIMIT_UNIT |
| NFTA_LIMIT_BURST = C.NFTA_LIMIT_BURST |
| NFTA_LIMIT_TYPE = C.NFTA_LIMIT_TYPE |
| NFTA_LIMIT_FLAGS = C.NFTA_LIMIT_FLAGS |
| NFTA_LIMIT_PAD = C.NFTA_LIMIT_PAD |
| NFTA_COUNTER_UNSPEC = C.NFTA_COUNTER_UNSPEC |
| NFTA_COUNTER_BYTES = C.NFTA_COUNTER_BYTES |
| NFTA_COUNTER_PACKETS = C.NFTA_COUNTER_PACKETS |
| NFTA_COUNTER_PAD = C.NFTA_COUNTER_PAD |
| NFTA_LOG_UNSPEC = C.NFTA_LOG_UNSPEC |
| NFTA_LOG_GROUP = C.NFTA_LOG_GROUP |
| NFTA_LOG_PREFIX = C.NFTA_LOG_PREFIX |
| NFTA_LOG_SNAPLEN = C.NFTA_LOG_SNAPLEN |
| NFTA_LOG_QTHRESHOLD = C.NFTA_LOG_QTHRESHOLD |
| NFTA_LOG_LEVEL = C.NFTA_LOG_LEVEL |
| NFTA_LOG_FLAGS = C.NFTA_LOG_FLAGS |
| NFTA_QUEUE_UNSPEC = C.NFTA_QUEUE_UNSPEC |
| NFTA_QUEUE_NUM = C.NFTA_QUEUE_NUM |
| NFTA_QUEUE_TOTAL = C.NFTA_QUEUE_TOTAL |
| NFTA_QUEUE_FLAGS = C.NFTA_QUEUE_FLAGS |
| NFTA_QUEUE_SREG_QNUM = C.NFTA_QUEUE_SREG_QNUM |
| NFT_QUOTA_F_INV = C.NFT_QUOTA_F_INV |
| NFT_QUOTA_F_DEPLETED = C.NFT_QUOTA_F_DEPLETED |
| NFTA_QUOTA_UNSPEC = C.NFTA_QUOTA_UNSPEC |
| NFTA_QUOTA_BYTES = C.NFTA_QUOTA_BYTES |
| NFTA_QUOTA_FLAGS = C.NFTA_QUOTA_FLAGS |
| NFTA_QUOTA_PAD = C.NFTA_QUOTA_PAD |
| NFTA_QUOTA_CONSUMED = C.NFTA_QUOTA_CONSUMED |
| NFT_REJECT_ICMP_UNREACH = C.NFT_REJECT_ICMP_UNREACH |
| NFT_REJECT_TCP_RST = C.NFT_REJECT_TCP_RST |
| NFT_REJECT_ICMPX_UNREACH = C.NFT_REJECT_ICMPX_UNREACH |
| NFT_REJECT_ICMPX_NO_ROUTE = C.NFT_REJECT_ICMPX_NO_ROUTE |
| NFT_REJECT_ICMPX_PORT_UNREACH = C.NFT_REJECT_ICMPX_PORT_UNREACH |
| NFT_REJECT_ICMPX_HOST_UNREACH = C.NFT_REJECT_ICMPX_HOST_UNREACH |
| NFT_REJECT_ICMPX_ADMIN_PROHIBITED = C.NFT_REJECT_ICMPX_ADMIN_PROHIBITED |
| NFTA_REJECT_UNSPEC = C.NFTA_REJECT_UNSPEC |
| NFTA_REJECT_TYPE = C.NFTA_REJECT_TYPE |
| NFTA_REJECT_ICMP_CODE = C.NFTA_REJECT_ICMP_CODE |
| NFT_NAT_SNAT = C.NFT_NAT_SNAT |
| NFT_NAT_DNAT = C.NFT_NAT_DNAT |
| NFTA_NAT_UNSPEC = C.NFTA_NAT_UNSPEC |
| NFTA_NAT_TYPE = C.NFTA_NAT_TYPE |
| NFTA_NAT_FAMILY = C.NFTA_NAT_FAMILY |
| NFTA_NAT_REG_ADDR_MIN = C.NFTA_NAT_REG_ADDR_MIN |
| NFTA_NAT_REG_ADDR_MAX = C.NFTA_NAT_REG_ADDR_MAX |
| NFTA_NAT_REG_PROTO_MIN = C.NFTA_NAT_REG_PROTO_MIN |
| NFTA_NAT_REG_PROTO_MAX = C.NFTA_NAT_REG_PROTO_MAX |
| NFTA_NAT_FLAGS = C.NFTA_NAT_FLAGS |
| NFTA_MASQ_UNSPEC = C.NFTA_MASQ_UNSPEC |
| NFTA_MASQ_FLAGS = C.NFTA_MASQ_FLAGS |
| NFTA_MASQ_REG_PROTO_MIN = C.NFTA_MASQ_REG_PROTO_MIN |
| NFTA_MASQ_REG_PROTO_MAX = C.NFTA_MASQ_REG_PROTO_MAX |
| NFTA_REDIR_UNSPEC = C.NFTA_REDIR_UNSPEC |
| NFTA_REDIR_REG_PROTO_MIN = C.NFTA_REDIR_REG_PROTO_MIN |
| NFTA_REDIR_REG_PROTO_MAX = C.NFTA_REDIR_REG_PROTO_MAX |
| NFTA_REDIR_FLAGS = C.NFTA_REDIR_FLAGS |
| NFTA_DUP_UNSPEC = C.NFTA_DUP_UNSPEC |
| NFTA_DUP_SREG_ADDR = C.NFTA_DUP_SREG_ADDR |
| NFTA_DUP_SREG_DEV = C.NFTA_DUP_SREG_DEV |
| NFTA_FWD_UNSPEC = C.NFTA_FWD_UNSPEC |
| NFTA_FWD_SREG_DEV = C.NFTA_FWD_SREG_DEV |
| NFTA_OBJREF_UNSPEC = C.NFTA_OBJREF_UNSPEC |
| NFTA_OBJREF_IMM_TYPE = C.NFTA_OBJREF_IMM_TYPE |
| NFTA_OBJREF_IMM_NAME = C.NFTA_OBJREF_IMM_NAME |
| NFTA_OBJREF_SET_SREG = C.NFTA_OBJREF_SET_SREG |
| NFTA_OBJREF_SET_NAME = C.NFTA_OBJREF_SET_NAME |
| NFTA_OBJREF_SET_ID = C.NFTA_OBJREF_SET_ID |
| NFTA_GEN_UNSPEC = C.NFTA_GEN_UNSPEC |
| NFTA_GEN_ID = C.NFTA_GEN_ID |
| NFTA_GEN_PROC_PID = C.NFTA_GEN_PROC_PID |
| NFTA_GEN_PROC_NAME = C.NFTA_GEN_PROC_NAME |
| NFTA_FIB_UNSPEC = C.NFTA_FIB_UNSPEC |
| NFTA_FIB_DREG = C.NFTA_FIB_DREG |
| NFTA_FIB_RESULT = C.NFTA_FIB_RESULT |
| NFTA_FIB_FLAGS = C.NFTA_FIB_FLAGS |
| NFT_FIB_RESULT_UNSPEC = C.NFT_FIB_RESULT_UNSPEC |
| NFT_FIB_RESULT_OIF = C.NFT_FIB_RESULT_OIF |
| NFT_FIB_RESULT_OIFNAME = C.NFT_FIB_RESULT_OIFNAME |
| NFT_FIB_RESULT_ADDRTYPE = C.NFT_FIB_RESULT_ADDRTYPE |
| NFTA_FIB_F_SADDR = C.NFTA_FIB_F_SADDR |
| NFTA_FIB_F_DADDR = C.NFTA_FIB_F_DADDR |
| NFTA_FIB_F_MARK = C.NFTA_FIB_F_MARK |
| NFTA_FIB_F_IIF = C.NFTA_FIB_F_IIF |
| NFTA_FIB_F_OIF = C.NFTA_FIB_F_OIF |
| NFTA_FIB_F_PRESENT = C.NFTA_FIB_F_PRESENT |
| NFTA_CT_HELPER_UNSPEC = C.NFTA_CT_HELPER_UNSPEC |
| NFTA_CT_HELPER_NAME = C.NFTA_CT_HELPER_NAME |
| NFTA_CT_HELPER_L3PROTO = C.NFTA_CT_HELPER_L3PROTO |
| NFTA_CT_HELPER_L4PROTO = C.NFTA_CT_HELPER_L4PROTO |
| NFTA_OBJ_UNSPEC = C.NFTA_OBJ_UNSPEC |
| NFTA_OBJ_TABLE = C.NFTA_OBJ_TABLE |
| NFTA_OBJ_NAME = C.NFTA_OBJ_NAME |
| NFTA_OBJ_TYPE = C.NFTA_OBJ_TYPE |
| NFTA_OBJ_DATA = C.NFTA_OBJ_DATA |
| NFTA_OBJ_USE = C.NFTA_OBJ_USE |
| NFTA_TRACE_UNSPEC = C.NFTA_TRACE_UNSPEC |
| NFTA_TRACE_TABLE = C.NFTA_TRACE_TABLE |
| NFTA_TRACE_CHAIN = C.NFTA_TRACE_CHAIN |
| NFTA_TRACE_RULE_HANDLE = C.NFTA_TRACE_RULE_HANDLE |
| NFTA_TRACE_TYPE = C.NFTA_TRACE_TYPE |
| NFTA_TRACE_VERDICT = C.NFTA_TRACE_VERDICT |
| NFTA_TRACE_ID = C.NFTA_TRACE_ID |
| NFTA_TRACE_LL_HEADER = C.NFTA_TRACE_LL_HEADER |
| NFTA_TRACE_NETWORK_HEADER = C.NFTA_TRACE_NETWORK_HEADER |
| NFTA_TRACE_TRANSPORT_HEADER = C.NFTA_TRACE_TRANSPORT_HEADER |
| NFTA_TRACE_IIF = C.NFTA_TRACE_IIF |
| NFTA_TRACE_IIFTYPE = C.NFTA_TRACE_IIFTYPE |
| NFTA_TRACE_OIF = C.NFTA_TRACE_OIF |
| NFTA_TRACE_OIFTYPE = C.NFTA_TRACE_OIFTYPE |
| NFTA_TRACE_MARK = C.NFTA_TRACE_MARK |
| NFTA_TRACE_NFPROTO = C.NFTA_TRACE_NFPROTO |
| NFTA_TRACE_POLICY = C.NFTA_TRACE_POLICY |
| NFTA_TRACE_PAD = C.NFTA_TRACE_PAD |
| NFT_TRACETYPE_UNSPEC = C.NFT_TRACETYPE_UNSPEC |
| NFT_TRACETYPE_POLICY = C.NFT_TRACETYPE_POLICY |
| NFT_TRACETYPE_RETURN = C.NFT_TRACETYPE_RETURN |
| NFT_TRACETYPE_RULE = C.NFT_TRACETYPE_RULE |
| NFTA_NG_UNSPEC = C.NFTA_NG_UNSPEC |
| NFTA_NG_DREG = C.NFTA_NG_DREG |
| NFTA_NG_MODULUS = C.NFTA_NG_MODULUS |
| NFTA_NG_TYPE = C.NFTA_NG_TYPE |
| NFTA_NG_OFFSET = C.NFTA_NG_OFFSET |
| NFT_NG_INCREMENTAL = C.NFT_NG_INCREMENTAL |
| NFT_NG_RANDOM = C.NFT_NG_RANDOM |
| ) |
| |
| type RTCTime C.struct_rtc_time |
| |
| type RTCWkAlrm C.struct_rtc_wkalrm |
| |
| type RTCPLLInfo C.struct_rtc_pll_info |
| |
| // BLKPG ioctl: |
| |
| type BlkpgIoctlArg C.struct_blkpg_ioctl_arg |
| |
| type BlkpgPartition C.struct_my_blkpg_partition |
| |
| const ( |
| BLKPG = C.BLKPG |
| BLKPG_ADD_PARTITION = C.BLKPG_ADD_PARTITION |
| BLKPG_DEL_PARTITION = C.BLKPG_DEL_PARTITION |
| BLKPG_RESIZE_PARTITION = C.BLKPG_RESIZE_PARTITION |
| ) |
| |
| // netlink namespace |
| // generated from |
| // perl -nlE '/^\s*(NETNSA\w+)/ && say "$1 = C.$1"' /usr/include/linux/net_namespace.h |
| const ( |
| NETNSA_NONE = C.NETNSA_NONE |
| NETNSA_NSID = C.NETNSA_NSID |
| NETNSA_PID = C.NETNSA_PID |
| NETNSA_FD = C.NETNSA_FD |
| ) |
| |
| // AF_XDP: |
| |
| type XDPRingOffset C.struct_xdp_ring_offset |
| |
| type XDPMmapOffsets C.struct_xdp_mmap_offsets |
| |
| type XDPUmemReg C.struct_xdp_umem_reg |
| |
| type XDPStatistics C.struct_xdp_statistics |
| |
| type XDPDesc C.struct_xdp_desc |
| |
| // NCSI generic netlink: |
| |
| const ( |
| NCSI_CMD_UNSPEC = C.NCSI_CMD_UNSPEC |
| NCSI_CMD_PKG_INFO = C.NCSI_CMD_PKG_INFO |
| NCSI_CMD_SET_INTERFACE = C.NCSI_CMD_SET_INTERFACE |
| NCSI_CMD_CLEAR_INTERFACE = C.NCSI_CMD_CLEAR_INTERFACE |
| NCSI_ATTR_UNSPEC = C.NCSI_ATTR_UNSPEC |
| NCSI_ATTR_IFINDEX = C.NCSI_ATTR_IFINDEX |
| NCSI_ATTR_PACKAGE_LIST = C.NCSI_ATTR_PACKAGE_LIST |
| NCSI_ATTR_PACKAGE_ID = C.NCSI_ATTR_PACKAGE_ID |
| NCSI_ATTR_CHANNEL_ID = C.NCSI_ATTR_CHANNEL_ID |
| NCSI_PKG_ATTR_UNSPEC = C.NCSI_PKG_ATTR_UNSPEC |
| NCSI_PKG_ATTR = C.NCSI_PKG_ATTR |
| NCSI_PKG_ATTR_ID = C.NCSI_PKG_ATTR_ID |
| NCSI_PKG_ATTR_FORCED = C.NCSI_PKG_ATTR_FORCED |
| NCSI_PKG_ATTR_CHANNEL_LIST = C.NCSI_PKG_ATTR_CHANNEL_LIST |
| NCSI_CHANNEL_ATTR_UNSPEC = C.NCSI_CHANNEL_ATTR_UNSPEC |
| NCSI_CHANNEL_ATTR = C.NCSI_CHANNEL_ATTR |
| NCSI_CHANNEL_ATTR_ID = C.NCSI_CHANNEL_ATTR_ID |
| NCSI_CHANNEL_ATTR_VERSION_MAJOR = C.NCSI_CHANNEL_ATTR_VERSION_MAJOR |
| NCSI_CHANNEL_ATTR_VERSION_MINOR = C.NCSI_CHANNEL_ATTR_VERSION_MINOR |
| NCSI_CHANNEL_ATTR_VERSION_STR = C.NCSI_CHANNEL_ATTR_VERSION_STR |
| NCSI_CHANNEL_ATTR_LINK_STATE = C.NCSI_CHANNEL_ATTR_LINK_STATE |
| NCSI_CHANNEL_ATTR_ACTIVE = C.NCSI_CHANNEL_ATTR_ACTIVE |
| NCSI_CHANNEL_ATTR_FORCED = C.NCSI_CHANNEL_ATTR_FORCED |
| NCSI_CHANNEL_ATTR_VLAN_LIST = C.NCSI_CHANNEL_ATTR_VLAN_LIST |
| NCSI_CHANNEL_ATTR_VLAN_ID = C.NCSI_CHANNEL_ATTR_VLAN_ID |
| ) |
| |
| // Timestamping |
| |
| type ScmTimestamping C.struct_scm_timestamping |
| |
| const ( |
| SOF_TIMESTAMPING_TX_HARDWARE = C.SOF_TIMESTAMPING_TX_HARDWARE |
| SOF_TIMESTAMPING_TX_SOFTWARE = C.SOF_TIMESTAMPING_TX_SOFTWARE |
| SOF_TIMESTAMPING_RX_HARDWARE = C.SOF_TIMESTAMPING_RX_HARDWARE |
| SOF_TIMESTAMPING_RX_SOFTWARE = C.SOF_TIMESTAMPING_RX_SOFTWARE |
| SOF_TIMESTAMPING_SOFTWARE = C.SOF_TIMESTAMPING_SOFTWARE |
| SOF_TIMESTAMPING_SYS_HARDWARE = C.SOF_TIMESTAMPING_SYS_HARDWARE |
| SOF_TIMESTAMPING_RAW_HARDWARE = C.SOF_TIMESTAMPING_RAW_HARDWARE |
| SOF_TIMESTAMPING_OPT_ID = C.SOF_TIMESTAMPING_OPT_ID |
| SOF_TIMESTAMPING_TX_SCHED = C.SOF_TIMESTAMPING_TX_SCHED |
| SOF_TIMESTAMPING_TX_ACK = C.SOF_TIMESTAMPING_TX_ACK |
| SOF_TIMESTAMPING_OPT_CMSG = C.SOF_TIMESTAMPING_OPT_CMSG |
| SOF_TIMESTAMPING_OPT_TSONLY = C.SOF_TIMESTAMPING_OPT_TSONLY |
| SOF_TIMESTAMPING_OPT_STATS = C.SOF_TIMESTAMPING_OPT_STATS |
| SOF_TIMESTAMPING_OPT_PKTINFO = C.SOF_TIMESTAMPING_OPT_PKTINFO |
| SOF_TIMESTAMPING_OPT_TX_SWHW = C.SOF_TIMESTAMPING_OPT_TX_SWHW |
| |
| SOF_TIMESTAMPING_LAST = C.SOF_TIMESTAMPING_LAST |
| SOF_TIMESTAMPING_MASK = C.SOF_TIMESTAMPING_MASK |
| |
| SCM_TSTAMP_SND = C.SCM_TSTAMP_SND |
| SCM_TSTAMP_SCHED = C.SCM_TSTAMP_SCHED |
| SCM_TSTAMP_ACK = C.SCM_TSTAMP_ACK |
| ) |
| |
| // Socket error queue |
| |
| type SockExtendedErr C.struct_sock_extended_err |
| |
| // Fanotify |
| |
| type FanotifyEventMetadata C.struct_fanotify_event_metadata |
| |
| type FanotifyResponse C.struct_fanotify_response |
| |
| // Crypto user configuration API. |
| |
| const ( |
| CRYPTO_MSG_BASE = C.CRYPTO_MSG_BASE |
| CRYPTO_MSG_NEWALG = C.CRYPTO_MSG_NEWALG |
| CRYPTO_MSG_DELALG = C.CRYPTO_MSG_DELALG |
| CRYPTO_MSG_UPDATEALG = C.CRYPTO_MSG_UPDATEALG |
| CRYPTO_MSG_GETALG = C.CRYPTO_MSG_GETALG |
| CRYPTO_MSG_DELRNG = C.CRYPTO_MSG_DELRNG |
| CRYPTO_MSG_GETSTAT = C.CRYPTO_MSG_GETSTAT |
| ) |
| |
| const ( |
| CRYPTOCFGA_UNSPEC = C.CRYPTOCFGA_UNSPEC |
| CRYPTOCFGA_PRIORITY_VAL = C.CRYPTOCFGA_PRIORITY_VAL |
| CRYPTOCFGA_REPORT_LARVAL = C.CRYPTOCFGA_REPORT_LARVAL |
| CRYPTOCFGA_REPORT_HASH = C.CRYPTOCFGA_REPORT_HASH |
| CRYPTOCFGA_REPORT_BLKCIPHER = C.CRYPTOCFGA_REPORT_BLKCIPHER |
| CRYPTOCFGA_REPORT_AEAD = C.CRYPTOCFGA_REPORT_AEAD |
| CRYPTOCFGA_REPORT_COMPRESS = C.CRYPTOCFGA_REPORT_COMPRESS |
| CRYPTOCFGA_REPORT_RNG = C.CRYPTOCFGA_REPORT_RNG |
| CRYPTOCFGA_REPORT_CIPHER = C.CRYPTOCFGA_REPORT_CIPHER |
| CRYPTOCFGA_REPORT_AKCIPHER = C.CRYPTOCFGA_REPORT_AKCIPHER |
| CRYPTOCFGA_REPORT_KPP = C.CRYPTOCFGA_REPORT_KPP |
| CRYPTOCFGA_REPORT_ACOMP = C.CRYPTOCFGA_REPORT_ACOMP |
| CRYPTOCFGA_STAT_LARVAL = C.CRYPTOCFGA_STAT_LARVAL |
| CRYPTOCFGA_STAT_HASH = C.CRYPTOCFGA_STAT_HASH |
| CRYPTOCFGA_STAT_BLKCIPHER = C.CRYPTOCFGA_STAT_BLKCIPHER |
| CRYPTOCFGA_STAT_AEAD = C.CRYPTOCFGA_STAT_AEAD |
| CRYPTOCFGA_STAT_COMPRESS = C.CRYPTOCFGA_STAT_COMPRESS |
| CRYPTOCFGA_STAT_RNG = C.CRYPTOCFGA_STAT_RNG |
| CRYPTOCFGA_STAT_CIPHER = C.CRYPTOCFGA_STAT_CIPHER |
| CRYPTOCFGA_STAT_AKCIPHER = C.CRYPTOCFGA_STAT_AKCIPHER |
| CRYPTOCFGA_STAT_KPP = C.CRYPTOCFGA_STAT_KPP |
| CRYPTOCFGA_STAT_ACOMP = C.CRYPTOCFGA_STAT_ACOMP |
| ) |
| |
| type CryptoUserAlg C.struct_crypto_user_alg |
| |
| type CryptoStatAEAD C.struct_crypto_stat_aead |
| |
| type CryptoStatAKCipher C.struct_crypto_stat_akcipher |
| |
| type CryptoStatCipher C.struct_crypto_stat_cipher |
| |
| type CryptoStatCompress C.struct_crypto_stat_compress |
| |
| type CryptoStatHash C.struct_crypto_stat_hash |
| |
| type CryptoStatKPP C.struct_crypto_stat_kpp |
| |
| type CryptoStatRNG C.struct_crypto_stat_rng |
| |
| type CryptoStatLarval C.struct_crypto_stat_larval |
| |
| type CryptoReportLarval C.struct_crypto_report_larval |
| |
| type CryptoReportHash C.struct_crypto_report_hash |
| |
| type CryptoReportCipher C.struct_crypto_report_cipher |
| |
| type CryptoReportBlkCipher C.struct_crypto_report_blkcipher |
| |
| type CryptoReportAEAD C.struct_crypto_report_aead |
| |
| type CryptoReportComp C.struct_crypto_report_comp |
| |
| type CryptoReportRNG C.struct_crypto_report_rng |
| |
| type CryptoReportAKCipher C.struct_crypto_report_akcipher |
| |
| type CryptoReportKPP C.struct_crypto_report_kpp |
| |
| type CryptoReportAcomp C.struct_crypto_report_acomp |
| |
| // generated by: |
| // perl -nlE '/^\s*(BPF_\w+)/ && say "$1 = C.$1"' include/uapi/linux/bpf.h |
| const ( |
| BPF_REG_0 = C.BPF_REG_0 |
| BPF_REG_1 = C.BPF_REG_1 |
| BPF_REG_2 = C.BPF_REG_2 |
| BPF_REG_3 = C.BPF_REG_3 |
| BPF_REG_4 = C.BPF_REG_4 |
| BPF_REG_5 = C.BPF_REG_5 |
| BPF_REG_6 = C.BPF_REG_6 |
| BPF_REG_7 = C.BPF_REG_7 |
| BPF_REG_8 = C.BPF_REG_8 |
| BPF_REG_9 = C.BPF_REG_9 |
| BPF_REG_10 = C.BPF_REG_10 |
| BPF_MAP_CREATE = C.BPF_MAP_CREATE |
| BPF_MAP_LOOKUP_ELEM = C.BPF_MAP_LOOKUP_ELEM |
| BPF_MAP_UPDATE_ELEM = C.BPF_MAP_UPDATE_ELEM |
| BPF_MAP_DELETE_ELEM = C.BPF_MAP_DELETE_ELEM |
| BPF_MAP_GET_NEXT_KEY = C.BPF_MAP_GET_NEXT_KEY |
| BPF_PROG_LOAD = C.BPF_PROG_LOAD |
| BPF_OBJ_PIN = C.BPF_OBJ_PIN |
| BPF_OBJ_GET = C.BPF_OBJ_GET |
| BPF_PROG_ATTACH = C.BPF_PROG_ATTACH |
| BPF_PROG_DETACH = C.BPF_PROG_DETACH |
| BPF_PROG_TEST_RUN = C.BPF_PROG_TEST_RUN |
| BPF_PROG_GET_NEXT_ID = C.BPF_PROG_GET_NEXT_ID |
| BPF_MAP_GET_NEXT_ID = C.BPF_MAP_GET_NEXT_ID |
| BPF_PROG_GET_FD_BY_ID = C.BPF_PROG_GET_FD_BY_ID |
| BPF_MAP_GET_FD_BY_ID = C.BPF_MAP_GET_FD_BY_ID |
| BPF_OBJ_GET_INFO_BY_FD = C.BPF_OBJ_GET_INFO_BY_FD |
| BPF_PROG_QUERY = C.BPF_PROG_QUERY |
| BPF_RAW_TRACEPOINT_OPEN = C.BPF_RAW_TRACEPOINT_OPEN |
| BPF_BTF_LOAD = C.BPF_BTF_LOAD |
| BPF_BTF_GET_FD_BY_ID = C.BPF_BTF_GET_FD_BY_ID |
| BPF_TASK_FD_QUERY = C.BPF_TASK_FD_QUERY |
| BPF_MAP_LOOKUP_AND_DELETE_ELEM = C.BPF_MAP_LOOKUP_AND_DELETE_ELEM |
| BPF_MAP_TYPE_UNSPEC = C.BPF_MAP_TYPE_UNSPEC |
| BPF_MAP_TYPE_HASH = C.BPF_MAP_TYPE_HASH |
| BPF_MAP_TYPE_ARRAY = C.BPF_MAP_TYPE_ARRAY |
| BPF_MAP_TYPE_PROG_ARRAY = C.BPF_MAP_TYPE_PROG_ARRAY |
| BPF_MAP_TYPE_PERF_EVENT_ARRAY = C.BPF_MAP_TYPE_PERF_EVENT_ARRAY |
| BPF_MAP_TYPE_PERCPU_HASH = C.BPF_MAP_TYPE_PERCPU_HASH |
| BPF_MAP_TYPE_PERCPU_ARRAY = C.BPF_MAP_TYPE_PERCPU_ARRAY |
| BPF_MAP_TYPE_STACK_TRACE = C.BPF_MAP_TYPE_STACK_TRACE |
| BPF_MAP_TYPE_CGROUP_ARRAY = C.BPF_MAP_TYPE_CGROUP_ARRAY |
| BPF_MAP_TYPE_LRU_HASH = C.BPF_MAP_TYPE_LRU_HASH |
| BPF_MAP_TYPE_LRU_PERCPU_HASH = C.BPF_MAP_TYPE_LRU_PERCPU_HASH |
| BPF_MAP_TYPE_LPM_TRIE = C.BPF_MAP_TYPE_LPM_TRIE |
| BPF_MAP_TYPE_ARRAY_OF_MAPS = C.BPF_MAP_TYPE_ARRAY_OF_MAPS |
| BPF_MAP_TYPE_HASH_OF_MAPS = C.BPF_MAP_TYPE_HASH_OF_MAPS |
| BPF_MAP_TYPE_DEVMAP = C.BPF_MAP_TYPE_DEVMAP |
| BPF_MAP_TYPE_SOCKMAP = C.BPF_MAP_TYPE_SOCKMAP |
| BPF_MAP_TYPE_CPUMAP = C.BPF_MAP_TYPE_CPUMAP |
| BPF_MAP_TYPE_XSKMAP = C.BPF_MAP_TYPE_XSKMAP |
| BPF_MAP_TYPE_SOCKHASH = C.BPF_MAP_TYPE_SOCKHASH |
| BPF_MAP_TYPE_CGROUP_STORAGE = C.BPF_MAP_TYPE_CGROUP_STORAGE |
| BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = C.BPF_MAP_TYPE_REUSEPORT_SOCKARRAY |
| BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = C.BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE |
| BPF_MAP_TYPE_QUEUE = C.BPF_MAP_TYPE_QUEUE |
| BPF_MAP_TYPE_STACK = C.BPF_MAP_TYPE_STACK |
| BPF_PROG_TYPE_UNSPEC = C.BPF_PROG_TYPE_UNSPEC |
| BPF_PROG_TYPE_SOCKET_FILTER = C.BPF_PROG_TYPE_SOCKET_FILTER |
| BPF_PROG_TYPE_KPROBE = C.BPF_PROG_TYPE_KPROBE |
| BPF_PROG_TYPE_SCHED_CLS = C.BPF_PROG_TYPE_SCHED_CLS |
| BPF_PROG_TYPE_SCHED_ACT = C.BPF_PROG_TYPE_SCHED_ACT |
| BPF_PROG_TYPE_TRACEPOINT = C.BPF_PROG_TYPE_TRACEPOINT |
| BPF_PROG_TYPE_XDP = C.BPF_PROG_TYPE_XDP |
| BPF_PROG_TYPE_PERF_EVENT = C.BPF_PROG_TYPE_PERF_EVENT |
| BPF_PROG_TYPE_CGROUP_SKB = C.BPF_PROG_TYPE_CGROUP_SKB |
| BPF_PROG_TYPE_CGROUP_SOCK = C.BPF_PROG_TYPE_CGROUP_SOCK |
| BPF_PROG_TYPE_LWT_IN = C.BPF_PROG_TYPE_LWT_IN |
| BPF_PROG_TYPE_LWT_OUT = C.BPF_PROG_TYPE_LWT_OUT |
| BPF_PROG_TYPE_LWT_XMIT = C.BPF_PROG_TYPE_LWT_XMIT |
| BPF_PROG_TYPE_SOCK_OPS = C.BPF_PROG_TYPE_SOCK_OPS |
| BPF_PROG_TYPE_SK_SKB = C.BPF_PROG_TYPE_SK_SKB |
| BPF_PROG_TYPE_CGROUP_DEVICE = C.BPF_PROG_TYPE_CGROUP_DEVICE |
| BPF_PROG_TYPE_SK_MSG = C.BPF_PROG_TYPE_SK_MSG |
| BPF_PROG_TYPE_RAW_TRACEPOINT = C.BPF_PROG_TYPE_RAW_TRACEPOINT |
| BPF_PROG_TYPE_CGROUP_SOCK_ADDR = C.BPF_PROG_TYPE_CGROUP_SOCK_ADDR |
| BPF_PROG_TYPE_LWT_SEG6LOCAL = C.BPF_PROG_TYPE_LWT_SEG6LOCAL |
| BPF_PROG_TYPE_LIRC_MODE2 = C.BPF_PROG_TYPE_LIRC_MODE2 |
| BPF_PROG_TYPE_SK_REUSEPORT = C.BPF_PROG_TYPE_SK_REUSEPORT |
| BPF_PROG_TYPE_FLOW_DISSECTOR = C.BPF_PROG_TYPE_FLOW_DISSECTOR |
| BPF_CGROUP_INET_INGRESS = C.BPF_CGROUP_INET_INGRESS |
| BPF_CGROUP_INET_EGRESS = C.BPF_CGROUP_INET_EGRESS |
| BPF_CGROUP_INET_SOCK_CREATE = C.BPF_CGROUP_INET_SOCK_CREATE |
| BPF_CGROUP_SOCK_OPS = C.BPF_CGROUP_SOCK_OPS |
| BPF_SK_SKB_STREAM_PARSER = C.BPF_SK_SKB_STREAM_PARSER |
| BPF_SK_SKB_STREAM_VERDICT = C.BPF_SK_SKB_STREAM_VERDICT |
| BPF_CGROUP_DEVICE = C.BPF_CGROUP_DEVICE |
| BPF_SK_MSG_VERDICT = C.BPF_SK_MSG_VERDICT |
| BPF_CGROUP_INET4_BIND = C.BPF_CGROUP_INET4_BIND |
| BPF_CGROUP_INET6_BIND = C.BPF_CGROUP_INET6_BIND |
| BPF_CGROUP_INET4_CONNECT = C.BPF_CGROUP_INET4_CONNECT |
| BPF_CGROUP_INET6_CONNECT = C.BPF_CGROUP_INET6_CONNECT |
| BPF_CGROUP_INET4_POST_BIND = C.BPF_CGROUP_INET4_POST_BIND |
| BPF_CGROUP_INET6_POST_BIND = C.BPF_CGROUP_INET6_POST_BIND |
| BPF_CGROUP_UDP4_SENDMSG = C.BPF_CGROUP_UDP4_SENDMSG |
| BPF_CGROUP_UDP6_SENDMSG = C.BPF_CGROUP_UDP6_SENDMSG |
| BPF_LIRC_MODE2 = C.BPF_LIRC_MODE2 |
| BPF_FLOW_DISSECTOR = C.BPF_FLOW_DISSECTOR |
| BPF_STACK_BUILD_ID_EMPTY = C.BPF_STACK_BUILD_ID_EMPTY |
| BPF_STACK_BUILD_ID_VALID = C.BPF_STACK_BUILD_ID_VALID |
| BPF_STACK_BUILD_ID_IP = C.BPF_STACK_BUILD_ID_IP |
| BPF_ADJ_ROOM_NET = C.BPF_ADJ_ROOM_NET |
| BPF_HDR_START_MAC = C.BPF_HDR_START_MAC |
| BPF_HDR_START_NET = C.BPF_HDR_START_NET |
| BPF_LWT_ENCAP_SEG6 = C.BPF_LWT_ENCAP_SEG6 |
| BPF_LWT_ENCAP_SEG6_INLINE = C.BPF_LWT_ENCAP_SEG6_INLINE |
| BPF_OK = C.BPF_OK |
| BPF_DROP = C.BPF_DROP |
| BPF_REDIRECT = C.BPF_REDIRECT |
| BPF_SOCK_OPS_VOID = C.BPF_SOCK_OPS_VOID |
| BPF_SOCK_OPS_TIMEOUT_INIT = C.BPF_SOCK_OPS_TIMEOUT_INIT |
| BPF_SOCK_OPS_RWND_INIT = C.BPF_SOCK_OPS_RWND_INIT |
| BPF_SOCK_OPS_TCP_CONNECT_CB = C.BPF_SOCK_OPS_TCP_CONNECT_CB |
| BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = C.BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB |
| BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = C.BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB |
| BPF_SOCK_OPS_NEEDS_ECN = C.BPF_SOCK_OPS_NEEDS_ECN |
| BPF_SOCK_OPS_BASE_RTT = C.BPF_SOCK_OPS_BASE_RTT |
| BPF_SOCK_OPS_RTO_CB = C.BPF_SOCK_OPS_RTO_CB |
| BPF_SOCK_OPS_RETRANS_CB = C.BPF_SOCK_OPS_RETRANS_CB |
| BPF_SOCK_OPS_STATE_CB = C.BPF_SOCK_OPS_STATE_CB |
| BPF_SOCK_OPS_TCP_LISTEN_CB = C.BPF_SOCK_OPS_TCP_LISTEN_CB |
| BPF_TCP_ESTABLISHED = C.BPF_TCP_ESTABLISHED |
| BPF_TCP_SYN_SENT = C.BPF_TCP_SYN_SENT |
| BPF_TCP_SYN_RECV = C.BPF_TCP_SYN_RECV |
| BPF_TCP_FIN_WAIT1 = C.BPF_TCP_FIN_WAIT1 |
| BPF_TCP_FIN_WAIT2 = C.BPF_TCP_FIN_WAIT2 |
| BPF_TCP_TIME_WAIT = C.BPF_TCP_TIME_WAIT |
| BPF_TCP_CLOSE = C.BPF_TCP_CLOSE |
| BPF_TCP_CLOSE_WAIT = C.BPF_TCP_CLOSE_WAIT |
| BPF_TCP_LAST_ACK = C.BPF_TCP_LAST_ACK |
| BPF_TCP_LISTEN = C.BPF_TCP_LISTEN |
| BPF_TCP_CLOSING = C.BPF_TCP_CLOSING |
| BPF_TCP_NEW_SYN_RECV = C.BPF_TCP_NEW_SYN_RECV |
| BPF_TCP_MAX_STATES = C.BPF_TCP_MAX_STATES |
| BPF_FIB_LKUP_RET_SUCCESS = C.BPF_FIB_LKUP_RET_SUCCESS |
| BPF_FIB_LKUP_RET_BLACKHOLE = C.BPF_FIB_LKUP_RET_BLACKHOLE |
| BPF_FIB_LKUP_RET_UNREACHABLE = C.BPF_FIB_LKUP_RET_UNREACHABLE |
| BPF_FIB_LKUP_RET_PROHIBIT = C.BPF_FIB_LKUP_RET_PROHIBIT |
| BPF_FIB_LKUP_RET_NOT_FWDED = C.BPF_FIB_LKUP_RET_NOT_FWDED |
| BPF_FIB_LKUP_RET_FWD_DISABLED = C.BPF_FIB_LKUP_RET_FWD_DISABLED |
| BPF_FIB_LKUP_RET_UNSUPP_LWT = C.BPF_FIB_LKUP_RET_UNSUPP_LWT |
| BPF_FIB_LKUP_RET_NO_NEIGH = C.BPF_FIB_LKUP_RET_NO_NEIGH |
| BPF_FIB_LKUP_RET_FRAG_NEEDED = C.BPF_FIB_LKUP_RET_FRAG_NEEDED |
| BPF_FD_TYPE_RAW_TRACEPOINT = C.BPF_FD_TYPE_RAW_TRACEPOINT |
| BPF_FD_TYPE_TRACEPOINT = C.BPF_FD_TYPE_TRACEPOINT |
| BPF_FD_TYPE_KPROBE = C.BPF_FD_TYPE_KPROBE |
| BPF_FD_TYPE_KRETPROBE = C.BPF_FD_TYPE_KRETPROBE |
| BPF_FD_TYPE_UPROBE = C.BPF_FD_TYPE_UPROBE |
| BPF_FD_TYPE_URETPROBE = C.BPF_FD_TYPE_URETPROBE |
| ) |
| |
| // generated by: |
| // perl -nlE '/^\s*(RTNLGRP_\w+)/ && say "$1 = C.$1"' include/uapi/linux/rtnetlink.h |
| const ( |
| RTNLGRP_NONE = C.RTNLGRP_NONE |
| RTNLGRP_LINK = C.RTNLGRP_LINK |
| RTNLGRP_NOTIFY = C.RTNLGRP_NOTIFY |
| RTNLGRP_NEIGH = C.RTNLGRP_NEIGH |
| RTNLGRP_TC = C.RTNLGRP_TC |
| RTNLGRP_IPV4_IFADDR = C.RTNLGRP_IPV4_IFADDR |
| RTNLGRP_IPV4_MROUTE = C.RTNLGRP_IPV4_MROUTE |
| RTNLGRP_IPV4_ROUTE = C.RTNLGRP_IPV4_ROUTE |
| RTNLGRP_IPV4_RULE = C.RTNLGRP_IPV4_RULE |
| RTNLGRP_IPV6_IFADDR = C.RTNLGRP_IPV6_IFADDR |
| RTNLGRP_IPV6_MROUTE = C.RTNLGRP_IPV6_MROUTE |
| RTNLGRP_IPV6_ROUTE = C.RTNLGRP_IPV6_ROUTE |
| RTNLGRP_IPV6_IFINFO = C.RTNLGRP_IPV6_IFINFO |
| RTNLGRP_DECnet_IFADDR = C.RTNLGRP_DECnet_IFADDR |
| RTNLGRP_NOP2 = C.RTNLGRP_NOP2 |
| RTNLGRP_DECnet_ROUTE = C.RTNLGRP_DECnet_ROUTE |
| RTNLGRP_DECnet_RULE = C.RTNLGRP_DECnet_RULE |
| RTNLGRP_NOP4 = C.RTNLGRP_NOP4 |
| RTNLGRP_IPV6_PREFIX = C.RTNLGRP_IPV6_PREFIX |
| RTNLGRP_IPV6_RULE = C.RTNLGRP_IPV6_RULE |
| RTNLGRP_ND_USEROPT = C.RTNLGRP_ND_USEROPT |
| RTNLGRP_PHONET_IFADDR = C.RTNLGRP_PHONET_IFADDR |
| RTNLGRP_PHONET_ROUTE = C.RTNLGRP_PHONET_ROUTE |
| RTNLGRP_DCB = C.RTNLGRP_DCB |
| RTNLGRP_IPV4_NETCONF = C.RTNLGRP_IPV4_NETCONF |
| RTNLGRP_IPV6_NETCONF = C.RTNLGRP_IPV6_NETCONF |
| RTNLGRP_MDB = C.RTNLGRP_MDB |
| RTNLGRP_MPLS_ROUTE = C.RTNLGRP_MPLS_ROUTE |
| RTNLGRP_NSID = C.RTNLGRP_NSID |
| RTNLGRP_MPLS_NETCONF = C.RTNLGRP_MPLS_NETCONF |
| RTNLGRP_IPV4_MROUTE_R = C.RTNLGRP_IPV4_MROUTE_R |
| RTNLGRP_IPV6_MROUTE_R = C.RTNLGRP_IPV6_MROUTE_R |
| RTNLGRP_NEXTHOP = C.RTNLGRP_NEXTHOP |
| ) |
| |
| // Capabilities |
| |
| type CapUserHeader C.struct___user_cap_header_struct |
| |
| type CapUserData C.struct___user_cap_data_struct |
| |
| const ( |
| LINUX_CAPABILITY_VERSION_1 = C._LINUX_CAPABILITY_VERSION_1 |
| LINUX_CAPABILITY_VERSION_2 = C._LINUX_CAPABILITY_VERSION_2 |
| LINUX_CAPABILITY_VERSION_3 = C._LINUX_CAPABILITY_VERSION_3 |
| ) |
| |
| // Loop devices |
| |
| const ( |
| LO_FLAGS_READ_ONLY = C.LO_FLAGS_READ_ONLY |
| LO_FLAGS_AUTOCLEAR = C.LO_FLAGS_AUTOCLEAR |
| LO_FLAGS_PARTSCAN = C.LO_FLAGS_PARTSCAN |
| LO_FLAGS_DIRECT_IO = C.LO_FLAGS_DIRECT_IO |
| ) |
| |
| type LoopInfo C.struct_loop_info |
| type LoopInfo64 C.struct_loop_info64 |
| |
| // AF_TIPC |
| |
| type TIPCSocketAddr C.struct_tipc_socket_addr |
| |
| type TIPCServiceRange C.struct_tipc_service_range |
| |
| type TIPCServiceName C.struct_tipc_service_name |
| |
| type TIPCSubscr C.struct_tipc_subscr |
| |
| type TIPCEvent C.struct_tipc_event |
| |
| type TIPCGroupReq C.struct_tipc_group_req |
| |
| type TIPCSIOCLNReq C.struct_tipc_sioc_ln_req |
| |
| type TIPCSIOCNodeIDReq C.struct_tipc_sioc_nodeid_req |
| |
| const ( |
| TIPC_CLUSTER_SCOPE = C.TIPC_CLUSTER_SCOPE |
| TIPC_NODE_SCOPE = C.TIPC_NODE_SCOPE |
| ) |
| |
| const ( |
| SYSLOG_ACTION_CLOSE = 0 |
| SYSLOG_ACTION_OPEN = 1 |
| SYSLOG_ACTION_READ = 2 |
| SYSLOG_ACTION_READ_ALL = 3 |
| SYSLOG_ACTION_READ_CLEAR = 4 |
| SYSLOG_ACTION_CLEAR = 5 |
| SYSLOG_ACTION_CONSOLE_OFF = 6 |
| SYSLOG_ACTION_CONSOLE_ON = 7 |
| SYSLOG_ACTION_CONSOLE_LEVEL = 8 |
| SYSLOG_ACTION_SIZE_UNREAD = 9 |
| SYSLOG_ACTION_SIZE_BUFFER = 10 |
| ) |