Package syscall

import "syscall"
Overview
Index
Subdirectories

Overview ▾

Package syscall contains an interface to the low-level operating system primitives. The details vary depending on the underlying system, and by default, godoc will display the syscall documentation for the current system. If you want godoc to display syscall documentation for another system, set $GOOS and $GOARCH to the desired system. For example, if you want to view documentation for freebsd/arm on linux/amd64, set $GOOS to freebsd and $GOARCH to arm. The primary use of syscall is inside other packages that provide a more portable interface to the system, such as "os", "time" and "net". Use those packages rather than this one if you can. For details of the functions and data types in this package consult the manuals for the appropriate operating system. These calls return err == nil to indicate success; otherwise err is an operating system error describing the failure. On most systems, that error has type syscall.Errno.

NOTE: Most of the functions, types, and constants defined in this package are also available in the golang.org/x/sys package. That package has more system call support than this one, and most new code should prefer that package where possible. See https://golang.org/s/go1.4-syscall for more information.

Index ▾

Constants
Variables
func Access(path string, mode uint32) (err error)
func Adjtime(delta *Timeval, olddelta *Timeval) (err error)
func Bind(fd int, sa Sockaddr) (err error)
func BpfBuflen(fd int) (int, error)
func BpfDatalink(fd int) (int, error)
func BpfHeadercmpl(fd int) (int, error)
func BpfInterface(fd int, name string) (string, error)
func BytePtrFromString(s string) (*byte, error)
func ByteSliceFromString(s string) ([]byte, error)
func Chdir(path string) (err error)
func CheckBpfVersion(fd int) error
func Chflags(path string, flags int) (err error)
func Chmod(path string, mode uint32) (err error)
func Chown(path string, uid int, gid int) (err error)
func Chroot(path string) (err error)
func Clearenv()
func Close(fd int) (err error)
func CloseOnExec(fd int)
func CmsgLen(datalen int) int
func CmsgSpace(datalen int) int
func Connect(fd int, sa Sockaddr) (err error)
func Dup(fd int) (nfd int, err error)
func Dup2(from int, to int) (err error)
func Environ() []string
func Exec(argv0 string, argv []string, envv []string) (err error)
func Exit(code int)
func Fchdir(fd int) (err error)
func Fchflags(fd int, flags int) (err error)
func Fchmod(fd int, mode uint32) (err error)
func Fchown(fd int, uid int, gid int) (err error)
func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error
func Flock(fd int, how int) (err error)
func FlushBpf(fd int) error
func ForkExec(argv0 string, argv []string, attr *ProcAttr) (pid int, err error)
func Fpathconf(fd int, name int) (val int, err error)
func Fstat(fd int, stat *Stat_t) (err error)
func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
func Fstatfs(fd int, stat *Statfs_t) (err error)
func Fsync(fd int) (err error)
func Ftruncate(fd int, length int64) (err error)
func Futimes(fd int, tv []Timeval) (err error)
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
func Getdtablesize() (size int)
func Getegid() (egid int)
func Getenv(key string) (value string, found bool)
func Geteuid() (uid int)
func Getfsstat(buf []Statfs_t, flags int) (n int, err error)
func Getgid() (gid int)
func Getgroups() (gids []int, err error)
func Getpagesize() int
func Getpgid(pid int) (pgid int, err error)
func Getpgrp() (pgrp int)
func Getpid() (pid int)
func Getppid() (ppid int)
func Getpriority(which int, who int) (prio int, err error)
func Getrlimit(which int, lim *Rlimit) (err error)
func Getrusage(who int, rusage *Rusage) (err error)
func Getsid(pid int) (sid int, err error)
func GetsockoptByte(fd, level, opt int) (value byte, err error)
func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error)
func GetsockoptInt(fd, level, opt int) (value int, err error)
func Gettimeofday(tv *Timeval) (err error)
func Getuid() (uid int)
func Getwd() (string, error)
func Issetugid() (tainted bool)
func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error)
func Kill(pid int, signum Signal) (err error)
func Kqueue() (fd int, err error)
func Lchown(path string, uid int, gid int) (err error)
func Link(path string, link string) (err error)
func Listen(s int, backlog int) (err error)
func Lstat(path string, st *Stat_t) (err error)
func Mkdir(path string, mode uint32) (err error)
func Mkfifo(path string, mode uint32) (err error)
func Mknod(path string, mode uint32, dev uint64) (err error)
func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)
func Munmap(b []byte) (err error)
func Nanosleep(time *Timespec, leftover *Timespec) (err error)
func Open(path string, mode int, perm uint32) (fd int, err error)
func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string)
func ParseUnixRights(m *SocketControlMessage) ([]int, error)
func Pathconf(path string, name int) (val int, err error)
func Pipe(p []int) error
func Pipe2(p []int, flags int) error
func Pread(fd int, p []byte, offset int64) (n int, err error)
func Pwrite(fd int, p []byte, offset int64) (n int, err error)
func Read(fd int, p []byte) (n int, err error)
func ReadDirent(fd int, buf []byte) (n int, err error)
func Readlink(path string, buf []byte) (n int, err error)
func Rename(from string, to string) (err error)
func Revoke(path string) (err error)
func Rmdir(path string) (err error)
func RouteRIB(facility, param int) ([]byte, error)
func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error)
func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error)
func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error)
func SetBpf(fd int, i []BpfInsn) error
func SetBpfBuflen(fd, l int) (int, error)
func SetBpfDatalink(fd, t int) (int, error)
func SetBpfHeadercmpl(fd, f int) error
func SetBpfImmediate(fd, m int) error
func SetBpfInterface(fd int, name string) error
func SetBpfPromisc(fd, m int) error
func SetBpfTimeout(fd int, tv *Timeval) error
func SetKevent(k *Kevent_t, fd, mode, flags int)
func SetNonblock(fd int, nonblocking bool) (err error)
func Setegid(egid int) (err error)
func Setenv(key, value string) error
func Seteuid(euid int) (err error)
func Setgid(gid int) (err error)
func Setgroups(gids []int) (err error)
func Setlogin(name string) (err error)
func Setpgid(pid int, pgid int) (err error)
func Setpriority(which int, who int, prio int) (err error)
func Setregid(rgid int, egid int) (err error)
func Setreuid(ruid int, euid int) (err error)
func Setrlimit(resource int, rlim *Rlimit) error
func Setsid() (pid int, err error)
func SetsockoptByte(fd, level, opt int, value byte) (err error)
func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error
func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error)
func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error)
func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error)
func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error)
func SetsockoptInt(fd, level, opt int, value int) (err error)
func SetsockoptLinger(fd, level, opt int, l *Linger) (err error)
func SetsockoptString(fd, level, opt int, s string) (err error)
func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error)
func Settimeofday(tp *Timeval) (err error)
func Setuid(uid int) (err error)
func Shutdown(s int, how int) (err error)
func SlicePtrFromStrings(ss []string) ([]*byte, error)
func Socket(domain, typ, proto int) (fd int, err error)
func Socketpair(domain, typ, proto int) (fd [2]int, err error)
func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle uintptr, err error)
func Stat(path string, st *Stat_t) (err error)
func Statfs(path string, stat *Statfs_t) (err error)
func StringBytePtr(s string) *byte
func StringByteSlice(s string) []byte
func StringSlicePtr(ss []string) []*byte
func Symlink(path string, link string) (err error)
func Sync() (err error)
func Sysctl(name string) (value string, err error)
func SysctlUint32(name string) (value uint32, err error)
func TimespecToNsec(ts Timespec) int64
func TimevalToNsec(tv Timeval) int64
func Truncate(path string, length int64) (err error)
func Umask(newmask int) (oldmask int)
func Undelete(path string) (err error)
func UnixRights(fds ...int) []byte
func Unlink(path string) (err error)
func Unmount(path string, flags int) (err error)
func Unsetenv(key string) error
func Utimes(path string, tv []Timeval) (err error)
func UtimesNano(path string, ts []Timespec) error
func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)
func Write(fd int, p []byte) (n int, err error)
type BpfHdr
type BpfInsn
    func BpfJump(code, k, jt, jf int) *BpfInsn
    func BpfStmt(code, k int) *BpfInsn
type BpfProgram
type BpfStat
    func BpfStats(fd int) (*BpfStat, error)
type BpfVersion
type BpfZbuf
type BpfZbufHeader
type Cmsghdr
    func (cmsg *Cmsghdr) SetLen(length int)
type Conn
type Credential
type Dirent
type Errno
    func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
    func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
    func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
    func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
    func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
    func (e Errno) Error() string
    func (e Errno) Is(target error) bool
    func (e Errno) Temporary() bool
    func (e Errno) Timeout() bool
type FdSet
type Flock_t
type Fsid
type ICMPv6Filter
    func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error)
type IPMreq
    func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error)
type IPMreqn
    func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error)
type IPv6MTUInfo
    func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error)
type IPv6Mreq
    func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error)
type IfAnnounceMsghdr
type IfData
type IfMsghdr
type IfaMsghdr
type IfmaMsghdr
type Inet6Pktinfo
type InterfaceAddrMessage
type InterfaceAnnounceMessage
type InterfaceMessage
type InterfaceMulticastAddrMessage
type Iovec
    func (iov *Iovec) SetLen(length int)
type Kevent_t
type Linger
type Msghdr
    func (msghdr *Msghdr) SetControllen(length int)
type ProcAttr
type RawConn
type RawSockaddr
type RawSockaddrAny
type RawSockaddrDatalink
type RawSockaddrInet4
type RawSockaddrInet6
type RawSockaddrUnix
type Rlimit
type RouteMessage
type RoutingMessage
    func ParseRoutingMessage(b []byte) (msgs []RoutingMessage, err error)
type RtMetrics
type RtMsghdr
type Rusage
type Signal
    func (s Signal) Signal()
    func (s Signal) String() string
type Sockaddr
    func Accept(fd int) (nfd int, sa Sockaddr, err error)
    func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error)
    func Getpeername(fd int) (sa Sockaddr, err error)
    func Getsockname(fd int) (sa Sockaddr, err error)
    func ParseRoutingSockaddr(msg RoutingMessage) ([]Sockaddr, error)
    func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error)
    func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error)
type SockaddrDatalink
type SockaddrInet4
type SockaddrInet6
type SockaddrUnix
type SocketControlMessage
    func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error)
type Stat_t
type Statfs_t
type SysProcAttr
type Termios
type Timespec
    func NsecToTimespec(nsec int64) Timespec
    func (ts *Timespec) Nano() int64
    func (ts *Timespec) Unix() (sec int64, nsec int64)
type Timeval
    func BpfTimeout(fd int) (*Timeval, error)
    func NsecToTimeval(nsec int64) Timeval
    func (tv *Timeval) Nano() int64
    func (tv *Timeval) Unix() (sec int64, nsec int64)
type WaitStatus
    func (w WaitStatus) Continued() bool
    func (w WaitStatus) CoreDump() bool
    func (w WaitStatus) ExitStatus() int
    func (w WaitStatus) Exited() bool
    func (w WaitStatus) Signal() Signal
    func (w WaitStatus) Signaled() bool
    func (w WaitStatus) StopSignal() Signal
    func (w WaitStatus) Stopped() bool
    func (w WaitStatus) TrapCause() int

Package files

asan0.go bpf_bsd.go dirent.go endian_little.go env_unix.go exec_freebsd.go exec_unix.go flock_bsd.go forkpipe2.go msan0.go net.go rlimit.go rlimit_stub.go route_bsd.go route_freebsd.go route_freebsd_64bit.go sockcmsg_unix.go sockcmsg_unix_other.go syscall.go syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go syscall_unix.go time_nofake.go timestruct.go zerrors_freebsd_amd64.go zsyscall_freebsd_amd64.go zsysnum_freebsd_amd64.go ztypes_freebsd_amd64.go

Constants

const (
    AF_APPLETALK                      = 0x10
    AF_ARP                            = 0x23
    AF_ATM                            = 0x1e
    AF_BLUETOOTH                      = 0x24
    AF_CCITT                          = 0xa
    AF_CHAOS                          = 0x5
    AF_CNT                            = 0x15
    AF_COIP                           = 0x14
    AF_DATAKIT                        = 0x9
    AF_DECnet                         = 0xc
    AF_DLI                            = 0xd
    AF_E164                           = 0x1a
    AF_ECMA                           = 0x8
    AF_HYLINK                         = 0xf
    AF_IEEE80211                      = 0x25
    AF_IMPLINK                        = 0x3
    AF_INET                           = 0x2
    AF_INET6                          = 0x1c
    AF_INET6_SDP                      = 0x2a
    AF_INET_SDP                       = 0x28
    AF_IPX                            = 0x17
    AF_ISDN                           = 0x1a
    AF_ISO                            = 0x7
    AF_LAT                            = 0xe
    AF_LINK                           = 0x12
    AF_LOCAL                          = 0x1
    AF_MAX                            = 0x2a
    AF_NATM                           = 0x1d
    AF_NETBIOS                        = 0x6
    AF_NETGRAPH                       = 0x20
    AF_OSI                            = 0x7
    AF_PUP                            = 0x4
    AF_ROUTE                          = 0x11
    AF_SCLUSTER                       = 0x22
    AF_SIP                            = 0x18
    AF_SLOW                           = 0x21
    AF_SNA                            = 0xb
    AF_UNIX                           = 0x1
    AF_UNSPEC                         = 0x0
    AF_VENDOR00                       = 0x27
    AF_VENDOR01                       = 0x29
    AF_VENDOR02                       = 0x2b
    AF_VENDOR03                       = 0x2d
    AF_VENDOR04                       = 0x2f
    AF_VENDOR05                       = 0x31
    AF_VENDOR06                       = 0x33
    AF_VENDOR07                       = 0x35
    AF_VENDOR08                       = 0x37
    AF_VENDOR09                       = 0x39
    AF_VENDOR10                       = 0x3b
    AF_VENDOR11                       = 0x3d
    AF_VENDOR12                       = 0x3f
    AF_VENDOR13                       = 0x41
    AF_VENDOR14                       = 0x43
    AF_VENDOR15                       = 0x45
    AF_VENDOR16                       = 0x47
    AF_VENDOR17                       = 0x49
    AF_VENDOR18                       = 0x4b
    AF_VENDOR19                       = 0x4d
    AF_VENDOR20                       = 0x4f
    AF_VENDOR21                       = 0x51
    AF_VENDOR22                       = 0x53
    AF_VENDOR23                       = 0x55
    AF_VENDOR24                       = 0x57
    AF_VENDOR25                       = 0x59
    AF_VENDOR26                       = 0x5b
    AF_VENDOR27                       = 0x5d
    AF_VENDOR28                       = 0x5f
    AF_VENDOR29                       = 0x61
    AF_VENDOR30                       = 0x63
    AF_VENDOR31                       = 0x65
    AF_VENDOR32                       = 0x67
    AF_VENDOR33                       = 0x69
    AF_VENDOR34                       = 0x6b
    AF_VENDOR35                       = 0x6d
    AF_VENDOR36                       = 0x6f
    AF_VENDOR37                       = 0x71
    AF_VENDOR38                       = 0x73
    AF_VENDOR39                       = 0x75
    AF_VENDOR40                       = 0x77
    AF_VENDOR41                       = 0x79
    AF_VENDOR42                       = 0x7b
    AF_VENDOR43                       = 0x7d
    AF_VENDOR44                       = 0x7f
    AF_VENDOR45                       = 0x81
    AF_VENDOR46                       = 0x83
    AF_VENDOR47                       = 0x85
    B0                                = 0x0
    B110                              = 0x6e
    B115200                           = 0x1c200
    B1200                             = 0x4b0
    B134                              = 0x86
    B14400                            = 0x3840
    B150                              = 0x96
    B1800                             = 0x708
    B19200                            = 0x4b00
    B200                              = 0xc8
    B230400                           = 0x38400
    B2400                             = 0x960
    B28800                            = 0x7080
    B300                              = 0x12c
    B38400                            = 0x9600
    B460800                           = 0x70800
    B4800                             = 0x12c0
    B50                               = 0x32
    B57600                            = 0xe100
    B600                              = 0x258
    B7200                             = 0x1c20
    B75                               = 0x4b
    B76800                            = 0x12c00
    B921600                           = 0xe1000
    B9600                             = 0x2580
    BIOCFEEDBACK                      = 0x8004427c
    BIOCFLUSH                         = 0x20004268
    BIOCGBLEN                         = 0x40044266
    BIOCGDIRECTION                    = 0x40044276
    BIOCGDLT                          = 0x4004426a
    BIOCGDLTLIST                      = 0xc0104279
    BIOCGETBUFMODE                    = 0x4004427d
    BIOCGETIF                         = 0x4020426b
    BIOCGETZMAX                       = 0x4008427f
    BIOCGHDRCMPLT                     = 0x40044274
    BIOCGRSIG                         = 0x40044272
    BIOCGRTIMEOUT                     = 0x4010426e
    BIOCGSEESENT                      = 0x40044276
    BIOCGSTATS                        = 0x4008426f
    BIOCGTSTAMP                       = 0x40044283
    BIOCIMMEDIATE                     = 0x80044270
    BIOCLOCK                          = 0x2000427a
    BIOCPROMISC                       = 0x20004269
    BIOCROTZBUF                       = 0x40184280
    BIOCSBLEN                         = 0xc0044266
    BIOCSDIRECTION                    = 0x80044277
    BIOCSDLT                          = 0x80044278
    BIOCSETBUFMODE                    = 0x8004427e
    BIOCSETF                          = 0x80104267
    BIOCSETFNR                        = 0x80104282
    BIOCSETIF                         = 0x8020426c
    BIOCSETWF                         = 0x8010427b
    BIOCSETZBUF                       = 0x80184281
    BIOCSHDRCMPLT                     = 0x80044275
    BIOCSRSIG                         = 0x80044273
    BIOCSRTIMEOUT                     = 0x8010426d
    BIOCSSEESENT                      = 0x80044277
    BIOCSTSTAMP                       = 0x80044284
    BIOCVERSION                       = 0x40044271
    BPF_A                             = 0x10
    BPF_ABS                           = 0x20
    BPF_ADD                           = 0x0
    BPF_ALIGNMENT                     = 0x8
    BPF_ALU                           = 0x4
    BPF_AND                           = 0x50
    BPF_B                             = 0x10
    BPF_BUFMODE_BUFFER                = 0x1
    BPF_BUFMODE_ZBUF                  = 0x2
    BPF_DIV                           = 0x30
    BPF_H                             = 0x8
    BPF_IMM                           = 0x0
    BPF_IND                           = 0x40
    BPF_JA                            = 0x0
    BPF_JEQ                           = 0x10
    BPF_JGE                           = 0x30
    BPF_JGT                           = 0x20
    BPF_JMP                           = 0x5
    BPF_JSET                          = 0x40
    BPF_K                             = 0x0
    BPF_LD                            = 0x0
    BPF_LDX                           = 0x1
    BPF_LEN                           = 0x80
    BPF_LSH                           = 0x60
    BPF_MAJOR_VERSION                 = 0x1
    BPF_MAXBUFSIZE                    = 0x80000
    BPF_MAXINSNS                      = 0x200
    BPF_MEM                           = 0x60
    BPF_MEMWORDS                      = 0x10
    BPF_MINBUFSIZE                    = 0x20
    BPF_MINOR_VERSION                 = 0x1
    BPF_MISC                          = 0x7
    BPF_MSH                           = 0xa0
    BPF_MUL                           = 0x20
    BPF_NEG                           = 0x80
    BPF_OR                            = 0x40
    BPF_RELEASE                       = 0x30bb6
    BPF_RET                           = 0x6
    BPF_RSH                           = 0x70
    BPF_ST                            = 0x2
    BPF_STX                           = 0x3
    BPF_SUB                           = 0x10
    BPF_TAX                           = 0x0
    BPF_TXA                           = 0x80
    BPF_T_BINTIME                     = 0x2
    BPF_T_BINTIME_FAST                = 0x102
    BPF_T_BINTIME_MONOTONIC           = 0x202
    BPF_T_BINTIME_MONOTONIC_FAST      = 0x302
    BPF_T_FAST                        = 0x100
    BPF_T_FLAG_MASK                   = 0x300
    BPF_T_FORMAT_MASK                 = 0x3
    BPF_T_MICROTIME                   = 0x0
    BPF_T_MICROTIME_FAST              = 0x100
    BPF_T_MICROTIME_MONOTONIC         = 0x200
    BPF_T_MICROTIME_MONOTONIC_FAST    = 0x300
    BPF_T_MONOTONIC                   = 0x200
    BPF_T_MONOTONIC_FAST              = 0x300
    BPF_T_NANOTIME                    = 0x1
    BPF_T_NANOTIME_FAST               = 0x101
    BPF_T_NANOTIME_MONOTONIC          = 0x201
    BPF_T_NANOTIME_MONOTONIC_FAST     = 0x301
    BPF_T_NONE                        = 0x3
    BPF_T_NORMAL                      = 0x0
    BPF_W                             = 0x0
    BPF_X                             = 0x8
    BRKINT                            = 0x2
    CFLUSH                            = 0xf
    CLOCAL                            = 0x8000
    CREAD                             = 0x800
    CS5                               = 0x0
    CS6                               = 0x100
    CS7                               = 0x200
    CS8                               = 0x300
    CSIZE                             = 0x300
    CSTART                            = 0x11
    CSTATUS                           = 0x14
    CSTOP                             = 0x13
    CSTOPB                            = 0x400
    CSUSP                             = 0x1a
    CTL_MAXNAME                       = 0x18
    CTL_NET                           = 0x4
    DLT_A429                          = 0xb8
    DLT_A653_ICM                      = 0xb9
    DLT_AIRONET_HEADER                = 0x78
    DLT_AOS                           = 0xde
    DLT_APPLE_IP_OVER_IEEE1394        = 0x8a
    DLT_ARCNET                        = 0x7
    DLT_ARCNET_LINUX                  = 0x81
    DLT_ATM_CLIP                      = 0x13
    DLT_ATM_RFC1483                   = 0xb
    DLT_AURORA                        = 0x7e
    DLT_AX25                          = 0x3
    DLT_AX25_KISS                     = 0xca
    DLT_BACNET_MS_TP                  = 0xa5
    DLT_BLUETOOTH_HCI_H4              = 0xbb
    DLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9
    DLT_CAN20B                        = 0xbe
    DLT_CAN_SOCKETCAN                 = 0xe3
    DLT_CHAOS                         = 0x5
    DLT_CHDLC                         = 0x68
    DLT_CISCO_IOS                     = 0x76
    DLT_C_HDLC                        = 0x68
    DLT_C_HDLC_WITH_DIR               = 0xcd
    DLT_DBUS                          = 0xe7
    DLT_DECT                          = 0xdd
    DLT_DOCSIS                        = 0x8f
    DLT_DVB_CI                        = 0xeb
    DLT_ECONET                        = 0x73
    DLT_EN10MB                        = 0x1
    DLT_EN3MB                         = 0x2
    DLT_ENC                           = 0x6d
    DLT_ERF                           = 0xc5
    DLT_ERF_ETH                       = 0xaf
    DLT_ERF_POS                       = 0xb0
    DLT_FC_2                          = 0xe0
    DLT_FC_2_WITH_FRAME_DELIMS        = 0xe1
    DLT_FDDI                          = 0xa
    DLT_FLEXRAY                       = 0xd2
    DLT_FRELAY                        = 0x6b
    DLT_FRELAY_WITH_DIR               = 0xce
    DLT_GCOM_SERIAL                   = 0xad
    DLT_GCOM_T1E1                     = 0xac
    DLT_GPF_F                         = 0xab
    DLT_GPF_T                         = 0xaa
    DLT_GPRS_LLC                      = 0xa9
    DLT_GSMTAP_ABIS                   = 0xda
    DLT_GSMTAP_UM                     = 0xd9
    DLT_HHDLC                         = 0x79
    DLT_IBM_SN                        = 0x92
    DLT_IBM_SP                        = 0x91
    DLT_IEEE802                       = 0x6
    DLT_IEEE802_11                    = 0x69
    DLT_IEEE802_11_RADIO              = 0x7f
    DLT_IEEE802_11_RADIO_AVS          = 0xa3
    DLT_IEEE802_15_4                  = 0xc3
    DLT_IEEE802_15_4_LINUX            = 0xbf
    DLT_IEEE802_15_4_NOFCS            = 0xe6
    DLT_IEEE802_15_4_NONASK_PHY       = 0xd7
    DLT_IEEE802_16_MAC_CPS            = 0xbc
    DLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1
    DLT_IPFILTER                      = 0x74
    DLT_IPMB                          = 0xc7
    DLT_IPMB_LINUX                    = 0xd1
    DLT_IPNET                         = 0xe2
    DLT_IPOIB                         = 0xf2
    DLT_IPV4                          = 0xe4
    DLT_IPV6                          = 0xe5
    DLT_IP_OVER_FC                    = 0x7a
    DLT_JUNIPER_ATM1                  = 0x89
    DLT_JUNIPER_ATM2                  = 0x87
    DLT_JUNIPER_ATM_CEMIC             = 0xee
    DLT_JUNIPER_CHDLC                 = 0xb5
    DLT_JUNIPER_ES                    = 0x84
    DLT_JUNIPER_ETHER                 = 0xb2
    DLT_JUNIPER_FIBRECHANNEL          = 0xea
    DLT_JUNIPER_FRELAY                = 0xb4
    DLT_JUNIPER_GGSN                  = 0x85
    DLT_JUNIPER_ISM                   = 0xc2
    DLT_JUNIPER_MFR                   = 0x86
    DLT_JUNIPER_MLFR                  = 0x83
    DLT_JUNIPER_MLPPP                 = 0x82
    DLT_JUNIPER_MONITOR               = 0xa4
    DLT_JUNIPER_PIC_PEER              = 0xae
    DLT_JUNIPER_PPP                   = 0xb3
    DLT_JUNIPER_PPPOE                 = 0xa7
    DLT_JUNIPER_PPPOE_ATM             = 0xa8
    DLT_JUNIPER_SERVICES              = 0x88
    DLT_JUNIPER_SRX_E2E               = 0xe9
    DLT_JUNIPER_ST                    = 0xc8
    DLT_JUNIPER_VP                    = 0xb7
    DLT_JUNIPER_VS                    = 0xe8
    DLT_LAPB_WITH_DIR                 = 0xcf
    DLT_LAPD                          = 0xcb
    DLT_LIN                           = 0xd4
    DLT_LINUX_EVDEV                   = 0xd8
    DLT_LINUX_IRDA                    = 0x90
    DLT_LINUX_LAPD                    = 0xb1
    DLT_LINUX_PPP_WITHDIRECTION       = 0xa6
    DLT_LINUX_SLL                     = 0x71
    DLT_LOOP                          = 0x6c
    DLT_LTALK                         = 0x72
    DLT_MATCHING_MAX                  = 0xf6
    DLT_MATCHING_MIN                  = 0x68
    DLT_MFR                           = 0xb6
    DLT_MOST                          = 0xd3
    DLT_MPEG_2_TS                     = 0xf3
    DLT_MPLS                          = 0xdb
    DLT_MTP2                          = 0x8c
    DLT_MTP2_WITH_PHDR                = 0x8b
    DLT_MTP3                          = 0x8d
    DLT_MUX27010                      = 0xec
    DLT_NETANALYZER                   = 0xf0
    DLT_NETANALYZER_TRANSPARENT       = 0xf1
    DLT_NFC_LLCP                      = 0xf5
    DLT_NFLOG                         = 0xef
    DLT_NG40                          = 0xf4
    DLT_NULL                          = 0x0
    DLT_PCI_EXP                       = 0x7d
    DLT_PFLOG                         = 0x75
    DLT_PFSYNC                        = 0x79
    DLT_PPI                           = 0xc0
    DLT_PPP                           = 0x9
    DLT_PPP_BSDOS                     = 0x10
    DLT_PPP_ETHER                     = 0x33
    DLT_PPP_PPPD                      = 0xa6
    DLT_PPP_SERIAL                    = 0x32
    DLT_PPP_WITH_DIR                  = 0xcc
    DLT_PPP_WITH_DIRECTION            = 0xa6
    DLT_PRISM_HEADER                  = 0x77
    DLT_PRONET                        = 0x4
    DLT_RAIF1                         = 0xc6
    DLT_RAW                           = 0xc
    DLT_RIO                           = 0x7c
    DLT_SCCP                          = 0x8e
    DLT_SITA                          = 0xc4
    DLT_SLIP                          = 0x8
    DLT_SLIP_BSDOS                    = 0xf
    DLT_STANAG_5066_D_PDU             = 0xed
    DLT_SUNATM                        = 0x7b
    DLT_SYMANTEC_FIREWALL             = 0x63
    DLT_TZSP                          = 0x80
    DLT_USB                           = 0xba
    DLT_USB_LINUX                     = 0xbd
    DLT_USB_LINUX_MMAPPED             = 0xdc
    DLT_USER0                         = 0x93
    DLT_USER1                         = 0x94
    DLT_USER10                        = 0x9d
    DLT_USER11                        = 0x9e
    DLT_USER12                        = 0x9f
    DLT_USER13                        = 0xa0
    DLT_USER14                        = 0xa1
    DLT_USER15                        = 0xa2
    DLT_USER2                         = 0x95
    DLT_USER3                         = 0x96
    DLT_USER4                         = 0x97
    DLT_USER5                         = 0x98
    DLT_USER6                         = 0x99
    DLT_USER7                         = 0x9a
    DLT_USER8                         = 0x9b
    DLT_USER9                         = 0x9c
    DLT_WIHART                        = 0xdf
    DLT_X2E_SERIAL                    = 0xd5
    DLT_X2E_XORAYA                    = 0xd6
    DT_BLK                            = 0x6
    DT_CHR                            = 0x2
    DT_DIR                            = 0x4
    DT_FIFO                           = 0x1
    DT_LNK                            = 0xa
    DT_REG                            = 0x8
    DT_SOCK                           = 0xc
    DT_UNKNOWN                        = 0x0
    DT_WHT                            = 0xe
    ECHO                              = 0x8
    ECHOCTL                           = 0x40
    ECHOE                             = 0x2
    ECHOK                             = 0x4
    ECHOKE                            = 0x1
    ECHONL                            = 0x10
    ECHOPRT                           = 0x20
    EVFILT_AIO                        = -0x3
    EVFILT_FS                         = -0x9
    EVFILT_LIO                        = -0xa
    EVFILT_PROC                       = -0x5
    EVFILT_READ                       = -0x1
    EVFILT_SIGNAL                     = -0x6
    EVFILT_SYSCOUNT                   = 0xb
    EVFILT_TIMER                      = -0x7
    EVFILT_USER                       = -0xb
    EVFILT_VNODE                      = -0x4
    EVFILT_WRITE                      = -0x2
    EV_ADD                            = 0x1
    EV_CLEAR                          = 0x20
    EV_DELETE                         = 0x2
    EV_DISABLE                        = 0x8
    EV_DISPATCH                       = 0x80
    EV_DROP                           = 0x1000
    EV_ENABLE                         = 0x4
    EV_EOF                            = 0x8000
    EV_ERROR                          = 0x4000
    EV_FLAG1                          = 0x2000
    EV_ONESHOT                        = 0x10
    EV_RECEIPT                        = 0x40
    EV_SYSFLAGS                       = 0xf000
    EXTA                              = 0x4b00
    EXTB                              = 0x9600
    EXTPROC                           = 0x800
    FD_CLOEXEC                        = 0x1
    FD_SETSIZE                        = 0x400
    FLUSHO                            = 0x800000
    F_CANCEL                          = 0x5
    F_DUP2FD                          = 0xa
    F_DUP2FD_CLOEXEC                  = 0x12
    F_DUPFD                           = 0x0
    F_DUPFD_CLOEXEC                   = 0x11
    F_GETFD                           = 0x1
    F_GETFL                           = 0x3
    F_GETLK                           = 0xb
    F_GETOWN                          = 0x5
    F_OGETLK                          = 0x7
    F_OK                              = 0x0
    F_OSETLK                          = 0x8
    F_OSETLKW                         = 0x9
    F_RDAHEAD                         = 0x10
    F_RDLCK                           = 0x1
    F_READAHEAD                       = 0xf
    F_SETFD                           = 0x2
    F_SETFL                           = 0x4
    F_SETLK                           = 0xc
    F_SETLKW                          = 0xd
    F_SETLK_REMOTE                    = 0xe
    F_SETOWN                          = 0x6
    F_UNLCK                           = 0x2
    F_UNLCKSYS                        = 0x4
    F_WRLCK                           = 0x3
    HUPCL                             = 0x4000
    ICANON                            = 0x100
    ICMP6_FILTER                      = 0x12
    ICRNL                             = 0x100
    IEXTEN                            = 0x400
    IFAN_ARRIVAL                      = 0x0
    IFAN_DEPARTURE                    = 0x1
    IFF_ALLMULTI                      = 0x200
    IFF_ALTPHYS                       = 0x4000
    IFF_BROADCAST                     = 0x2
    IFF_CANTCHANGE                    = 0x218f72
    IFF_CANTCONFIG                    = 0x10000
    IFF_DEBUG                         = 0x4
    IFF_DRV_OACTIVE                   = 0x400
    IFF_DRV_RUNNING                   = 0x40
    IFF_DYING                         = 0x200000
    IFF_LINK0                         = 0x1000
    IFF_LINK1                         = 0x2000
    IFF_LINK2                         = 0x4000
    IFF_LOOPBACK                      = 0x8
    IFF_MONITOR                       = 0x40000
    IFF_MULTICAST                     = 0x8000
    IFF_NOARP                         = 0x80
    IFF_OACTIVE                       = 0x400
    IFF_POINTOPOINT                   = 0x10
    IFF_PPROMISC                      = 0x20000
    IFF_PROMISC                       = 0x100
    IFF_RENAMING                      = 0x400000
    IFF_RUNNING                       = 0x40
    IFF_SIMPLEX                       = 0x800
    IFF_SMART                         = 0x20
    IFF_STATICARP                     = 0x80000
    IFF_UP                            = 0x1
    IFNAMSIZ                          = 0x10
    IFT_1822                          = 0x2
    IFT_A12MPPSWITCH                  = 0x82
    IFT_AAL2                          = 0xbb
    IFT_AAL5                          = 0x31
    IFT_ADSL                          = 0x5e
    IFT_AFLANE8023                    = 0x3b
    IFT_AFLANE8025                    = 0x3c
    IFT_ARAP                          = 0x58
    IFT_ARCNET                        = 0x23
    IFT_ARCNETPLUS                    = 0x24
    IFT_ASYNC                         = 0x54
    IFT_ATM                           = 0x25
    IFT_ATMDXI                        = 0x69
    IFT_ATMFUNI                       = 0x6a
    IFT_ATMIMA                        = 0x6b
    IFT_ATMLOGICAL                    = 0x50
    IFT_ATMRADIO                      = 0xbd
    IFT_ATMSUBINTERFACE               = 0x86
    IFT_ATMVCIENDPT                   = 0xc2
    IFT_ATMVIRTUAL                    = 0x95
    IFT_BGPPOLICYACCOUNTING           = 0xa2
    IFT_BRIDGE                        = 0xd1
    IFT_BSC                           = 0x53
    IFT_CARP                          = 0xf8
    IFT_CCTEMUL                       = 0x3d
    IFT_CEPT                          = 0x13
    IFT_CES                           = 0x85
    IFT_CHANNEL                       = 0x46
    IFT_CNR                           = 0x55
    IFT_COFFEE                        = 0x84
    IFT_COMPOSITELINK                 = 0x9b
    IFT_DCN                           = 0x8d
    IFT_DIGITALPOWERLINE              = 0x8a
    IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba
    IFT_DLSW                          = 0x4a
    IFT_DOCSCABLEDOWNSTREAM           = 0x80
    IFT_DOCSCABLEMACLAYER             = 0x7f
    IFT_DOCSCABLEUPSTREAM             = 0x81
    IFT_DS0                           = 0x51
    IFT_DS0BUNDLE                     = 0x52
    IFT_DS1FDL                        = 0xaa
    IFT_DS3                           = 0x1e
    IFT_DTM                           = 0x8c
    IFT_DVBASILN                      = 0xac
    IFT_DVBASIOUT                     = 0xad
    IFT_DVBRCCDOWNSTREAM              = 0x93
    IFT_DVBRCCMACLAYER                = 0x92
    IFT_DVBRCCUPSTREAM                = 0x94
    IFT_ENC                           = 0xf4
    IFT_EON                           = 0x19
    IFT_EPLRS                         = 0x57
    IFT_ESCON                         = 0x49
    IFT_ETHER                         = 0x6
    IFT_FAITH                         = 0xf2
    IFT_FAST                          = 0x7d
    IFT_FASTETHER                     = 0x3e
    IFT_FASTETHERFX                   = 0x45
    IFT_FDDI                          = 0xf
    IFT_FIBRECHANNEL                  = 0x38
    IFT_FRAMERELAYINTERCONNECT        = 0x3a
    IFT_FRAMERELAYMPI                 = 0x5c
    IFT_FRDLCIENDPT                   = 0xc1
    IFT_FRELAY                        = 0x20
    IFT_FRELAYDCE                     = 0x2c
    IFT_FRF16MFRBUNDLE                = 0xa3
    IFT_FRFORWARD                     = 0x9e
    IFT_G703AT2MB                     = 0x43
    IFT_G703AT64K                     = 0x42
    IFT_GIF                           = 0xf0
    IFT_GIGABITETHERNET               = 0x75
    IFT_GR303IDT                      = 0xb2
    IFT_GR303RDT                      = 0xb1
    IFT_H323GATEKEEPER                = 0xa4
    IFT_H323PROXY                     = 0xa5
    IFT_HDH1822                       = 0x3
    IFT_HDLC                          = 0x76
    IFT_HDSL2                         = 0xa8
    IFT_HIPERLAN2                     = 0xb7
    IFT_HIPPI                         = 0x2f
    IFT_HIPPIINTERFACE                = 0x39
    IFT_HOSTPAD                       = 0x5a
    IFT_HSSI                          = 0x2e
    IFT_HY                            = 0xe
    IFT_IBM370PARCHAN                 = 0x48
    IFT_IDSL                          = 0x9a
    IFT_IEEE1394                      = 0x90
    IFT_IEEE80211                     = 0x47
    IFT_IEEE80212                     = 0x37
    IFT_IEEE8023ADLAG                 = 0xa1
    IFT_IFGSN                         = 0x91
    IFT_IMT                           = 0xbe
    IFT_INFINIBAND                    = 0xc7
    IFT_INTERLEAVE                    = 0x7c
    IFT_IP                            = 0x7e
    IFT_IPFORWARD                     = 0x8e
    IFT_IPOVERATM                     = 0x72
    IFT_IPOVERCDLC                    = 0x6d
    IFT_IPOVERCLAW                    = 0x6e
    IFT_IPSWITCH                      = 0x4e
    IFT_IPXIP                         = 0xf9
    IFT_ISDN                          = 0x3f
    IFT_ISDNBASIC                     = 0x14
    IFT_ISDNPRIMARY                   = 0x15
    IFT_ISDNS                         = 0x4b
    IFT_ISDNU                         = 0x4c
    IFT_ISO88022LLC                   = 0x29
    IFT_ISO88023                      = 0x7
    IFT_ISO88024                      = 0x8
    IFT_ISO88025                      = 0x9
    IFT_ISO88025CRFPINT               = 0x62
    IFT_ISO88025DTR                   = 0x56
    IFT_ISO88025FIBER                 = 0x73
    IFT_ISO88026                      = 0xa
    IFT_ISUP                          = 0xb3
    IFT_L2VLAN                        = 0x87
    IFT_L3IPVLAN                      = 0x88
    IFT_L3IPXVLAN                     = 0x89
    IFT_LAPB                          = 0x10
    IFT_LAPD                          = 0x4d
    IFT_LAPF                          = 0x77
    IFT_LOCALTALK                     = 0x2a
    IFT_LOOP                          = 0x18
    IFT_MEDIAMAILOVERIP               = 0x8b
    IFT_MFSIGLINK                     = 0xa7
    IFT_MIOX25                        = 0x26
    IFT_MODEM                         = 0x30
    IFT_MPC                           = 0x71
    IFT_MPLS                          = 0xa6
    IFT_MPLSTUNNEL                    = 0x96
    IFT_MSDSL                         = 0x8f
    IFT_MVL                           = 0xbf
    IFT_MYRINET                       = 0x63
    IFT_NFAS                          = 0xaf
    IFT_NSIP                          = 0x1b
    IFT_OPTICALCHANNEL                = 0xc3
    IFT_OPTICALTRANSPORT              = 0xc4
    IFT_OTHER                         = 0x1
    IFT_P10                           = 0xc
    IFT_P80                           = 0xd
    IFT_PARA                          = 0x22
    IFT_PFLOG                         = 0xf6
    IFT_PFSYNC                        = 0xf7
    IFT_PLC                           = 0xae
    IFT_POS                           = 0xab
    IFT_PPP                           = 0x17
    IFT_PPPMULTILINKBUNDLE            = 0x6c
    IFT_PROPBWAP2MP                   = 0xb8
    IFT_PROPCNLS                      = 0x59
    IFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5
    IFT_PROPDOCSWIRELESSMACLAYER      = 0xb4
    IFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6
    IFT_PROPMUX                       = 0x36
    IFT_PROPVIRTUAL                   = 0x35
    IFT_PROPWIRELESSP2P               = 0x9d
    IFT_PTPSERIAL                     = 0x16
    IFT_PVC                           = 0xf1
    IFT_QLLC                          = 0x44
    IFT_RADIOMAC                      = 0xbc
    IFT_RADSL                         = 0x5f
    IFT_REACHDSL                      = 0xc0
    IFT_RFC1483                       = 0x9f
    IFT_RS232                         = 0x21
    IFT_RSRB                          = 0x4f
    IFT_SDLC                          = 0x11
    IFT_SDSL                          = 0x60
    IFT_SHDSL                         = 0xa9
    IFT_SIP                           = 0x1f
    IFT_SLIP                          = 0x1c
    IFT_SMDSDXI                       = 0x2b
    IFT_SMDSICIP                      = 0x34
    IFT_SONET                         = 0x27
    IFT_SONETOVERHEADCHANNEL          = 0xb9
    IFT_SONETPATH                     = 0x32
    IFT_SONETVT                       = 0x33
    IFT_SRP                           = 0x97
    IFT_SS7SIGLINK                    = 0x9c
    IFT_STACKTOSTACK                  = 0x6f
    IFT_STARLAN                       = 0xb
    IFT_STF                           = 0xd7
    IFT_T1                            = 0x12
    IFT_TDLC                          = 0x74
    IFT_TERMPAD                       = 0x5b
    IFT_TR008                         = 0xb0
    IFT_TRANSPHDLC                    = 0x7b
    IFT_TUNNEL                        = 0x83
    IFT_ULTRA                         = 0x1d
    IFT_USB                           = 0xa0
    IFT_V11                           = 0x40
    IFT_V35                           = 0x2d
    IFT_V36                           = 0x41
    IFT_V37                           = 0x78
    IFT_VDSL                          = 0x61
    IFT_VIRTUALIPADDRESS              = 0x70
    IFT_VOICEEM                       = 0x64
    IFT_VOICEENCAP                    = 0x67
    IFT_VOICEFXO                      = 0x65
    IFT_VOICEFXS                      = 0x66
    IFT_VOICEOVERATM                  = 0x98
    IFT_VOICEOVERFRAMERELAY           = 0x99
    IFT_VOICEOVERIP                   = 0x68
    IFT_X213                          = 0x5d
    IFT_X25                           = 0x5
    IFT_X25DDN                        = 0x4
    IFT_X25HUNTGROUP                  = 0x7a
    IFT_X25MLP                        = 0x79
    IFT_X25PLE                        = 0x28
    IFT_XETHER                        = 0x1a
    IGNBRK                            = 0x1
    IGNCR                             = 0x80
    IGNPAR                            = 0x4
    IMAXBEL                           = 0x2000
    INLCR                             = 0x40
    INPCK                             = 0x10
    IN_CLASSA_HOST                    = 0xffffff
    IN_CLASSA_MAX                     = 0x80
    IN_CLASSA_NET                     = 0xff000000
    IN_CLASSA_NSHIFT                  = 0x18
    IN_CLASSB_HOST                    = 0xffff
    IN_CLASSB_MAX                     = 0x10000
    IN_CLASSB_NET                     = 0xffff0000
    IN_CLASSB_NSHIFT                  = 0x10
    IN_CLASSC_HOST                    = 0xff
    IN_CLASSC_NET                     = 0xffffff00
    IN_CLASSC_NSHIFT                  = 0x8
    IN_CLASSD_HOST                    = 0xfffffff
    IN_CLASSD_NET                     = 0xf0000000
    IN_CLASSD_NSHIFT                  = 0x1c
    IN_LOOPBACKNET                    = 0x7f
    IN_RFC3021_MASK                   = 0xfffffffe
    IPPROTO_3PC                       = 0x22
    IPPROTO_ADFS                      = 0x44
    IPPROTO_AH                        = 0x33
    IPPROTO_AHIP                      = 0x3d
    IPPROTO_APES                      = 0x63
    IPPROTO_ARGUS                     = 0xd
    IPPROTO_AX25                      = 0x5d
    IPPROTO_BHA                       = 0x31
    IPPROTO_BLT                       = 0x1e
    IPPROTO_BRSATMON                  = 0x4c
    IPPROTO_CARP                      = 0x70
    IPPROTO_CFTP                      = 0x3e
    IPPROTO_CHAOS                     = 0x10
    IPPROTO_CMTP                      = 0x26
    IPPROTO_CPHB                      = 0x49
    IPPROTO_CPNX                      = 0x48
    IPPROTO_DDP                       = 0x25
    IPPROTO_DGP                       = 0x56
    IPPROTO_DIVERT                    = 0x102
    IPPROTO_DONE                      = 0x101
    IPPROTO_DSTOPTS                   = 0x3c
    IPPROTO_EGP                       = 0x8
    IPPROTO_EMCON                     = 0xe
    IPPROTO_ENCAP                     = 0x62
    IPPROTO_EON                       = 0x50
    IPPROTO_ESP                       = 0x32
    IPPROTO_ETHERIP                   = 0x61
    IPPROTO_FRAGMENT                  = 0x2c
    IPPROTO_GGP                       = 0x3
    IPPROTO_GMTP                      = 0x64
    IPPROTO_GRE                       = 0x2f
    IPPROTO_HELLO                     = 0x3f
    IPPROTO_HMP                       = 0x14
    IPPROTO_HOPOPTS                   = 0x0
    IPPROTO_ICMP                      = 0x1
    IPPROTO_ICMPV6                    = 0x3a
    IPPROTO_IDP                       = 0x16
    IPPROTO_IDPR                      = 0x23
    IPPROTO_IDRP                      = 0x2d
    IPPROTO_IGMP                      = 0x2
    IPPROTO_IGP                       = 0x55
    IPPROTO_IGRP                      = 0x58
    IPPROTO_IL                        = 0x28
    IPPROTO_INLSP                     = 0x34
    IPPROTO_INP                       = 0x20
    IPPROTO_IP                        = 0x0
    IPPROTO_IPCOMP                    = 0x6c
    IPPROTO_IPCV                      = 0x47
    IPPROTO_IPEIP                     = 0x5e
    IPPROTO_IPIP                      = 0x4
    IPPROTO_IPPC                      = 0x43
    IPPROTO_IPV4                      = 0x4
    IPPROTO_IPV6                      = 0x29
    IPPROTO_IRTP                      = 0x1c
    IPPROTO_KRYPTOLAN                 = 0x41
    IPPROTO_LARP                      = 0x5b
    IPPROTO_LEAF1                     = 0x19
    IPPROTO_LEAF2                     = 0x1a
    IPPROTO_MAX                       = 0x100
    IPPROTO_MAXID                     = 0x34
    IPPROTO_MEAS                      = 0x13
    IPPROTO_MH                        = 0x87
    IPPROTO_MHRP                      = 0x30
    IPPROTO_MICP                      = 0x5f
    IPPROTO_MOBILE                    = 0x37
    IPPROTO_MPLS                      = 0x89
    IPPROTO_MTP                       = 0x5c
    IPPROTO_MUX                       = 0x12
    IPPROTO_ND                        = 0x4d
    IPPROTO_NHRP                      = 0x36
    IPPROTO_NONE                      = 0x3b
    IPPROTO_NSP                       = 0x1f
    IPPROTO_NVPII                     = 0xb
    IPPROTO_OLD_DIVERT                = 0xfe
    IPPROTO_OSPFIGP                   = 0x59
    IPPROTO_PFSYNC                    = 0xf0
    IPPROTO_PGM                       = 0x71
    IPPROTO_PIGP                      = 0x9
    IPPROTO_PIM                       = 0x67
    IPPROTO_PRM                       = 0x15
    IPPROTO_PUP                       = 0xc
    IPPROTO_PVP                       = 0x4b
    IPPROTO_RAW                       = 0xff
    IPPROTO_RCCMON                    = 0xa
    IPPROTO_RDP                       = 0x1b
    IPPROTO_ROUTING                   = 0x2b
    IPPROTO_RSVP                      = 0x2e
    IPPROTO_RVD                       = 0x42
    IPPROTO_SATEXPAK                  = 0x40
    IPPROTO_SATMON                    = 0x45
    IPPROTO_SCCSP                     = 0x60
    IPPROTO_SCTP                      = 0x84
    IPPROTO_SDRP                      = 0x2a
    IPPROTO_SEND                      = 0x103
    IPPROTO_SEP                       = 0x21
    IPPROTO_SKIP                      = 0x39
    IPPROTO_SPACER                    = 0x7fff
    IPPROTO_SRPC                      = 0x5a
    IPPROTO_ST                        = 0x7
    IPPROTO_SVMTP                     = 0x52
    IPPROTO_SWIPE                     = 0x35
    IPPROTO_TCF                       = 0x57
    IPPROTO_TCP                       = 0x6
    IPPROTO_TLSP                      = 0x38
    IPPROTO_TP                        = 0x1d
    IPPROTO_TPXX                      = 0x27
    IPPROTO_TRUNK1                    = 0x17
    IPPROTO_TRUNK2                    = 0x18
    IPPROTO_TTP                       = 0x54
    IPPROTO_UDP                       = 0x11
    IPPROTO_VINES                     = 0x53
    IPPROTO_VISA                      = 0x46
    IPPROTO_VMTP                      = 0x51
    IPPROTO_WBEXPAK                   = 0x4f
    IPPROTO_WBMON                     = 0x4e
    IPPROTO_WSN                       = 0x4a
    IPPROTO_XNET                      = 0xf
    IPPROTO_XTP                       = 0x24
    IPV6_AUTOFLOWLABEL                = 0x3b
    IPV6_BINDANY                      = 0x40
    IPV6_BINDV6ONLY                   = 0x1b
    IPV6_CHECKSUM                     = 0x1a
    IPV6_DEFAULT_MULTICAST_HOPS       = 0x1
    IPV6_DEFAULT_MULTICAST_LOOP       = 0x1
    IPV6_DEFHLIM                      = 0x40
    IPV6_DONTFRAG                     = 0x3e
    IPV6_DSTOPTS                      = 0x32
    IPV6_FAITH                        = 0x1d
    IPV6_FLOWINFO_MASK                = 0xffffff0f
    IPV6_FLOWLABEL_MASK               = 0xffff0f00
    IPV6_FRAGTTL                      = 0x78
    IPV6_FW_ADD                       = 0x1e
    IPV6_FW_DEL                       = 0x1f
    IPV6_FW_FLUSH                     = 0x20
    IPV6_FW_GET                       = 0x22
    IPV6_FW_ZERO                      = 0x21
    IPV6_HLIMDEC                      = 0x1
    IPV6_HOPLIMIT                     = 0x2f
    IPV6_HOPOPTS                      = 0x31
    IPV6_IPSEC_POLICY                 = 0x1c
    IPV6_JOIN_GROUP                   = 0xc
    IPV6_LEAVE_GROUP                  = 0xd
    IPV6_MAXHLIM                      = 0xff
    IPV6_MAXOPTHDR                    = 0x800
    IPV6_MAXPACKET                    = 0xffff
    IPV6_MAX_GROUP_SRC_FILTER         = 0x200
    IPV6_MAX_MEMBERSHIPS              = 0xfff
    IPV6_MAX_SOCK_SRC_FILTER          = 0x80
    IPV6_MIN_MEMBERSHIPS              = 0x1f
    IPV6_MMTU                         = 0x500
    IPV6_MSFILTER                     = 0x4a
    IPV6_MULTICAST_HOPS               = 0xa
    IPV6_MULTICAST_IF                 = 0x9
    IPV6_MULTICAST_LOOP               = 0xb
    IPV6_NEXTHOP                      = 0x30
    IPV6_PATHMTU                      = 0x2c
    IPV6_PKTINFO                      = 0x2e
    IPV6_PORTRANGE                    = 0xe
    IPV6_PORTRANGE_DEFAULT            = 0x0
    IPV6_PORTRANGE_HIGH               = 0x1
    IPV6_PORTRANGE_LOW                = 0x2
    IPV6_PREFER_TEMPADDR              = 0x3f
    IPV6_RECVDSTOPTS                  = 0x28
    IPV6_RECVHOPLIMIT                 = 0x25
    IPV6_RECVHOPOPTS                  = 0x27
    IPV6_RECVPATHMTU                  = 0x2b
    IPV6_RECVPKTINFO                  = 0x24
    IPV6_RECVRTHDR                    = 0x26
    IPV6_RECVTCLASS                   = 0x39
    IPV6_RTHDR                        = 0x33
    IPV6_RTHDRDSTOPTS                 = 0x23
    IPV6_RTHDR_LOOSE                  = 0x0
    IPV6_RTHDR_STRICT                 = 0x1
    IPV6_RTHDR_TYPE_0                 = 0x0
    IPV6_SOCKOPT_RESERVED1            = 0x3
    IPV6_TCLASS                       = 0x3d
    IPV6_UNICAST_HOPS                 = 0x4
    IPV6_USE_MIN_MTU                  = 0x2a
    IPV6_V6ONLY                       = 0x1b
    IPV6_VERSION                      = 0x60
    IPV6_VERSION_MASK                 = 0xf0
    IP_ADD_MEMBERSHIP                 = 0xc
    IP_ADD_SOURCE_MEMBERSHIP          = 0x46
    IP_BINDANY                        = 0x18
    IP_BLOCK_SOURCE                   = 0x48
    IP_DEFAULT_MULTICAST_LOOP         = 0x1
    IP_DEFAULT_MULTICAST_TTL          = 0x1
    IP_DF                             = 0x4000
    IP_DONTFRAG                       = 0x43
    IP_DROP_MEMBERSHIP                = 0xd
    IP_DROP_SOURCE_MEMBERSHIP         = 0x47
    IP_DUMMYNET3                      = 0x31
    IP_DUMMYNET_CONFIGURE             = 0x3c
    IP_DUMMYNET_DEL                   = 0x3d
    IP_DUMMYNET_FLUSH                 = 0x3e
    IP_DUMMYNET_GET                   = 0x40
    IP_FAITH                          = 0x16
    IP_FW3                            = 0x30
    IP_FW_ADD                         = 0x32
    IP_FW_DEL                         = 0x33
    IP_FW_FLUSH                       = 0x34
    IP_FW_GET                         = 0x36
    IP_FW_NAT_CFG                     = 0x38
    IP_FW_NAT_DEL                     = 0x39
    IP_FW_NAT_GET_CONFIG              = 0x3a
    IP_FW_NAT_GET_LOG                 = 0x3b
    IP_FW_RESETLOG                    = 0x37
    IP_FW_TABLE_ADD                   = 0x28
    IP_FW_TABLE_DEL                   = 0x29
    IP_FW_TABLE_FLUSH                 = 0x2a
    IP_FW_TABLE_GETSIZE               = 0x2b
    IP_FW_TABLE_LIST                  = 0x2c
    IP_FW_ZERO                        = 0x35
    IP_HDRINCL                        = 0x2
    IP_IPSEC_POLICY                   = 0x15
    IP_MAXPACKET                      = 0xffff
    IP_MAX_GROUP_SRC_FILTER           = 0x200
    IP_MAX_MEMBERSHIPS                = 0xfff
    IP_MAX_SOCK_MUTE_FILTER           = 0x80
    IP_MAX_SOCK_SRC_FILTER            = 0x80
    IP_MAX_SOURCE_FILTER              = 0x400
    IP_MF                             = 0x2000
    IP_MINTTL                         = 0x42
    IP_MIN_MEMBERSHIPS                = 0x1f
    IP_MSFILTER                       = 0x4a
    IP_MSS                            = 0x240
    IP_MULTICAST_IF                   = 0x9
    IP_MULTICAST_LOOP                 = 0xb
    IP_MULTICAST_TTL                  = 0xa
    IP_MULTICAST_VIF                  = 0xe
    IP_OFFMASK                        = 0x1fff
    IP_ONESBCAST                      = 0x17
    IP_OPTIONS                        = 0x1
    IP_PORTRANGE                      = 0x13
    IP_PORTRANGE_DEFAULT              = 0x0
    IP_PORTRANGE_HIGH                 = 0x1
    IP_PORTRANGE_LOW                  = 0x2
    IP_RECVDSTADDR                    = 0x7
    IP_RECVIF                         = 0x14
    IP_RECVOPTS                       = 0x5
    IP_RECVRETOPTS                    = 0x6
    IP_RECVTOS                        = 0x44
    IP_RECVTTL                        = 0x41
    IP_RETOPTS                        = 0x8
    IP_RF                             = 0x8000
    IP_RSVP_OFF                       = 0x10
    IP_RSVP_ON                        = 0xf
    IP_RSVP_VIF_OFF                   = 0x12
    IP_RSVP_VIF_ON                    = 0x11
    IP_SENDSRCADDR                    = 0x7
    IP_TOS                            = 0x3
    IP_TTL                            = 0x4
    IP_UNBLOCK_SOURCE                 = 0x49
    ISIG                              = 0x80
    ISTRIP                            = 0x20
    IXANY                             = 0x800
    IXOFF                             = 0x400
    IXON                              = 0x200
    LOCK_EX                           = 0x2
    LOCK_NB                           = 0x4
    LOCK_SH                           = 0x1
    LOCK_UN                           = 0x8
    MADV_AUTOSYNC                     = 0x7
    MADV_CORE                         = 0x9
    MADV_DONTNEED                     = 0x4
    MADV_FREE                         = 0x5
    MADV_NOCORE                       = 0x8
    MADV_NORMAL                       = 0x0
    MADV_NOSYNC                       = 0x6
    MADV_PROTECT                      = 0xa
    MADV_RANDOM                       = 0x1
    MADV_SEQUENTIAL                   = 0x2
    MADV_WILLNEED                     = 0x3
    MAP_32BIT                         = 0x80000
    MAP_ALIGNED_SUPER                 = 0x1000000
    MAP_ALIGNMENT_MASK                = -0x1000000
    MAP_ALIGNMENT_SHIFT               = 0x18
    MAP_ANON                          = 0x1000
    MAP_ANONYMOUS                     = 0x1000
    MAP_COPY                          = 0x2
    MAP_FILE                          = 0x0
    MAP_FIXED                         = 0x10
    MAP_HASSEMAPHORE                  = 0x200
    MAP_NOCORE                        = 0x20000
    MAP_NORESERVE                     = 0x40
    MAP_NOSYNC                        = 0x800
    MAP_PREFAULT_READ                 = 0x40000
    MAP_PRIVATE                       = 0x2
    MAP_RENAME                        = 0x20
    MAP_RESERVED0080                  = 0x80
    MAP_RESERVED0100                  = 0x100
    MAP_SHARED                        = 0x1
    MAP_STACK                         = 0x400
    MCL_CURRENT                       = 0x1
    MCL_FUTURE                        = 0x2
    MSG_CMSG_CLOEXEC                  = 0x40000
    MSG_COMPAT                        = 0x8000
    MSG_CTRUNC                        = 0x20
    MSG_DONTROUTE                     = 0x4
    MSG_DONTWAIT                      = 0x80
    MSG_EOF                           = 0x100
    MSG_EOR                           = 0x8
    MSG_NBIO                          = 0x4000
    MSG_NOSIGNAL                      = 0x20000
    MSG_NOTIFICATION                  = 0x2000
    MSG_OOB                           = 0x1
    MSG_PEEK                          = 0x2
    MSG_TRUNC                         = 0x10
    MSG_WAITALL                       = 0x40
    MS_ASYNC                          = 0x1
    MS_INVALIDATE                     = 0x2
    MS_SYNC                           = 0x0
    NAME_MAX                          = 0xff
    NET_RT_DUMP                       = 0x1
    NET_RT_FLAGS                      = 0x2
    NET_RT_IFLIST                     = 0x3
    NET_RT_IFLISTL                    = 0x5
    NET_RT_IFMALIST                   = 0x4
    NET_RT_MAXID                      = 0x6
    NOFLSH                            = 0x80000000
    NOTE_ATTRIB                       = 0x8
    NOTE_CHILD                        = 0x4
    NOTE_DELETE                       = 0x1
    NOTE_EXEC                         = 0x20000000
    NOTE_EXIT                         = 0x80000000
    NOTE_EXTEND                       = 0x4
    NOTE_FFAND                        = 0x40000000
    NOTE_FFCOPY                       = 0xc0000000
    NOTE_FFCTRLMASK                   = 0xc0000000
    NOTE_FFLAGSMASK                   = 0xffffff
    NOTE_FFNOP                        = 0x0
    NOTE_FFOR                         = 0x80000000
    NOTE_FORK                         = 0x40000000
    NOTE_LINK                         = 0x10
    NOTE_LOWAT                        = 0x1
    NOTE_PCTRLMASK                    = 0xf0000000
    NOTE_PDATAMASK                    = 0xfffff
    NOTE_RENAME                       = 0x20
    NOTE_REVOKE                       = 0x40
    NOTE_TRACK                        = 0x1
    NOTE_TRACKERR                     = 0x2
    NOTE_TRIGGER                      = 0x1000000
    NOTE_WRITE                        = 0x2
    OCRNL                             = 0x10
    ONLCR                             = 0x2
    ONLRET                            = 0x40
    ONOCR                             = 0x20
    ONOEOT                            = 0x8
    OPOST                             = 0x1
    O_ACCMODE                         = 0x3
    O_APPEND                          = 0x8
    O_ASYNC                           = 0x40
    O_CLOEXEC                         = 0x100000
    O_CREAT                           = 0x200
    O_DIRECT                          = 0x10000
    O_DIRECTORY                       = 0x20000
    O_EXCL                            = 0x800
    O_EXEC                            = 0x40000
    O_EXLOCK                          = 0x20
    O_FSYNC                           = 0x80
    O_NDELAY                          = 0x4
    O_NOCTTY                          = 0x8000
    O_NOFOLLOW                        = 0x100
    O_NONBLOCK                        = 0x4
    O_RDONLY                          = 0x0
    O_RDWR                            = 0x2
    O_SHLOCK                          = 0x10
    O_SYNC                            = 0x80
    O_TRUNC                           = 0x400
    O_TTY_INIT                        = 0x80000
    O_WRONLY                          = 0x1
    PARENB                            = 0x1000
    PARMRK                            = 0x8
    PARODD                            = 0x2000
    PENDIN                            = 0x20000000
    PRIO_PGRP                         = 0x1
    PRIO_PROCESS                      = 0x0
    PRIO_USER                         = 0x2
    PROT_EXEC                         = 0x4
    PROT_NONE                         = 0x0
    PROT_READ                         = 0x1
    PROT_WRITE                        = 0x2
    RLIMIT_AS                         = 0xa
    RLIMIT_CORE                       = 0x4
    RLIMIT_CPU                        = 0x0
    RLIMIT_DATA                       = 0x2
    RLIMIT_FSIZE                      = 0x1
    RLIMIT_NOFILE                     = 0x8
    RLIMIT_STACK                      = 0x3
    RLIM_INFINITY                     = 0x7fffffffffffffff
    RTAX_AUTHOR                       = 0x6
    RTAX_BRD                          = 0x7
    RTAX_DST                          = 0x0
    RTAX_GATEWAY                      = 0x1
    RTAX_GENMASK                      = 0x3
    RTAX_IFA                          = 0x5
    RTAX_IFP                          = 0x4
    RTAX_MAX                          = 0x8
    RTAX_NETMASK                      = 0x2
    RTA_AUTHOR                        = 0x40
    RTA_BRD                           = 0x80
    RTA_DST                           = 0x1
    RTA_GATEWAY                       = 0x2
    RTA_GENMASK                       = 0x8
    RTA_IFA                           = 0x20
    RTA_IFP                           = 0x10
    RTA_NETMASK                       = 0x4
    RTF_BLACKHOLE                     = 0x1000
    RTF_BROADCAST                     = 0x400000
    RTF_DONE                          = 0x40
    RTF_DYNAMIC                       = 0x10
    RTF_FMASK                         = 0x1004d808
    RTF_GATEWAY                       = 0x2
    RTF_GWFLAG_COMPAT                 = 0x80000000
    RTF_HOST                          = 0x4
    RTF_LLDATA                        = 0x400
    RTF_LLINFO                        = 0x400
    RTF_LOCAL                         = 0x200000
    RTF_MODIFIED                      = 0x20
    RTF_MULTICAST                     = 0x800000
    RTF_PINNED                        = 0x100000
    RTF_PRCLONING                     = 0x10000
    RTF_PROTO1                        = 0x8000
    RTF_PROTO2                        = 0x4000
    RTF_PROTO3                        = 0x40000
    RTF_REJECT                        = 0x8
    RTF_RNH_LOCKED                    = 0x40000000
    RTF_STATIC                        = 0x800
    RTF_STICKY                        = 0x10000000
    RTF_UP                            = 0x1
    RTF_XRESOLVE                      = 0x200
    RTM_ADD                           = 0x1
    RTM_CHANGE                        = 0x3
    RTM_DELADDR                       = 0xd
    RTM_DELETE                        = 0x2
    RTM_DELMADDR                      = 0x10
    RTM_GET                           = 0x4
    RTM_IEEE80211                     = 0x12
    RTM_IFANNOUNCE                    = 0x11
    RTM_IFINFO                        = 0xe
    RTM_LOCK                          = 0x8
    RTM_LOSING                        = 0x5
    RTM_MISS                          = 0x7
    RTM_NEWADDR                       = 0xc
    RTM_NEWMADDR                      = 0xf
    RTM_OLDADD                        = 0x9
    RTM_OLDDEL                        = 0xa
    RTM_REDIRECT                      = 0x6
    RTM_RESOLVE                       = 0xb
    RTM_RTTUNIT                       = 0xf4240
    RTM_VERSION                       = 0x5
    RTV_EXPIRE                        = 0x4
    RTV_HOPCOUNT                      = 0x2
    RTV_MTU                           = 0x1
    RTV_RPIPE                         = 0x8
    RTV_RTT                           = 0x40
    RTV_RTTVAR                        = 0x80
    RTV_SPIPE                         = 0x10
    RTV_SSTHRESH                      = 0x20
    RTV_WEIGHT                        = 0x100
    RT_CACHING_CONTEXT                = 0x1
    RT_DEFAULT_FIB                    = 0x0
    RT_NORTREF                        = 0x2
    RUSAGE_CHILDREN                   = -0x1
    RUSAGE_SELF                       = 0x0
    RUSAGE_THREAD                     = 0x1
    SCM_BINTIME                       = 0x4
    SCM_CREDS                         = 0x3
    SCM_RIGHTS                        = 0x1
    SCM_TIMESTAMP                     = 0x2
    SHUT_RD                           = 0x0
    SHUT_RDWR                         = 0x2
    SHUT_WR                           = 0x1
    SIOCADDMULTI                      = 0x80206931
    SIOCADDRT                         = 0x8040720a
    SIOCAIFADDR                       = 0x8040691a
    SIOCAIFGROUP                      = 0x80286987
    SIOCALIFADDR                      = 0x8118691b
    SIOCATMARK                        = 0x40047307
    SIOCDELMULTI                      = 0x80206932
    SIOCDELRT                         = 0x8040720b
    SIOCDIFADDR                       = 0x80206919
    SIOCDIFGROUP                      = 0x80286989
    SIOCDIFPHYADDR                    = 0x80206949
    SIOCDLIFADDR                      = 0x8118691d
    SIOCGDRVSPEC                      = 0xc028697b
    SIOCGETSGCNT                      = 0xc0207210
    SIOCGETVIFCNT                     = 0xc028720f
    SIOCGHIWAT                        = 0x40047301
    SIOCGIFADDR                       = 0xc0206921
    SIOCGIFBRDADDR                    = 0xc0206923
    SIOCGIFCAP                        = 0xc020691f
    SIOCGIFCONF                       = 0xc0106924
    SIOCGIFDESCR                      = 0xc020692a
    SIOCGIFDSTADDR                    = 0xc0206922
    SIOCGIFFIB                        = 0xc020695c
    SIOCGIFFLAGS                      = 0xc0206911
    SIOCGIFGENERIC                    = 0xc020693a
    SIOCGIFGMEMB                      = 0xc028698a
    SIOCGIFGROUP                      = 0xc0286988
    SIOCGIFINDEX                      = 0xc0206920
    SIOCGIFMAC                        = 0xc0206926
    SIOCGIFMEDIA                      = 0xc0306938
    SIOCGIFMETRIC                     = 0xc0206917
    SIOCGIFMTU                        = 0xc0206933
    SIOCGIFNETMASK                    = 0xc0206925
    SIOCGIFPDSTADDR                   = 0xc0206948
    SIOCGIFPHYS                       = 0xc0206935
    SIOCGIFPSRCADDR                   = 0xc0206947
    SIOCGIFSTATUS                     = 0xc331693b
    SIOCGLIFADDR                      = 0xc118691c
    SIOCGLIFPHYADDR                   = 0xc118694b
    SIOCGLOWAT                        = 0x40047303
    SIOCGPGRP                         = 0x40047309
    SIOCGPRIVATE_0                    = 0xc0206950
    SIOCGPRIVATE_1                    = 0xc0206951
    SIOCIFCREATE                      = 0xc020697a
    SIOCIFCREATE2                     = 0xc020697c
    SIOCIFDESTROY                     = 0x80206979
    SIOCIFGCLONERS                    = 0xc0106978
    SIOCSDRVSPEC                      = 0x8028697b
    SIOCSHIWAT                        = 0x80047300
    SIOCSIFADDR                       = 0x8020690c
    SIOCSIFBRDADDR                    = 0x80206913
    SIOCSIFCAP                        = 0x8020691e
    SIOCSIFDESCR                      = 0x80206929
    SIOCSIFDSTADDR                    = 0x8020690e
    SIOCSIFFIB                        = 0x8020695d
    SIOCSIFFLAGS                      = 0x80206910
    SIOCSIFGENERIC                    = 0x80206939
    SIOCSIFLLADDR                     = 0x8020693c
    SIOCSIFMAC                        = 0x80206927
    SIOCSIFMEDIA                      = 0xc0206937
    SIOCSIFMETRIC                     = 0x80206918
    SIOCSIFMTU                        = 0x80206934
    SIOCSIFNAME                       = 0x80206928
    SIOCSIFNETMASK                    = 0x80206916
    SIOCSIFPHYADDR                    = 0x80406946
    SIOCSIFPHYS                       = 0x80206936
    SIOCSIFRVNET                      = 0xc020695b
    SIOCSIFVNET                       = 0xc020695a
    SIOCSLIFPHYADDR                   = 0x8118694a
    SIOCSLOWAT                        = 0x80047302
    SIOCSPGRP                         = 0x80047308
    SOCK_CLOEXEC                      = 0x10000000
    SOCK_DGRAM                        = 0x2
    SOCK_MAXADDRLEN                   = 0xff
    SOCK_NONBLOCK                     = 0x20000000
    SOCK_RAW                          = 0x3
    SOCK_RDM                          = 0x4
    SOCK_SEQPACKET                    = 0x5
    SOCK_STREAM                       = 0x1
    SOL_SOCKET                        = 0xffff
    SOMAXCONN                         = 0x80
    SO_ACCEPTCONN                     = 0x2
    SO_ACCEPTFILTER                   = 0x1000
    SO_BINTIME                        = 0x2000
    SO_BROADCAST                      = 0x20
    SO_DEBUG                          = 0x1
    SO_DONTROUTE                      = 0x10
    SO_ERROR                          = 0x1007
    SO_KEEPALIVE                      = 0x8
    SO_LABEL                          = 0x1009
    SO_LINGER                         = 0x80
    SO_LISTENINCQLEN                  = 0x1013
    SO_LISTENQLEN                     = 0x1012
    SO_LISTENQLIMIT                   = 0x1011
    SO_NOSIGPIPE                      = 0x800
    SO_NO_DDP                         = 0x8000
    SO_NO_OFFLOAD                     = 0x4000
    SO_OOBINLINE                      = 0x100
    SO_PEERLABEL                      = 0x1010
    SO_PROTOCOL                       = 0x1016
    SO_PROTOTYPE                      = 0x1016
    SO_RCVBUF                         = 0x1002
    SO_RCVLOWAT                       = 0x1004
    SO_RCVTIMEO                       = 0x1006
    SO_REUSEADDR                      = 0x4
    SO_REUSEPORT                      = 0x200
    SO_SETFIB                         = 0x1014
    SO_SNDBUF                         = 0x1001
    SO_SNDLOWAT                       = 0x1003
    SO_SNDTIMEO                       = 0x1005
    SO_TIMESTAMP                      = 0x400
    SO_TYPE                           = 0x1008
    SO_USELOOPBACK                    = 0x40
    SO_USER_COOKIE                    = 0x1015
    SO_VENDOR                         = 0x80000000
    TCIFLUSH                          = 0x1
    TCIOFLUSH                         = 0x3
    TCOFLUSH                          = 0x2
    TCP_CA_NAME_MAX                   = 0x10
    TCP_CONGESTION                    = 0x40
    TCP_INFO                          = 0x20
    TCP_KEEPCNT                       = 0x400
    TCP_KEEPIDLE                      = 0x100
    TCP_KEEPINIT                      = 0x80
    TCP_KEEPINTVL                     = 0x200
    TCP_MAXBURST                      = 0x4
    TCP_MAXHLEN                       = 0x3c
    TCP_MAXOLEN                       = 0x28
    TCP_MAXSEG                        = 0x2
    TCP_MAXWIN                        = 0xffff
    TCP_MAX_SACK                      = 0x4
    TCP_MAX_WINSHIFT                  = 0xe
    TCP_MD5SIG                        = 0x10
    TCP_MINMSS                        = 0xd8
    TCP_MSS                           = 0x218
    TCP_NODELAY                       = 0x1
    TCP_NOOPT                         = 0x8
    TCP_NOPUSH                        = 0x4
    TCP_VENDOR                        = 0x80000000
    TCSAFLUSH                         = 0x2
    TIOCCBRK                          = 0x2000747a
    TIOCCDTR                          = 0x20007478
    TIOCCONS                          = 0x80047462
    TIOCDRAIN                         = 0x2000745e
    TIOCEXCL                          = 0x2000740d
    TIOCEXT                           = 0x80047460
    TIOCFLUSH                         = 0x80047410
    TIOCGDRAINWAIT                    = 0x40047456
    TIOCGETA                          = 0x402c7413
    TIOCGETD                          = 0x4004741a
    TIOCGPGRP                         = 0x40047477
    TIOCGPTN                          = 0x4004740f
    TIOCGSID                          = 0x40047463
    TIOCGWINSZ                        = 0x40087468
    TIOCMBIC                          = 0x8004746b
    TIOCMBIS                          = 0x8004746c
    TIOCMGDTRWAIT                     = 0x4004745a
    TIOCMGET                          = 0x4004746a
    TIOCMSDTRWAIT                     = 0x8004745b
    TIOCMSET                          = 0x8004746d
    TIOCM_CAR                         = 0x40
    TIOCM_CD                          = 0x40
    TIOCM_CTS                         = 0x20
    TIOCM_DCD                         = 0x40
    TIOCM_DSR                         = 0x100
    TIOCM_DTR                         = 0x2
    TIOCM_LE                          = 0x1
    TIOCM_RI                          = 0x80
    TIOCM_RNG                         = 0x80
    TIOCM_RTS                         = 0x4
    TIOCM_SR                          = 0x10
    TIOCM_ST                          = 0x8
    TIOCNOTTY                         = 0x20007471
    TIOCNXCL                          = 0x2000740e
    TIOCOUTQ                          = 0x40047473
    TIOCPKT                           = 0x80047470
    TIOCPKT_DATA                      = 0x0
    TIOCPKT_DOSTOP                    = 0x20
    TIOCPKT_FLUSHREAD                 = 0x1
    TIOCPKT_FLUSHWRITE                = 0x2
    TIOCPKT_IOCTL                     = 0x40
    TIOCPKT_NOSTOP                    = 0x10
    TIOCPKT_START                     = 0x8
    TIOCPKT_STOP                      = 0x4
    TIOCPTMASTER                      = 0x2000741c
    TIOCSBRK                          = 0x2000747b
    TIOCSCTTY                         = 0x20007461
    TIOCSDRAINWAIT                    = 0x80047457
    TIOCSDTR                          = 0x20007479
    TIOCSETA                          = 0x802c7414
    TIOCSETAF                         = 0x802c7416
    TIOCSETAW                         = 0x802c7415
    TIOCSETD                          = 0x8004741b
    TIOCSIG                           = 0x2004745f
    TIOCSPGRP                         = 0x80047476
    TIOCSTART                         = 0x2000746e
    TIOCSTAT                          = 0x20007465
    TIOCSTI                           = 0x80017472
    TIOCSTOP                          = 0x2000746f
    TIOCSWINSZ                        = 0x80087467
    TIOCTIMESTAMP                     = 0x40107459
    TIOCUCNTL                         = 0x80047466
    TOSTOP                            = 0x400000
    VDISCARD                          = 0xf
    VDSUSP                            = 0xb
    VEOF                              = 0x0
    VEOL                              = 0x1
    VEOL2                             = 0x2
    VERASE                            = 0x3
    VERASE2                           = 0x7
    VINTR                             = 0x8
    VKILL                             = 0x5
    VLNEXT                            = 0xe
    VMIN                              = 0x10
    VQUIT                             = 0x9
    VREPRINT                          = 0x6
    VSTART                            = 0xc
    VSTATUS                           = 0x12
    VSTOP                             = 0xd
    VSUSP                             = 0xa
    VTIME                             = 0x11
    VWERASE                           = 0x4
    WCONTINUED                        = 0x4
    WCOREFLAG                         = 0x80
    WEXITED                           = 0x10
    WLINUXCLONE                       = 0x80000000
    WNOHANG                           = 0x1
    WNOWAIT                           = 0x8
    WSTOPPED                          = 0x2
    WTRAPPED                          = 0x20
    WUNTRACED                         = 0x2
)

Errors

const (
    E2BIG           = Errno(0x7)
    EACCES          = Errno(0xd)
    EADDRINUSE      = Errno(0x30)
    EADDRNOTAVAIL   = Errno(0x31)
    EAFNOSUPPORT    = Errno(0x2f)
    EAGAIN          = Errno(0x23)
    EALREADY        = Errno(0x25)
    EAUTH           = Errno(0x50)
    EBADF           = Errno(0x9)
    EBADMSG         = Errno(0x59)
    EBADRPC         = Errno(0x48)
    EBUSY           = Errno(0x10)
    ECANCELED       = Errno(0x55)
    ECAPMODE        = Errno(0x5e)
    ECHILD          = Errno(0xa)
    ECONNABORTED    = Errno(0x35)
    ECONNREFUSED    = Errno(0x3d)
    ECONNRESET      = Errno(0x36)
    EDEADLK         = Errno(0xb)
    EDESTADDRREQ    = Errno(0x27)
    EDOM            = Errno(0x21)
    EDOOFUS         = Errno(0x58)
    EDQUOT          = Errno(0x45)
    EEXIST          = Errno(0x11)
    EFAULT          = Errno(0xe)
    EFBIG           = Errno(0x1b)
    EFTYPE          = Errno(0x4f)
    EHOSTDOWN       = Errno(0x40)
    EHOSTUNREACH    = Errno(0x41)
    EIDRM           = Errno(0x52)
    EILSEQ          = Errno(0x56)
    EINPROGRESS     = Errno(0x24)
    EINTR           = Errno(0x4)
    EINVAL          = Errno(0x16)
    EIO             = Errno(0x5)
    EISCONN         = Errno(0x38)
    EISDIR          = Errno(0x15)
    ELAST           = Errno(0x60)
    ELOOP           = Errno(0x3e)
    EMFILE          = Errno(0x18)
    EMLINK          = Errno(0x1f)
    EMSGSIZE        = Errno(0x28)
    EMULTIHOP       = Errno(0x5a)
    ENAMETOOLONG    = Errno(0x3f)
    ENEEDAUTH       = Errno(0x51)
    ENETDOWN        = Errno(0x32)
    ENETRESET       = Errno(0x34)
    ENETUNREACH     = Errno(0x33)
    ENFILE          = Errno(0x17)
    ENOATTR         = Errno(0x57)
    ENOBUFS         = Errno(0x37)
    ENODEV          = Errno(0x13)
    ENOENT          = Errno(0x2)
    ENOEXEC         = Errno(0x8)
    ENOLCK          = Errno(0x4d)
    ENOLINK         = Errno(0x5b)
    ENOMEM          = Errno(0xc)
    ENOMSG          = Errno(0x53)
    ENOPROTOOPT     = Errno(0x2a)
    ENOSPC          = Errno(0x1c)
    ENOSYS          = Errno(0x4e)
    ENOTBLK         = Errno(0xf)
    ENOTCAPABLE     = Errno(0x5d)
    ENOTCONN        = Errno(0x39)
    ENOTDIR         = Errno(0x14)
    ENOTEMPTY       = Errno(0x42)
    ENOTRECOVERABLE = Errno(0x5f)
    ENOTSOCK        = Errno(0x26)
    ENOTSUP         = Errno(0x2d)
    ENOTTY          = Errno(0x19)
    ENXIO           = Errno(0x6)
    EOPNOTSUPP      = Errno(0x2d)
    EOVERFLOW       = Errno(0x54)
    EOWNERDEAD      = Errno(0x60)
    EPERM           = Errno(0x1)
    EPFNOSUPPORT    = Errno(0x2e)
    EPIPE           = Errno(0x20)
    EPROCLIM        = Errno(0x43)
    EPROCUNAVAIL    = Errno(0x4c)
    EPROGMISMATCH   = Errno(0x4b)
    EPROGUNAVAIL    = Errno(0x4a)
    EPROTO          = Errno(0x5c)
    EPROTONOSUPPORT = Errno(0x2b)
    EPROTOTYPE      = Errno(0x29)
    ERANGE          = Errno(0x22)
    EREMOTE         = Errno(0x47)
    EROFS           = Errno(0x1e)
    ERPCMISMATCH    = Errno(0x49)
    ESHUTDOWN       = Errno(0x3a)
    ESOCKTNOSUPPORT = Errno(0x2c)
    ESPIPE          = Errno(0x1d)
    ESRCH           = Errno(0x3)
    ESTALE          = Errno(0x46)
    ETIMEDOUT       = Errno(0x3c)
    ETOOMANYREFS    = Errno(0x3b)
    ETXTBSY         = Errno(0x1a)
    EUSERS          = Errno(0x44)
    EWOULDBLOCK     = Errno(0x23)
    EXDEV           = Errno(0x12)
)

Signals

const (
    SIGABRT   = Signal(0x6)
    SIGALRM   = Signal(0xe)
    SIGBUS    = Signal(0xa)
    SIGCHLD   = Signal(0x14)
    SIGCONT   = Signal(0x13)
    SIGEMT    = Signal(0x7)
    SIGFPE    = Signal(0x8)
    SIGHUP    = Signal(0x1)
    SIGILL    = Signal(0x4)
    SIGINFO   = Signal(0x1d)
    SIGINT    = Signal(0x2)
    SIGIO     = Signal(0x17)
    SIGIOT    = Signal(0x6)
    SIGKILL   = Signal(0x9)
    SIGLIBRT  = Signal(0x21)
    SIGLWP    = Signal(0x20)
    SIGPIPE   = Signal(0xd)
    SIGPROF   = Signal(0x1b)
    SIGQUIT   = Signal(0x3)
    SIGSEGV   = Signal(0xb)
    SIGSTOP   = Signal(0x11)
    SIGSYS    = Signal(0xc)
    SIGTERM   = Signal(0xf)
    SIGTHR    = Signal(0x20)
    SIGTRAP   = Signal(0x5)
    SIGTSTP   = Signal(0x12)
    SIGTTIN   = Signal(0x15)
    SIGTTOU   = Signal(0x16)
    SIGURG    = Signal(0x10)
    SIGUSR1   = Signal(0x1e)
    SIGUSR2   = Signal(0x1f)
    SIGVTALRM = Signal(0x1a)
    SIGWINCH  = Signal(0x1c)
    SIGXCPU   = Signal(0x18)
    SIGXFSZ   = Signal(0x19)
)
const (
    // SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
    SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit \
    SYS_FORK                     = 2   // { int fork(void); }
    SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, \
    SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, \
    SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
    SYS_CLOSE                    = 6   // { int close(int fd); }
    SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, \
    SYS_LINK                     = 9   // { int link(char *path, char *link); }
    SYS_UNLINK                   = 10  // { int unlink(char *path); }
    SYS_CHDIR                    = 12  // { int chdir(char *path); }
    SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
    SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
    SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
    SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
    SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break \
    SYS_GETPID                   = 20  // { pid_t getpid(void); }
    SYS_MOUNT                    = 21  // { int mount(char *type, char *path, \
    SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
    SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
    SYS_GETUID                   = 24  // { uid_t getuid(void); }
    SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
    SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, \
    SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, \
    SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, \
    SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, \
    SYS_ACCEPT                   = 30  // { int accept(int s, \
    SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, \
    SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, \
    SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
    SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
    SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
    SYS_SYNC                     = 36  // { int sync(void); }
    SYS_KILL                     = 37  // { int kill(int pid, int signum); }
    SYS_GETPPID                  = 39  // { pid_t getppid(void); }
    SYS_DUP                      = 41  // { int dup(u_int fd); }
    SYS_PIPE                     = 42  // { int pipe(void); }
    SYS_GETEGID                  = 43  // { gid_t getegid(void); }
    SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, \
    SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, \
    SYS_GETGID                   = 47  // { gid_t getgid(void); }
    SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int \
    SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
    SYS_ACCT                     = 51  // { int acct(char *path); }
    SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, \
    SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, \
    SYS_REBOOT                   = 55  // { int reboot(int opt); }
    SYS_REVOKE                   = 56  // { int revoke(char *path); }
    SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
    SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, \
    SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, \
    SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args \
    SYS_CHROOT                   = 61  // { int chroot(char *path); }
    SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, \
    SYS_VFORK                    = 66  // { int vfork(void); }
    SYS_SBRK                     = 69  // { int sbrk(int incr); }
    SYS_SSTK                     = 70  // { int sstk(int incr); }
    SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise \
    SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
    SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, \
    SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, \
    SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, \
    SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, \
    SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, \
    SYS_GETPGRP                  = 81  // { int getpgrp(void); }
    SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
    SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct \
    SYS_SWAPON                   = 85  // { int swapon(char *name); }
    SYS_GETITIMER                = 86  // { int getitimer(u_int which, \
    SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
    SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
    SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
    SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
    SYS_FSYNC                    = 95  // { int fsync(int fd); }
    SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, \
    SYS_SOCKET                   = 97  // { int socket(int domain, int type, \
    SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, \
    SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
    SYS_BIND                     = 104 // { int bind(int s, caddr_t name, \
    SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, \
    SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
    SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, \
    SYS_GETRUSAGE                = 117 // { int getrusage(int who, \
    SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, \
    SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, \
    SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, \
    SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, \
    SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
    SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
    SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
    SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
    SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
    SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
    SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
    SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, \
    SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
    SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, \
    SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
    SYS_RMDIR                    = 137 // { int rmdir(char *path); }
    SYS_UTIMES                   = 138 // { int utimes(char *path, \
    SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, \
    SYS_SETSID                   = 147 // { int setsid(void); }
    SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, \
    SYS_LGETFH                   = 160 // { int lgetfh(char *fname, \
    SYS_GETFH                    = 161 // { int getfh(char *fname, \
    SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
    SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, \
    SYS_FREEBSD6_PREAD           = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
    SYS_FREEBSD6_PWRITE          = 174 // { ssize_t freebsd6_pwrite(int fd, \
    SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
    SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
    SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
    SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
    SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
    SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
    SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
    SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, \
    SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, \
    SYS_FREEBSD6_MMAP            = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
    SYS_FREEBSD6_LSEEK           = 199 // { off_t freebsd6_lseek(int fd, int pad, \
    SYS_FREEBSD6_TRUNCATE        = 200 // { int freebsd6_truncate(char *path, int pad, \
    SYS_FREEBSD6_FTRUNCATE       = 201 // { int freebsd6_ftruncate(int fd, int pad, \
    SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, \
    SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
    SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
    SYS_UNDELETE                 = 205 // { int undelete(char *path); }
    SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
    SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
    SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, \
    SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, \
    SYS_CLOCK_SETTIME            = 233 // { int clock_settime( \
    SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, \
    SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, \
    SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
    SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, \
    SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct \
    SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
    SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, \
    SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
    SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( \
    SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( \
    SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,\
    SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
    SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, \
    SYS_RFORK                    = 251 // { int rfork(int flags); }
    SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, \
    SYS_ISSETUGID                = 253 // { int issetugid(void); }
    SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
    SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, \
    SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
    SYS_LUTIMES                  = 276 // { int lutimes(char *path, \
    SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
    SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
    SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
    SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
    SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
    SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, \
    SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, \
    SYS_MODNEXT                  = 300 // { int modnext(int modid); }
    SYS_MODSTAT                  = 301 // { int modstat(int modid, \
    SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
    SYS_MODFIND                  = 303 // { int modfind(const char *name); }
    SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
    SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
    SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
    SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
    SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct \
    SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
    SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
    SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, \
    SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, \
    SYS_YIELD                    = 321 // { int yield(void); }
    SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
    SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
    SYS___GETCWD                 = 326 // { int __getcwd(u_char *buf, u_int buflen); }
    SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, \
    SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct \
    SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int \
    SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
    SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
    SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
    SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
    SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, \
    SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
    SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, \
    SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
    SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, \
    SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
    SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
    SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, \
    SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, \
    SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, \
    SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, \
    SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, \
    SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, \
    SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, \
    SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, \
    SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, \
    SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, \
    SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, \
    SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( \
    SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( \
    SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, \
    SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
    SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
    SYS_KQUEUE                   = 362 // { int kqueue(void); }
    SYS_KEVENT                   = 363 // { int kevent(int fd, \
    SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, \
    SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, \
    SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, \
    SYS___SETUGID                = 374 // { int __setugid(int flag); }
    SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
    SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, \
    SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
    SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
    SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, \
    SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, \
    SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, \
    SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, \
    SYS_KENV                     = 390 // { int kenv(int what, const char *name, \
    SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, \
    SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, \
    SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, \
    SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, \
    SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
    SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, \
    SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, \
    SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, \
    SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( \
    SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( \
    SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( \
    SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, \
    SYS_SIGACTION                = 416 // { int sigaction(int sig, \
    SYS_SIGRETURN                = 417 // { int sigreturn( \
    SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
    SYS_SETCONTEXT               = 422 // { int setcontext( \
    SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, \
    SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
    SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, \
    SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, \
    SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, \
    SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, \
    SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, \
    SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, \
    SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
    SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
    SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
    SYS__UMTX_LOCK               = 434 // { int _umtx_lock(struct umtx *umtx); }
    SYS__UMTX_UNLOCK             = 435 // { int _umtx_unlock(struct umtx *umtx); }
    SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
    SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, \
    SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( \
    SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( \
    SYS_THR_SUSPEND              = 442 // { int thr_suspend( \
    SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
    SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
    SYS_AUDIT                    = 445 // { int audit(const void *record, \
    SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, \
    SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
    SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
    SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
    SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
    SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( \
    SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( \
    SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
    SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, \
    SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, \
    SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
    SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
    SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
    SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, \
    SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
    SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
    SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
    SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
    SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, \
    SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, \
    SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
    SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, \
    SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
    SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
    SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
    SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, \
    SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
    SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
    SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
    SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, \
    SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, \
    SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, \
    SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, \
    SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
    SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, \
    SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, \
    SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, \
    SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, \
    SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
    SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
    SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, \
    SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, \
    SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, \
    SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, \
    SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
    SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
    SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, \
    SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, \
    SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
    SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
    SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
    SYS_CAP_NEW                  = 514 // { int cap_new(int fd, uint64_t rights); }
    SYS_CAP_GETRIGHTS            = 515 // { int cap_getrights(int fd, \
    SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
    SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
    SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
    SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
    SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
    SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, \
    SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, \
    SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
    SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, \
    SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, \
    SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, \
    SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, \
    SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, \
    SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, \
    SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, \
    SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, \
    SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, \
    SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, \
    SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, \
    SYS_ACCEPT4                  = 541 // { int accept4(int s, \
    SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
    SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, \
    SYS_UTIMENSAT                = 547 // { int utimensat(int fd, \
    SYS_FSTAT                    = 551 // { int fstat(int fd, _Out_ struct stat *sb); }
    SYS_FSTATAT                  = 552 // { int fstatat(int fd, _In_z_ char *path, \
    SYS_GETDIRENTRIES            = 554 // { ssize_t getdirentries(int fd, \
    SYS_STATFS                   = 555 // { int statfs(_In_z_ char *path, \
    SYS_FSTATFS                  = 556 // { int fstatfs(int fd, \
    SYS_GETFSSTAT                = 557 // { int getfsstat( \
    SYS_MKNODAT                  = 559 // { int mknodat(int fd, _In_z_ char *path, \
)
const (
    S_IFMT   = 0xf000
    S_IFIFO  = 0x1000
    S_IFCHR  = 0x2000
    S_IFDIR  = 0x4000
    S_IFBLK  = 0x6000
    S_IFREG  = 0x8000
    S_IFLNK  = 0xa000
    S_IFSOCK = 0xc000
    S_ISUID  = 0x800
    S_ISGID  = 0x400
    S_ISVTX  = 0x200
    S_IRUSR  = 0x100
    S_IWUSR  = 0x80
    S_IXUSR  = 0x40
    S_IRWXG  = 0x38
    S_IRWXO  = 0x7
)
const (
    SizeofSockaddrInet4    = 0x10
    SizeofSockaddrInet6    = 0x1c
    SizeofSockaddrAny      = 0x6c
    SizeofSockaddrUnix     = 0x6a
    SizeofSockaddrDatalink = 0x36
    SizeofLinger           = 0x8
    SizeofIPMreq           = 0x8
    SizeofIPMreqn          = 0xc
    SizeofIPv6Mreq         = 0x14
    SizeofMsghdr           = 0x30
    SizeofCmsghdr          = 0xc
    SizeofInet6Pktinfo     = 0x14
    SizeofIPv6MTUInfo      = 0x20
    SizeofICMPv6Filter     = 0x20
)
const (
    PTRACE_TRACEME = 0x0
    PTRACE_CONT    = 0x7
    PTRACE_KILL    = 0x8
)
const (
    SizeofIfMsghdr = 0xa8

    SizeofIfData           = 0x98
    SizeofIfaMsghdr        = 0x14
    SizeofIfmaMsghdr       = 0x10
    SizeofIfAnnounceMsghdr = 0x18
    SizeofRtMsghdr         = 0x98
    SizeofRtMetrics        = 0x70
)
const (
    SizeofBpfVersion    = 0x4
    SizeofBpfStat       = 0x8
    SizeofBpfZbuf       = 0x18
    SizeofBpfProgram    = 0x10
    SizeofBpfInsn       = 0x8
    SizeofBpfHdr        = 0x20
    SizeofBpfZbufHeader = 0x20
)
const ImplementsGetwd = true

Variables

var (
    Stdin  = 0
    Stdout = 1
    Stderr = 2
)

ForkLock is used to synchronize creation of new file descriptors with fork.

We want the child in a fork/exec sequence to inherit only the file descriptors we intend. To do that, we mark all file descriptors close-on-exec and then, in the child, explicitly unmark the ones we want the exec'ed program to keep. Unix doesn't make this easy: there is, in general, no way to allocate a new file descriptor close-on-exec. Instead you have to allocate the descriptor and then mark it close-on-exec. If a fork happens between those two events, the child's exec will inherit an unwanted file descriptor.

This lock solves that race: the create new fd/mark close-on-exec operation is done holding ForkLock for reading, and the fork itself is done holding ForkLock for writing. At least, that's the idea. There are some complications.

Some system calls that create new file descriptors can block for arbitrarily long times: open on a hung NFS server or named pipe, accept on a socket, and so on. We can't reasonably grab the lock across those operations.

It is worse to inherit some file descriptors than others. If a non-malicious child accidentally inherits an open ordinary file, that's not a big deal. On the other hand, if a long-lived child accidentally inherits the write end of a pipe, then the reader of that pipe will not see EOF until that child exits, potentially causing the parent program to hang. This is a common problem in threaded C programs that use popen.

Luckily, the file descriptors that are most important not to inherit are not the ones that can take an arbitrarily long time to create: pipe returns instantly, and the net package uses non-blocking I/O to accept on a listening socket. The rules for which file descriptor-creating operations use the ForkLock are as follows:

var ForkLock sync.RWMutex

For testing: clients can set this flag to force creation of IPv6 sockets to return EAFNOSUPPORT.

var SocketDisableIPv6 bool

func Access

func Access(path string, mode uint32) (err error)

func Adjtime

func Adjtime(delta *Timeval, olddelta *Timeval) (err error)

func Bind

func Bind(fd int, sa Sockaddr) (err error)

func BpfBuflen

func BpfBuflen(fd int) (int, error)

Deprecated: Use golang.org/x/net/bpf instead.

func BpfDatalink(fd int) (int, error)

Deprecated: Use golang.org/x/net/bpf instead.

func BpfHeadercmpl

func BpfHeadercmpl(fd int) (int, error)

Deprecated: Use golang.org/x/net/bpf instead.

func BpfInterface

func BpfInterface(fd int, name string) (string, error)

Deprecated: Use golang.org/x/net/bpf instead.

func BytePtrFromString 1.1

func BytePtrFromString(s string) (*byte, error)

BytePtrFromString returns a pointer to a NUL-terminated array of bytes containing the text of s. If s contains a NUL byte at any location, it returns (nil, EINVAL).

func ByteSliceFromString 1.1

func ByteSliceFromString(s string) ([]byte, error)

ByteSliceFromString returns a NUL-terminated slice of bytes containing the text of s. If s contains a NUL byte at any location, it returns (nil, EINVAL).

func Chdir

func Chdir(path string) (err error)

func CheckBpfVersion

func CheckBpfVersion(fd int) error

Deprecated: Use golang.org/x/net/bpf instead.

func Chflags

func Chflags(path string, flags int) (err error)

func Chmod

func Chmod(path string, mode uint32) (err error)

func Chown

func Chown(path string, uid int, gid int) (err error)

func Chroot

func Chroot(path string) (err error)

func Clearenv

func Clearenv()

func Close

func Close(fd int) (err error)

func CloseOnExec

func CloseOnExec(fd int)

func CmsgLen

func CmsgLen(datalen int) int

CmsgLen returns the value to store in the Len field of the Cmsghdr structure, taking into account any necessary alignment.

func CmsgSpace

func CmsgSpace(datalen int) int

CmsgSpace returns the number of bytes an ancillary element with payload of the passed data length occupies.

func Connect

func Connect(fd int, sa Sockaddr) (err error)

func Dup

func Dup(fd int) (nfd int, err error)

func Dup2

func Dup2(from int, to int) (err error)

func Environ

func Environ() []string

func Exec

func Exec(argv0 string, argv []string, envv []string) (err error)

Exec invokes the execve(2) system call.

func Exit

func Exit(code int)

func Fchdir

func Fchdir(fd int) (err error)

func Fchflags

func Fchflags(fd int, flags int) (err error)

func Fchmod

func Fchmod(fd int, mode uint32) (err error)

func Fchown

func Fchown(fd int, uid int, gid int) (err error)

func FcntlFlock

func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error

FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.

func Flock

func Flock(fd int, how int) (err error)

func FlushBpf

func FlushBpf(fd int) error

Deprecated: Use golang.org/x/net/bpf instead.

func ForkExec

func ForkExec(argv0 string, argv []string, attr *ProcAttr) (pid int, err error)

Combination of fork and exec, careful to be thread safe.

func Fpathconf

func Fpathconf(fd int, name int) (val int, err error)

func Fstat

func Fstat(fd int, stat *Stat_t) (err error)

func Fstatat

func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)

func Fstatfs

func Fstatfs(fd int, stat *Statfs_t) (err error)

func Fsync

func Fsync(fd int) (err error)

func Ftruncate

func Ftruncate(fd int, length int64) (err error)

func Futimes

func Futimes(fd int, tv []Timeval) (err error)

func Getdirentries

func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)

func Getdtablesize

func Getdtablesize() (size int)

func Getegid

func Getegid() (egid int)

func Getenv

func Getenv(key string) (value string, found bool)

func Geteuid

func Geteuid() (uid int)

func Getfsstat

func Getfsstat(buf []Statfs_t, flags int) (n int, err error)

func Getgid

func Getgid() (gid int)

func Getgroups

func Getgroups() (gids []int, err error)

func Getpagesize

func Getpagesize() int

func Getpgid

func Getpgid(pid int) (pgid int, err error)

func Getpgrp

func Getpgrp() (pgrp int)

func Getpid

func Getpid() (pid int)

func Getppid

func Getppid() (ppid int)

func Getpriority

func Getpriority(which int, who int) (prio int, err error)

func Getrlimit

func Getrlimit(which int, lim *Rlimit) (err error)

func Getrusage

func Getrusage(who int, rusage *Rusage) (err error)

func Getsid

func Getsid(pid int) (sid int, err error)

func GetsockoptByte

func GetsockoptByte(fd, level, opt int) (value byte, err error)

func GetsockoptInet4Addr

func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error)

func GetsockoptInt

func GetsockoptInt(fd, level, opt int) (value int, err error)

func Gettimeofday

func Gettimeofday(tv *Timeval) (err error)

func Getuid

func Getuid() (uid int)

func Getwd

func Getwd() (string, error)

func Issetugid

func Issetugid() (tainted bool)

func Kevent

func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error)

func Kill

func Kill(pid int, signum Signal) (err error)

func Kqueue

func Kqueue() (fd int, err error)

func Lchown

func Lchown(path string, uid int, gid int) (err error)
func Link(path string, link string) (err error)

func Listen

func Listen(s int, backlog int) (err error)

func Lstat

func Lstat(path string, st *Stat_t) (err error)

func Mkdir

func Mkdir(path string, mode uint32) (err error)

func Mkfifo

func Mkfifo(path string, mode uint32) (err error)

func Mknod

func Mknod(path string, mode uint32, dev uint64) (err error)

func Mmap

func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)

func Munmap

func Munmap(b []byte) (err error)

func Nanosleep

func Nanosleep(time *Timespec, leftover *Timespec) (err error)

func Open

func Open(path string, mode int, perm uint32) (fd int, err error)

func ParseDirent

func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string)

ParseDirent parses up to max directory entries in buf, appending the names to names. It returns the number of bytes consumed from buf, the number of entries added to names, and the new names slice.

func ParseUnixRights

func ParseUnixRights(m *SocketControlMessage) ([]int, error)

ParseUnixRights decodes a socket control message that contains an integer array of open file descriptors from another process.

func Pathconf

func Pathconf(path string, name int) (val int, err error)

func Pipe

func Pipe(p []int) error

func Pipe2

func Pipe2(p []int, flags int) error

func Pread

func Pread(fd int, p []byte, offset int64) (n int, err error)

func Pwrite

func Pwrite(fd int, p []byte, offset int64) (n int, err error)

func Read

func Read(fd int, p []byte) (n int, err error)

func ReadDirent

func ReadDirent(fd int, buf []byte) (n int, err error)
func Readlink(path string, buf []byte) (n int, err error)

func Rename

func Rename(from string, to string) (err error)

func Revoke

func Revoke(path string) (err error)

func Rmdir

func Rmdir(path string) (err error)

func RouteRIB

func RouteRIB(facility, param int) ([]byte, error)

RouteRIB returns routing information base, as known as RIB, which consists of network facility information, states and parameters.

Deprecated: Use golang.org/x/net/route instead.

func Seek

func Seek(fd int, offset int64, whence int) (newoffset int64, err error)

func Select

func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)

func Sendfile

func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)

func Sendmsg

func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error)

func SendmsgN

func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error)

func Sendto

func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error)

func SetBpf

func SetBpf(fd int, i []BpfInsn) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfBuflen

func SetBpfBuflen(fd, l int) (int, error)

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfDatalink(fd, t int) (int, error)

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfHeadercmpl

func SetBpfHeadercmpl(fd, f int) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfImmediate

func SetBpfImmediate(fd, m int) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfInterface

func SetBpfInterface(fd int, name string) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfPromisc

func SetBpfPromisc(fd, m int) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetBpfTimeout

func SetBpfTimeout(fd int, tv *Timeval) error

Deprecated: Use golang.org/x/net/bpf instead.

func SetKevent

func SetKevent(k *Kevent_t, fd, mode, flags int)

func SetNonblock

func SetNonblock(fd int, nonblocking bool) (err error)

func Setegid

func Setegid(egid int) (err error)

func Setenv

func Setenv(key, value string) error

func Seteuid

func Seteuid(euid int) (err error)

func Setgid

func Setgid(gid int) (err error)

func Setgroups

func Setgroups(gids []int) (err error)

func Setlogin

func Setlogin(name string) (err error)

func Setpgid

func Setpgid(pid int, pgid int) (err error)

func Setpriority

func Setpriority(which int, who int, prio int) (err error)

func Setregid

func Setregid(rgid int, egid int) (err error)

func Setreuid

func Setreuid(ruid int, euid int) (err error)

func Setrlimit

func Setrlimit(resource int, rlim *Rlimit) error

func Setsid

func Setsid() (pid int, err error)

func SetsockoptByte

func SetsockoptByte(fd, level, opt int, value byte) (err error)

func SetsockoptICMPv6Filter

func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error

func SetsockoptIPMreq

func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error)

func SetsockoptIPMreqn

func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error)

func SetsockoptIPv6Mreq

func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error)

func SetsockoptInet4Addr

func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error)

func SetsockoptInt

func SetsockoptInt(fd, level, opt int, value int) (err error)

func SetsockoptLinger

func SetsockoptLinger(fd, level, opt int, l *Linger) (err error)

func SetsockoptString

func SetsockoptString(fd, level, opt int, s string) (err error)

func SetsockoptTimeval

func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error)

func Settimeofday

func Settimeofday(tp *Timeval) (err error)

func Setuid

func Setuid(uid int) (err error)

func Shutdown

func Shutdown(s int, how int) (err error)

func SlicePtrFromStrings

func SlicePtrFromStrings(ss []string) ([]*byte, error)

SlicePtrFromStrings converts a slice of strings to a slice of pointers to NUL-terminated byte arrays. If any string contains a NUL byte, it returns (nil, EINVAL).

func Socket

func Socket(domain, typ, proto int) (fd int, err error)

func Socketpair

func Socketpair(domain, typ, proto int) (fd [2]int, err error)

func StartProcess

func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle uintptr, err error)

StartProcess wraps ForkExec for package os.

func Stat

func Stat(path string, st *Stat_t) (err error)

func Statfs

func Statfs(path string, stat *Statfs_t) (err error)

func StringBytePtr

func StringBytePtr(s string) *byte

StringBytePtr returns a pointer to a NUL-terminated array of bytes. If s contains a NUL byte this function panics instead of returning an error.

Deprecated: Use BytePtrFromString instead.

func StringByteSlice

func StringByteSlice(s string) []byte

StringByteSlice converts a string to a NUL-terminated []byte, If s contains a NUL byte this function panics instead of returning an error.

Deprecated: Use ByteSliceFromString instead.

func StringSlicePtr

func StringSlicePtr(ss []string) []*byte

StringSlicePtr converts a slice of strings to a slice of pointers to NUL-terminated byte arrays. If any string contains a NUL byte this function panics instead of returning an error.

Deprecated: Use SlicePtrFromStrings instead.

func Symlink(path string, link string) (err error)

func Sync

func Sync() (err error)

func Sysctl

func Sysctl(name string) (value string, err error)

func SysctlUint32

func SysctlUint32(name string) (value uint32, err error)

func TimespecToNsec 1.1

func TimespecToNsec(ts Timespec) int64

TimespecToNsec returns the time stored in ts as nanoseconds.

func TimevalToNsec

func TimevalToNsec(tv Timeval) int64

TimevalToNsec returns the time stored in tv as nanoseconds.

func Truncate

func Truncate(path string, length int64) (err error)

func Umask

func Umask(newmask int) (oldmask int)

func Undelete

func Undelete(path string) (err error)

func UnixRights

func UnixRights(fds ...int) []byte

UnixRights encodes a set of open file descriptors into a socket control message for sending to another process.

func Unlink(path string) (err error)

func Unmount

func Unmount(path string, flags int) (err error)

func Unsetenv 1.4

func Unsetenv(key string) error

func Utimes

func Utimes(path string, tv []Timeval) (err error)

func UtimesNano 1.1

func UtimesNano(path string, ts []Timespec) error

func Wait4

func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)

func Write

func Write(fd int, p []byte) (n int, err error)

type BpfHdr

type BpfHdr struct {
    Tstamp    Timeval
    Caplen    uint32
    Datalen   uint32
    Hdrlen    uint16
    Pad_cgo_0 [6]byte
}

type BpfInsn

type BpfInsn struct {
    Code uint16
    Jt   uint8
    Jf   uint8
    K    uint32
}

func BpfJump

func BpfJump(code, k, jt, jf int) *BpfInsn

Deprecated: Use golang.org/x/net/bpf instead.

func BpfStmt

func BpfStmt(code, k int) *BpfInsn

Deprecated: Use golang.org/x/net/bpf instead.

type BpfProgram

type BpfProgram struct {
    Len       uint32
    Pad_cgo_0 [4]byte
    Insns     *BpfInsn
}

type BpfStat

type BpfStat struct {
    Recv uint32
    Drop uint32
}

func BpfStats

func BpfStats(fd int) (*BpfStat, error)

Deprecated: Use golang.org/x/net/bpf instead.

type BpfVersion

type BpfVersion struct {
    Major uint16
    Minor uint16
}

type BpfZbuf

type BpfZbuf struct {
    Bufa   *byte
    Bufb   *byte
    Buflen uint64
}

type BpfZbufHeader

type BpfZbufHeader struct {
    Kernel_gen uint32
    Kernel_len uint32
    User_gen   uint32
    X_bzh_pad  [5]uint32
}

type Cmsghdr

type Cmsghdr struct {
    Len   uint32
    Level int32
    Type  int32
}

func (*Cmsghdr) SetLen

func (cmsg *Cmsghdr) SetLen(length int)

type Conn 1.9

Conn is implemented by some types in the net and os packages to provide access to the underlying file descriptor or handle.

type Conn interface {
    // SyscallConn returns a raw network connection.
    SyscallConn() (RawConn, error)
}

type Credential

Credential holds user and group identities to be assumed by a child process started by StartProcess.

type Credential struct {
    Uid         uint32   // User ID.
    Gid         uint32   // Group ID.
    Groups      []uint32 // Supplementary group IDs.
    NoSetGroups bool     // If true, don't set supplementary groups
}

type Dirent

type Dirent struct {
    Fileno uint64
    Off    int64
    Reclen uint16
    Type   uint8
    Pad0   uint8
    Namlen uint16
    Pad1   uint16
    Name   [256]int8
}

type Errno

An Errno is an unsigned number describing an error condition. It implements the error interface. The zero Errno is by convention a non-error, so code to convert from Errno to error should use:

err = nil
if errno != 0 {
	err = errno
}

Errno values can be tested against error values using errors.Is. For example:

_, _, err := syscall.Syscall(...)
if errors.Is(err, fs.ErrNotExist) ...
type Errno uintptr

func RawSyscall

func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)

func RawSyscall6

func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)

func Syscall

func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)

func Syscall6

func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)

func Syscall9

func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)

func (Errno) Error

func (e Errno) Error() string

func (Errno) Is 1.13

func (e Errno) Is(target error) bool

func (Errno) Temporary

func (e Errno) Temporary() bool

func (Errno) Timeout

func (e Errno) Timeout() bool

type FdSet

type FdSet struct {
    X__fds_bits [16]uint64
}

type Flock_t

type Flock_t struct {
    Start     int64
    Len       int64
    Pid       int32
    Type      int16
    Whence    int16
    Sysid     int32
    Pad_cgo_0 [4]byte
}

type Fsid

type Fsid struct {
    Val [2]int32
}

type ICMPv6Filter

type ICMPv6Filter struct {
    Filt [8]uint32
}

func GetsockoptICMPv6Filter

func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error)

type IPMreq

type IPMreq struct {
    Multiaddr [4]byte /* in_addr */
    Interface [4]byte /* in_addr */
}

func GetsockoptIPMreq

func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error)

type IPMreqn

type IPMreqn struct {
    Multiaddr [4]byte /* in_addr */
    Address   [4]byte /* in_addr */
    Ifindex   int32
}

func GetsockoptIPMreqn

func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error)

type IPv6MTUInfo

type IPv6MTUInfo struct {
    Addr RawSockaddrInet6
    Mtu  uint32
}

func GetsockoptIPv6MTUInfo

func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error)

type IPv6Mreq

type IPv6Mreq struct {
    Multiaddr [16]byte /* in6_addr */
    Interface uint32
}

func GetsockoptIPv6Mreq

func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error)

type IfAnnounceMsghdr

type IfAnnounceMsghdr struct {
    Msglen  uint16
    Version uint8
    Type    uint8
    Index   uint16
    Name    [16]int8
    What    uint16
}

type IfData

type IfData struct {
    Type        uint8
    Physical    uint8
    Addrlen     uint8
    Hdrlen      uint8
    Link_state  uint8
    Spare_char1 uint8
    Spare_char2 uint8
    Datalen     uint8
    Mtu         uint64
    Metric      uint64
    Baudrate    uint64
    Ipackets    uint64
    Ierrors     uint64
    Opackets    uint64
    Oerrors     uint64
    Collisions  uint64
    Ibytes      uint64
    Obytes      uint64
    Imcasts     uint64
    Omcasts     uint64
    Iqdrops     uint64
    Noproto     uint64
    Hwassist    uint64
    Epoch       int64
    Lastchange  Timeval
}

type IfMsghdr

type IfMsghdr struct {
    Msglen    uint16
    Version   uint8
    Type      uint8
    Addrs     int32
    Flags     int32
    Index     uint16
    Pad_cgo_0 [2]byte
    Data      IfData
}

type IfaMsghdr

type IfaMsghdr struct {
    Msglen    uint16
    Version   uint8
    Type      uint8
    Addrs     int32
    Flags     int32
    Index     uint16
    Pad_cgo_0 [2]byte
    Metric    int32
}

type IfmaMsghdr

type IfmaMsghdr struct {
    Msglen    uint16
    Version   uint8
    Type      uint8
    Addrs     int32
    Flags     int32
    Index     uint16
    Pad_cgo_0 [2]byte
}

type Inet6Pktinfo

type Inet6Pktinfo struct {
    Addr    [16]byte /* in6_addr */
    Ifindex uint32
}

type InterfaceAddrMessage

InterfaceAddrMessage represents a routing message containing network interface address entries.

Deprecated: Use golang.org/x/net/route instead.

type InterfaceAddrMessage struct {
    Header IfaMsghdr
    Data   []byte
}

type InterfaceAnnounceMessage

InterfaceAnnounceMessage represents a routing message containing network interface arrival and departure information.

Deprecated: Use golang.org/x/net/route instead.

type InterfaceAnnounceMessage struct {
    Header IfAnnounceMsghdr
}

type InterfaceMessage

InterfaceMessage represents a routing message containing network interface entries.

Deprecated: Use golang.org/x/net/route instead.

type InterfaceMessage struct {
    Header IfMsghdr
    Data   []byte
}

type InterfaceMulticastAddrMessage

InterfaceMulticastAddrMessage represents a routing message containing network interface address entries.

Deprecated: Use golang.org/x/net/route instead.

type InterfaceMulticastAddrMessage struct {
    Header IfmaMsghdr
    Data   []byte
}

type Iovec

type Iovec struct {
    Base *byte
    Len  uint64
}

func (*Iovec) SetLen

func (iov *Iovec) SetLen(length int)

type Kevent_t

type Kevent_t struct {
    Ident  uint64
    Filter int16
    Flags  uint16
    Fflags uint32
    Data   int64
    Udata  *byte
}

type Linger

type Linger struct {
    Onoff  int32
    Linger int32
}

type Msghdr

type Msghdr struct {
    Name       *byte
    Namelen    uint32
    Pad_cgo_0  [4]byte
    Iov        *Iovec
    Iovlen     int32
    Pad_cgo_1  [4]byte
    Control    *byte
    Controllen uint32
    Flags      int32
}

func (*Msghdr) SetControllen

func (msghdr *Msghdr) SetControllen(length int)

type ProcAttr

ProcAttr holds attributes that will be applied to a new process started by StartProcess.

type ProcAttr struct {
    Dir   string    // Current working directory.
    Env   []string  // Environment.
    Files []uintptr // File descriptors.
    Sys   *SysProcAttr
}

type RawConn 1.9

A RawConn is a raw network connection.

type RawConn interface {
    // Control invokes f on the underlying connection's file
    // descriptor or handle.
    // The file descriptor fd is guaranteed to remain valid while
    // f executes but not after f returns.
    Control(f func(fd uintptr)) error

    // Read invokes f on the underlying connection's file
    // descriptor or handle; f is expected to try to read from the
    // file descriptor.
    // If f returns true, Read returns. Otherwise Read blocks
    // waiting for the connection to be ready for reading and
    // tries again repeatedly.
    // The file descriptor is guaranteed to remain valid while f
    // executes but not after f returns.
    Read(f func(fd uintptr) (done bool)) error

    // Write is like Read but for writing.
    Write(f func(fd uintptr) (done bool)) error
}

type RawSockaddr

type RawSockaddr struct {
    Len    uint8
    Family uint8
    Data   [14]int8
}

type RawSockaddrAny

type RawSockaddrAny struct {
    Addr RawSockaddr
    Pad  [92]int8
}
type RawSockaddrDatalink struct {
    Len    uint8
    Family uint8
    Index  uint16
    Type   uint8
    Nlen   uint8
    Alen   uint8
    Slen   uint8
    Data   [46]int8
}

type RawSockaddrInet4

type RawSockaddrInet4 struct {
    Len    uint8
    Family uint8
    Port   uint16
    Addr   [4]byte /* in_addr */
    Zero   [8]int8
}

type RawSockaddrInet6 1.1

type RawSockaddrInet6 struct {
    Len      uint8
    Family   uint8
    Port     uint16
    Flowinfo uint32
    Addr     [16]byte /* in6_addr */
    Scope_id uint32
}

type RawSockaddrUnix 1.12

type RawSockaddrUnix struct {
    Len    uint8
    Family uint8
    Path   [104]int8
}

type Rlimit

type Rlimit struct {
    Cur int64
    Max int64
}

type RouteMessage

RouteMessage represents a routing message containing routing entries.

Deprecated: Use golang.org/x/net/route instead.

type RouteMessage struct {
    Header RtMsghdr
    Data   []byte
}

type RoutingMessage

RoutingMessage represents a routing message.

Deprecated: Use golang.org/x/net/route instead.

type RoutingMessage interface {
    // contains filtered or unexported methods
}

func ParseRoutingMessage

func ParseRoutingMessage(b []byte) (msgs []RoutingMessage, err error)

ParseRoutingMessage parses b as routing messages and returns the slice containing the RoutingMessage interfaces.

Deprecated: Use golang.org/x/net/route instead.

type RtMetrics

type RtMetrics struct {
    Locks    uint64
    Mtu      uint64
    Hopcount uint64
    Expire   uint64
    Recvpipe uint64
    Sendpipe uint64
    Ssthresh uint64
    Rtt      uint64
    Rttvar   uint64
    Pksent   uint64
    Weight   uint64
    Filler   [3]uint64
}

type RtMsghdr

type RtMsghdr struct {
    Msglen    uint16
    Version   uint8
    Type      uint8
    Index     uint16
    Pad_cgo_0 [2]byte
    Flags     int32
    Addrs     int32
    Pid       int32
    Seq       int32
    Errno     int32
    Fmask     int32
    Inits     uint64
    Rmx       RtMetrics
}

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
}

type Signal

A Signal is a number describing a process signal. It implements the os.Signal interface.

type Signal int

func (Signal) Signal

func (s Signal) Signal()

func (Signal) String

func (s Signal) String() string

type Sockaddr

type Sockaddr interface {
    // contains filtered or unexported methods
}

func Accept

func Accept(fd int) (nfd int, sa Sockaddr, err error)

func Accept4

func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error)

func Getpeername

func Getpeername(fd int) (sa Sockaddr, err error)

func Getsockname

func Getsockname(fd int) (sa Sockaddr, err error)

func ParseRoutingSockaddr

func ParseRoutingSockaddr(msg RoutingMessage) ([]Sockaddr, error)

ParseRoutingSockaddr parses msg's payload as raw sockaddrs and returns the slice containing the Sockaddr interfaces.

Deprecated: Use golang.org/x/net/route instead.

func Recvfrom

func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error)

func Recvmsg

func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error)
type SockaddrDatalink struct {
    Len    uint8
    Family uint8
    Index  uint16
    Type   uint8
    Nlen   uint8
    Alen   uint8
    Slen   uint8
    Data   [46]int8
    // contains filtered or unexported fields
}

type SockaddrInet4

type SockaddrInet4 struct {
    Port int
    Addr [4]byte
    // contains filtered or unexported fields
}

type SockaddrInet6

type SockaddrInet6 struct {
    Port   int
    ZoneId uint32
    Addr   [16]byte
    // contains filtered or unexported fields
}

type SockaddrUnix

type SockaddrUnix struct {
    Name string
    // contains filtered or unexported fields
}

type SocketControlMessage

SocketControlMessage represents a socket control message.

type SocketControlMessage struct {
    Header Cmsghdr
    Data   []byte
}

func ParseSocketControlMessage

func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error)

ParseSocketControlMessage parses b as an array of socket control messages.

type Stat_t

type Stat_t struct {
    Dev           uint64
    Ino           uint64
    Nlink         uint64
    Mode          uint16
    Padding0      int16
    Uid           uint32
    Gid           uint32
    Padding1      int32
    Rdev          uint64
    Atimespec     Timespec
    Mtimespec     Timespec
    Ctimespec     Timespec
    Birthtimespec Timespec
    Size          int64
    Blocks        int64
    Blksize       int32
    Flags         uint32
    Gen           uint64
    Spare         [10]uint64
}

type Statfs_t

type Statfs_t struct {
    Version     uint32
    Type        uint32
    Flags       uint64
    Bsize       uint64
    Iosize      uint64
    Blocks      uint64
    Bfree       uint64
    Bavail      int64
    Files       uint64
    Ffree       int64
    Syncwrites  uint64
    Asyncwrites uint64
    Syncreads   uint64
    Asyncreads  uint64
    Spare       [10]uint64
    Namemax     uint32
    Owner       uint32
    Fsid        Fsid
    Charspare   [80]int8
    Fstypename  [16]int8
    Mntfromname [1024]int8
    Mntonname   [1024]int8
}

type SysProcAttr

type SysProcAttr struct {
    Chroot     string      // Chroot.
    Credential *Credential // Credential.
    Ptrace     bool        // Enable tracing.
    Setsid     bool        // Create session.
    // Setpgid sets the process group ID of the child to Pgid,
    // or, if Pgid == 0, to the new child's process ID.
    Setpgid bool
    // Setctty sets the controlling terminal of the child to
    // file descriptor Ctty. Ctty must be a descriptor number
    // in the child process: an index into ProcAttr.Files.
    // This is only meaningful if Setsid is true.
    Setctty bool
    Noctty  bool // Detach fd 0 from controlling terminal
    Ctty    int  // Controlling TTY fd
    // Foreground places the child process group in the foreground.
    // This implies Setpgid. The Ctty field must be set to
    // the descriptor of the controlling TTY.
    // Unlike Setctty, in this case Ctty must be a descriptor
    // number in the parent process.
    Foreground bool
    Pgid       int    // Child's process group ID if Setpgid.
    Pdeathsig  Signal // Signal that the process will get when its parent dies (Linux and FreeBSD only)
    Jail       int    // Jail to which the child process is attached (FreeBSD only).
}

type Termios

type Termios struct {
    Iflag  uint32
    Oflag  uint32
    Cflag  uint32
    Lflag  uint32
    Cc     [20]uint8
    Ispeed uint32
    Ospeed uint32
}

type Timespec

type Timespec struct {
    Sec  int64
    Nsec int64
}

func NsecToTimespec 1.1

func NsecToTimespec(nsec int64) Timespec

NsecToTimespec converts a number of nanoseconds into a Timespec.

func (*Timespec) Nano

func (ts *Timespec) Nano() int64

Nano returns the time stored in ts as nanoseconds.

func (*Timespec) Unix

func (ts *Timespec) Unix() (sec int64, nsec int64)

Unix returns the time stored in ts as seconds plus nanoseconds.

type Timeval

type Timeval struct {
    Sec  int64
    Usec int64
}

func BpfTimeout

func BpfTimeout(fd int) (*Timeval, error)

Deprecated: Use golang.org/x/net/bpf instead.

func NsecToTimeval

func NsecToTimeval(nsec int64) Timeval

NsecToTimeval converts a number of nanoseconds into a Timeval.

func (*Timeval) Nano

func (tv *Timeval) Nano() int64

Nano returns the time stored in tv as nanoseconds.

func (*Timeval) Unix

func (tv *Timeval) Unix() (sec int64, nsec int64)

Unix returns the time stored in tv as seconds plus nanoseconds.

type WaitStatus

type WaitStatus uint32

func (WaitStatus) Continued

func (w WaitStatus) Continued() bool

func (WaitStatus) CoreDump

func (w WaitStatus) CoreDump() bool

func (WaitStatus) ExitStatus

func (w WaitStatus) ExitStatus() int

func (WaitStatus) Exited

func (w WaitStatus) Exited() bool

func (WaitStatus) Signal

func (w WaitStatus) Signal() Signal

func (WaitStatus) Signaled

func (w WaitStatus) Signaled() bool

func (WaitStatus) StopSignal

func (w WaitStatus) StopSignal() Signal

func (WaitStatus) Stopped

func (w WaitStatus) Stopped() bool

func (WaitStatus) TrapCause

func (w WaitStatus) TrapCause() int

Subdirectories

Name Synopsis
..
js Package js gives access to the WebAssembly host environment when using the js/wasm architecture.