Documentation ¶
Overview ¶
Package linux contains the constants and types needed to interface with a Linux kernel.
Index ¶
- Constants
- Variables
- func ControlCharacter(c byte) uint8
- func DecodeDeviceID(rdev uint32) (uint16, uint32)
- func ForEachSignal(mask SignalSet, f func(sig Signal))
- func MakeDeviceID(major uint16, minor uint32) uint32
- type BPFAction
- type BPFInstruction
- type CapUserData
- type CapUserHeader
- type Capability
- type ClockT
- type ControlMessageCredentials
- type ControlMessageHeader
- type ControlMessageRights
- type EpollEvent
- type Errno
- type FOwnerEx
- type FileMode
- type Flock
- type IFConf
- type IFMap
- type IFReq
- type IPCPerm
- type IPTEntry
- type IPTGetEntries
- type IPTGetinfo
- type IPTIP
- type IPTReplace
- type InetAddr
- type InetMulticastRequest
- type InetMulticastRequestWithNIC
- type InterfaceAddrMessage
- type InterfaceInfoMessage
- type ItimerVal
- type Itimerspec
- type KernelIPTEntry
- type KernelIPTGetEntries
- type KernelTermios
- func (t *KernelTermios) CEnabled(flag uint32) bool
- func (t *KernelTermios) FromTermios(term Termios)
- func (t *KernelTermios) IEnabled(flag uint32) bool
- func (t *KernelTermios) IsEOF(c byte) bool
- func (t *KernelTermios) IsTerminating(cBytes []byte) bool
- func (t *KernelTermios) LEnabled(flag uint32) bool
- func (t *KernelTermios) OEnabled(flag uint32) bool
- func (t *KernelTermios) ToTermios() Termios
- type Linger
- type NetlinkAttrHeader
- type NetlinkErrorMessage
- type NetlinkMessageHeader
- type PollFD
- type RLimit
- type RouteMessage
- type Rusage
- type Sembuf
- type SemidDS
- type ShmInfo
- type ShmParams
- type ShmidDS
- type Sigevent
- type Signal
- type SignalSet
- type SignalfdSiginfo
- type SockAddr
- type SockAddrInet
- type SockAddrInet6
- type SockAddrLink
- type SockAddrNetlink
- type SockAddrUnix
- type SockType
- type Stat
- type Statfs
- type Statx
- type StatxTimestamp
- type Sysinfo
- type TCPInfo
- type Termios
- type TimeT
- type TimerID
- type Timespec
- type Timeval
- type Tms
- type Utime
- type UtsName
- type WindowSize
- type Winsize
- type XTCounters
- type XTEntryMatch
- type XTEntryTarget
- type XTErrorTarget
- type XTStandardTarget
Constants ¶
const ( // AUDIT_ARCH_X86_64 identifies AMD64. AUDIT_ARCH_X86_64 = 0xc000003e // AUDIT_ARCH_AARCH64 identifies ARM64. AUDIT_ARCH_AARCH64 = 0xc00000b7 )
Audit numbers identify different system call APIs, from <uapi/linux/audit.h>
const ( CAP_CHOWN = Capability(0) CAP_DAC_OVERRIDE = Capability(1) CAP_DAC_READ_SEARCH = Capability(2) CAP_FOWNER = Capability(3) CAP_FSETID = Capability(4) CAP_KILL = Capability(5) CAP_SETGID = Capability(6) CAP_SETUID = Capability(7) CAP_SETPCAP = Capability(8) CAP_LINUX_IMMUTABLE = Capability(9) CAP_NET_BIND_SERVICE = Capability(10) CAP_NET_BROADCAST = Capability(11) CAP_NET_ADMIN = Capability(12) CAP_NET_RAW = Capability(13) CAP_IPC_LOCK = Capability(14) CAP_IPC_OWNER = Capability(15) CAP_SYS_MODULE = Capability(16) CAP_SYS_RAWIO = Capability(17) CAP_SYS_CHROOT = Capability(18) CAP_SYS_PTRACE = Capability(19) CAP_SYS_PACCT = Capability(20) CAP_SYS_ADMIN = Capability(21) CAP_SYS_BOOT = Capability(22) CAP_SYS_NICE = Capability(23) CAP_SYS_RESOURCE = Capability(24) CAP_SYS_TIME = Capability(25) CAP_SYS_TTY_CONFIG = Capability(26) CAP_MKNOD = Capability(27) CAP_LEASE = Capability(28) CAP_AUDIT_WRITE = Capability(29) CAP_AUDIT_CONTROL = Capability(30) CAP_SETFCAP = Capability(31) CAP_MAC_OVERRIDE = Capability(32) CAP_MAC_ADMIN = Capability(33) CAP_SYSLOG = Capability(34) CAP_WAKE_ALARM = Capability(35) CAP_BLOCK_SUSPEND = Capability(36) CAP_AUDIT_READ = Capability(37) // CAP_LAST_CAP is the highest-numbered capability. // Seach for "CAP_LAST_CAP" to find other places that need to change. CAP_LAST_CAP = CAP_AUDIT_READ )
Capabilities defined by Linux. Taken from the kernel's include/uapi/linux/capability.h. See capabilities(7) or that file for more detailed capability descriptions.
const ( // LINUX_CAPABILITY_VERSION_1 causes the data pointer to be // interpreted as a pointer to a single cap_user_data_t. Since capability // sets are 64 bits and the "capability sets" in cap_user_data_t are 32 // bits only, this causes the upper 32 bits to be implicitly 0. LINUX_CAPABILITY_VERSION_1 = 0x19980330 // LINUX_CAPABILITY_VERSION_2 and LINUX_CAPABILITY_VERSION_3 cause the // data pointer to be interpreted as a pointer to an array of 2 // cap_user_data_t, using the second to store the 32 MSB of each capability // set. Versions 2 and 3 are identical, but Linux printk's a warning on use // of version 2 due to a userspace API defect. LINUX_CAPABILITY_VERSION_2 = 0x20071026 LINUX_CAPABILITY_VERSION_3 = 0x20080522 // HighestCapabilityVersion is the highest supported // LINUX_CAPABILITY_VERSION_* version. HighestCapabilityVersion = LINUX_CAPABILITY_VERSION_3 )
Version numbers used by the capget/capset syscalls, defined in Linux's include/uapi/linux/capability.h.
const ( CLONE_VM = 0x100 CLONE_FS = 0x200 CLONE_FILES = 0x400 CLONE_SIGHAND = 0x800 CLONE_PARENT = 0x8000 CLONE_PTRACE = 0x2000 CLONE_VFORK = 0x4000 CLONE_THREAD = 0x10000 CLONE_NEWNS = 0x20000 CLONE_SYSVSEM = 0x40000 CLONE_SETTLS = 0x80000 CLONE_PARENT_SETTID = 0x100000 CLONE_CHILD_CLEARTID = 0x200000 CLONE_DETACHED = 0x400000 CLONE_UNTRACED = 0x800000 CLONE_CHILD_SETTID = 0x1000000 CLONE_NEWUTS = 0x4000000 CLONE_NEWIPC = 0x8000000 CLONE_NEWUSER = 0x10000000 CLONE_NEWPID = 0x20000000 CLONE_NEWNET = 0x40000000 CLONE_IO = 0x80000000 )
Clone constants per clone(2).
const ( // TTYAUX_MAJOR is the major device number for alternate TTY devices. TTYAUX_MAJOR = 5 // UNIX98_PTY_MASTER_MAJOR is the initial major device number for // Unix98 PTY masters. UNIX98_PTY_MASTER_MAJOR = 128 // UNIX98_PTY_SLAVE_MAJOR is the initial major device number for // Unix98 PTY slaves. UNIX98_PTY_SLAVE_MAJOR = 136 )
Character device IDs.
See Documentations/devices.txt and uapi/linux/major.h.
const ( // AT_NULL is the end of the auxiliary vector. AT_NULL = 0 // AT_IGNORE should be ignored. AT_IGNORE = 1 // AT_EXECFD is the file descriptor of the program. AT_EXECFD = 2 // AT_PHDR points to the program headers. AT_PHDR = 3 // AT_PHENT is the size of a program header entry. AT_PHENT = 4 // AT_PHNUM is the number of program headers. AT_PHNUM = 5 // AT_PAGESZ is the system page size. AT_PAGESZ = 6 // AT_BASE is the base address of the interpreter. AT_BASE = 7 // AT_FLAGS are flags. AT_FLAGS = 8 // AT_ENTRY is the program entry point. AT_ENTRY = 9 // AT_NOTELF indicates that the program is not an ELF binary. AT_NOTELF = 10 // AT_UID is the real UID. AT_UID = 11 // AT_EUID is the effective UID. AT_EUID = 12 // AT_GID is the real GID. AT_GID = 13 // AT_EGID is the effective GID. AT_EGID = 14 // AT_PLATFORM is a string identifying the CPU. AT_PLATFORM = 15 // AT_HWCAP are arch-dependent CPU capabilities. AT_HWCAP = 16 // AT_CLKTCK is the frequency used by times(2). AT_CLKTCK = 17 // AT_SECURE indicate secure mode. AT_SECURE = 23 // AT_BASE_PLATFORM is a string identifying the "real" platform. It may // differ from AT_PLATFORM. AT_BASE_PLATFORM = 24 // AT_RANDOM points to 16-bytes of random data. AT_RANDOM = 25 // AT_HWCAP2 is an extension of AT_HWCAP. AT_HWCAP2 = 26 // AT_EXECFN is the path used to execute the program. AT_EXECFN = 31 // AT_SYSINFO_EHDR is the address of the VDSO. AT_SYSINFO_EHDR = 33 )
Linux auxiliary vector entry types.
const ( // NT_PRSTATUS is for general purpose register. NT_PRSTATUS = 0x1 // NT_PRFPREG is for float point register. NT_PRFPREG = 0x2 // NT_X86_XSTATE is for x86 extended state using xsave. NT_X86_XSTATE = 0x202 )
ELF ET_CORE and ptrace GETREGSET/SETREGSET register set types.
See include/uapi/linux/elf.h.
const ( EPOLLIN = 0x1 EPOLLPRI = 0x2 EPOLLOUT = 0x4 EPOLLERR = 0x8 EPOLLHUP = 0x10 EPOLLRDNORM = 0x40 EPOLLRDBAND = 0x80 EPOLLWRNORM = 0x100 EPOLLWRBAND = 0x200 EPOLLMSG = 0x400 EPOLLRDHUP = 0x2000 )
Event masks.
const ( EPOLLET = 0x80000000 EPOLLONESHOT = 0x40000000 )
Per-file descriptor flags.
const ( EPOLL_CLOEXEC = 0x80000 EPOLL_NONBLOCK = 0x800 )
Operation flags.
const ( EPOLL_CTL_ADD = 0x1 EPOLL_CTL_DEL = 0x2 EPOLL_CTL_MOD = 0x3 )
Control operations.
const ( EFD_SEMAPHORE = 0x1 EFD_CLOEXEC = O_CLOEXEC EFD_NONBLOCK = O_NONBLOCK )
Constants for eventfd2(2).
const ( F_DUPFD = 0 F_GETFD = 1 F_SETFD = 2 F_GETFL = 3 F_SETFL = 4 F_SETLK = 6 F_SETLKW = 7 F_SETOWN = 8 F_GETOWN = 9 F_SETOWN_EX = 15 F_GETOWN_EX = 16 F_DUPFD_CLOEXEC = 1024 + 6 F_SETPIPE_SZ = 1024 + 7 F_GETPIPE_SZ = 1024 + 8 )
Commands from linux/fcntl.h.
const ( F_RDLCK = 0 F_WRLCK = 1 F_UNLCK = 2 )
Commands for F_SETLK.
const ( F_OWNER_TID = 0 F_OWNER_PID = 1 F_OWNER_PGRP = 2 )
Flags for F_SETOWN_EX and F_GETOWN_EX.
const ( O_ACCMODE = 000000003 O_RDONLY = 000000000 O_WRONLY = 000000001 O_RDWR = 000000002 O_CREAT = 000000100 O_EXCL = 000000200 O_NOCTTY = 000000400 O_TRUNC = 000001000 O_APPEND = 000002000 O_NONBLOCK = 000004000 O_DSYNC = 000010000 O_ASYNC = 000020000 O_DIRECT = 000040000 O_LARGEFILE = 000100000 O_DIRECTORY = 000200000 O_NOFOLLOW = 000400000 O_NOATIME = 001000000 O_CLOEXEC = 002000000 O_SYNC = 004000000 // __O_SYNC in Linux O_PATH = 010000000 O_TMPFILE = 020000000 // __O_TMPFILE in Linux )
Constants for open(2).
const ( MS_RDONLY = 0x1 MS_NOSUID = 0x2 MS_NODEV = 0x4 MS_NOEXEC = 0x8 MS_SYNCHRONOUS = 0x10 MS_REMOUNT = 0x20 MS_MANDLOCK = 0x40 MS_DIRSYNC = 0x80 MS_NOATIME = 0x400 MS_NODIRATIME = 0x800 MS_BIND = 0x1000 MS_MOVE = 0x2000 MS_REC = 0x4000 MS_POSIXACL = 0x10000 MS_UNBINDABLE = 0x20000 MS_PRIVATE = 0x40000 MS_SLAVE = 0x80000 MS_SHARED = 0x100000 MS_RELATIME = 0x200000 MS_KERNMOUNT = 0x400000 MS_I_VERSION = 0x800000 MS_STRICTATIME = 0x1000000 MS_MGC_VAL = 0xC0ED0000 MS_MGC_MSK = 0xffff0000 )
Constants for mount(2).
const ( MNT_FORCE = 0x1 MNT_DETACH = 0x2 MNT_EXPIRE = 0x4 UMOUNT_NOFOLLOW = 0x8 )
Constants for umount2(2).
const ( AT_SYMLINK_FOLLOW = 0x400 AT_EMPTY_PATH = 0x1000 )
Constants for linkat(2) and fchownat(2).
const ( UTIME_NOW = ((1 << 30) - 1) UTIME_OMIT = ((1 << 30) - 2) )
Special values for the ns field in utimensat(2).
const ( LOCK_SH = 1 // shared lock LOCK_EX = 2 // exclusive lock LOCK_NB = 4 // or'd with one of the above to prevent blocking LOCK_UN = 8 // remove lock )
Constants for flock(2).
const ( S_IFMT = 0170000 S_IFSOCK = 0140000 S_IFLNK = 0120000 S_IFREG = 0100000 S_IFBLK = 060000 S_IFDIR = 040000 S_IFCHR = 020000 S_IFIFO = 010000 FileTypeMask = S_IFMT ModeSocket = S_IFSOCK ModeSymlink = S_IFLNK ModeRegular = S_IFREG ModeBlockDevice = S_IFBLK ModeDirectory = S_IFDIR ModeCharacterDevice = S_IFCHR ModeNamedPipe = S_IFIFO S_ISUID = 04000 S_ISGID = 02000 S_ISVTX = 01000 ModeSetUID = S_ISUID ModeSetGID = S_ISGID ModeSticky = S_ISVTX ModeUserAll = 0700 ModeUserRead = 0400 ModeUserWrite = 0200 ModeUserExec = 0100 ModeGroupAll = 0070 ModeGroupRead = 0040 ModeGroupWrite = 0020 ModeGroupExec = 0010 ModeOtherAll = 0007 ModeOtherRead = 0004 ModeOtherWrite = 0002 ModeOtherExec = 0001 PermissionsMask = 0777 )
Values for mode_t.
const ( DT_UNKNOWN = 0 DT_FIFO = 1 DT_CHR = 2 DT_DIR = 4 DT_BLK = 6 DT_REG = 8 DT_LNK = 10 DT_SOCK = 12 DT_WHT = 14 )
Values for linux_dirent64.d_type.
const ( // Note: gVisor does not implement the RWF_HIPRI feature, but the flag is // accepted as a valid flag argument for preadv2/pwritev2. RWF_HIPRI = 0x00000001 RWF_DSYNC = 0x00000002 RWF_SYNC = 0x00000004 RWF_VALID = RWF_HIPRI | RWF_DSYNC | RWF_SYNC )
Values for preadv2/pwritev2.
const ( AT_STATX_SYNC_TYPE = 0x6000 AT_STATX_SYNC_AS_STAT = 0x0000 AT_STATX_FORCE_SYNC = 0x2000 AT_STATX_DONT_SYNC = 0x4000 )
Flags for statx.
const ( STATX_TYPE = 0x00000001 STATX_MODE = 0x00000002 STATX_NLINK = 0x00000004 STATX_UID = 0x00000008 STATX_GID = 0x00000010 STATX_ATIME = 0x00000020 STATX_MTIME = 0x00000040 STATX_CTIME = 0x00000080 STATX_INO = 0x00000100 STATX_SIZE = 0x00000200 STATX_BLOCKS = 0x00000400 STATX_BASIC_STATS = 0x000007ff STATX_BTIME = 0x00000800 STATX_ALL = 0x00000fff STATX__RESERVED = 0x80000000 )
Mask values for statx.
const ( STATX_ATTR_COMPRESSED = 0x00000004 STATX_ATTR_IMMUTABLE = 0x00000010 STATX_ATTR_APPEND = 0x00000020 STATX_ATTR_NODUMP = 0x00000040 STATX_ATTR_ENCRYPTED = 0x00000800 STATX_ATTR_AUTOMOUNT = 0x00001000 )
Bitmasks for Statx.Attributes and Statx.AttributesMask, from include/uapi/linux/stat.h.
const ( MFD_CLOEXEC = 0x0001 MFD_ALLOW_SEALING = 0x0002 )
Constants for memfd_create(2). Source: include/uapi/linux/memfd.h
const ( F_LINUX_SPECIFIC_BASE = 1024 F_ADD_SEALS = F_LINUX_SPECIFIC_BASE + 9 F_GET_SEALS = F_LINUX_SPECIFIC_BASE + 10 F_SEAL_SEAL = 0x0001 // Prevent further seals from being set. F_SEAL_SHRINK = 0x0002 // Prevent file from shrinking. F_SEAL_GROW = 0x0004 // Prevent file from growing. F_SEAL_WRITE = 0x0008 // Prevent writes. )
Constants related to file seals. Source: include/uapi/{asm-generic,linux}/fcntl.h
const ( FALLOC_FL_KEEP_SIZE = 0x01 FALLOC_FL_PUNCH_HOLE = 0x02 FALLOC_FL_NO_HIDE_STALE = 0x04 FALLOC_FL_COLLAPSE_RANGE = 0x08 FALLOC_FL_ZERO_RANGE = 0x10 FALLOC_FL_INSERT_RANGE = 0x20 FALLOC_FL_UNSHARE_RANGE = 0x40 )
Constants related to fallocate(2). Source: include/uapi/linux/falloc.h
const ( ANON_INODE_FS_MAGIC = 0x09041934 DEVPTS_SUPER_MAGIC = 0x00001cd1 EXT_SUPER_MAGIC = 0xef53 OVERLAYFS_SUPER_MAGIC = 0x794c7630 PIPEFS_MAGIC = 0x50495045 PROC_SUPER_MAGIC = 0x9fa0 RAMFS_MAGIC = 0x09041934 SOCKFS_MAGIC = 0x534F434B SYSFS_MAGIC = 0x62656572 TMPFS_MAGIC = 0x01021994 V9FS_MAGIC = 0x01021997 )
Filesystem types used in statfs(2).
See linux/magic.h.
const ( NAME_MAX = 255 PATH_MAX = 4096 )
Filesystem path limits, from uapi/linux/limits.h.
const ( SEEK_SET = 0 SEEK_CUR = 1 SEEK_END = 2 SEEK_DATA = 3 SEEK_HOLE = 4 )
Whence argument to lseek(2), from include/uapi/linux/fs.h.
const ( SYNC_FILE_RANGE_WAIT_BEFORE = 1 SYNC_FILE_RANGE_WRITE = 2 SYNC_FILE_RANGE_WAIT_AFTER = 4 )
Sync_file_range flags, from include/uapi/linux/fs.h
const ( RENAME_NOREPLACE = (1 << 0) // Don't overwrite target. RENAME_EXCHANGE = (1 << 1) // Exchange src and dst. RENAME_WHITEOUT = (1 << 2) // Whiteout src. )
Flag argument to renameat2(2), from include/uapi/linux/fs.h.
const ( FUTEX_WAIT = 0 FUTEX_WAKE = 1 FUTEX_FD = 2 FUTEX_REQUEUE = 3 FUTEX_CMP_REQUEUE = 4 FUTEX_WAKE_OP = 5 FUTEX_LOCK_PI = 6 FUTEX_UNLOCK_PI = 7 FUTEX_TRYLOCK_PI = 8 FUTEX_WAIT_BITSET = 9 FUTEX_WAKE_BITSET = 10 FUTEX_WAIT_REQUEUE_PI = 11 FUTEX_CMP_REQUEUE_PI = 12 FUTEX_PRIVATE_FLAG = 128 FUTEX_CLOCK_REALTIME = 256 )
From <linux/futex.h> and <sys/time.h>. Flags are used in syscall futex(2).
const ( FUTEX_OP_SET = 0 FUTEX_OP_ADD = 1 FUTEX_OP_OR = 2 FUTEX_OP_ANDN = 3 FUTEX_OP_XOR = 4 FUTEX_OP_OPARG_SHIFT = 8 FUTEX_OP_CMP_EQ = 0 FUTEX_OP_CMP_NE = 1 FUTEX_OP_CMP_LT = 2 FUTEX_OP_CMP_LE = 3 FUTEX_OP_CMP_GT = 4 FUTEX_OP_CMP_GE = 5 )
These are flags are from <linux/futex.h> and are used in FUTEX_WAKE_OP to define the operations.
const ( FUTEX_WAITERS = 0x80000000 FUTEX_OWNER_DIED = 0x40000000 )
Constants used for priority-inheritance futexes.
const ( // IN_ACCESS indicates a file was accessed. IN_ACCESS = 0x00000001 // IN_MODIFY indicates a file was modified. IN_MODIFY = 0x00000002 // IN_ATTRIB indicates a watch target's metadata changed. IN_ATTRIB = 0x00000004 // IN_CLOSE_WRITE indicates a writable file was closed. IN_CLOSE_WRITE = 0x00000008 // IN_CLOSE_NOWRITE indicates a non-writable file was closed. IN_CLOSE_NOWRITE = 0x00000010 // IN_OPEN indicates a file was opened. IN_OPEN = 0x00000020 // IN_MOVED_FROM indicates a file was moved from X. IN_MOVED_FROM = 0x00000040 // IN_MOVED_TO indicates a file was moved to Y. IN_MOVED_TO = 0x00000080 // IN_CREATE indicates a file was created in a watched directory. IN_CREATE = 0x00000100 // IN_DELETE indicates a file was deleted in a watched directory. IN_DELETE = 0x00000200 // IN_DELETE_SELF indicates a watch target itself was deleted. IN_DELETE_SELF = 0x00000400 // IN_MOVE_SELF indicates a watch target itself was moved. IN_MOVE_SELF = 0x00000800 // IN_ALL_EVENTS is a mask for all observable userspace events. IN_ALL_EVENTS = 0x00000fff )
Inotify events observable by userspace. These directly correspond to filesystem operations and there may only be a single of them per inotify event read from an inotify fd.
const ( // IN_UNMOUNT indicates the backing filesystem was unmounted. IN_UNMOUNT = 0x00002000 // IN_Q_OVERFLOW indicates the event queued overflowed. IN_Q_OVERFLOW = 0x00004000 // IN_IGNORED indicates a watch was removed, either implicitly or through // inotify_rm_watch(2). IN_IGNORED = 0x00008000 // IN_ISDIR indicates the subject of an event was a directory. IN_ISDIR = 0x40000000 )
Inotify control events. These may be present in their own events, or ORed with other observable events.
const ( // IN_ONLYDIR indicates that a path should be watched only if it's a // directory. IN_ONLYDIR = 0x01000000 // IN_DONT_FOLLOW indicates that the watch path shouldn't be resolved if // it's a symlink. IN_DONT_FOLLOW = 0x02000000 // IN_EXCL_UNLINK indicates events to this watch from unlinked objects // should be filtered out. IN_EXCL_UNLINK = 0x04000000 // IN_MASK_ADD indicates the provided mask should be ORed into any existing // watch on the provided path. IN_MASK_ADD = 0x20000000 // IN_ONESHOT indicates the watch should be removed after one event. IN_ONESHOT = 0x80000000 )
Feature flags for inotify_add_watch(2).
const ( // IN_CLOEXEC is an alias for O_CLOEXEC. It indicates that the inotify // fd should be closed on exec(2) and friends. IN_CLOEXEC = 0x00080000 // IN_NONBLOCK is an alias for O_NONBLOCK. It indicates I/O syscall on the // inotify fd should not block. IN_NONBLOCK = 0x00000800 )
Feature flags for inotify_init1(2).
const ( TCGETS = 0x00005401 TCSETS = 0x00005402 TCSETSW = 0x00005403 TCSETSF = 0x00005404 TCSBRK = 0x00005409 TIOCEXCL = 0x0000540c TIOCNXCL = 0x0000540d TIOCSCTTY = 0x0000540e TIOCGPGRP = 0x0000540f TIOCSPGRP = 0x00005410 TIOCOUTQ = 0x00005411 TIOCSTI = 0x00005412 TIOCGWINSZ = 0x00005413 TIOCSWINSZ = 0x00005414 TIOCMGET = 0x00005415 TIOCMBIS = 0x00005416 TIOCMBIC = 0x00005417 TIOCMSET = 0x00005418 TIOCINQ = 0x0000541b FIONREAD = TIOCINQ FIONBIO = 0x00005421 TIOCSETD = 0x00005423 TIOCNOTTY = 0x00005422 TIOCGETD = 0x00005424 TCSBRKP = 0x00005425 TIOCSBRK = 0x00005427 TIOCCBRK = 0x00005428 TIOCGSID = 0x00005429 TIOCGPTN = 0x80045430 TIOCSPTLCK = 0x40045431 TIOCGDEV = 0x80045432 TIOCVHANGUP = 0x00005437 TCFLSH = 0x0000540b TIOCCONS = 0x0000541d TIOCSSERIAL = 0x0000541f TIOCGEXCL = 0x80045440 TIOCGPTPEER = 0x80045441 TIOCGICOUNT = 0x0000545d FIONCLEX = 0x00005450 FIOCLEX = 0x00005451 FIOASYNC = 0x00005452 FIOSETOWN = 0x00008901 SIOCSPGRP = 0x00008902 FIOGETOWN = 0x00008903 SIOCGPGRP = 0x00008904 )
ioctl(2) requests provided by asm-generic/ioctls.h
These are ordered by request number (low byte).
const ( SIOCGIFMEM = 0x891f SIOCGIFPFLAGS = 0x8935 SIOCGMIIPHY = 0x8947 SIOCGMIIREG = 0x8948 )
ioctl(2) requests provided by uapi/linux/sockios.h
const ( IPPROTO_IP = 0 IPPROTO_ICMP = 1 IPPROTO_IGMP = 2 IPPROTO_IPIP = 4 IPPROTO_TCP = 6 IPPROTO_EGP = 8 IPPROTO_PUP = 12 IPPROTO_UDP = 17 IPPROTO_IDP = 22 IPPROTO_TP = 29 IPPROTO_DCCP = 33 IPPROTO_IPV6 = 41 IPPROTO_RSVP = 46 IPPROTO_GRE = 47 IPPROTO_ESP = 50 IPPROTO_AH = 51 IPPROTO_MTP = 92 IPPROTO_BEETPH = 94 IPPROTO_ENCAP = 98 IPPROTO_PIM = 103 IPPROTO_COMP = 108 IPPROTO_SCTP = 132 IPPROTO_UDPLITE = 136 IPPROTO_MPLS = 137 IPPROTO_RAW = 255 )
IP protocols
const ( IP_TOS = 1 IP_TTL = 2 IP_HDRINCL = 3 IP_OPTIONS = 4 IP_ROUTER_ALERT = 5 IP_RECVOPTS = 6 IP_RETOPTS = 7 IP_PKTINFO = 8 IP_PKTOPTIONS = 9 IP_MTU_DISCOVER = 10 IP_RECVERR = 11 IP_RECVTTL = 12 IP_RECVTOS = 13 IP_MTU = 14 IP_FREEBIND = 15 IP_IPSEC_POLICY = 16 IP_XFRM_POLICY = 17 IP_PASSSEC = 18 IP_TRANSPARENT = 19 IP_ORIGDSTADDR = 20 IP_RECVORIGDSTADDR = IP_ORIGDSTADDR IP_MINTTL = 21 IP_NODEFRAG = 22 IP_CHECKSUM = 23 IP_BIND_ADDRESS_NO_PORT = 24 IP_RECVFRAGSIZE = 25 IP_MULTICAST_IF = 32 IP_MULTICAST_TTL = 33 IP_MULTICAST_LOOP = 34 IP_ADD_MEMBERSHIP = 35 IP_DROP_MEMBERSHIP = 36 IP_UNBLOCK_SOURCE = 37 IP_BLOCK_SOURCE = 38 IP_ADD_SOURCE_MEMBERSHIP = 39 IP_DROP_SOURCE_MEMBERSHIP = 40 IP_MSFILTER = 41 MCAST_JOIN_GROUP = 42 MCAST_BLOCK_SOURCE = 43 MCAST_UNBLOCK_SOURCE = 44 MCAST_LEAVE_GROUP = 45 MCAST_JOIN_SOURCE_GROUP = 46 MCAST_LEAVE_SOURCE_GROUP = 47 MCAST_MSFILTER = 48 IP_MULTICAST_ALL = 49 IP_UNICAST_IF = 50 )
Socket options from uapi/linux/in.h
const ( IPV6_ADDRFORM = 1 IPV6_2292PKTINFO = 2 IPV6_2292HOPOPTS = 3 IPV6_2292DSTOPTS = 4 IPV6_2292RTHDR = 5 IPV6_2292PKTOPTIONS = 6 IPV6_CHECKSUM = 7 IPV6_2292HOPLIMIT = 8 IPV6_NEXTHOP = 9 IPV6_FLOWINFO = 11 IPV6_UNICAST_HOPS = 16 IPV6_MULTICAST_IF = 17 IPV6_MULTICAST_HOPS = 18 IPV6_MULTICAST_LOOP = 19 IPV6_ADD_MEMBERSHIP = 20 IPV6_DROP_MEMBERSHIP = 21 IPV6_ROUTER_ALERT = 22 IPV6_MTU_DISCOVER = 23 IPV6_MTU = 24 IPV6_RECVERR = 25 IPV6_V6ONLY = 26 IPV6_JOIN_ANYCAST = 27 IPV6_LEAVE_ANYCAST = 28 IPV6_MULTICAST_ALL = 29 IPV6_FLOWLABEL_MGR = 32 IPV6_FLOWINFO_SEND = 33 IPV6_IPSEC_POLICY = 34 IPV6_XFRM_POLICY = 35 IPV6_HDRINCL = 36 IPV6_RECVPKTINFO = 49 IPV6_PKTINFO = 50 IPV6_RECVHOPLIMIT = 51 IPV6_HOPLIMIT = 52 IPV6_RECVHOPOPTS = 53 IPV6_HOPOPTS = 54 IPV6_RTHDRDSTOPTS = 55 IPV6_RECVRTHDR = 56 IPV6_RTHDR = 57 IPV6_RECVDSTOPTS = 58 IPV6_DSTOPTS = 59 IPV6_RECVPATHMTU = 60 IPV6_PATHMTU = 61 IPV6_DONTFRAG = 62 IPV6_RECVTCLASS = 66 IPV6_TCLASS = 67 IPV6_AUTOFLOWLABEL = 70 IPV6_ADDR_PREFERENCES = 72 IPV6_MINHOPCOUNT = 73 IPV6_ORIGDSTADDR = 74 IPV6_RECVORIGDSTADDR = IPV6_ORIGDSTADDR IPV6_TRANSPARENT = 75 IPV6_UNICAST_IF = 76 IPV6_RECVFRAGSIZE = 77 IPV6_FREEBIND = 78 )
Socket options from uapi/linux/in6.h
const ( IPC_RMID = 0 IPC_SET = 1 IPC_STAT = 2 IPC_INFO = 3 )
Control commands used with semctl, shmctl, and msgctl. Source: include/uapi/linux/ipc.h.
const ( IPC_CREAT = 00001000 IPC_EXCL = 00002000 IPC_NOWAIT = 00004000 )
resource get request flags. Source: include/uapi/linux/ipc.h
const ( RLIMIT_CPU = 0 RLIMIT_FSIZE = 1 RLIMIT_DATA = 2 RLIMIT_STACK = 3 RLIMIT_CORE = 4 RLIMIT_RSS = 5 RLIMIT_NPROC = 6 RLIMIT_NOFILE = 7 RLIMIT_MEMLOCK = 8 RLIMIT_AS = 9 RLIMIT_LOCKS = 10 RLIMIT_SIGPENDING = 11 RLIMIT_MSGQUEUE = 12 RLIMIT_NICE = 13 RLIMIT_RTPRIO = 14 RLIMIT_RTTIME = 15 )
Resources for getrlimit(2)/setrlimit(2)/prlimit(2).
const ( // RLimInfinity is RLIM_INFINITY on Linux. RLimInfinity = ^uint64(0) // DefaultStackSoftLimit is called _STK_LIM in Linux. DefaultStackSoftLimit = 8 * 1024 * 1024 // DefaultNprocLimit is defined in kernel/fork.c:set_max_threads, and // called MAX_THREADS / 2 in Linux. DefaultNprocLimit = FUTEX_TID_MASK / 2 // DefaultNofileSoftLimit is called INR_OPEN_CUR in Linux. DefaultNofileSoftLimit = 1024 // DefaultNofileHardLimit is called INR_OPEN_MAX in Linux. DefaultNofileHardLimit = 4096 // DefaultMemlockLimit is called MLOCK_LIMIT in Linux. DefaultMemlockLimit = 64 * 1024 // DefaultMsgqueueLimit is called MQ_BYTES_MAX in Linux. DefaultMsgqueueLimit = 819200 )
const ( PROT_NONE = 0 PROT_READ = 1 << 0 PROT_WRITE = 1 << 1 PROT_EXEC = 1 << 2 PROT_SEM = 1 << 3 PROT_GROWSDOWN = 1 << 24 PROT_GROWSUP = 1 << 25 )
Protections for mmap(2).
const ( MAP_SHARED = 1 << 0 MAP_PRIVATE = 1 << 1 MAP_FIXED = 1 << 4 MAP_ANONYMOUS = 1 << 5 MAP_32BIT = 1 << 6 // arch/x86/include/uapi/asm/mman.h MAP_GROWSDOWN = 1 << 8 MAP_DENYWRITE = 1 << 11 MAP_EXECUTABLE = 1 << 12 MAP_LOCKED = 1 << 13 MAP_NORESERVE = 1 << 14 MAP_POPULATE = 1 << 15 MAP_NONBLOCK = 1 << 16 MAP_STACK = 1 << 17 MAP_HUGETLB = 1 << 18 )
Flags for mmap(2).
const ( MREMAP_MAYMOVE = 1 << 0 MREMAP_FIXED = 1 << 1 )
Flags for mremap(2).
const ( MCL_CURRENT = 1 MCL_FUTURE = 2 MCL_ONFAULT = 4 )
Flags for mlockall(2).
const ( MADV_NORMAL = 0 MADV_RANDOM = 1 MADV_SEQUENTIAL = 2 MADV_WILLNEED = 3 MADV_DONTNEED = 4 MADV_REMOVE = 9 MADV_DONTFORK = 10 MADV_DOFORK = 11 MADV_MERGEABLE = 12 MADV_UNMERGEABLE = 13 MADV_HUGEPAGE = 14 MADV_NOHUGEPAGE = 15 MADV_DONTDUMP = 16 MADV_DODUMP = 17 MADV_HWPOISON = 100 MADV_SOFT_OFFLINE = 101 MADV_NOMAJFAULT = 200 MADV_DONTCHGME = 201 )
Advice for madvise(2).
const ( MS_ASYNC = 1 << 0 MS_INVALIDATE = 1 << 1 MS_SYNC = 1 << 2 )
Flags for msync(2).
const ( MPOL_DEFAULT = 0 MPOL_PREFERRED = 1 MPOL_BIND = 2 MPOL_INTERLEAVE = 3 MPOL_LOCAL = 4 MPOL_MAX = 5 )
Policies for get_mempolicy(2)/set_mempolicy(2).
const ( MPOL_F_NODE = 1 << 0 MPOL_F_ADDR = 1 << 1 MPOL_F_MEMS_ALLOWED = 1 << 2 )
Flags for get_mempolicy(2).
const ( MPOL_F_RELATIVE_NODES = 1 << 14 MPOL_F_STATIC_NODES = 1 << 15 MPOL_MODE_FLAGS = (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES) )
Flags for set_mempolicy(2).
const ( MPOL_MF_STRICT = 1 << 0 MPOL_MF_MOVE = 1 << 1 MPOL_MF_MOVE_ALL = 1 << 2 MPOL_MF_VALID = MPOL_MF_STRICT | MPOL_MF_MOVE | MPOL_MF_MOVE_ALL )
Flags for mbind(2).
const ( NF_INET_PRE_ROUTING = 0 NF_INET_LOCAL_IN = 1 NF_INET_FORWARD = 2 NF_INET_LOCAL_OUT = 3 NF_INET_POST_ROUTING = 4 NF_INET_NUMHOOKS = 5 )
Hooks into the network stack. These correspond to values in include/uapi/linux/netfilter.h.
const ( NF_DROP = 0 NF_ACCEPT = 1 NF_STOLEN = 2 NF_QUEUE = 3 NF_REPEAT = 4 NF_STOP = 5 NF_MAX_VERDICT = NF_STOP // NF_RETURN is defined in include/uapi/linux/netfilter/x_tables.h. NF_RETURN = -NF_REPEAT - 1 )
Verdicts that can be returned by targets. These correspond to values in include/uapi/linux/netfilter.h
const ( IPT_BASE_CTL = 64 IPT_SO_SET_REPLACE = IPT_BASE_CTL IPT_SO_SET_ADD_COUNTERS = IPT_BASE_CTL + 1 IPT_SO_SET_MAX = IPT_SO_SET_ADD_COUNTERS IPT_SO_GET_INFO = IPT_BASE_CTL IPT_SO_GET_ENTRIES = IPT_BASE_CTL + 1 IPT_SO_GET_REVISION_MATCH = IPT_BASE_CTL + 2 IPT_SO_GET_REVISION_TARGET = IPT_BASE_CTL + 3 IPT_SO_GET_MAX = IPT_SO_GET_REVISION_TARGET )
Socket options. These correspond to values in include/uapi/linux/netfilter_ipv4/ip_tables.h.
const ( XT_FUNCTION_MAXNAMELEN = 30 XT_EXTENSION_MAXNAMELEN = 29 XT_TABLE_MAXNAMELEN = 32 )
Name lengths. These correspond to values in include/uapi/linux/netfilter/x_tables.h.
const ( NETLINK_ROUTE = 0 NETLINK_UNUSED = 1 NETLINK_USERSOCK = 2 NETLINK_FIREWALL = 3 NETLINK_SOCK_DIAG = 4 NETLINK_NFLOG = 5 NETLINK_XFRM = 6 NETLINK_SELINUX = 7 NETLINK_ISCSI = 8 NETLINK_AUDIT = 9 NETLINK_FIB_LOOKUP = 10 NETLINK_CONNECTOR = 11 NETLINK_NETFILTER = 12 NETLINK_IP6_FW = 13 NETLINK_DNRTMSG = 14 NETLINK_KOBJECT_UEVENT = 15 NETLINK_GENERIC = 16 NETLINK_SCSITRANSPORT = 18 NETLINK_ECRYPTFS = 19 NETLINK_RDMA = 20 NETLINK_CRYPTO = 21 )
Netlink protocols, from uapi/linux/netlink.h.
const ( NLM_F_REQUEST = 0x1 NLM_F_MULTI = 0x2 NLM_F_ACK = 0x4 NLM_F_ECHO = 0x8 NLM_F_DUMP_INTR = 0x10 NLM_F_ROOT = 0x100 NLM_F_MATCH = 0x200 NLM_F_ATOMIC = 0x400 NLM_F_DUMP = NLM_F_ROOT | NLM_F_MATCH NLM_F_REPLACE = 0x100 NLM_F_EXCL = 0x200 NLM_F_CREATE = 0x400 NLM_F_APPEND = 0x800 )
Netlink message header flags, from uapi/linux/netlink.h.
const ( NLMSG_NOOP = 0x1 NLMSG_ERROR = 0x2 NLMSG_DONE = 0x3 NLMSG_OVERRUN = 0x4 // NLMSG_MIN_TYPE is the first value for protocol-level types. NLMSG_MIN_TYPE = 0x10 )
Standard netlink message types, from uapi/linux/netlink.h.
const ( NETLINK_ADD_MEMBERSHIP = 1 NETLINK_DROP_MEMBERSHIP = 2 NETLINK_PKTINFO = 3 NETLINK_BROADCAST_ERROR = 4 NETLINK_NO_ENOBUFS = 5 NETLINK_LISTEN_ALL_NSID = 8 NETLINK_LIST_MEMBERSHIPS = 9 NETLINK_CAP_ACK = 10 NETLINK_EXT_ACK = 11 NETLINK_DUMP_STRICT_CHK = 12 )
Socket options, from uapi/linux/netlink.h.
const ( RTM_NEWLINK = 16 RTM_DELLINK = 17 RTM_GETLINK = 18 RTM_SETLINK = 19 RTM_NEWADDR = 20 RTM_DELADDR = 21 RTM_GETADDR = 22 RTM_NEWROUTE = 24 RTM_DELROUTE = 25 RTM_GETROUTE = 26 RTM_NEWNEIGH = 28 RTM_DELNEIGH = 29 RTM_GETNEIGH = 30 RTM_NEWRULE = 32 RTM_DELRULE = 33 RTM_GETRULE = 34 RTM_NEWQDISC = 36 RTM_DELQDISC = 37 RTM_GETQDISC = 38 RTM_NEWTCLASS = 40 RTM_DELTCLASS = 41 RTM_GETTCLASS = 42 RTM_NEWTFILTER = 44 RTM_DELTFILTER = 45 RTM_GETTFILTER = 46 RTM_NEWACTION = 48 RTM_DELACTION = 49 RTM_GETACTION = 50 RTM_NEWPREFIX = 52 RTM_GETMULTICAST = 58 RTM_GETANYCAST = 62 RTM_NEWNEIGHTBL = 64 RTM_GETNEIGHTBL = 66 RTM_SETNEIGHTBL = 67 RTM_NEWNDUSEROPT = 68 RTM_NEWADDRLABEL = 72 RTM_DELADDRLABEL = 73 RTM_GETADDRLABEL = 74 RTM_GETDCB = 78 RTM_SETDCB = 79 RTM_NEWNETCONF = 80 RTM_GETNETCONF = 82 RTM_NEWMDB = 84 RTM_DELMDB = 85 RTM_GETMDB = 86 RTM_NEWNSID = 88 RTM_DELNSID = 89 RTM_GETNSID = 90 )
Netlink message types for NETLINK_ROUTE sockets, from uapi/linux/rtnetlink.h.
const ( IFF_UP = 1 << 0 IFF_BROADCAST = 1 << 1 IFF_DEBUG = 1 << 2 IFF_LOOPBACK = 1 << 3 IFF_POINTOPOINT = 1 << 4 IFF_NOTRAILERS = 1 << 5 IFF_RUNNING = 1 << 6 IFF_NOARP = 1 << 7 IFF_PROMISC = 1 << 8 IFF_ALLMULTI = 1 << 9 IFF_MASTER = 1 << 10 IFF_SLAVE = 1 << 11 IFF_MULTICAST = 1 << 12 IFF_PORTSEL = 1 << 13 IFF_AUTOMEDIA = 1 << 14 IFF_DYNAMIC = 1 << 15 IFF_LOWER_UP = 1 << 16 IFF_DORMANT = 1 << 17 IFF_ECHO = 1 << 18 )
Interface flags, from uapi/linux/if.h.
const ( IFLA_UNSPEC = 0 IFLA_ADDRESS = 1 IFLA_BROADCAST = 2 IFLA_IFNAME = 3 IFLA_MTU = 4 IFLA_LINK = 5 IFLA_QDISC = 6 IFLA_STATS = 7 IFLA_COST = 8 IFLA_PRIORITY = 9 IFLA_MASTER = 10 IFLA_WIRELESS = 11 IFLA_PROTINFO = 12 IFLA_TXQLEN = 13 IFLA_MAP = 14 IFLA_WEIGHT = 15 IFLA_OPERSTATE = 16 IFLA_LINKMODE = 17 IFLA_LINKINFO = 18 IFLA_NET_NS_PID = 19 IFLA_IFALIAS = 20 IFLA_NUM_VF = 21 IFLA_VFINFO_LIST = 22 IFLA_STATS64 = 23 IFLA_VF_PORTS = 24 IFLA_PORT_SELF = 25 IFLA_AF_SPEC = 26 IFLA_GROUP = 27 IFLA_NET_NS_FD = 28 IFLA_EXT_MASK = 29 IFLA_PROMISCUITY = 30 IFLA_NUM_TX_QUEUES = 31 IFLA_NUM_RX_QUEUES = 32 IFLA_CARRIER = 33 IFLA_PHYS_PORT_ID = 34 IFLA_CARRIER_CHANGES = 35 IFLA_PHYS_SWITCH_ID = 36 IFLA_LINK_NETNSID = 37 IFLA_PHYS_PORT_NAME = 38 IFLA_PROTO_DOWN = 39 IFLA_GSO_MAX_SEGS = 40 IFLA_GSO_MAX_SIZE = 41 )
Interface link attributes, from uapi/linux/if_link.h.
const ( IFA_UNSPEC = 0 IFA_ADDRESS = 1 IFA_LOCAL = 2 IFA_LABEL = 3 IFA_BROADCAST = 4 IFA_ANYCAST = 5 IFA_CACHEINFO = 6 IFA_MULTICAST = 7 IFA_FLAGS = 8 )
Interface attributes, from uapi/linux/if_addr.h.
const ( // RTN_UNSPEC represents an unspecified route type. RTN_UNSPEC = 0 // RTN_UNICAST represents a unicast route. RTN_UNICAST = 1 // RTN_LOCAL represents a route that is accepted locally. RTN_LOCAL = 2 // RTN_BROADCAST represents a broadcast route (Traffic is accepted locally // as broadcast, and sent as broadcast). RTN_BROADCAST = 3 // RTN_ANYCAST represents a anycast route (Traffic is accepted locally as // broadcast but sent as unicast). RTN_ANYCAST = 6 // RTN_MULTICAST represents a multicast route. RTN_MULTICAST = 5 // RTN_BLACKHOLE represents a route where all traffic is dropped. RTN_BLACKHOLE = 6 // RTN_UNREACHABLE represents a route where the destination is unreachable. RTN_UNREACHABLE = 7 RTN_PROHIBIT = 8 RTN_THROW = 9 RTN_NAT = 10 RTN_XRESOLVE = 11 )
Route types, from uapi/linux/rtnetlink.h.
const ( RTPROT_UNSPEC = 0 RTPROT_REDIRECT = 1 RTPROT_KERNEL = 2 RTPROT_BOOT = 3 RTPROT_STATIC = 4 RTPROT_GATED = 8 RTPROT_RA = 9 RTPROT_MRT = 10 RTPROT_ZEBRA = 11 RTPROT_BIRD = 12 RTPROT_DNROUTED = 13 RTPROT_XORP = 14 RTPROT_NTK = 15 RTPROT_DHCP = 16 RTPROT_MROUTED = 17 RTPROT_BABEL = 42 RTPROT_BGP = 186 RTPROT_ISIS = 187 RTPROT_OSPF = 188 RTPROT_RIP = 189 RTPROT_EIGRP = 192 )
Route protocols/origins, from uapi/linux/rtnetlink.h.
const ( RT_SCOPE_UNIVERSE = 0 RT_SCOPE_SITE = 200 RT_SCOPE_LINK = 253 RT_SCOPE_HOST = 254 RT_SCOPE_NOWHERE = 255 )
Route scopes, from uapi/linux/rtnetlink.h.
const ( RTM_F_NOTIFY = 0x100 RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 RTM_F_PREFIX = 0x800 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_FIB_MATCH = 0x2000 )
Route flags, from uapi/linux/rtnetlink.h.
const ( RT_TABLE_UNSPEC = 0 RT_TABLE_COMPAT = 252 RT_TABLE_DEFAULT = 253 RT_TABLE_MAIN = 254 RT_TABLE_LOCAL = 255 )
Route tables, from uapi/linux/rtnetlink.h.
const ( RTA_UNSPEC = 0 RTA_DST = 1 RTA_SRC = 2 RTA_IIF = 3 RTA_OIF = 4 RTA_GATEWAY = 5 RTA_PRIORITY = 6 RTA_PREFSRC = 7 RTA_METRICS = 8 RTA_MULTIPATH = 9 RTA_PROTOINFO = 10 RTA_FLOW = 11 RTA_CACHEINFO = 12 RTA_SESSION = 13 RTA_MP_ALGO = 14 RTA_TABLE = 15 RTA_MARK = 16 RTA_MFC_STATS = 17 RTA_VIA = 18 RTA_NEWDST = 19 RTA_PREF = 20 RTA_ENCAP_TYPE = 21 RTA_ENCAP = 22 RTA_EXPIRES = 23 RTA_PAD = 24 RTA_UID = 25 RTA_TTL_PROPAGATE = 26 RTA_IP_PROTO = 27 RTA_SPORT = 28 RTA_DPORT = 29 )
Route attributes, from uapi/linux/rtnetlink.h.
const ( RTF_GATEWAY = 0x2 RTF_UP = 0x1 )
Route flags, from include/uapi/linux/route.h.
const ( POLLIN = 0x0001 POLLPRI = 0x0002 POLLOUT = 0x0004 POLLERR = 0x0008 POLLHUP = 0x0010 POLLNVAL = 0x0020 POLLRDNORM = 0x0040 POLLRDBAND = 0x0080 POLLWRNORM = 0x0100 POLLWRBAND = 0x0200 POLLMSG = 0x0400 POLLREMOVE = 0x1000 POLLRDHUP = 0x2000 POLLFREE = 0x4000 POLL_BUSY_LOOP = 0x8000 )
Poll event flags, used by poll(2)/ppoll(2) and/or epoll_ctl(2)/epoll_wait(2), from uapi/asm-generic/poll.h.
const ( // PR_SET_PDEATHSIG sets the process' death signal. PR_SET_PDEATHSIG = 1 // PR_GET_PDEATHSIG gets the process' death signal. PR_GET_PDEATHSIG = 2 // PR_GET_DUMPABLE gets the process' dumpable flag. PR_GET_DUMPABLE = 3 // PR_SET_DUMPABLE sets the process' dumpable flag. PR_SET_DUMPABLE = 4 // PR_GET_KEEPCAPS gets the value of the keep capabilities flag. PR_GET_KEEPCAPS = 7 // PR_SET_KEEPCAPS sets the value of the keep capabilities flag. PR_SET_KEEPCAPS = 8 // PR_GET_TIMING gets the process' timing method. PR_GET_TIMING = 13 // PR_SET_TIMING sets the process' timing method. PR_SET_TIMING = 14 // PR_SET_NAME sets the process' name. PR_SET_NAME = 15 // PR_GET_NAME gets the process' name. PR_GET_NAME = 16 // PR_GET_SECCOMP gets a process' seccomp mode. PR_GET_SECCOMP = 21 // PR_SET_SECCOMP sets a process' seccomp mode. PR_SET_SECCOMP = 22 // PR_CAPBSET_READ gets the capability bounding set. PR_CAPBSET_READ = 23 // PR_CAPBSET_DROP sets the capability bounding set. PR_CAPBSET_DROP = 24 // PR_GET_TSC gets the value of the flag determining whether the // timestamp counter can be read. PR_GET_TSC = 25 // PR_SET_TSC sets the value of the flag determining whether the // timestamp counter can be read. PR_SET_TSC = 26 // PR_SET_TIMERSLACK sets the process' time slack. PR_SET_TIMERSLACK = 29 // PR_GET_TIMERSLACK gets the process' time slack. PR_GET_TIMERSLACK = 30 // PR_TASK_PERF_EVENTS_DISABLE disables all performance counters // attached to the calling process. PR_TASK_PERF_EVENTS_DISABLE = 31 // PR_TASK_PERF_EVENTS_ENABLE enables all performance counters attached // to the calling process. PR_TASK_PERF_EVENTS_ENABLE = 32 // PR_MCE_KILL sets the machine check memory corruption kill policy for // the calling thread. PR_MCE_KILL = 33 // PR_MCE_KILL_GET gets the machine check memory corruption kill policy // for the calling thread. PR_MCE_KILL_GET = 34 // PR_SET_MM modifies certain kernel memory map descriptor fields of // the calling process. See prctl(2) for more information. PR_SET_MM = 35 PR_SET_MM_START_CODE = 1 PR_SET_MM_END_CODE = 2 PR_SET_MM_START_DATA = 3 PR_SET_MM_END_DATA = 4 PR_SET_MM_START_STACK = 5 PR_SET_MM_START_BRK = 6 PR_SET_MM_BRK = 7 PR_SET_MM_ARG_START = 8 PR_SET_MM_ARG_END = 9 PR_SET_MM_ENV_START = 10 PR_SET_MM_ENV_END = 11 PR_SET_MM_AUXV = 12 // PR_SET_MM_EXE_FILE supersedes the /proc/pid/exe symbolic link with a // new one pointing to a new executable file identified by the file // descriptor provided in arg3 argument. See prctl(2) for more // information. PR_SET_MM_EXE_FILE = 13 PR_SET_MM_MAP = 14 PR_SET_MM_MAP_SIZE = 15 // PR_SET_CHILD_SUBREAPER sets the "child subreaper" attribute of the // calling process. PR_SET_CHILD_SUBREAPER = 36 // PR_GET_CHILD_SUBREAPER gets the "child subreaper" attribute of the // calling process. PR_GET_CHILD_SUBREAPER = 37 // PR_SET_NO_NEW_PRIVS sets the calling thread's no_new_privs bit. PR_SET_NO_NEW_PRIVS = 38 // PR_GET_NO_NEW_PRIVS gets the calling thread's no_new_privs bit. PR_GET_NO_NEW_PRIVS = 39 // PR_GET_TID_ADDRESS retrieves the clear_child_tid address. PR_GET_TID_ADDRESS = 40 // PR_SET_THP_DISABLE sets the state of the "THP disable" flag for the // calling thread. PR_SET_THP_DISABLE = 41 // PR_GET_THP_DISABLE gets the state of the "THP disable" flag for the // calling thread. PR_GET_THP_DISABLE = 42 // PR_MPX_ENABLE_MANAGEMENT enables kernel management of Memory // Protection eXtensions (MPX) bounds tables. PR_MPX_ENABLE_MANAGEMENT = 43 // PR_MPX_DISABLE_MANAGEMENT disables kernel management of Memory // Protection eXtensions (MPX) bounds tables. PR_MPX_DISABLE_MANAGEMENT = 44 )
PR_* flags, from <linux/pcrtl.h> for prctl(2).
const ( ARCH_SET_GS = 0x1001 ARCH_SET_FS = 0x1002 ARCH_GET_FS = 0x1003 ARCH_GET_GS = 0x1004 ARCH_SET_CPUID = 0x1012 )
From <asm/prctl.h> Flags are used in syscall arch_prctl(2).
const ( SUID_DUMP_DISABLE = 0 SUID_DUMP_USER = 1 SUID_DUMP_ROOT = 2 )
Flags for prctl(PR_SET_DUMPABLE), defined in include/linux/sched/coredump.h.
const ( PTRACE_TRACEME = 0 PTRACE_PEEKTEXT = 1 PTRACE_PEEKDATA = 2 PTRACE_PEEKUSR = 3 PTRACE_POKETEXT = 4 PTRACE_POKEDATA = 5 PTRACE_POKEUSR = 6 PTRACE_CONT = 7 PTRACE_KILL = 8 PTRACE_SINGLESTEP = 9 PTRACE_ATTACH = 16 PTRACE_DETACH = 17 PTRACE_SYSCALL = 24 PTRACE_SETOPTIONS = 0x4200 PTRACE_GETEVENTMSG = 0x4201 PTRACE_GETSIGINFO = 0x4202 PTRACE_SETSIGINFO = 0x4203 PTRACE_GETREGSET = 0x4204 PTRACE_SETREGSET = 0x4205 PTRACE_SEIZE = 0x4206 PTRACE_INTERRUPT = 0x4207 PTRACE_LISTEN = 0x4208 PTRACE_PEEKSIGINFO = 0x4209 PTRACE_GETSIGMASK = 0x420a PTRACE_SETSIGMASK = 0x420b PTRACE_SECCOMP_GET_FILTER = 0x420c PTRACE_SECCOMP_GET_METADATA = 0x420d )
ptrace commands from include/uapi/linux/ptrace.h.
const ( PTRACE_GETREGS = 12 PTRACE_SETREGS = 13 PTRACE_GETFPREGS = 14 PTRACE_SETFPREGS = 15 PTRACE_GETFPXREGS = 18 PTRACE_SETFPXREGS = 19 PTRACE_OLDSETOPTIONS = 21 PTRACE_GET_THREAD_AREA = 25 PTRACE_SET_THREAD_AREA = 26 PTRACE_ARCH_PRCTL = 30 PTRACE_SYSEMU = 31 PTRACE_SYSEMU_SINGLESTEP = 32 PTRACE_SINGLEBLOCK = 33 )
ptrace commands from arch/x86/include/uapi/asm/ptrace-abi.h.
const ( PTRACE_EVENT_FORK = 1 PTRACE_EVENT_VFORK = 2 PTRACE_EVENT_CLONE = 3 PTRACE_EVENT_EXEC = 4 PTRACE_EVENT_VFORK_DONE = 5 PTRACE_EVENT_EXIT = 6 PTRACE_EVENT_SECCOMP = 7 PTRACE_EVENT_STOP = 128 )
ptrace event codes from include/uapi/linux/ptrace.h.
const ( PTRACE_O_TRACESYSGOOD = 1 PTRACE_O_TRACEFORK = 1 << PTRACE_EVENT_FORK PTRACE_O_TRACEVFORK = 1 << PTRACE_EVENT_VFORK PTRACE_O_TRACECLONE = 1 << PTRACE_EVENT_CLONE PTRACE_O_TRACEEXEC = 1 << PTRACE_EVENT_EXEC PTRACE_O_TRACEVFORKDONE = 1 << PTRACE_EVENT_VFORK_DONE PTRACE_O_TRACEEXIT = 1 << PTRACE_EVENT_EXIT PTRACE_O_TRACESECCOMP = 1 << PTRACE_EVENT_SECCOMP PTRACE_O_EXITKILL = 1 << 20 PTRACE_O_SUSPEND_SECCOMP = 1 << 21 )
PTRACE_SETOPTIONS options from include/uapi/linux/ptrace.h.
const ( // wait4(2) uses this to aggregate RUSAGE_SELF and RUSAGE_CHILDREN. RUSAGE_BOTH = -0x2 // getrusage(2) flags. RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 )
Flags that may be used with wait4(2) and getrusage(2).
const ( SCHED_NORMAL = 0 SCHED_FIFO = 1 SCHED_RR = 2 SCHED_BATCH = 3 SCHED_IDLE = 5 SCHED_DEADLINE = 6 SCHED_MICROQ = 16 // SCHED_RESET_ON_FORK is a flag that indicates that the process is // reverted back to SCHED_NORMAL on fork. SCHED_RESET_ON_FORK = 0x40000000 )
Scheduling policies, exposed by sched_getscheduler(2)/sched_setscheduler(2).
const ( PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 )
const ( SECCOMP_MODE_NONE = 0 SECCOMP_MODE_FILTER = 2 SECCOMP_RET_ACTION_FULL = 0xffff0000 SECCOMP_RET_ACTION = 0x7fff0000 SECCOMP_RET_DATA = 0x0000ffff SECCOMP_SET_MODE_FILTER = 1 SECCOMP_FILTER_FLAG_TSYNC = 1 SECCOMP_GET_ACTION_AVAIL = 2 )
Seccomp constants taken from <linux/seccomp.h>.
const ( SECCOMP_RET_KILL_PROCESS BPFAction = 0x80000000 SECCOMP_RET_KILL_THREAD = 0x00000000 SECCOMP_RET_TRAP = 0x00030000 SECCOMP_RET_ERRNO = 0x00050000 SECCOMP_RET_TRACE = 0x7ff00000 SECCOMP_RET_ALLOW = 0x7fff0000 )
const ( GETPID = 11 GETVAL = 12 GETALL = 13 GETNCNT = 14 GETZCNT = 15 SETVAL = 16 SETALL = 17 )
semctl Command Definitions. Source: include/uapi/linux/sem.h
const ( SEM_STAT = 18 SEM_INFO = 19 SEM_STAT_ANY = 20 )
ipcs ctl cmds. Source: include/uapi/linux/sem.h
const ( SHM_RDONLY = 010000 // Read-only access. SHM_RND = 020000 // Round attach address to SHMLBA boundary. SHM_REMAP = 040000 // Take-over region on attach. SHM_EXEC = 0100000 // Execution access. )
shmat(2) flags. Source: include/uapi/linux/shm.h
const ( SHM_DEST = 01000 // Segment will be destroyed on last detach. SHM_LOCKED = 02000 // Segment will not be swapped. SHM_HUGETLB = 04000 // Segment will use huge TLB pages. SHM_NORESERVE = 010000 // Don't check for reservations. )
IPCPerm.Mode upper byte flags. Source: include/linux/shm.h
const ( SHM_LOCK = 11 SHM_UNLOCK = 12 SHM_STAT = 13 SHM_INFO = 14 )
Additional Linux-only flags for shmctl(2). Source: include/uapi/linux/shm.h
const ( SHMMIN = 1 SHMMNI = 4096 SHMMAX = math.MaxUint64 - 1<<24 SHMALL = math.MaxUint64 - 1<<24 SHMSEG = 4096 )
SHM defaults as specified by linux. Source: include/uapi/linux/shm.h
const ( // SignalMaximum is the highest valid signal number. SignalMaximum = 64 // FirstStdSignal is the lowest standard signal number. FirstStdSignal = 1 // LastStdSignal is the highest standard signal number. LastStdSignal = 31 // FirstRTSignal is the lowest real-time signal number. // // 32 (SIGCANCEL) and 33 (SIGSETXID) are used internally by glibc. FirstRTSignal = 32 // LastRTSignal is the highest real-time signal number. LastRTSignal = 64 // NumStdSignals is the number of standard signals. NumStdSignals = LastStdSignal - FirstStdSignal + 1 // NumRTSignals is the number of realtime signals. NumRTSignals = LastRTSignal - FirstRTSignal + 1 )
const ( SIGABRT = Signal(6) SIGALRM = Signal(14) SIGBUS = Signal(7) SIGCHLD = Signal(17) SIGCLD = Signal(17) SIGCONT = Signal(18) SIGFPE = Signal(8) SIGHUP = Signal(1) SIGILL = Signal(4) SIGINT = Signal(2) SIGIO = Signal(29) SIGIOT = Signal(6) SIGKILL = Signal(9) SIGPIPE = Signal(13) SIGPOLL = Signal(29) SIGPROF = Signal(27) SIGPWR = Signal(30) SIGQUIT = Signal(3) SIGSEGV = Signal(11) SIGSTKFLT = Signal(16) SIGSTOP = Signal(19) SIGSYS = Signal(31) SIGTERM = Signal(15) SIGTRAP = Signal(5) SIGTSTP = Signal(20) SIGTTIN = Signal(21) SIGTTOU = Signal(22) SIGUNUSED = Signal(31) SIGURG = Signal(23) SIGUSR1 = Signal(10) SIGUSR2 = Signal(12) SIGVTALRM = Signal(26) SIGWINCH = Signal(28) SIGXCPU = Signal(24) SIGXFSZ = Signal(25) )
Signals.
const ( // SIG_BLOCK blocks the signals in the set. SIG_BLOCK = 0 // SIG_UNBLOCK blocks the signals in the set. SIG_UNBLOCK = 1 // SIG_SETMASK sets the signal mask to set. SIG_SETMASK = 2 )
'how' values for rt_sigprocmask(2).
const ( // SIG_DFL performs the default action. SIG_DFL = 0 // SIG_IGN ignores the signal. SIG_IGN = 1 )
Signal actions for rt_sigaction(2), from uapi/asm-generic/signal-defs.h.
const ( SA_NOCLDSTOP = 0x00000001 SA_NOCLDWAIT = 0x00000002 SA_SIGINFO = 0x00000004 SA_RESTORER = 0x04000000 SA_ONSTACK = 0x08000000 SA_RESTART = 0x10000000 SA_NODEFER = 0x40000000 SA_RESETHAND = 0x80000000 SA_NOMASK = SA_NODEFER SA_ONESHOT = SA_RESETHAND )
Signal action flags for rt_sigaction(2), from uapi/asm-generic/signal.h
const ( SI_MASK = 0xffff0000 SI_KILL = 0 << 16 SI_TIMER = 1 << 16 SI_POLL = 2 << 16 SI_FAULT = 3 << 16 SI_CHLD = 4 << 16 SI_RT = 5 << 16 SI_MESGQ = 6 << 16 SI_SYS = 7 << 16 )
Signal info types.
const ( // POLL_IN indicates that data input available. POLL_IN = SI_POLL | 1 // POLL_OUT indicates that output buffers available. POLL_OUT = SI_POLL | 2 // POLL_MSG indicates that an input message available. POLL_MSG = SI_POLL | 3 // POLL_ERR indicates that there was an i/o error. POLL_ERR = SI_POLL | 4 // POLL_PRI indicates that a high priority input available. POLL_PRI = SI_POLL | 5 // POLL_HUP indicates that a device disconnected. POLL_HUP = SI_POLL | 6 )
SIGPOLL si_codes.
const ( SIGEV_SIGNAL = 0 SIGEV_NONE = 1 SIGEV_THREAD = 2 SIGEV_THREAD_ID = 4 )
Possible values for Sigevent.Notify, aka struct sigevent::sigev_notify.
const ( // SFD_NONBLOCK is a signalfd(2) flag. SFD_NONBLOCK = 00004000 // SFD_CLOEXEC is a signalfd(2) flag. SFD_CLOEXEC = 02000000 )
const ( AF_UNSPEC = 0 AF_UNIX = 1 AF_INET = 2 AF_AX25 = 3 AF_IPX = 4 AF_APPLETALK = 5 AF_NETROM = 6 AF_BRIDGE = 7 AF_ATMPVC = 8 AF_X25 = 9 AF_INET6 = 10 AF_ROSE = 11 AF_DECnet = 12 AF_NETBEUI = 13 AF_SECURITY = 14 AF_KEY = 15 AF_NETLINK = 16 AF_PACKET = 17 AF_ASH = 18 AF_ECONET = 19 AF_ATMSVC = 20 AF_RDS = 21 AF_SNA = 22 AF_IRDA = 23 AF_PPPOX = 24 AF_WANPIPE = 25 AF_LLC = 26 AF_IB = 27 AF_MPLS = 28 AF_CAN = 29 AF_TIPC = 30 AF_BLUETOOTH = 31 AF_IUCV = 32 AF_RXRPC = 33 AF_ISDN = 34 AF_PHONET = 35 AF_IEEE802154 = 36 AF_CAIF = 37 AF_ALG = 38 AF_NFC = 39 AF_VSOCK = 40 )
Address families, from linux/socket.h.
const ( MSG_OOB = 0x1 MSG_PEEK = 0x2 MSG_DONTROUTE = 0x4 MSG_TRYHARD = 0x4 MSG_CTRUNC = 0x8 MSG_PROBE = 0x10 MSG_TRUNC = 0x20 MSG_DONTWAIT = 0x40 MSG_EOR = 0x80 MSG_WAITALL = 0x100 MSG_FIN = 0x200 MSG_EOF = MSG_FIN MSG_SYN = 0x400 MSG_CONFIRM = 0x800 MSG_RST = 0x1000 MSG_ERRQUEUE = 0x2000 MSG_NOSIGNAL = 0x4000 MSG_MORE = 0x8000 MSG_WAITFORONE = 0x10000 MSG_SENDPAGE_NOTLAST = 0x20000 MSG_REINJECT = 0x8000000 MSG_ZEROCOPY = 0x4000000 MSG_FASTOPEN = 0x20000000 MSG_CMSG_CLOEXEC = 0x40000000 )
sendmsg(2)/recvmsg(2) flags, from linux/socket.h.
const ( SOL_IP = 0 SOL_SOCKET = 1 SOL_TCP = 6 SOL_UDP = 17 SOL_IPV6 = 41 SOL_ICMPV6 = 58 SOL_RAW = 255 SOL_PACKET = 263 SOL_NETLINK = 270 )
Set/get socket option levels, from socket.h.
const ( SOCK_STREAM SockType = 1 SOCK_DGRAM = 2 SOCK_RAW = 3 SOCK_RDM = 4 SOCK_SEQPACKET = 5 SOCK_DCCP = 6 SOCK_PACKET = 10 )
Socket types, from linux/net.h.
const ( SOCK_CLOEXEC = O_CLOEXEC SOCK_NONBLOCK = O_NONBLOCK )
socket(2)/socketpair(2)/accept4(2) flags, from linux/net.h.
const ( SHUT_RD = 0 SHUT_WR = 1 SHUT_RDWR = 2 )
shutdown(2) how commands, from <linux/net.h>.
const ( SO_DEBUG = 1 SO_REUSEADDR = 2 SO_TYPE = 3 SO_ERROR = 4 SO_DONTROUTE = 5 SO_BROADCAST = 6 SO_SNDBUF = 7 SO_RCVBUF = 8 SO_KEEPALIVE = 9 SO_OOBINLINE = 10 SO_NO_CHECK = 11 SO_PRIORITY = 12 SO_LINGER = 13 SO_BSDCOMPAT = 14 SO_REUSEPORT = 15 SO_PASSCRED = 16 SO_PEERCRED = 17 SO_RCVLOWAT = 18 SO_SNDLOWAT = 19 SO_RCVTIMEO = 20 SO_SNDTIMEO = 21 SO_BINDTODEVICE = 25 SO_ATTACH_FILTER = 26 SO_DETACH_FILTER = 27 SO_GET_FILTER = SO_ATTACH_FILTER SO_PEERNAME = 28 SO_TIMESTAMP = 29 SO_ACCEPTCONN = 30 SO_PEERSEC = 31 SO_SNDBUFFORCE = 32 SO_RCVBUFFORCE = 33 SO_PASSSEC = 34 SO_TIMESTAMPNS = 35 SO_MARK = 36 SO_TIMESTAMPING = 37 SO_PROTOCOL = 38 SO_DOMAIN = 39 SO_RXQ_OVFL = 40 SO_WIFI_STATUS = 41 SO_PEEK_OFF = 42 SO_NOFCS = 43 SO_LOCK_FILTER = 44 SO_SELECT_ERR_QUEUE = 45 SO_BUSY_POLL = 46 SO_MAX_PACING_RATE = 47 SO_BPF_EXTENSIONS = 48 SO_INCOMING_CPU = 49 SO_ATTACH_BPF = 50 SO_ATTACH_REUSEPORT_CBPF = 51 SO_ATTACH_REUSEPORT_EBPF = 52 SO_CNX_ADVICE = 53 SO_MEMINFO = 55 SO_INCOMING_NAPI_ID = 56 SO_COOKIE = 57 SO_PEERGROUPS = 59 SO_ZEROCOPY = 60 SO_TXTIME = 61 )
Socket options from socket.h.
const ( SS_FREE = 0 // Not allocated. SS_UNCONNECTED = 1 // Unconnected to any socket. SS_CONNECTING = 2 // In process of connecting. SS_CONNECTED = 3 // Connected to socket. SS_DISCONNECTING = 4 // In process of disconnecting. )
enum socket_state, from uapi/linux/net.h.
const ( TCP_ESTABLISHED uint32 = iota + 1 TCP_SYN_SENT TCP_SYN_RECV TCP_FIN_WAIT1 TCP_FIN_WAIT2 TCP_TIME_WAIT TCP_CLOSE TCP_CLOSE_WAIT TCP_LAST_ACK TCP_LISTEN TCP_CLOSING TCP_NEW_SYN_RECV )
TCP protocol states, from include/net/tcp_states.h.
const ( SCM_CREDENTIALS = 0x2 SCM_RIGHTS = 0x1 )
Control message types, from linux/socket.h.
const ( SPLICE_F_MOVE = 1 << iota SPLICE_F_NONBLOCK SPLICE_F_MORE SPLICE_F_GIFT )
Constants for splice(2), sendfile(2) and tee(2).
const ( TCP_NODELAY = 1 TCP_MAXSEG = 2 TCP_CORK = 3 TCP_KEEPIDLE = 4 TCP_KEEPINTVL = 5 TCP_KEEPCNT = 6 TCP_SYNCNT = 7 TCP_LINGER2 = 8 TCP_DEFER_ACCEPT = 9 TCP_WINDOW_CLAMP = 10 TCP_INFO = 11 TCP_QUICKACK = 12 TCP_CONGESTION = 13 TCP_MD5SIG = 14 TCP_THIN_LINEAR_TIMEOUTS = 16 TCP_THIN_DUPACK = 17 TCP_USER_TIMEOUT = 18 TCP_REPAIR = 19 TCP_REPAIR_QUEUE = 20 TCP_QUEUE_SEQ = 21 TCP_REPAIR_OPTIONS = 22 TCP_FASTOPEN = 23 TCP_TIMESTAMP = 24 TCP_NOTSENT_LOWAT = 25 TCP_CC_INFO = 26 TCP_SAVE_SYN = 27 TCP_SAVED_SYN = 28 TCP_REPAIR_WINDOW = 29 TCP_FASTOPEN_CONNECT = 30 TCP_ULP = 31 TCP_MD5SIG_EXT = 32 TCP_FASTOPEN_KEY = 33 TCP_FASTOPEN_NO_COOKIE = 34 TCP_ZEROCOPY_RECEIVE = 35 TCP_INQ = 36 )
Socket options from uapi/linux/tcp.h.
const ( MAX_TCP_KEEPIDLE = 32767 MAX_TCP_KEEPINTVL = 32767 )
Socket constants from include/net/tcp.h.
const ( // ClockTick is the length of time represented by a single clock tick, as // used by times(2) and /proc/[pid]/stat. ClockTick = time.Second / CLOCKS_PER_SEC // CLOCKS_PER_SEC is the number of ClockTicks per second. // // Linux defines this to be 100 on most architectures, irrespective of // CONFIG_HZ. Userspace obtains the value through sysconf(_SC_CLK_TCK), // which uses the AT_CLKTCK entry in the auxiliary vector if one is // provided, and assumes 100 otherwise (glibc: // sysdeps/posix/sysconf.c:__sysconf() => // sysdeps/unix/sysv/linux/getclktck.c, elf/dl-support.c:_dl_aux_init()). // // Not to be confused with POSIX CLOCKS_PER_SEC, as used by clock(3); "XSI // requires that [POSIX] CLOCKS_PER_SEC equals 1000000 independent of the // actual resolution" - clock(3). CLOCKS_PER_SEC = 100 )
const ( CPUCLOCK_PROF = 0 CPUCLOCK_VIRT = 1 CPUCLOCK_SCHED = 2 CPUCLOCK_MAX = 3 CLOCKFD = CPUCLOCK_MAX CPUCLOCK_CLOCK_MASK = 3 CPUCLOCK_PERTHREAD_MASK = 4 )
CPU clock types for use with clock_gettime(2) et al.
The 29 most significant bits of a 32 bit clock ID are either a PID or a FD.
Bits 1 and 0 give the type: PROF=0, VIRT=1, SCHED=2, or FD=3.
Bit 2 indicates whether a cpu clock refers to a thread or a process.
const ( CLOCK_REALTIME = 0 CLOCK_MONOTONIC = 1 CLOCK_PROCESS_CPUTIME_ID = 2 CLOCK_THREAD_CPUTIME_ID = 3 CLOCK_MONOTONIC_RAW = 4 CLOCK_REALTIME_COARSE = 5 CLOCK_MONOTONIC_COARSE = 6 CLOCK_BOOTTIME = 7 CLOCK_REALTIME_ALARM = 8 CLOCK_BOOTTIME_ALARM = 9 )
Clock identifiers for use with clock_gettime(2), clock_getres(2), clock_nanosleep(2).
const ( // TFD_CLOEXEC is a timerfd_create flag. TFD_CLOEXEC = O_CLOEXEC // TFD_NONBLOCK is a timerfd_create flag. TFD_NONBLOCK = O_NONBLOCK // TFD_TIMER_ABSTIME is a timerfd_settime flag. TFD_TIMER_ABSTIME = 1 )
Flags for timerfd syscalls (timerfd_create(2), timerfd_settime(2)).
const ( ITIMER_REAL = 0 ITIMER_VIRTUAL = 1 ITIMER_PROF = 2 )
itimer types for getitimer(2) and setitimer(2), from include/uapi/linux/time.h.
const ( IGNBRK = 0000001 BRKINT = 0000002 IGNPAR = 0000004 PARMRK = 0000010 INPCK = 0000020 ISTRIP = 0000040 INLCR = 0000100 IGNCR = 0000200 ICRNL = 0000400 IUCLC = 0001000 IXON = 0002000 IXANY = 0004000 IXOFF = 0010000 IMAXBEL = 0020000 IUTF8 = 0040000 )
Input flags.
const ( OPOST = 0000001 OLCUC = 0000002 ONLCR = 0000004 OCRNL = 0000010 ONOCR = 0000020 ONLRET = 0000040 OFILL = 0000100 OFDEL = 0000200 NLDLY = 0000400 NL0 = 0000000 NL1 = 0000400 CRDLY = 0003000 CR0 = 0000000 CR1 = 0001000 CR2 = 0002000 CR3 = 0003000 TABDLY = 0014000 TAB0 = 0000000 TAB1 = 0004000 TAB2 = 0010000 TAB3 = 0014000 XTABS = 0014000 BSDLY = 0020000 BS0 = 0000000 BS1 = 0020000 VTDLY = 0040000 VT0 = 0000000 VT1 = 0040000 FFDLY = 0100000 FF0 = 0000000 FF1 = 0100000 )
Output flags.
const ( CBAUD = 0010017 B0 = 0000000 B50 = 0000001 B75 = 0000002 B110 = 0000003 B134 = 0000004 B150 = 0000005 B200 = 0000006 B300 = 0000007 B600 = 0000010 B1200 = 0000011 B1800 = 0000012 B2400 = 0000013 B4800 = 0000014 B9600 = 0000015 B19200 = 0000016 B38400 = 0000017 EXTA = B19200 EXTB = B38400 CSIZE = 0000060 CS5 = 0000000 CS6 = 0000020 CS7 = 0000040 CS8 = 0000060 CSTOPB = 0000100 CREAD = 0000200 PARENB = 0000400 PARODD = 0001000 HUPCL = 0002000 CLOCAL = 0004000 CBAUDEX = 0010000 BOTHER = 0010000 B57600 = 0010001 B115200 = 0010002 B230400 = 0010003 B460800 = 0010004 B500000 = 0010005 B576000 = 0010006 B921600 = 0010007 B1000000 = 0010010 B1152000 = 0010011 B1500000 = 0010012 B2000000 = 0010013 B2500000 = 0010014 B3000000 = 0010015 B3500000 = 0010016 B4000000 = 0010017 CIBAUD = 002003600000 CMSPAR = 010000000000 CRTSCTS = 020000000000 // IBSHIFT is the shift from CBAUD to CIBAUD. IBSHIFT = 16 )
Control flags.
const ( ISIG = 0000001 ICANON = 0000002 XCASE = 0000004 ECHO = 0000010 ECHOE = 0000020 ECHOK = 0000040 ECHONL = 0000100 NOFLSH = 0000200 TOSTOP = 0000400 ECHOCTL = 0001000 ECHOPRT = 0002000 ECHOKE = 0004000 FLUSHO = 0010000 PENDIN = 0040000 IEXTEN = 0100000 EXTPROC = 0200000 )
Local flags.
const ( VINTR = 0 VQUIT = 1 VERASE = 2 VKILL = 3 VEOF = 4 VTIME = 5 VMIN = 6 VSWTC = 7 VSTART = 8 VSTOP = 9 VSUSP = 10 VEOL = 11 VREPRINT = 12 VDISCARD = 13 VWERASE = 14 VLNEXT = 15 VEOL2 = 16 )
Control Character indices.
const ( WNOHANG = 0x00000001 WUNTRACED = 0x00000002 WSTOPPED = WUNTRACED WEXITED = 0x00000004 WCONTINUED = 0x00000008 WNOWAIT = 0x01000000 WNOTHREAD = 0x20000000 WALL = 0x40000000 WCLONE = 0x80000000 )
Options for waitpid(2), wait4(2), and/or waitid(2), from include/uapi/linux/wait.h.
const ( P_ALL = 0x0 P_PID = 0x1 P_PGID = 0x2 )
ID types for waitid(2), from include/uapi/linux/wait.h.
const ( XATTR_NAME_MAX = 255 XATTR_SIZE_MAX = 65536 XATTR_CREATE = 1 XATTR_REPLACE = 2 XATTR_USER_PREFIX = "user." XATTR_USER_PREFIX_LEN = len(XATTR_USER_PREFIX) )
Constants for extended attributes.
const (
// AIORingSize is sizeof(struct aio_ring).
AIORingSize = 32
)
const ALL_INOTIFY_BITS = IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVED_TO | IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ONLYDIR | IN_DONT_FOLLOW | IN_EXCL_UNLINK | IN_MASK_ADD | IN_ISDIR | IN_ONESHOT
ALL_INOTIFY_BITS contains all the bits for all possible inotify events. It's defined in the Linux source at "include/linux/inotify.h".
const (
ARPHRD_LOOPBACK = 772
)
Device types, from uapi/linux/if_arp.h.
const (
AT_FDCWD = -100
)
Constants for all file-related ...at(2) syscalls.
const (
AT_REMOVEDIR = 0x200
)
Constants for unlinkat(2).
const (
AT_SYMLINK_NOFOLLOW = 0x100
)
Constants for fstatat(2).
const (
FD_CLOEXEC = 00000001
)
Flags for fcntl.
const FUTEX_TID_MASK = 0x3fffffff
FUTEX_TID_MASK is the TID portion of a PI futex word.
const (
// IFNAMSIZ is the size of the name field for IFReq.
IFNAMSIZ = 16
)
const IPC_PRIVATE = 0
const (
MLOCK_ONFAULT = 0x01
)
Flags for mlock2(2).
const MaxSymlinkTraversals = 40
MaxSymlinkTraversals is the maximum number of links that will be followed by the kernel to resolve a symlink.
const NLA_ALIGNTO = 4
NLA_ALIGNTO is the alignment of netlink attributes, from uapi/linux/netlink.h.
const NLMSG_ALIGNTO = 4
NLMSG_ALIGNTO is the alignment of netlink messages, from uapi/linux/netlink.h.
const NetlinkAttrHeaderSize = 4
NetlinkAttrHeaderSize is the size of NetlinkAttrHeader.
const NetlinkMessageHeaderSize = 16
NetlinkMessageHeaderSize is the size of NetlinkMessageHeader.
const (
// NumControlCharacters is the number of control characters in Termios.
NumControlCharacters = 19
)
const NumSoftIRQ = 10
NumSoftIRQ is the number of software IRQs, exposed via /proc/stat.
Defined in linux/interrupt.h.
const (
// PTMX_MINOR is the minor device number for /dev/ptmx.
PTMX_MINOR = 2
)
Minor device numbers for TTYAUX_MAJOR.
const SCM_MAX_FD = 253
SCM_MAX_FD is the maximum number of FDs accepted in a single sendmsg call. From net/scm.h.
const SEM_UNDO = 0x1000
const SOCK_TYPE_MASK = 0xf
SOCK_TYPE_MASK covers all of the above socket types. The remaining bits are flags. From linux/net.h.
const SO_ACCEPTCON = 1 << 16
SO_ACCEPTCON is defined as __SO_ACCEPTCON in include/uapi/linux/net.h, which represents a listening socket state. Note that this is distinct from SO_ACCEPTCONN, which is a socket option for querying whether a socket is in a listening state.
const SignalSetSize = 8
SignalSetSize is the size in bytes of a SignalSet.
const SizeOfControlMessageInq = 4
SizeOfControlMessageInq is the size of a TCP_INQ control message.
const SizeOfControlMessageRight = 4
SizeOfControlMessageRight is the size of a single element in ControlMessageRights.
const SizeOfControlMessageTClass = 4
SizeOfControlMessageTClass is the size of an IPV6_TCLASS control message.
const SizeOfControlMessageTOS = 1
SizeOfControlMessageTOS is the size of an IP_TOS control message.
const SizeOfIPTEntry = 112
SizeOfIPTEntry is the size of an IPTEntry.
const SizeOfIPTGetEntries = 40
SizeOfIPTGetEntries is the size of an IPTGetEntries.
const SizeOfIPTGetinfo = 84
SizeOfIPTGetinfo is the size of an IPTGetinfo.
const SizeOfIPTIP = 84
SizeOfIPTIP is the size of an IPTIP.
const SizeOfIPTReplace = 96
SizeOfIPTReplace is the size of an IPTReplace.
const SizeOfLinger = 8
SizeOfLinger is the binary size of a Linger struct.
const SizeOfTimeval = 16
SizeOfTimeval is the size of a Timeval struct in bytes.
const SizeOfXTCounters = 16
SizeOfXTCounters is the size of an XTCounters.
const SizeOfXTEntryMatch = 32
SizeOfXTEntryMatch is the size of an XTEntryMatch.
const SizeOfXTEntryTarget = 32
SizeOfXTEntryTarget is the size of an XTEntryTarget.
const SizeOfXTErrorTarget = 64
SizeOfXTErrorTarget is the size of an XTErrorTarget.
const SizeOfXTStandardTarget = 40
SizeOfXTStandardTarget is the size of an XTStandardTarget.
const SockAddrMax = 128
SockAddrMax is the maximum size of a struct sockaddr, from uapi/linux/socket.h.
const SockAddrNetlinkSize = 12
SockAddrNetlinkSize is the size of SockAddrNetlink.
const TASK_COMM_LEN = 16
TASK_COMM_LEN is the task command name length.
const (
TIMER_ABSTIME = 1
)
Flags for clock_nanosleep(2).
const UIO_MAXIOV = 1024
UIO_MAXIOV is the maximum number of struct iovecs in a struct iovec array.
const ( // UTSLen is the maximum length of strings contained in fields of // UtsName. UTSLen = 64 )
const UnixPathMax = 108
UnixPathMax is the maximum length of the path in an AF_UNIX socket.
From uapi/linux/un.h.
Variables ¶
var ( EPERM = &Errno{1, "operation not permitted"} ENOENT = &Errno{2, "no such file or directory"} ESRCH = &Errno{3, "no such process"} EINTR = &Errno{4, "interrupted system call"} EIO = &Errno{5, "I/O error"} ENXIO = &Errno{6, "no such device or address"} E2BIG = &Errno{7, "argument list too long"} ENOEXEC = &Errno{8, "exec format error"} EBADF = &Errno{9, "bad file number"} ECHILD = &Errno{10, "no child processes"} EAGAIN = &Errno{11, "try again"} ENOMEM = &Errno{12, "out of memory"} EACCES = &Errno{13, "permission denied"} EFAULT = &Errno{14, "bad address"} ENOTBLK = &Errno{15, "block device required"} EBUSY = &Errno{16, "device or resource busy"} EEXIST = &Errno{17, "file exists"} EXDEV = &Errno{18, "cross-device link"} ENODEV = &Errno{19, "no such device"} ENOTDIR = &Errno{20, "not a directory"} EISDIR = &Errno{21, "is a directory"} EINVAL = &Errno{22, "invalid argument"} ENFILE = &Errno{23, "file table overflow"} EMFILE = &Errno{24, "too many open files"} ENOTTY = &Errno{25, "not a typewriter"} ETXTBSY = &Errno{26, "text file busy"} EFBIG = &Errno{27, "file too large"} ENOSPC = &Errno{28, "no space left on device"} ESPIPE = &Errno{29, "illegal seek"} EROFS = &Errno{30, "read-only file system"} EMLINK = &Errno{31, "too many links"} EPIPE = &Errno{32, "broken pipe"} EDOM = &Errno{33, "math argument out of domain of func"} ERANGE = &Errno{34, "math result not representable"} )
Errno values from include/uapi/asm-generic/errno-base.h.
var ( EDEADLK = &Errno{35, "resource deadlock would occur"} ENAMETOOLONG = &Errno{36, "file name too long"} ENOLCK = &Errno{37, "no record locks available"} ENOSYS = &Errno{38, "invalid system call number"} ENOTEMPTY = &Errno{39, "directory not empty"} ELOOP = &Errno{40, "too many symbolic links encountered"} EWOULDBLOCK = &Errno{EAGAIN.number, "operation would block"} ENOMSG = &Errno{42, "no message of desired type"} EIDRM = &Errno{43, "identifier removed"} ECHRNG = &Errno{44, "channel number out of range"} EL2NSYNC = &Errno{45, "level 2 not synchronized"} EL3HLT = &Errno{46, "level 3 halted"} EL3RST = &Errno{47, "level 3 reset"} ELNRNG = &Errno{48, "link number out of range"} EUNATCH = &Errno{49, "protocol driver not attached"} ENOCSI = &Errno{50, "no CSI structure available"} EL2HLT = &Errno{51, "level 2 halted"} EBADE = &Errno{52, "invalid exchange"} EBADR = &Errno{53, "invalid request descriptor"} EXFULL = &Errno{54, "exchange full"} ENOANO = &Errno{55, "no anode"} EBADRQC = &Errno{56, "invalid request code"} EBADSLT = &Errno{57, "invalid slot"} EDEADLOCK = EDEADLK EBFONT = &Errno{59, "bad font file format"} ENOSTR = &Errno{60, "device not a stream"} ENODATA = &Errno{61, "no data available"} ETIME = &Errno{62, "timer expired"} ENOSR = &Errno{63, "out of streams resources"} ENONET = &Errno{64, "machine is not on the network"} ENOPKG = &Errno{65, "package not installed"} EREMOTE = &Errno{66, "object is remote"} ENOLINK = &Errno{67, "link has been severed"} EADV = &Errno{68, "advertise error"} ESRMNT = &Errno{69, "srmount error"} ECOMM = &Errno{70, "communication error on send"} EPROTO = &Errno{71, "protocol error"} EMULTIHOP = &Errno{72, "multihop attempted"} EDOTDOT = &Errno{73, "RFS specific error"} EBADMSG = &Errno{74, "not a data message"} EOVERFLOW = &Errno{75, "value too large for defined data type"} ENOTUNIQ = &Errno{76, "name not unique on network"} EBADFD = &Errno{77, "file descriptor in bad state"} EREMCHG = &Errno{78, "remote address changed"} ELIBACC = &Errno{79, "can not access a needed shared library"} ELIBBAD = &Errno{80, "accessing a corrupted shared library"} ELIBSCN = &Errno{81, ".lib section in a.out corrupted"} ELIBMAX = &Errno{82, "attempting to link in too many shared libraries"} ELIBEXEC = &Errno{83, "cannot exec a shared library directly"} EILSEQ = &Errno{84, "illegal byte sequence"} ERESTART = &Errno{85, "interrupted system call should be restarted"} ESTRPIPE = &Errno{86, "streams pipe error"} EUSERS = &Errno{87, "too many users"} ENOTSOCK = &Errno{88, "socket operation on non-socket"} EDESTADDRREQ = &Errno{89, "destination address required"} EMSGSIZE = &Errno{90, "message too long"} EPROTOTYPE = &Errno{91, "protocol wrong type for socket"} ENOPROTOOPT = &Errno{92, "protocol not available"} EPROTONOSUPPORT = &Errno{93, "protocol not supported"} ESOCKTNOSUPPORT = &Errno{94, "socket type not supported"} EOPNOTSUPP = &Errno{95, "operation not supported on transport endpoint"} EPFNOSUPPORT = &Errno{96, "protocol family not supported"} EAFNOSUPPORT = &Errno{97, "address family not supported by protocol"} EADDRINUSE = &Errno{98, "address already in use"} EADDRNOTAVAIL = &Errno{99, "cannot assign requested address"} ENETDOWN = &Errno{100, "network is down"} ENETUNREACH = &Errno{101, "network is unreachable"} ENETRESET = &Errno{102, "network dropped connection because of reset"} ECONNABORTED = &Errno{103, "software caused connection abort"} ECONNRESET = &Errno{104, "connection reset by peer"} ENOBUFS = &Errno{105, "no buffer space available"} EISCONN = &Errno{106, "transport endpoint is already connected"} ENOTCONN = &Errno{107, "transport endpoint is not connected"} ESHUTDOWN = &Errno{108, "cannot send after transport endpoint shutdown"} ETOOMANYREFS = &Errno{109, "too many references: cannot splice"} ETIMEDOUT = &Errno{110, "connection timed out"} ECONNREFUSED = &Errno{111, "connection refused"} EHOSTDOWN = &Errno{112, "host is down"} EHOSTUNREACH = &Errno{113, "no route to host"} EALREADY = &Errno{114, "operation already in progress"} EINPROGRESS = &Errno{115, "operation now in progress"} ESTALE = &Errno{116, "stale file handle"} EUCLEAN = &Errno{117, "structure needs cleaning"} ENOTNAM = &Errno{118, "not a XENIX named type file"} ENAVAIL = &Errno{119, "no XENIX semaphores available"} EISNAM = &Errno{120, "is a named type file"} EREMOTEIO = &Errno{121, "remote I/O error"} EDQUOT = &Errno{122, "quota exceeded"} ENOMEDIUM = &Errno{123, "no medium found"} EMEDIUMTYPE = &Errno{124, "wrong medium type"} ECANCELED = &Errno{125, "operation Canceled"} ENOKEY = &Errno{126, "required key not available"} EKEYEXPIRED = &Errno{127, "key has expired"} EKEYREVOKED = &Errno{128, "key has been revoked"} EKEYREJECTED = &Errno{129, "key was rejected by service"} EOWNERDEAD = &Errno{130, "owner died"} ENOTRECOVERABLE = &Errno{131, "state not recoverable"} ERFKILL = &Errno{132, "operation not possible due to RF-kill"} EHWPOISON = &Errno{133, "memory page has hardware error"} )
Errno values from include/uapi/asm-generic/errno.h.
var DefaultControlCharacters = [NumControlCharacters]uint8{ ControlCharacter('C'), ControlCharacter('\\'), '\x7f', ControlCharacter('U'), ControlCharacter('D'), 0, 1, 0, ControlCharacter('Q'), ControlCharacter('S'), ControlCharacter('Z'), 0, ControlCharacter('R'), ControlCharacter('O'), ControlCharacter('W'), ControlCharacter('V'), 0, }
DefaultControlCharacters is the default set of Termios control characters.
var DefaultSlaveTermios = KernelTermios{ InputFlags: ICRNL | IXON, OutputFlags: OPOST | ONLCR, ControlFlags: B38400 | CS8 | CREAD, LocalFlags: ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE | IEXTEN, ControlCharacters: DefaultControlCharacters, InputSpeed: 38400, OutputSpeed: 38400, }
DefaultSlaveTermios is the default terminal configuration of the slave end of a Unix98 pseudoterminal.
var InitRLimits = map[int]RLimit{ RLIMIT_CPU: {RLimInfinity, RLimInfinity}, RLIMIT_FSIZE: {RLimInfinity, RLimInfinity}, RLIMIT_DATA: {RLimInfinity, RLimInfinity}, RLIMIT_STACK: {DefaultStackSoftLimit, RLimInfinity}, RLIMIT_CORE: {0, RLimInfinity}, RLIMIT_RSS: {RLimInfinity, RLimInfinity}, RLIMIT_NPROC: {DefaultNprocLimit, DefaultNprocLimit}, RLIMIT_NOFILE: {DefaultNofileSoftLimit, DefaultNofileHardLimit}, RLIMIT_MEMLOCK: {DefaultMemlockLimit, DefaultMemlockLimit}, RLIMIT_AS: {RLimInfinity, RLimInfinity}, RLIMIT_LOCKS: {RLimInfinity, RLimInfinity}, RLIMIT_SIGPENDING: {0, 0}, RLIMIT_MSGQUEUE: {DefaultMsgqueueLimit, DefaultMsgqueueLimit}, RLIMIT_NICE: {0, 0}, RLIMIT_RTPRIO: {0, 0}, RLIMIT_RTTIME: {RLimInfinity, RLimInfinity}, }
InitRLimits is a map of initial rlimits set by Linux in include/asm-generic/resource.h.
var MasterTermios = KernelTermios{ ControlFlags: B38400 | CS8 | CREAD, ControlCharacters: DefaultControlCharacters, InputSpeed: 38400, OutputSpeed: 38400, }
MasterTermios is the terminal configuration of the master end of a Unix98 pseudoterminal.
var SizeOfControlMessageCredentials = int(binary.Size(ControlMessageCredentials{}))
SizeOfControlMessageCredentials is the binary size of a ControlMessageCredentials struct.
var SizeOfControlMessageHeader = int(binary.Size(ControlMessageHeader{}))
SizeOfControlMessageHeader is the binary size of a ControlMessageHeader struct.
var SizeOfIFReq = binary.Size(IFReq{})
SizeOfIFReq is the binary size of an IFReq struct (40 bytes).
var SizeOfStat = binary.Size(Stat{})
SizeOfStat is the size of a Stat struct.
var SizeOfTCPInfo = int(binary.Size(TCPInfo{}))
SizeOfTCPInfo is the binary size of a TCPInfo struct.
Functions ¶
func ControlCharacter ¶
ControlCharacter returns the termios-style control character for the passed character.
e.g., for Ctrl-C, i.e., ^C, call ControlCharacter('C').
Standard control characters are ASCII bytes 0 through 31.
func DecodeDeviceID ¶
DecodeDeviceID decodes a device ID into major and minor device numbers.
func ForEachSignal ¶
ForEachSignal invokes f for each signal set in the given mask.
func MakeDeviceID ¶
MakeDeviceID encodes a major and minor device number into a single device ID.
Format (see linux/kdev_t.h:new_encode_dev):
Bits 7:0 - minor bits 7:0 Bits 19:8 - major bits 11:0 Bits 31:20 - minor bits 19:8
Types ¶
type BPFAction ¶
type BPFAction uint32
type BPFInstruction ¶
type BPFInstruction struct { // OpCode is the operation to execute. OpCode uint16 // JumpIfTrue is the number of instructions to skip if OpCode is a // conditional instruction and the condition is true. JumpIfTrue uint8 // JumpIfFalse is the number of instructions to skip if OpCode is a // conditional instruction and the condition is false. JumpIfFalse uint8 // K is a constant parameter. The meaning depends on the value of OpCode. K uint32 }
BPFInstruction is a raw BPF virtual machine instruction.
+stateify savable
type CapUserData ¶
CapUserData is equivalent to Linux's cap_user_data_t.
type CapUserHeader ¶
CapUserHeader is equivalent to Linux's cap_user_header_t.
type Capability ¶
type Capability int
A Capability represents the ability to perform a privileged operation.
func (Capability) Ok ¶
func (cp Capability) Ok() bool
Ok returns true if cp is a supported capability.
type ClockT ¶
type ClockT int64
ClockT represents type clock_t.
func ClockTFromDuration ¶
ClockTFromDuration converts time.Duration to clock_t.
type ControlMessageCredentials ¶
A ControlMessageCredentials is an SCM_CREDENTIALS socket control message.
ControlMessageCredentials represents struct ucred from linux/socket.h.
type ControlMessageHeader ¶
A ControlMessageHeader is the header for a socket control message.
ControlMessageHeader represents struct cmsghdr from linux/socket.h.
type ControlMessageRights ¶
type ControlMessageRights []int32
A ControlMessageRights is an SCM_RIGHTS socket control message.
type EpollEvent ¶
EpollEvent is equivalent to struct epoll_event from epoll(2).
type Errno ¶
type Errno struct {
// contains filtered or unexported fields
}
Errno represents a Linux errno value.
type FileMode ¶
type FileMode uint16
FileMode represents a mode_t.
func (FileMode) DirentType ¶
DirentType maps file types to dirent types appropriate for (struct dirent)::d_type.
func (FileMode) Permissions ¶
Permissions returns just the permission bits.
type Flock ¶
type Flock struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 // contains filtered or unexported fields }
Flock is the lock structure for F_SETLK.
type IFConf ¶
IFConf is used to return a list of interfaces and their addresses. See netdevice(7) and struct ifconf for more detail on its use.
type IFMap ¶
type IFMap struct { MemStart uint64 MemEnd uint64 BaseAddr int16 IRQ byte DMA byte Port byte // contains filtered or unexported fields }
IFMap contains interface hardware parameters.
type IFReq ¶
type IFReq struct { // IFName is an encoded name, normally null-terminated. This should be // accessed via the Name and SetName functions. IFName [IFNAMSIZ]byte // Data is the union of the following structures: // // struct sockaddr ifr_addr; // struct sockaddr ifr_dstaddr; // struct sockaddr ifr_broadaddr; // struct sockaddr ifr_netmask; // struct sockaddr ifr_hwaddr; // short ifr_flags; // int ifr_ifindex; // int ifr_metric; // int ifr_mtu; // struct ifmap ifr_map; // char ifr_slave[IFNAMSIZ]; // char ifr_newname[IFNAMSIZ]; // char *ifr_data; Data [24]byte }
IFReq is an interface request.
type IPCPerm ¶
type IPCPerm struct { Key uint32 UID uint32 GID uint32 CUID uint32 CGID uint32 Mode uint16 Seq uint16 // contains filtered or unexported fields }
IPCPerm is equivalent to struct ipc64_perm.
type IPTEntry ¶
type IPTEntry struct { // IP is used to filter packets based on the IP header. IP IPTIP // NFCache relates to kernel-internal caching and isn't used by // userspace. NFCache uint32 // TargetOffset is the byte offset from the beginning of this IPTEntry // to the start of the entry's target. TargetOffset uint16 // NextOffset is the byte offset from the beginning of this IPTEntry to // the start of the next entry. It is thus also the size of the entry. NextOffset uint16 // Comeback is a return pointer. It is not used by userspace. Comeback uint32 // Counters holds the packet and byte counts for this rule. Counters XTCounters }
IPTEntry is an iptable rule. It corresponds to struct ipt_entry in include/uapi/linux/netfilter_ipv4/ip_tables.h.
type IPTGetEntries ¶
type IPTGetEntries struct { Name [XT_TABLE_MAXNAMELEN]byte Size uint32 // contains filtered or unexported fields }
IPTGetEntries is the argument for the IPT_SO_GET_ENTRIES sockopt. It corresponds to struct ipt_get_entries in include/uapi/linux/netfilter_ipv4/ip_tables.h.
func (*IPTGetEntries) TableName ¶
func (entries *IPTGetEntries) TableName() string
TableName returns the entries' table name.
type IPTGetinfo ¶
type IPTGetinfo struct { Name [XT_TABLE_MAXNAMELEN]byte ValidHooks uint32 HookEntry [NF_INET_NUMHOOKS]uint32 Underflow [NF_INET_NUMHOOKS]uint32 NumEntries uint32 Size uint32 }
IPTGetinfo is the argument for the IPT_SO_GET_INFO sockopt. It corresponds to struct ipt_getinfo in include/uapi/linux/netfilter_ipv4/ip_tables.h.
func (*IPTGetinfo) TableName ¶
func (info *IPTGetinfo) TableName() string
TableName returns the table name.
type IPTIP ¶
type IPTIP struct { // Src is the source IP address. Src InetAddr // Dst is the destination IP address. Dst InetAddr // SrcMask is the source IP mask. SrcMask InetAddr // DstMask is the destination IP mask. DstMask InetAddr // InputInterface is the input network interface. InputInterface [IFNAMSIZ]byte // OutputInterface is the output network interface. OutputInterface [IFNAMSIZ]byte // InputInterfaceMask is the intput interface mask. InputInterfaceMask [IFNAMSIZ]byte // OuputInterfaceMask is the output interface mask. OutputInterfaceMask [IFNAMSIZ]byte // Protocol is the transport protocol. Protocol uint16 // Flags define matching behavior for the IP header. Flags uint8 // InverseFlags invert the meaning of fields in struct IPTIP. InverseFlags uint8 }
IPTIP contains information for matching a packet's IP header. It corresponds to struct ipt_ip in include/uapi/linux/netfilter_ipv4/ip_tables.h.
type IPTReplace ¶
type IPTReplace struct { Name [XT_TABLE_MAXNAMELEN]byte ValidHooks uint32 NumEntries uint32 Size uint32 HookEntry [NF_INET_NUMHOOKS]uint32 Underflow [NF_INET_NUMHOOKS]uint32 NumCounters uint32 Counters uint64 // This is really a *XTCounters. }
IPTReplace is the argument for the IPT_SO_SET_REPLACE sockopt. It corresponds to struct ipt_replace in include/uapi/linux/netfilter_ipv4/ip_tables.h.
type InetMulticastRequest ¶
InetMulticastRequest is struct ip_mreq, from uapi/linux/in.h.
type InetMulticastRequestWithNIC ¶
type InetMulticastRequestWithNIC struct { InetMulticastRequest InterfaceIndex int32 }
InetMulticastRequestWithNIC is struct ip_mreqn, from uapi/linux/in.h.
type InterfaceAddrMessage ¶
type InterfaceAddrMessage struct { Family uint8 PrefixLen uint8 Flags uint8 Scope uint8 Index uint32 }
InterfaceAddrMessage is struct ifaddrmsg, from uapi/linux/if_addr.h.
type InterfaceInfoMessage ¶
type InterfaceInfoMessage struct { Family uint8 Type uint16 Index int32 Flags uint32 Change uint32 // contains filtered or unexported fields }
InterfaceInfoMessage is struct ifinfomsg, from uapi/linux/rtnetlink.h.
type ItimerVal ¶
ItimerVal mimics the following struct in <sys/time.h>
struct itimerval { struct timeval it_interval; /* next value */ struct timeval it_value; /* current value */ };
type Itimerspec ¶
Itimerspec represents struct itimerspec in <time.h>.
type KernelIPTEntry ¶
type KernelIPTEntry struct { IPTEntry // Elems holds the data for all this rule's matches followed by the // target. It is variable length -- users have to iterate over any // matches and use TargetOffset and NextOffset to make sense of the // data. Elems []byte }
KernelIPTEntry is identical to IPTEntry, but includes the Elems field. This struct marshaled via the binary package to write an IPTEntry to userspace.
type KernelIPTGetEntries ¶
type KernelIPTGetEntries struct { Name [XT_TABLE_MAXNAMELEN]byte Size uint32 Entrytable []KernelIPTEntry // contains filtered or unexported fields }
KernelIPTGetEntries is identical to IPTEntry, but includes the Elems field. This struct marshaled via the binary package to write an KernelIPTGetEntries to userspace.
func (*KernelIPTGetEntries) TableName ¶
func (entries *KernelIPTGetEntries) TableName() string
TableName returns the entries' table name.
type KernelTermios ¶
type KernelTermios struct { InputFlags uint32 OutputFlags uint32 ControlFlags uint32 LocalFlags uint32 LineDiscipline uint8 ControlCharacters [NumControlCharacters]uint8 InputSpeed uint32 OutputSpeed uint32 }
KernelTermios is struct ktermios/struct termios2, defined in uapi/asm-generic/termbits.h.
+stateify savable
func (*KernelTermios) CEnabled ¶
func (t *KernelTermios) CEnabled(flag uint32) bool
CEnabled returns whether flag is enabled in termios control flags.
func (*KernelTermios) FromTermios ¶
func (t *KernelTermios) FromTermios(term Termios)
FromTermios copies fields that are shared with Termios into this KernelTermios struct.
func (*KernelTermios) IEnabled ¶
func (t *KernelTermios) IEnabled(flag uint32) bool
IEnabled returns whether flag is enabled in termios input flags.
func (*KernelTermios) IsEOF ¶
func (t *KernelTermios) IsEOF(c byte) bool
IsEOF returns whether c is the EOF character.
func (*KernelTermios) IsTerminating ¶
func (t *KernelTermios) IsTerminating(cBytes []byte) bool
IsTerminating returns whether c is a line terminating character.
func (*KernelTermios) LEnabled ¶
func (t *KernelTermios) LEnabled(flag uint32) bool
LEnabled returns whether flag is enabled in termios local flags.
func (*KernelTermios) OEnabled ¶
func (t *KernelTermios) OEnabled(flag uint32) bool
OEnabled returns whether flag is enabled in termios output flags.
func (*KernelTermios) ToTermios ¶
func (t *KernelTermios) ToTermios() Termios
ToTermios copies fields that are shared with Termios into a new Termios struct.
type NetlinkAttrHeader ¶
NetlinkAttrHeader is the header of a netlink attribute, followed by payload.
This is struct nlattr, from uapi/linux/netlink.h.
type NetlinkErrorMessage ¶
type NetlinkErrorMessage struct { Error int32 Header NetlinkMessageHeader }
NetlinkErrorMessage is struct nlmsgerr, from uapi/linux/netlink.h.
type NetlinkMessageHeader ¶
type NetlinkMessageHeader struct { Length uint32 Type uint16 Flags uint16 Seq uint32 PortID uint32 }
NetlinkMessageHeader is struct nlmsghdr, from uapi/linux/netlink.h.
type RLimit ¶
type RLimit struct { // Cur specifies the soft limit. Cur uint64 // Max specifies the hard limit. Max uint64 }
RLimit corresponds to Linux's struct rlimit.
type RouteMessage ¶
type RouteMessage struct { Family uint8 DstLen uint8 SrcLen uint8 TOS uint8 Table uint8 Protocol uint8 Scope uint8 Type uint8 Flags uint32 }
RouteMessage struct rtmsg, from uapi/linux/rtnetlink.h.
type Rusage ¶
type Rusage struct { UTime Timeval STime Timeval MaxRSS int64 IXRSS int64 IDRSS int64 ISRSS int64 MinFlt int64 MajFlt int64 NSwap int64 InBlock int64 OuBlock int64 MsgSnd int64 MsgRcv int64 NSignals int64 NVCSw int64 NIvCSw int64 }
Rusage represents the Linux struct rusage.
type SemidDS ¶
type SemidDS struct { SemPerm IPCPerm SemOTime TimeT SemCTime TimeT SemNSems uint64 // contains filtered or unexported fields }
SemidDS is equivalent to struct semid64_ds.
type ShmInfo ¶
type ShmInfo struct { UsedIDs int32 // Number of currently existing segments. ShmTot uint64 // Total number of shared memory pages. ShmRss uint64 // Number of resident shared memory pages. ShmSwp uint64 // Number of swapped shared memory pages. SwapAttempts uint64 // Unused since Linux 2.4. SwapSuccesses uint64 // Unused since Linux 2.4. // contains filtered or unexported fields }
ShmInfo is equivalent to struct shm_info. Source: include/uapi/linux/shm.h
type ShmidDS ¶
type ShmidDS struct { ShmPerm IPCPerm ShmSegsz uint64 ShmAtime TimeT ShmDtime TimeT ShmCtime TimeT ShmCpid int32 ShmLpid int32 ShmNattach uint64 Unused4 uint64 Unused5 uint64 }
ShmidDS is equivalent to struct shmid64_ds. Source: include/uapi/asm-generic/shmbuf.h
type Sigevent ¶
type Sigevent struct { Value uint64 // union sigval {int, void*} Signo int32 Notify int32 // struct sigevent here contains 48-byte union _sigev_un. However, only // member _tid is significant to the kernel. Tid int32 UnRemainder [44]byte }
Sigevent represents struct sigevent.
type Signal ¶
type Signal int
Signal is a signal number.
func (Signal) Index ¶
Index returns the index for signal s into arrays of both standard and realtime signals (e.g. signal masks).
Preconditions: s.IsValid().
func (Signal) IsRealtime ¶
IsRealtime returns true if s is a realtime signal.
Preconditions: s.IsValid().
func (Signal) IsStandard ¶
IsStandard returns true if s is a standard signal.
Preconditions: s.IsValid().
type SignalSet ¶
type SignalSet uint64
SignalSet is a signal mask with a bit corresponding to each signal.
func MakeSignalSet ¶
MakeSignalSet returns SignalSet with the bit corresponding to each of the given signals set.
func SignalSetOf ¶
SignalSetOf returns a SignalSet with a single signal set.
type SignalfdSiginfo ¶
type SignalfdSiginfo struct { Signo uint32 Errno int32 Code int32 PID uint32 UID uint32 FD int32 TID uint32 Band uint32 Overrun uint32 TrapNo uint32 Status int32 Int int32 Ptr uint64 UTime uint64 STime uint64 Addr uint64 AddrLSB uint16 // contains filtered or unexported fields }
SignalfdSiginfo is the siginfo encoding for signalfds.
type SockAddr ¶
type SockAddr interface {
// contains filtered or unexported methods
}
SockAddr represents a union of valid socket address types. This is logically equivalent to struct sockaddr. SockAddr ensures that a well-defined set of types can be used as socket addresses.
type SockAddrInet ¶
type SockAddrInet struct { Family uint16 Port uint16 Addr InetAddr Zero [8]uint8 // pad to sizeof(struct sockaddr). }
SockAddrInet is struct sockaddr_in, from uapi/linux/in.h.
type SockAddrInet6 ¶
type SockAddrInet6 struct { Family uint16 Port uint16 Flowinfo uint32 Addr [16]byte Scope_id uint32 }
SockAddrInet6 is struct sockaddr_in6, from uapi/linux/in6.h.
type SockAddrLink ¶
type SockAddrLink struct { Family uint16 Protocol uint16 InterfaceIndex int32 ARPHardwareType uint16 PacketType byte HardwareAddrLen byte HardwareAddr [8]byte }
SockAddrLink is a struct sockaddr_ll, from uapi/linux/if_packet.h.
type SockAddrNetlink ¶
type SockAddrNetlink struct { Family uint16 PortID uint32 Groups uint32 // contains filtered or unexported fields }
SockAddrNetlink is struct sockaddr_nl, from uapi/linux/netlink.h.
type SockAddrUnix ¶
type SockAddrUnix struct { Family uint16 Path [UnixPathMax]int8 }
SockAddrUnix is struct sockaddr_un, from uapi/linux/un.h.
type SockType ¶
type SockType int
A SockType is a type (as opposed to family) of sockets. These are enumerated below as SOCK_* constants.
type Stat ¶
type Stat struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint32 UID uint32 GID uint32 Rdev uint64 Size int64 Blksize int64 Blocks int64 ATime Timespec MTime Timespec CTime Timespec // contains filtered or unexported fields }
Stat represents struct stat.
type Statfs ¶
type Statfs struct { // Type is one of the filesystem magic values, defined above. Type uint64 // BlockSize is the data block size. BlockSize int64 // Blocks is the number of data blocks in use. Blocks uint64 // BlocksFree is the number of free blocks. BlocksFree uint64 // BlocksAvailable is the number of blocks free for use by // unprivileged users. BlocksAvailable uint64 // Files is the number of used file nodes on the filesystem. Files uint64 // FileFress is the number of free file nodes on the filesystem. FilesFree uint64 // FSID is the filesystem ID. FSID [2]int32 // NameLength is the maximum file name length. NameLength uint64 // FragmentSize is equivalent to BlockSize. FragmentSize int64 // Flags is the set of filesystem mount flags. Flags uint64 // Spare is unused. Spare [4]uint64 }
Statfs is struct statfs, from uapi/asm-generic/statfs.h.
type Statx ¶
type Statx struct { Mask uint32 Blksize uint32 Attributes uint64 Nlink uint32 UID uint32 GID uint32 Mode uint16 Ino uint64 Size uint64 Blocks uint64 AttributesMask uint64 Atime StatxTimestamp Btime StatxTimestamp Ctime StatxTimestamp Mtime StatxTimestamp RdevMajor uint32 RdevMinor uint32 DevMajor uint32 DevMinor uint32 // contains filtered or unexported fields }
Statx represents struct statx.
type StatxTimestamp ¶
StatxTimestamp represents struct statx_timestamp.
func NsecToStatxTimestamp ¶
func NsecToStatxTimestamp(nsec int64) (ts StatxTimestamp)
NsecToStatxTimestamp translates nanoseconds to StatxTimestamp.
type Sysinfo ¶
type Sysinfo struct { Uptime int64 Loads [3]uint64 TotalRAM uint64 FreeRAM uint64 BufferRAM uint64 TotalSwap uint64 FreeSwap uint64 Procs uint16 TotalHigh uint64 FreeHigh uint64 Unit uint32 // contains filtered or unexported fields }
Sysinfo is the structure provided by sysinfo on linux versions > 2.3.48.
type TCPInfo ¶
type TCPInfo struct { State uint8 CaState uint8 Retransmits uint8 Probes uint8 Backoff uint8 Options uint8 // WindowScale is the combination of snd_wscale (first 4 bits) and rcv_wscale (second 4 bits) WindowScale uint8 // DeliveryRateAppLimited is a boolean and only the first bit is meaningful. DeliveryRateAppLimited uint8 RTO uint32 ATO uint32 SndMss uint32 RcvMss uint32 Unacked uint32 Sacked uint32 Lost uint32 Retrans uint32 Fackets uint32 // Times. LastDataSent uint32 LastAckSent uint32 LastDataRecv uint32 LastAckRecv uint32 // Metrics. PMTU uint32 RcvSsthresh uint32 RTT uint32 RTTVar uint32 SndSsthresh uint32 SndCwnd uint32 Advmss uint32 Reordering uint32 RcvRTT uint32 RcvSpace uint32 TotalRetrans uint32 PacingRate uint64 MaxPacingRate uint64 // BytesAcked is RFC4898 tcpEStatsAppHCThruOctetsAcked. BytesAcked uint64 // BytesReceived is RFC4898 tcpEStatsAppHCThruOctetsReceived. BytesReceived uint64 // SegsOut is RFC4898 tcpEStatsPerfSegsOut. SegsOut uint32 // SegsIn is RFC4898 tcpEStatsPerfSegsIn. SegsIn uint32 NotSentBytes uint32 MinRTT uint32 // DataSegsIn is RFC4898 tcpEStatsDataSegsIn. DataSegsIn uint32 // DataSegsOut is RFC4898 tcpEStatsDataSegsOut. DataSegsOut uint32 DeliveryRate uint64 // BusyTime is the time in microseconds busy sending data. BusyTime uint64 // RwndLimited is the time in microseconds limited by receive window. RwndLimited uint64 // SndBufLimited is the time in microseconds limited by send buffer. SndBufLimited uint64 }
TCPInfo is a collection of TCP statistics.
From uapi/linux/tcp.h. Newer versions of Linux continue to add new fields to the end of this struct or within existing unusued space, so its size grows over time. The current iteration is based on linux v4.17. New versions are always backwards compatible.
type Termios ¶
type Termios struct { InputFlags uint32 OutputFlags uint32 ControlFlags uint32 LocalFlags uint32 LineDiscipline uint8 ControlCharacters [NumControlCharacters]uint8 }
Termios is struct termios, defined in uapi/asm-generic/termbits.h.
type TimeT ¶
type TimeT int64
TimeT represents time_t in <time.h>. It represents time in seconds.
func NsecToTimeT ¶
NsecToTimeT translates nanoseconds to TimeT (seconds).
type TimerID ¶
type TimerID int32
TimerID represents type timer_t, which identifies a POSIX per-process interval timer.
type Timespec ¶
Timespec represents struct timespec in <time.h>.
func DurationToTimespec ¶
DurationToTimespec translates time.Duration to Timespec.
func NsecToTimespec ¶
NsecToTimespec translates nanoseconds to Timespec.
func (Timespec) ToDuration ¶
ToDuration returns the safe nanosecond representation as time.Duration.
func (Timespec) ToNsecCapped ¶
ToNsecCapped returns the safe nanosecond representation.
type Timeval ¶
Timeval represents struct timeval in <time.h>.
func DurationToTimeval ¶
DurationToTimeval translates time.Duration to Timeval.
func NsecToTimeval ¶
NsecToTimeval translates nanosecond to Timeval.
func (Timeval) ToDuration ¶
ToDuration returns the safe nanosecond representation as a time.Duration.
func (Timeval) ToNsecCapped ¶
ToNsecCapped returns the safe nanosecond representation.
type UtsName ¶
type UtsName struct { Sysname [UTSLen + 1]byte Nodename [UTSLen + 1]byte Release [UTSLen + 1]byte Version [UTSLen + 1]byte Machine [UTSLen + 1]byte Domainname [UTSLen + 1]byte }
UtsName represents struct utsname, the struct returned by uname(2).
type WindowSize ¶
WindowSize corresponds to struct winsize defined in include/uapi/asm-generic/termios.h.
+stateify savable
type XTCounters ¶
type XTCounters struct { // Pcnt is the packet count. Pcnt uint64 // Bcnt is the byte count. Bcnt uint64 }
XTCounters holds packet and byte counts for a rule. It corresponds to struct xt_counters in include/uapi/linux/netfilter/x_tables.h.
type XTEntryMatch ¶
type XTEntryMatch struct { MatchSize uint16 Name [XT_EXTENSION_MAXNAMELEN]byte Revision uint8 }
XTEntryMatch holds a match for a rule. For example, a user using the addrtype iptables match extension would put the data for that match into an XTEntryMatch. iptables-extensions(8) has a list of possible matches.
XTEntryMatch corresponds to struct xt_entry_match in include/uapi/linux/netfilter/x_tables.h. That struct contains a union exposing different data to the user and kernel, but this struct holds only the user data.
type XTEntryTarget ¶
type XTEntryTarget struct { TargetSize uint16 Name [XT_EXTENSION_MAXNAMELEN]byte Revision uint8 }
XTEntryTarget holds a target for a rule. For example, it can specify that packets matching the rule should DROP, ACCEPT, or use an extension target. iptables-extension(8) has a list of possible targets.
XTEntryTarget corresponds to struct xt_entry_target in include/uapi/linux/netfilter/x_tables.h. That struct contains a union exposing different data to the user and kernel, but this struct holds only the user data.
type XTErrorTarget ¶
type XTErrorTarget struct { Target XTEntryTarget ErrorName [XT_FUNCTION_MAXNAMELEN]byte // contains filtered or unexported fields }
XTErrorTarget triggers an error when reached. It is also used to mark the beginning of user-defined chains by putting the name of the chain in ErrorName. It corresponds to struct xt_error_target in include/uapi/linux/netfilter/x_tables.h.
type XTStandardTarget ¶
type XTStandardTarget struct { Target XTEntryTarget Verdict int32 // contains filtered or unexported fields }
XTStandardTarget is a builtin target, one of ACCEPT, DROP, JUMP, QUEUE, or RETURN. It corresponds to struct xt_standard_target in include/uapi/linux/netfilter/x_tables.h.
Source Files ¶
- aio.go
- audit.go
- bpf.go
- capability.go
- clone.go
- dev.go
- elf.go
- epoll.go
- errors.go
- eventfd.go
- exec.go
- fcntl.go
- file.go
- file_amd64.go
- fs.go
- futex.go
- inotify.go
- ioctl.go
- ip.go
- ipc.go
- limits.go
- linux.go
- mm.go
- netdevice.go
- netfilter.go
- netlink.go
- netlink_route.go
- poll.go
- prctl.go
- ptrace.go
- rusage.go
- sched.go
- seccomp.go
- sem.go
- shm.go
- signal.go
- signalfd.go
- socket.go
- splice.go
- tcp.go
- time.go
- timer.go
- tty.go
- uio.go
- utsname.go
- wait.go
- xattr.go