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