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