// Generated by Lisette bindgen
// Source: syscall (Go stdlib)
// Go: 1.25.10
// Lisette: 0.2.1

import "go:sync"

pub enum Errno: uintptr {
  E2BIG = 7,
  EACCES = 13,
  EADDRINUSE = 98,
  EADDRNOTAVAIL = 99,
  EADV = 68,
  EAFNOSUPPORT = 97,
  EAGAIN = 11,
  EALREADY = 114,
  EBADE = 52,
  EBADF = 9,
  EBADFD = 77,
  EBADMSG = 74,
  EBADR = 53,
  EBADRQC = 56,
  EBADSLT = 57,
  EBFONT = 59,
  EBUSY = 16,
  ECANCELED = 125,
  ECHILD = 10,
  ECHRNG = 44,
  ECOMM = 70,
  ECONNABORTED = 103,
  ECONNREFUSED = 111,
  ECONNRESET = 104,
  EDEADLK = 35,
  EDEADLOCK = 35,
  EDESTADDRREQ = 89,
  EDOM = 33,
  EDOTDOT = 73,
  EDQUOT = 122,
  EEXIST = 17,
  EFAULT = 14,
  EFBIG = 27,
  EHOSTDOWN = 112,
  EHOSTUNREACH = 113,
  EIDRM = 43,
  EILSEQ = 84,
  EINPROGRESS = 115,
  EINTR = 4,
  EINVAL = 22,
  EIO = 5,
  EISCONN = 106,
  EISDIR = 21,
  EISNAM = 120,
  EKEYEXPIRED = 127,
  EKEYREJECTED = 129,
  EKEYREVOKED = 128,
  EL2HLT = 51,
  EL2NSYNC = 45,
  EL3HLT = 46,
  EL3RST = 47,
  ELIBACC = 79,
  ELIBBAD = 80,
  ELIBEXEC = 83,
  ELIBMAX = 82,
  ELIBSCN = 81,
  ELNRNG = 48,
  ELOOP = 40,
  EMEDIUMTYPE = 124,
  EMFILE = 24,
  EMLINK = 31,
  EMSGSIZE = 90,
  EMULTIHOP = 72,
  ENAMETOOLONG = 36,
  ENAVAIL = 119,
  ENETDOWN = 100,
  ENETRESET = 102,
  ENETUNREACH = 101,
  ENFILE = 23,
  ENOANO = 55,
  ENOBUFS = 105,
  ENOCSI = 50,
  ENODATA = 61,
  ENODEV = 19,
  ENOENT = 2,
  ENOEXEC = 8,
  ENOKEY = 126,
  ENOLCK = 37,
  ENOLINK = 67,
  ENOMEDIUM = 123,
  ENOMEM = 12,
  ENOMSG = 42,
  ENONET = 64,
  ENOPKG = 65,
  ENOPROTOOPT = 92,
  ENOSPC = 28,
  ENOSR = 63,
  ENOSTR = 60,
  ENOSYS = 38,
  ENOTBLK = 15,
  ENOTCONN = 107,
  ENOTDIR = 20,
  ENOTEMPTY = 39,
  ENOTNAM = 118,
  ENOTRECOVERABLE = 131,
  ENOTSOCK = 88,
  ENOTSUP = 95,
  ENOTTY = 25,
  ENOTUNIQ = 76,
  ENXIO = 6,
  EOPNOTSUPP = 95,
  EOVERFLOW = 75,
  EOWNERDEAD = 130,
  EPERM = 1,
  EPFNOSUPPORT = 96,
  EPIPE = 32,
  EPROTO = 71,
  EPROTONOSUPPORT = 93,
  EPROTOTYPE = 91,
  ERANGE = 34,
  EREMCHG = 78,
  EREMOTE = 66,
  EREMOTEIO = 121,
  ERESTART = 85,
  ERFKILL = 132,
  EROFS = 30,
  ESHUTDOWN = 108,
  ESOCKTNOSUPPORT = 94,
  ESPIPE = 29,
  ESRCH = 3,
  ESRMNT = 69,
  ESTALE = 116,
  ESTRPIPE = 86,
  ETIME = 62,
  ETIMEDOUT = 110,
  ETOOMANYREFS = 109,
  ETXTBSY = 26,
  EUCLEAN = 117,
  EUNATCH = 49,
  EUSERS = 87,
  EWOULDBLOCK = 11,
  EXDEV = 18,
  EXFULL = 54,
}

/// Errors
pub const E2BIG: Errno = 7

/// Errors
pub const EACCES: Errno = 13

/// Errors
pub const EADDRINUSE: Errno = 98

/// Errors
pub const EADDRNOTAVAIL: Errno = 99

/// Errors
pub const EADV: Errno = 68

/// Errors
pub const EAFNOSUPPORT: Errno = 97

/// Errors
pub const EAGAIN: Errno = 11

/// Errors
pub const EALREADY: Errno = 114

/// Errors
pub const EBADE: Errno = 52

/// Errors
pub const EBADF: Errno = 9

/// Errors
pub const EBADFD: Errno = 77

/// Errors
pub const EBADMSG: Errno = 74

/// Errors
pub const EBADR: Errno = 53

/// Errors
pub const EBADRQC: Errno = 56

/// Errors
pub const EBADSLT: Errno = 57

/// Errors
pub const EBFONT: Errno = 59

/// Errors
pub const EBUSY: Errno = 16

/// Errors
pub const ECANCELED: Errno = 125

/// Errors
pub const ECHILD: Errno = 10

/// Errors
pub const ECHRNG: Errno = 44

/// Errors
pub const ECOMM: Errno = 70

/// Errors
pub const ECONNABORTED: Errno = 103

/// Errors
pub const ECONNREFUSED: Errno = 111

/// Errors
pub const ECONNRESET: Errno = 104

/// Errors
pub const EDEADLK: Errno = 35

/// Errors
pub const EDEADLOCK: Errno = 35

/// Errors
pub const EDESTADDRREQ: Errno = 89

/// Errors
pub const EDOM: Errno = 33

/// Errors
pub const EDOTDOT: Errno = 73

/// Errors
pub const EDQUOT: Errno = 122

/// Errors
pub const EEXIST: Errno = 17

/// Errors
pub const EFAULT: Errno = 14

/// Errors
pub const EFBIG: Errno = 27

/// Errors
pub const EHOSTDOWN: Errno = 112

/// Errors
pub const EHOSTUNREACH: Errno = 113

/// Errors
pub const EIDRM: Errno = 43

/// Errors
pub const EILSEQ: Errno = 84

/// Errors
pub const EINPROGRESS: Errno = 115

/// Errors
pub const EINTR: Errno = 4

/// Errors
pub const EINVAL: Errno = 22

/// Errors
pub const EIO: Errno = 5

/// Errors
pub const EISCONN: Errno = 106

/// Errors
pub const EISDIR: Errno = 21

/// Errors
pub const EISNAM: Errno = 120

/// Errors
pub const EKEYEXPIRED: Errno = 127

/// Errors
pub const EKEYREJECTED: Errno = 129

/// Errors
pub const EKEYREVOKED: Errno = 128

/// Errors
pub const EL2HLT: Errno = 51

/// Errors
pub const EL2NSYNC: Errno = 45

/// Errors
pub const EL3HLT: Errno = 46

/// Errors
pub const EL3RST: Errno = 47

/// Errors
pub const ELIBACC: Errno = 79

/// Errors
pub const ELIBBAD: Errno = 80

/// Errors
pub const ELIBEXEC: Errno = 83

/// Errors
pub const ELIBMAX: Errno = 82

/// Errors
pub const ELIBSCN: Errno = 81

/// Errors
pub const ELNRNG: Errno = 48

/// Errors
pub const ELOOP: Errno = 40

/// Errors
pub const EMEDIUMTYPE: Errno = 124

/// Errors
pub const EMFILE: Errno = 24

/// Errors
pub const EMLINK: Errno = 31

/// Errors
pub const EMSGSIZE: Errno = 90

/// Errors
pub const EMULTIHOP: Errno = 72

/// Errors
pub const ENAMETOOLONG: Errno = 36

/// Errors
pub const ENAVAIL: Errno = 119

/// Errors
pub const ENETDOWN: Errno = 100

/// Errors
pub const ENETRESET: Errno = 102

/// Errors
pub const ENETUNREACH: Errno = 101

/// Errors
pub const ENFILE: Errno = 23

/// Errors
pub const ENOANO: Errno = 55

/// Errors
pub const ENOBUFS: Errno = 105

/// Errors
pub const ENOCSI: Errno = 50

/// Errors
pub const ENODATA: Errno = 61

/// Errors
pub const ENODEV: Errno = 19

/// Errors
pub const ENOENT: Errno = 2

/// Errors
pub const ENOEXEC: Errno = 8

/// Errors
pub const ENOKEY: Errno = 126

/// Errors
pub const ENOLCK: Errno = 37

/// Errors
pub const ENOLINK: Errno = 67

/// Errors
pub const ENOMEDIUM: Errno = 123

/// Errors
pub const ENOMEM: Errno = 12

/// Errors
pub const ENOMSG: Errno = 42

/// Errors
pub const ENONET: Errno = 64

/// Errors
pub const ENOPKG: Errno = 65

/// Errors
pub const ENOPROTOOPT: Errno = 92

/// Errors
pub const ENOSPC: Errno = 28

/// Errors
pub const ENOSR: Errno = 63

/// Errors
pub const ENOSTR: Errno = 60

/// Errors
pub const ENOSYS: Errno = 38

/// Errors
pub const ENOTBLK: Errno = 15

/// Errors
pub const ENOTCONN: Errno = 107

/// Errors
pub const ENOTDIR: Errno = 20

/// Errors
pub const ENOTEMPTY: Errno = 39

/// Errors
pub const ENOTNAM: Errno = 118

/// Errors
pub const ENOTRECOVERABLE: Errno = 131

/// Errors
pub const ENOTSOCK: Errno = 88

/// Errors
pub const ENOTSUP: Errno = 95

/// Errors
pub const ENOTTY: Errno = 25

/// Errors
pub const ENOTUNIQ: Errno = 76

/// Errors
pub const ENXIO: Errno = 6

/// Errors
pub const EOPNOTSUPP: Errno = 95

/// Errors
pub const EOVERFLOW: Errno = 75

/// Errors
pub const EOWNERDEAD: Errno = 130

/// Errors
pub const EPERM: Errno = 1

/// Errors
pub const EPFNOSUPPORT: Errno = 96

/// Errors
pub const EPIPE: Errno = 32

/// Errors
pub const EPROTO: Errno = 71

/// Errors
pub const EPROTONOSUPPORT: Errno = 93

/// Errors
pub const EPROTOTYPE: Errno = 91

/// Errors
pub const ERANGE: Errno = 34

/// Errors
pub const EREMCHG: Errno = 78

/// Errors
pub const EREMOTE: Errno = 66

/// Errors
pub const EREMOTEIO: Errno = 121

/// Errors
pub const ERESTART: Errno = 85

/// Errors
pub const ERFKILL: Errno = 132

/// Errors
pub const EROFS: Errno = 30

/// Errors
pub const ESHUTDOWN: Errno = 108

/// Errors
pub const ESOCKTNOSUPPORT: Errno = 94

/// Errors
pub const ESPIPE: Errno = 29

/// Errors
pub const ESRCH: Errno = 3

/// Errors
pub const ESRMNT: Errno = 69

/// Errors
pub const ESTALE: Errno = 116

/// Errors
pub const ESTRPIPE: Errno = 86

/// Errors
pub const ETIME: Errno = 62

/// Errors
pub const ETIMEDOUT: Errno = 110

/// Errors
pub const ETOOMANYREFS: Errno = 109

/// Errors
pub const ETXTBSY: Errno = 26

/// Errors
pub const EUCLEAN: Errno = 117

/// Errors
pub const EUNATCH: Errno = 49

/// Errors
pub const EUSERS: Errno = 87

/// Errors
pub const EWOULDBLOCK: Errno = 11

/// Errors
pub const EXDEV: Errno = 18

/// Errors
pub const EXFULL: Errno = 54

pub enum Signal: int {
  SIGABRT = 6,
  SIGALRM = 14,
  SIGBUS = 7,
  SIGCHLD = 17,
  SIGCLD = 17,
  SIGCONT = 18,
  SIGFPE = 8,
  SIGHUP = 1,
  SIGILL = 4,
  SIGINT = 2,
  SIGIO = 29,
  SIGIOT = 6,
  SIGKILL = 9,
  SIGPIPE = 13,
  SIGPOLL = 29,
  SIGPROF = 27,
  SIGPWR = 30,
  SIGQUIT = 3,
  SIGSEGV = 11,
  SIGSTKFLT = 16,
  SIGSTOP = 19,
  SIGSYS = 31,
  SIGTERM = 15,
  SIGTRAP = 5,
  SIGTSTP = 20,
  SIGTTIN = 21,
  SIGTTOU = 22,
  SIGUNUSED = 31,
  SIGURG = 23,
  SIGUSR1 = 10,
  SIGUSR2 = 12,
  SIGVTALRM = 26,
  SIGWINCH = 28,
  SIGXCPU = 24,
  SIGXFSZ = 25,
}

/// Signals
pub const SIGABRT: Signal = 6

/// Signals
pub const SIGALRM: Signal = 14

/// Signals
pub const SIGBUS: Signal = 7

/// Signals
pub const SIGCHLD: Signal = 17

/// Signals
pub const SIGCLD: Signal = 17

/// Signals
pub const SIGCONT: Signal = 18

/// Signals
pub const SIGFPE: Signal = 8

/// Signals
pub const SIGHUP: Signal = 1

/// Signals
pub const SIGILL: Signal = 4

/// Signals
pub const SIGINT: Signal = 2

/// Signals
pub const SIGIO: Signal = 29

/// Signals
pub const SIGIOT: Signal = 6

/// Signals
pub const SIGKILL: Signal = 9

/// Signals
pub const SIGPIPE: Signal = 13

/// Signals
pub const SIGPOLL: Signal = 29

/// Signals
pub const SIGPROF: Signal = 27

/// Signals
pub const SIGPWR: Signal = 30

/// Signals
pub const SIGQUIT: Signal = 3

/// Signals
pub const SIGSEGV: Signal = 11

/// Signals
pub const SIGSTKFLT: Signal = 16

/// Signals
pub const SIGSTOP: Signal = 19

/// Signals
pub const SIGSYS: Signal = 31

/// Signals
pub const SIGTERM: Signal = 15

/// Signals
pub const SIGTRAP: Signal = 5

/// Signals
pub const SIGTSTP: Signal = 20

/// Signals
pub const SIGTTIN: Signal = 21

/// Signals
pub const SIGTTOU: Signal = 22

/// Signals
pub const SIGUNUSED: Signal = 31

/// Signals
pub const SIGURG: Signal = 23

/// Signals
pub const SIGUSR1: Signal = 10

/// Signals
pub const SIGUSR2: Signal = 12

/// Signals
pub const SIGVTALRM: Signal = 26

/// Signals
pub const SIGWINCH: Signal = 28

/// Signals
pub const SIGXCPU: Signal = 24

/// Signals
pub const SIGXFSZ: Signal = 25

pub fn Accept(fd: int) -> Result<(int, Sockaddr), error>

pub fn Accept4(fd: int, flags: int) -> Result<(int, Sockaddr), error>

pub fn Access(path: string, mode: uint32) -> Result<(), error>

pub fn Acct(path: string) -> Result<(), error>

pub fn Adjtimex(buf: Ref<Timex>) -> Result<int, error>

/// AllThreadsSyscall performs a syscall on each OS thread of the Go
/// runtime. It first invokes the syscall on one thread. Should that
/// invocation fail, it returns immediately with the error status.
/// Otherwise, it invokes the syscall on all of the remaining threads
/// in parallel. It will terminate the program if it observes any
/// invoked syscall's return value differs from that of the first
/// invocation.
/// 
/// AllThreadsSyscall is intended for emulating simultaneous
/// process-wide state changes that require consistently modifying
/// per-thread state of the Go runtime.
/// 
/// AllThreadsSyscall is unaware of any threads that are launched
/// explicitly by cgo linked code, so the function always returns
/// [ENOTSUP] in binaries that use cgo.
pub fn AllThreadsSyscall(trap: uint, a1: uint, a2: uint, a3: uint) -> (uint, uint, Errno)

/// AllThreadsSyscall6 is like [AllThreadsSyscall], but extended to six
/// arguments.
pub fn AllThreadsSyscall6(
  trap: uint,
  a1: uint,
  a2: uint,
  a3: uint,
  a4: uint,
  a5: uint,
  a6: uint,
) -> (uint, uint, Errno)

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn AttachLsf(fd: int, i: Slice<SockFilter>) -> Result<(), error>

pub fn Bind(fd: int, sa: Sockaddr) -> Result<(), error>

/// BindToDevice binds the socket associated with fd to device.
pub fn BindToDevice(fd: int, device: string) -> Result<(), 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]).
pub fn BytePtrFromString(s: string) -> Result<Ref<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]).
pub fn ByteSliceFromString(s: string) -> Result<Slice<byte>, error>

pub fn Chdir(path: string) -> Result<(), error>

pub fn Chmod(path: string, mode: uint32) -> Result<(), error>

pub fn Chown(path: string, uid: int, gid: int) -> Result<(), error>

pub fn Chroot(path: string) -> Result<(), error>

pub fn Clearenv()

pub fn Close(fd: int) -> Result<(), error>

pub fn CloseOnExec(fd: int)

/// CmsgLen returns the value to store in the Len field of the [Cmsghdr]
/// structure, taking into account any necessary alignment.
pub fn CmsgLen(datalen: int) -> int

/// CmsgSpace returns the number of bytes an ancillary element with
/// payload of the passed data length occupies.
pub fn CmsgSpace(datalen: int) -> int

pub fn Connect(fd: int, sa: Sockaddr) -> Result<(), error>

pub fn Creat(path: string, mode: uint32) -> Result<int, error>

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn DetachLsf(fd: int) -> Result<(), error>

pub fn Dup(oldfd: int) -> Result<int, error>

pub fn Dup2(oldfd: int, newfd: int) -> Result<(), error>

pub fn Dup3(oldfd: int, newfd: int, flags: int) -> Result<(), error>

pub fn Environ() -> Slice<string>

pub fn EpollCreate(size: int) -> Result<int, error>

pub fn EpollCreate1(flag: int) -> Result<int, error>

pub fn EpollCtl(epfd: int, op: int, fd: int, event: Ref<EpollEvent>) -> Result<(), error>

pub fn EpollWait(epfd: int, events: Slice<EpollEvent>, msec: int) -> Result<int, error>

/// Exec invokes the execve(2) system call.
pub fn Exec(argv0: string, argv: Slice<string>, envv: Slice<string>) -> Result<(), error>

pub fn Exit(code: int)

pub fn Faccessat(dirfd: int, path: string, mode: uint32, flags: int) -> Result<(), error>

pub fn Fallocate(fd: int, mode: uint32, off: int64, len: int64) -> Result<(), error>

pub fn Fchdir(fd: int) -> Result<(), error>

pub fn Fchmod(fd: int, mode: uint32) -> Result<(), error>

pub fn Fchmodat(dirfd: int, path: string, mode: uint32, flags: int) -> Result<(), error>

pub fn Fchown(fd: int, uid: int, gid: int) -> Result<(), error>

pub fn Fchownat(dirfd: int, path: string, uid: int, gid: int, flags: int) -> Result<(), error>

/// FcntlFlock performs a fcntl syscall for the [F_GETLK], [F_SETLK] or [F_SETLKW] command.
pub fn FcntlFlock(fd: uint, cmd: int, lk: Ref<Flock_t>) -> Result<(), error>

pub fn Fdatasync(fd: int) -> Result<(), error>

pub fn Flock(fd: int, how: int) -> Result<(), error>

/// Combination of fork and exec, careful to be thread safe.
pub fn ForkExec(argv0: string, argv: Slice<string>, attr: Ref<ProcAttr>) -> Result<int, error>

pub fn Fstat(fd: int, stat: Ref<Stat_t>) -> Result<(), error>

pub fn Fstatfs(fd: int, buf: Ref<Statfs_t>) -> Result<(), error>

pub fn Fsync(fd: int) -> Result<(), error>

pub fn Ftruncate(fd: int, length: int64) -> Result<(), error>

pub fn Futimes(fd: int, tv: Slice<Timeval>) -> Result<(), error>

pub fn Futimesat(dirfd: int, path: string, tv: Slice<Timeval>) -> Result<(), error>

pub fn Getcwd(buf: Slice<byte>) -> Result<int, error>

pub fn Getdents(fd: int, buf: Slice<byte>) -> Result<int, error>

pub fn Getegid() -> int

pub fn Getenv(key: string) -> Option<string>

pub fn Geteuid() -> int

pub fn Getgid() -> int

pub fn Getgroups() -> Result<Slice<int>, error>

pub fn Getpagesize() -> int

pub fn Getpeername(fd: int) -> Result<Sockaddr, error>

pub fn Getpgid(pid: int) -> Result<int, error>

pub fn Getpgrp() -> int

pub fn Getpid() -> int

pub fn Getppid() -> int

pub fn Getpriority(which: int, who: int) -> Result<int, error>

pub fn Getrlimit(resource: int, rlim: Ref<Rlimit>) -> Result<(), error>

pub fn Getrusage(who: int, rusage: Ref<Rusage>) -> Result<(), error>

pub fn Getsockname(fd: int) -> Result<Sockaddr, error>

pub fn GetsockoptICMPv6Filter(fd: int, level: int, opt: int) -> Result<Ref<ICMPv6Filter>, error>

pub fn GetsockoptIPMreq(fd: int, level: int, opt: int) -> Result<Ref<IPMreq>, error>

pub fn GetsockoptIPMreqn(fd: int, level: int, opt: int) -> Result<Ref<IPMreqn>, error>

pub fn GetsockoptIPv6MTUInfo(fd: int, level: int, opt: int) -> Result<Ref<IPv6MTUInfo>, error>

pub fn GetsockoptIPv6Mreq(fd: int, level: int, opt: int) -> Result<Ref<IPv6Mreq>, error>

pub fn GetsockoptInet4Addr(fd: int, level: int, opt: int) -> Result<Slice<byte>, error>

pub fn GetsockoptInt(fd: int, level: int, opt: int) -> Result<int, error>

pub fn GetsockoptUcred(fd: int, level: int, opt: int) -> Result<Ref<Ucred>, error>

pub fn Gettid() -> int

pub fn Gettimeofday(tv: Ref<Timeval>) -> Result<(), error>

pub fn Getuid() -> int

pub fn Getwd() -> Result<string, error>

pub fn Getxattr(path: string, attr: string, dest: Slice<byte>) -> Result<int, error>

pub fn InotifyAddWatch(fd: int, pathname: string, mask: uint32) -> Result<int, error>

pub fn InotifyInit() -> Result<int, error>

pub fn InotifyInit1(flags: int) -> Result<int, error>

pub fn InotifyRmWatch(fd: int, watchdesc: uint32) -> Result<int, error>

pub fn Ioperm(from: int, num: int, on: int) -> Result<(), error>

pub fn Iopl(level: int) -> Result<(), error>

pub fn Kill(pid: int, sig: Signal) -> Result<(), error>

pub fn Klogctl(typ: int, buf: Slice<byte>) -> Result<int, error>

pub fn Lchown(path: string, uid: int, gid: int) -> Result<(), error>

pub fn Link(oldpath: string, newpath: string) -> Result<(), error>

pub fn Listen(s: int, n: int) -> Result<(), error>

pub fn Listxattr(path: string, dest: Slice<byte>) -> Result<int, error>

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn LsfJump(code: int, k: int, jt: int, jf: int) -> Ref<SockFilter>

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn LsfSocket(ifindex: int, proto: int) -> Result<int, error>

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn LsfStmt(code: int, k: int) -> Ref<SockFilter>

pub fn Lstat(path: string, stat: Ref<Stat_t>) -> Result<(), error>

pub fn Madvise(b: Slice<byte>, advice: int) -> Result<(), error>

pub fn Mkdir(path: string, mode: uint32) -> Result<(), error>

pub fn Mkdirat(dirfd: int, path: string, mode: uint32) -> Result<(), error>

pub fn Mkfifo(path: string, mode: uint32) -> Result<(), error>

pub fn Mknod(path: string, mode: uint32, dev: int) -> Result<(), error>

pub fn Mknodat(dirfd: int, path: string, mode: uint32, dev: int) -> Result<(), error>

pub fn Mlock(b: Slice<byte>) -> Result<(), error>

pub fn Mlockall(flags: int) -> Result<(), error>

pub fn Mmap(fd: int, offset: int64, length: int, prot: int, flags: int) -> Result<Slice<byte>, error>

pub fn Mount(
  source: string,
  target: string,
  fstype: string,
  flags: uint,
  data: string,
) -> Result<(), error>

pub fn Mprotect(b: Slice<byte>, prot: int) -> Result<(), error>

pub fn Munlock(b: Slice<byte>) -> Result<(), error>

pub fn Munlockall() -> Result<(), error>

pub fn Munmap(b: Slice<byte>) -> Result<(), error>

pub fn Nanosleep(time: Ref<Timespec>, leftover: Ref<Timespec>) -> Result<(), error>

/// NetlinkRIB returns routing information base, as known as RIB, which
/// consists of network facility information, states and parameters.
pub fn NetlinkRIB(proto: int, family: int) -> Result<Slice<byte>, error>

/// NsecToTimespec converts a number of nanoseconds into a [Timespec].
pub fn NsecToTimespec(nsec: int64) -> Timespec

/// NsecToTimeval converts a number of nanoseconds into a [Timeval].
pub fn NsecToTimeval(nsec: int64) -> Timeval

pub fn Open(path: string, mode: int, perm: uint32) -> Result<int, error>

pub fn Openat(dirfd: int, path: string, flags: int, mode: uint32) -> Result<int, error>

/// 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.
pub fn ParseDirent(buf: Slice<byte>, max: int, names: Slice<string>) -> (int, int, Slice<string>)

/// ParseNetlinkMessage parses b as an array of netlink messages and
/// returns the slice containing the NetlinkMessage structures.
pub fn ParseNetlinkMessage(b: Slice<byte>) -> Result<Slice<NetlinkMessage>, error>

/// ParseNetlinkRouteAttr parses m's payload as an array of netlink
/// route attributes and returns the slice containing the
/// NetlinkRouteAttr structures.
pub fn ParseNetlinkRouteAttr(m: Ref<NetlinkMessage>) -> Result<Slice<NetlinkRouteAttr>, error>

/// ParseSocketControlMessage parses b as an array of socket control
/// messages.
pub fn ParseSocketControlMessage(b: Slice<byte>) -> Result<Slice<SocketControlMessage>, error>

/// ParseUnixCredentials decodes a socket control message that contains
/// credentials in a Ucred structure. To receive such a message, the
/// SO_PASSCRED option must be enabled on the socket.
pub fn ParseUnixCredentials(m: Ref<SocketControlMessage>) -> Result<Ref<Ucred>, error>

/// ParseUnixRights decodes a socket control message that contains an
/// integer array of open file descriptors from another process.
pub fn ParseUnixRights(m: Ref<SocketControlMessage>) -> Result<Slice<int>, error>

pub fn Pause() -> Result<(), error>

pub fn Pipe(mut p: Slice<int>) -> Result<(), error>

pub fn Pipe2(p: Slice<int>, flags: int) -> Result<(), error>

pub fn PivotRoot(newroot: string, putold: string) -> Result<(), error>

pub fn Pread(fd: int, mut p: Slice<byte>, offset: int64) -> Result<int, error>

pub fn PtraceAttach(pid: int) -> Result<(), error>

pub fn PtraceCont(pid: int, signal: int) -> Result<(), error>

pub fn PtraceDetach(pid: int) -> Result<(), error>

pub fn PtraceGetEventMsg(pid: int) -> Result<uint, error>

pub fn PtraceGetRegs(pid: int, regsout: Ref<PtraceRegs>) -> Result<(), error>

pub fn PtracePeekData(pid: int, addr: uint, out: Slice<byte>) -> Result<int, error>

pub fn PtracePeekText(pid: int, addr: uint, out: Slice<byte>) -> Result<int, error>

pub fn PtracePokeData(pid: int, addr: uint, data: Slice<byte>) -> Result<int, error>

pub fn PtracePokeText(pid: int, addr: uint, data: Slice<byte>) -> Result<int, error>

pub fn PtraceSetOptions(pid: int, options: int) -> Result<(), error>

pub fn PtraceSetRegs(pid: int, regs: Ref<PtraceRegs>) -> Result<(), error>

pub fn PtraceSingleStep(pid: int) -> Result<(), error>

pub fn PtraceSyscall(pid: int, signal: int) -> Result<(), error>

pub fn Pwrite(fd: int, p: Slice<byte>, offset: int64) -> Result<int, error>

pub fn RawSyscall(trap: uint, a1: uint, a2: uint, a3: uint) -> (uint, uint, Errno)

pub fn RawSyscall6(
  trap: uint,
  a1: uint,
  a2: uint,
  a3: uint,
  a4: uint,
  a5: uint,
  a6: uint,
) -> (uint, uint, Errno)

pub fn Read(fd: int, mut p: Slice<byte>) -> Result<int, error>

pub fn ReadDirent(fd: int, mut buf: Slice<byte>) -> Result<int, error>

pub fn Readlink(path: string, mut buf: Slice<byte>) -> Result<int, error>

pub fn Reboot(cmd: int) -> Result<(), error>

pub fn Recvfrom(fd: int, mut p: Slice<byte>, flags: int) -> Result<(int, Sockaddr), error>

pub fn Recvmsg(fd: int, mut p: Slice<byte>, mut oob: Slice<byte>, flags: int) -> Result<(int, int, int, Sockaddr), error>

pub fn Removexattr(path: string, attr: string) -> Result<(), error>

pub fn Rename(oldpath: string, newpath: string) -> Result<(), error>

pub fn Renameat(olddirfd: int, oldpath: string, newdirfd: int, newpath: string) -> Result<(), error>

pub fn Rmdir(path: string) -> Result<(), error>

pub fn Seek(fd: int, offset: int64, whence: int) -> Result<int64, error>

pub fn Select(
  nfd: int,
  r: Ref<FdSet>,
  w: Ref<FdSet>,
  e: Ref<FdSet>,
  timeout: Ref<Timeval>,
) -> Result<int, error>

pub fn Sendfile(outfd: int, infd: int, offset: Ref<int64>, count: int) -> Result<int, error>

pub fn Sendmsg(
  fd: int,
  p: Slice<byte>,
  oob: Slice<byte>,
  to: Sockaddr,
  flags: int,
) -> Result<(), error>

pub fn SendmsgN(
  fd: int,
  p: Slice<byte>,
  oob: Slice<byte>,
  to: Sockaddr,
  flags: int,
) -> Result<int, error>

pub fn Sendto(fd: int, p: Slice<byte>, flags: int, to: Sockaddr) -> Result<(), error>

/// Deprecated: Use golang.org/x/net/bpf instead.
pub fn SetLsfPromisc(name: string, m: bool) -> Result<(), error>

pub fn SetNonblock(fd: int, nonblocking: bool) -> Result<(), error>

pub fn Setdomainname(p: Slice<byte>) -> Result<(), error>

pub fn Setegid(egid: int) -> Result<(), error>

pub fn Setenv(key: string, value: string) -> Result<(), error>

pub fn Seteuid(euid: int) -> Result<(), error>

pub fn Setfsgid(gid: int) -> Result<(), error>

pub fn Setfsuid(uid: int) -> Result<(), error>

pub fn Setgid(gid: int) -> Result<(), error>

pub fn Setgroups(gids: Slice<int>) -> Result<(), error>

pub fn Sethostname(p: Slice<byte>) -> Result<(), error>

pub fn Setpgid(pid: int, pgid: int) -> Result<(), error>

pub fn Setpriority(which: int, who: int, prio: int) -> Result<(), error>

pub fn Setregid(rgid: int, egid: int) -> Result<(), error>

pub fn Setresgid(rgid: int, egid: int, sgid: int) -> Result<(), error>

pub fn Setresuid(ruid: int, euid: int, suid: int) -> Result<(), error>

pub fn Setreuid(ruid: int, euid: int) -> Result<(), error>

pub fn Setrlimit(resource: int, rlim: Ref<Rlimit>) -> Result<(), error>

pub fn Setsid() -> Result<int, error>

pub fn SetsockoptByte(fd: int, level: int, opt: int, value: byte) -> Result<(), error>

pub fn SetsockoptICMPv6Filter(
  fd: int,
  level: int,
  opt: int,
  filter: Ref<ICMPv6Filter>,
) -> Result<(), error>

pub fn SetsockoptIPMreq(fd: int, level: int, opt: int, mreq: Ref<IPMreq>) -> Result<(), error>

pub fn SetsockoptIPMreqn(fd: int, level: int, opt: int, mreq: Ref<IPMreqn>) -> Result<(), error>

pub fn SetsockoptIPv6Mreq(fd: int, level: int, opt: int, mreq: Ref<IPv6Mreq>) -> Result<(), error>

// SKIPPED: SetsockoptInet4Addr - array-currently-not-representable
// fixed-size array cannot currently be represented in Lisette

pub fn SetsockoptInt(fd: int, level: int, opt: int, value: int) -> Result<(), error>

pub fn SetsockoptLinger(fd: int, level: int, opt: int, l: Ref<Linger>) -> Result<(), error>

pub fn SetsockoptString(fd: int, level: int, opt: int, s: string) -> Result<(), error>

pub fn SetsockoptTimeval(fd: int, level: int, opt: int, tv: Ref<Timeval>) -> Result<(), error>

pub fn Settimeofday(tv: Ref<Timeval>) -> Result<(), error>

pub fn Setuid(uid: int) -> Result<(), error>

pub fn Setxattr(path: string, attr: string, data: Slice<byte>, flags: int) -> Result<(), error>

pub fn Shutdown(fd: int, how: int) -> Result<(), 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]).
pub fn SlicePtrFromStrings(ss: Slice<string>) -> Result<Slice<Ref<byte>>, error>

pub fn Socket(domain: int, typ: int, proto: int) -> Result<int, error>

pub fn Socketpair(domain: int, typ: int, proto: int) -> Result<Slice<int>, error>

pub fn Splice(
  rfd: int,
  roff: Ref<int64>,
  wfd: int,
  woff: Ref<int64>,
  len: int,
  flags: int,
) -> Result<int64, error>

/// StartProcess wraps [ForkExec] for package os.
pub fn StartProcess(argv0: string, argv: Slice<string>, attr: Ref<ProcAttr>) -> Result<(int, uint), error>

pub fn Stat(path: string, stat: Ref<Stat_t>) -> Result<(), error>

pub fn Statfs(path: string, buf: Ref<Statfs_t>) -> Result<(), error>

/// 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.
pub fn StringBytePtr(s: string) -> Ref<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.
pub fn StringByteSlice(s: string) -> Slice<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.
pub fn StringSlicePtr(ss: Slice<string>) -> Slice<Ref<byte>>

pub fn Symlink(oldpath: string, newpath: string) -> Result<(), error>

pub fn Sync()

pub fn SyncFileRange(fd: int, off: int64, n: int64, flags: int) -> Result<(), error>

pub fn Syscall(trap: uint, a1: uint, a2: uint, a3: uint) -> (uint, uint, Errno)

pub fn Syscall6(
  trap: uint,
  a1: uint,
  a2: uint,
  a3: uint,
  a4: uint,
  a5: uint,
  a6: uint,
) -> (uint, uint, Errno)

pub fn Sysinfo(info: Ref<Sysinfo_t>) -> Result<(), error>

pub fn Tee(rfd: int, wfd: int, len: int, flags: int) -> Result<int64, error>

pub fn Tgkill(tgid: int, tid: int, sig: Signal) -> Result<(), error>

pub fn Time(t: Ref<Time_t>) -> Result<Time_t, error>

pub fn Times(tms: Ref<Tms>) -> Result<uint, error>

/// TimespecToNsec returns the time stored in ts as nanoseconds.
pub fn TimespecToNsec(ts: Timespec) -> int64

/// TimevalToNsec returns the time stored in tv as nanoseconds.
pub fn TimevalToNsec(tv: Timeval) -> int64

pub fn Truncate(path: string, length: int64) -> Result<(), error>

pub fn Umask(mask: int) -> int

pub fn Uname(buf: Ref<Utsname>) -> Result<(), error>

/// UnixCredentials encodes credentials into a socket control message
/// for sending to another process. This can be used for
/// authentication.
pub fn UnixCredentials(ucred: Ref<Ucred>) -> Slice<byte>

/// UnixRights encodes a set of open file descriptors into a socket
/// control message for sending to another process.
pub fn UnixRights(fds: VarArgs<int>) -> Slice<byte>

pub fn Unlink(path: string) -> Result<(), error>

pub fn Unlinkat(dirfd: int, path: string) -> Result<(), error>

pub fn Unmount(target: string, flags: int) -> Result<(), error>

pub fn Unsetenv(key: string) -> Result<(), error>

pub fn Unshare(flags: int) -> Result<(), error>

pub fn Ustat(dev: int, ubuf: Ref<Ustat_t>) -> Result<(), error>

pub fn Utime(path: string, buf: Ref<Utimbuf>) -> Result<(), error>

pub fn Utimes(path: string, tv: Slice<Timeval>) -> Result<(), error>

pub fn UtimesNano(path: string, ts: Slice<Timespec>) -> Result<(), error>

pub fn Wait4(
  pid: int,
  wstatus: Ref<WaitStatus>,
  options: int,
  rusage: Ref<Rusage>,
) -> Result<int, error>

pub fn Write(fd: int, p: Slice<byte>) -> Result<int, error>

pub struct Cmsghdr {
  pub Len: uint64,
  pub Level: int32,
  pub Type: int32,
}

/// Conn is implemented by some types in the net and os packages to provide
/// access to the underlying file descriptor or handle.
pub interface Conn {
  fn SyscallConn() -> Result<RawConn, error>
}

/// Credential holds user and group identities to be assumed
/// by a child process started by [StartProcess].
pub struct Credential {
  pub Uid: uint32,
  pub Gid: uint32,
  pub Groups: Slice<uint32>,
  pub NoSetGroups: bool,
}

pub struct Dirent {
  pub Ino: uint64,
  pub Off: int64,
  pub Reclen: uint16,
  pub Type: uint8,
  // SKIPPED field "Name": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct EpollEvent {
  pub Events: uint32,
  pub Fd: int32,
  pub Pad: int32,
}

// SKIPPED field "Bits": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
pub type FdSet

pub struct Flock_t {
  pub Type: int16,
  pub Whence: int16,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Start: int64,
  pub Len: int64,
  pub Pid: int32,
  // SKIPPED field "Pad_cgo_1": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

// SKIPPED field "X__val": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
pub type Fsid

// SKIPPED field "Data": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
pub type ICMPv6Filter

// SKIPPED field "Multiaddr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Interface": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
pub type IPMreq

pub struct IPMreqn {
  // SKIPPED field "Multiaddr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Address": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Ifindex: int32,
}

pub struct IPv6MTUInfo {
  pub Addr: RawSockaddrInet6,
  pub Mtu: uint32,
}

pub struct IPv6Mreq {
  // SKIPPED field "Multiaddr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Interface: uint32,
}

pub struct IfAddrmsg {
  pub Family: uint8,
  pub Prefixlen: uint8,
  pub Flags: uint8,
  pub Scope: uint8,
  pub Index: uint32,
}

pub struct IfInfomsg {
  pub Family: uint8,
  pub X__ifi_pad: uint8,
  pub Type: uint16,
  pub Index: int32,
  pub Flags: uint32,
  pub Change: uint32,
}

pub struct Inet4Pktinfo {
  pub Ifindex: int32,
  // SKIPPED field "Spec_dst": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Inet6Pktinfo {
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Ifindex: uint32,
}

pub struct InotifyEvent {
  pub Wd: int32,
  pub Mask: uint32,
  pub Cookie: uint32,
  pub Len: uint32,
  // SKIPPED field "Name": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Iovec {
  pub Base: Option<Ref<byte>>,
  pub Len: uint64,
}

pub struct Linger {
  pub Onoff: int32,
  pub Linger: int32,
}

pub struct Msghdr {
  pub Name: Option<Ref<byte>>,
  pub Namelen: uint32,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Iov: Option<Ref<Iovec>>,
  pub Iovlen: uint64,
  pub Control: Option<Ref<byte>>,
  pub Controllen: uint64,
  pub Flags: int32,
  // SKIPPED field "Pad_cgo_1": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

/// NetlinkMessage represents a netlink message.
pub struct NetlinkMessage {
  pub Header: NlMsghdr,
  pub Data: Slice<byte>,
}

/// NetlinkRouteAttr represents a netlink route attribute.
pub struct NetlinkRouteAttr {
  pub Attr: RtAttr,
  pub Value: Slice<byte>,
}

/// NetlinkRouteRequest represents a request message to receive routing
/// and link states from the kernel.
pub struct NetlinkRouteRequest {
  pub Header: NlMsghdr,
  pub Data: RtGenmsg,
}

pub struct NlAttr {
  pub Len: uint16,
  pub Type: uint16,
}

pub struct NlMsgerr {
  pub Error: int32,
  pub Msg: NlMsghdr,
}

pub struct NlMsghdr {
  pub Len: uint32,
  pub Type: uint16,
  pub Flags: uint16,
  pub Seq: uint32,
  pub Pid: uint32,
}

/// ProcAttr holds attributes that will be applied to a new process started
/// by [StartProcess].
pub struct ProcAttr {
  pub Dir: string,
  pub Env: Slice<string>,
  pub Files: Slice<uint>,
  pub Sys: Option<Ref<SysProcAttr>>,
}

pub struct PtraceRegs {
  pub R15: uint64,
  pub R14: uint64,
  pub R13: uint64,
  pub R12: uint64,
  pub Rbp: uint64,
  pub Rbx: uint64,
  pub R11: uint64,
  pub R10: uint64,
  pub R9: uint64,
  pub R8: uint64,
  pub Rax: uint64,
  pub Rcx: uint64,
  pub Rdx: uint64,
  pub Rsi: uint64,
  pub Rdi: uint64,
  pub Orig_rax: uint64,
  pub Rip: uint64,
  pub Cs: uint64,
  pub Eflags: uint64,
  pub Rsp: uint64,
  pub Ss: uint64,
  pub Fs_base: uint64,
  pub Gs_base: uint64,
  pub Ds: uint64,
  pub Es: uint64,
  pub Fs: uint64,
  pub Gs: uint64,
}

/// A RawConn is a raw network connection.
pub interface RawConn {
  fn Control(f: fn(uint) -> ()) -> Result<(), error>
  fn Read(f: fn(uint) -> bool) -> Result<(), error>
  fn Write(f: fn(uint) -> bool) -> Result<(), error>
}

pub struct RawSockaddr {
  pub Family: uint16,
  // SKIPPED field "Data": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct RawSockaddrAny {
  pub Addr: RawSockaddr,
  // SKIPPED field "Pad": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct RawSockaddrInet4 {
  pub Family: uint16,
  pub Port: uint16,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Zero": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct RawSockaddrInet6 {
  pub Family: uint16,
  pub Port: uint16,
  pub Flowinfo: uint32,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Scope_id: uint32,
}

pub struct RawSockaddrLinklayer {
  pub Family: uint16,
  pub Protocol: uint16,
  pub Ifindex: int32,
  pub Hatype: uint16,
  pub Pkttype: uint8,
  pub Halen: uint8,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct RawSockaddrNetlink {
  pub Family: uint16,
  pub Pad: uint16,
  pub Pid: uint32,
  pub Groups: uint32,
}

pub struct RawSockaddrUnix {
  pub Family: uint16,
  // SKIPPED field "Path": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Rlimit {
  pub Cur: uint64,
  pub Max: uint64,
}

pub struct RtAttr {
  pub Len: uint16,
  pub Type: uint16,
}

pub struct RtGenmsg {
  pub Family: uint8,
}

pub struct RtMsg {
  pub Family: uint8,
  pub Dst_len: uint8,
  pub Src_len: uint8,
  pub Tos: uint8,
  pub Table: uint8,
  pub Protocol: uint8,
  pub Scope: uint8,
  pub Type: uint8,
  pub Flags: uint32,
}

pub struct RtNexthop {
  pub Len: uint16,
  pub Flags: uint8,
  pub Hops: uint8,
  pub Ifindex: int32,
}

pub struct Rusage {
  pub Utime: Timeval,
  pub Stime: Timeval,
  pub Maxrss: int64,
  pub Ixrss: int64,
  pub Idrss: int64,
  pub Isrss: int64,
  pub Minflt: int64,
  pub Majflt: int64,
  pub Nswap: int64,
  pub Inblock: int64,
  pub Oublock: int64,
  pub Msgsnd: int64,
  pub Msgrcv: int64,
  pub Nsignals: int64,
  pub Nvcsw: int64,
  pub Nivcsw: int64,
}

pub struct SockFilter {
  pub Code: uint16,
  pub Jt: uint8,
  pub Jf: uint8,
  pub K: uint32,
}

pub struct SockFprog {
  pub Len: uint16,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Filter: Option<Ref<SockFilter>>,
}

pub interface Sockaddr {}

pub struct SockaddrInet4 {
  pub Port: int,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct SockaddrInet6 {
  pub Port: int,
  pub ZoneId: uint32,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct SockaddrLinklayer {
  pub Protocol: uint16,
  pub Ifindex: int,
  pub Hatype: uint16,
  pub Pkttype: uint8,
  pub Halen: uint8,
  // SKIPPED field "Addr": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct SockaddrNetlink {
  pub Family: uint16,
  pub Pad: uint16,
  pub Pid: uint32,
  pub Groups: uint32,
}

pub struct SockaddrUnix {
  pub Name: string,
}

/// SocketControlMessage represents a socket control message.
pub struct SocketControlMessage {
  pub Header: Cmsghdr,
  pub Data: Slice<byte>,
}

pub struct Stat_t {
  pub Dev: uint64,
  pub Ino: uint64,
  pub Nlink: uint64,
  pub Mode: uint32,
  pub Uid: uint32,
  pub Gid: uint32,
  pub X__pad0: int32,
  pub Rdev: uint64,
  pub Size: int64,
  pub Blksize: int64,
  pub Blocks: int64,
  pub Atim: Timespec,
  pub Mtim: Timespec,
  pub Ctim: Timespec,
  // SKIPPED field "X__unused": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Statfs_t {
  pub Type: int64,
  pub Bsize: int64,
  pub Blocks: uint64,
  pub Bfree: uint64,
  pub Bavail: uint64,
  pub Files: uint64,
  pub Ffree: uint64,
  pub Fsid: Fsid,
  pub Namelen: int64,
  pub Frsize: int64,
  pub Flags: int64,
  // SKIPPED field "Spare": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct SysProcAttr {
  pub Chroot: string,
  pub Credential: Option<Ref<Credential>>,
  pub Ptrace: bool,
  pub Setsid: bool,
  pub Setpgid: bool,
  pub Setctty: bool,
  pub Noctty: bool,
  pub Ctty: int,
  pub Foreground: bool,
  pub Pgid: int,
  pub Pdeathsig: Signal,
  pub Cloneflags: uint,
  pub Unshareflags: uint,
  pub UidMappings: Slice<SysProcIDMap>,
  pub GidMappings: Slice<SysProcIDMap>,
  pub GidMappingsEnableSetgroups: bool,
  pub AmbientCaps: Slice<uint>,
  pub UseCgroupFD: bool,
  pub CgroupFD: int,
  pub PidFD: Option<int>,
}

/// SysProcIDMap holds Container ID to Host ID mappings used for User Namespaces in Linux.
/// See user_namespaces(7).
/// 
/// Note that User Namespaces are not available on a number of popular Linux
/// versions (due to security issues), or are available but subject to AppArmor
/// restrictions like in Ubuntu 24.04.
pub struct SysProcIDMap {
  pub ContainerID: int,
  pub HostID: int,
  pub Size: int,
}

pub struct Sysinfo_t {
  pub Uptime: int64,
  // SKIPPED field "Loads": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Totalram: uint64,
  pub Freeram: uint64,
  pub Sharedram: uint64,
  pub Bufferram: uint64,
  pub Totalswap: uint64,
  pub Freeswap: uint64,
  pub Procs: uint16,
  pub Pad: uint16,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Totalhigh: uint64,
  pub Freehigh: uint64,
  pub Unit: uint32,
  // SKIPPED field "X_f": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Pad_cgo_1": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct TCPInfo {
  pub State: uint8,
  pub Ca_state: uint8,
  pub Retransmits: uint8,
  pub Probes: uint8,
  pub Backoff: uint8,
  pub Options: uint8,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Rto: uint32,
  pub Ato: uint32,
  pub Snd_mss: uint32,
  pub Rcv_mss: uint32,
  pub Unacked: uint32,
  pub Sacked: uint32,
  pub Lost: uint32,
  pub Retrans: uint32,
  pub Fackets: uint32,
  pub Last_data_sent: uint32,
  pub Last_ack_sent: uint32,
  pub Last_data_recv: uint32,
  pub Last_ack_recv: uint32,
  pub Pmtu: uint32,
  pub Rcv_ssthresh: uint32,
  pub Rtt: uint32,
  pub Rttvar: uint32,
  pub Snd_ssthresh: uint32,
  pub Snd_cwnd: uint32,
  pub Advmss: uint32,
  pub Reordering: uint32,
  pub Rcv_rtt: uint32,
  pub Rcv_space: uint32,
  pub Total_retrans: uint32,
}

pub struct Termios {
  pub Iflag: uint32,
  pub Oflag: uint32,
  pub Cflag: uint32,
  pub Lflag: uint32,
  pub Line: uint8,
  // SKIPPED field "Cc": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Ispeed: uint32,
  pub Ospeed: uint32,
}

pub struct Time_t(int64)

pub struct Timespec {
  pub Sec: int64,
  pub Nsec: int64,
}

pub struct Timeval {
  pub Sec: int64,
  pub Usec: int64,
}

pub struct Timex {
  pub Modes: uint32,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Offset: int64,
  pub Freq: int64,
  pub Maxerror: int64,
  pub Esterror: int64,
  pub Status: int32,
  // SKIPPED field "Pad_cgo_1": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Constant: int64,
  pub Precision: int64,
  pub Tolerance: int64,
  pub Time: Timeval,
  pub Tick: int64,
  pub Ppsfreq: int64,
  pub Jitter: int64,
  pub Shift: int32,
  // SKIPPED field "Pad_cgo_2": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Stabil: int64,
  pub Jitcnt: int64,
  pub Calcnt: int64,
  pub Errcnt: int64,
  pub Stbcnt: int64,
  pub Tai: int32,
  // SKIPPED field "Pad_cgo_3": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Tms {
  pub Utime: int64,
  pub Stime: int64,
  pub Cutime: int64,
  pub Cstime: int64,
}

pub struct Ucred {
  pub Pid: int32,
  pub Uid: uint32,
  pub Gid: uint32,
}

pub struct Ustat_t {
  pub Tfree: int32,
  // SKIPPED field "Pad_cgo_0": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  pub Tinode: uint64,
  // SKIPPED field "Fname": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Fpack": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
  // SKIPPED field "Pad_cgo_1": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
}

pub struct Utimbuf {
  pub Actime: int64,
  pub Modtime: int64,
}

// SKIPPED field "Sysname": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Nodename": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Release": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Version": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Machine": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
// SKIPPED field "Domainname": array-currently-not-representable — fixed-size array cannot currently be represented in Lisette
pub type Utsname

pub struct WaitStatus(uint32)

pub const AF_ALG = 0x26

pub const AF_APPLETALK = 0x5

pub const AF_ASH = 0x12

pub const AF_ATMPVC = 0x8

pub const AF_ATMSVC = 0x14

pub const AF_AX25 = 0x3

pub const AF_BLUETOOTH = 0x1f

pub const AF_BRIDGE = 0x7

pub const AF_CAIF = 0x25

pub const AF_CAN = 0x1d

pub const AF_DECnet = 0xc

pub const AF_ECONET = 0x13

pub const AF_FILE = 0x1

pub const AF_IEEE802154 = 0x24

pub const AF_INET = 0x2

pub const AF_INET6 = 0xa

pub const AF_IPX = 0x4

pub const AF_IRDA = 0x17

pub const AF_ISDN = 0x22

pub const AF_IUCV = 0x20

pub const AF_KEY = 0xf

pub const AF_LLC = 0x1a

pub const AF_LOCAL = 0x1

pub const AF_MAX = 0x27

pub const AF_NETBEUI = 0xd

pub const AF_NETLINK = 0x10

pub const AF_NETROM = 0x6

pub const AF_PACKET = 0x11

pub const AF_PHONET = 0x23

pub const AF_PPPOX = 0x18

pub const AF_RDS = 0x15

pub const AF_ROSE = 0xb

pub const AF_ROUTE = 0x10

pub const AF_RXRPC = 0x21

pub const AF_SECURITY = 0xe

pub const AF_SNA = 0x16

pub const AF_TIPC = 0x1e

pub const AF_UNIX = 0x1

pub const AF_UNSPEC = 0x0

pub const AF_WANPIPE = 0x19

pub const AF_X25 = 0x9

pub const ARPHRD_ADAPT = 0x108

pub const ARPHRD_APPLETLK = 0x8

pub const ARPHRD_ARCNET = 0x7

pub const ARPHRD_ASH = 0x30d

pub const ARPHRD_ATM = 0x13

pub const ARPHRD_AX25 = 0x3

pub const ARPHRD_BIF = 0x307

pub const ARPHRD_CHAOS = 0x5

pub const ARPHRD_CISCO = 0x201

pub const ARPHRD_CSLIP = 0x101

pub const ARPHRD_CSLIP6 = 0x103

pub const ARPHRD_DDCMP = 0x205

pub const ARPHRD_DLCI = 0xf

pub const ARPHRD_ECONET = 0x30e

pub const ARPHRD_EETHER = 0x2

pub const ARPHRD_ETHER = 0x1

pub const ARPHRD_EUI64 = 0x1b

pub const ARPHRD_FCAL = 0x311

pub const ARPHRD_FCFABRIC = 0x313

pub const ARPHRD_FCPL = 0x312

pub const ARPHRD_FCPP = 0x310

pub const ARPHRD_FDDI = 0x306

pub const ARPHRD_FRAD = 0x302

pub const ARPHRD_HDLC = 0x201

pub const ARPHRD_HIPPI = 0x30c

pub const ARPHRD_HWX25 = 0x110

pub const ARPHRD_IEEE1394 = 0x18

pub const ARPHRD_IEEE802 = 0x6

pub const ARPHRD_IEEE80211 = 0x321

pub const ARPHRD_IEEE80211_PRISM = 0x322

pub const ARPHRD_IEEE80211_RADIOTAP = 0x323

pub const ARPHRD_IEEE802154 = 0x324

pub const ARPHRD_IEEE802154_PHY = 0x325

pub const ARPHRD_IEEE802_TR = 0x320

pub const ARPHRD_INFINIBAND = 0x20

pub const ARPHRD_IPDDP = 0x309

pub const ARPHRD_IPGRE = 0x30a

pub const ARPHRD_IRDA = 0x30f

pub const ARPHRD_LAPB = 0x204

pub const ARPHRD_LOCALTLK = 0x305

pub const ARPHRD_LOOPBACK = 0x304

pub const ARPHRD_METRICOM = 0x17

pub const ARPHRD_NETROM = 0x0

pub const ARPHRD_NONE = 0xfffe

pub const ARPHRD_PIMREG = 0x30b

pub const ARPHRD_PPP = 0x200

pub const ARPHRD_PRONET = 0x4

pub const ARPHRD_RAWHDLC = 0x206

pub const ARPHRD_ROSE = 0x10e

pub const ARPHRD_RSRVD = 0x104

pub const ARPHRD_SIT = 0x308

pub const ARPHRD_SKIP = 0x303

pub const ARPHRD_SLIP = 0x100

pub const ARPHRD_SLIP6 = 0x102

pub const ARPHRD_TUNNEL = 0x300

pub const ARPHRD_TUNNEL6 = 0x301

pub const ARPHRD_VOID = 0xffff

pub const ARPHRD_X25 = 0x10f

pub const B0 = 0x0

pub const B1000000 = 0x1008

pub const B110 = 0x3

pub const B115200 = 0x1002

pub const B1152000 = 0x1009

pub const B1200 = 0x9

pub const B134 = 0x4

pub const B150 = 0x5

pub const B1500000 = 0x100a

pub const B1800 = 0xa

pub const B19200 = 0xe

pub const B200 = 0x6

pub const B2000000 = 0x100b

pub const B230400 = 0x1003

pub const B2400 = 0xb

pub const B2500000 = 0x100c

pub const B300 = 0x7

pub const B3000000 = 0x100d

pub const B3500000 = 0x100e

pub const B38400 = 0xf

pub const B4000000 = 0x100f

pub const B460800 = 0x1004

pub const B4800 = 0xc

pub const B50 = 0x1

pub const B500000 = 0x1005

pub const B57600 = 0x1001

pub const B576000 = 0x1006

pub const B600 = 0x8

pub const B75 = 0x2

pub const B921600 = 0x1007

pub const B9600 = 0xd

pub const BPF_A = 0x10

pub const BPF_ABS = 0x20

pub const BPF_ADD = 0x0

pub const BPF_ALU = 0x4

pub const BPF_AND = 0x50

pub const BPF_B = 0x10

pub const BPF_DIV = 0x30

pub const BPF_H = 0x8

pub const BPF_IMM = 0x0

pub const BPF_IND = 0x40

pub const BPF_JA = 0x0

pub const BPF_JEQ = 0x10

pub const BPF_JGE = 0x30

pub const BPF_JGT = 0x20

pub const BPF_JMP = 0x5

pub const BPF_JSET = 0x40

pub const BPF_K = 0x0

pub const BPF_LD = 0x0

pub const BPF_LDX = 0x1

pub const BPF_LEN = 0x80

pub const BPF_LSH = 0x60

pub const BPF_MAJOR_VERSION = 0x1

pub const BPF_MAXINSNS = 0x1000

pub const BPF_MEM = 0x60

pub const BPF_MEMWORDS = 0x10

pub const BPF_MINOR_VERSION = 0x1

pub const BPF_MISC = 0x7

pub const BPF_MSH = 0xa0

pub const BPF_MUL = 0x20

pub const BPF_NEG = 0x80

pub const BPF_OR = 0x40

pub const BPF_RET = 0x6

pub const BPF_RSH = 0x70

pub const BPF_ST = 0x2

pub const BPF_STX = 0x3

pub const BPF_SUB = 0x10

pub const BPF_TAX = 0x0

pub const BPF_TXA = 0x80

pub const BPF_W = 0x0

pub const BPF_X = 0x8

pub const BRKINT = 0x2

pub const CLOCAL = 0x800

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_CHILD_CLEARTID = 0x00200000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_CHILD_SETTID = 0x01000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_CLEAR_SIGHAND = 0x100000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_DETACHED = 0x00400000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_FILES = 0x00000400

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_FS = 0x00000200

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_INTO_CGROUP = 0x200000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_IO = 0x80000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWCGROUP = 0x02000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWIPC = 0x08000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWNET = 0x40000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWNS = 0x00020000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWPID = 0x20000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWTIME = 0x00000080

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWUSER = 0x10000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_NEWUTS = 0x04000000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_PARENT = 0x00008000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_PARENT_SETTID = 0x00100000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_PIDFD = 0x00001000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_PTRACE = 0x00002000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_SETTLS = 0x00080000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_SIGHAND = 0x00000800

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_SYSVSEM = 0x00040000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_THREAD = 0x00010000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_UNTRACED = 0x00800000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_VFORK = 0x00004000

/// Linux unshare/clone/clone2/clone3 flags, architecture-independent,
/// copied from linux/sched.h.
pub const CLONE_VM = 0x00000100

pub const CREAD = 0x80

pub const CS5 = 0x0

pub const CS6 = 0x10

pub const CS7 = 0x20

pub const CS8 = 0x30

pub const CSIZE = 0x30

pub const CSTOPB = 0x40

pub const DT_BLK = 0x6

pub const DT_CHR = 0x2

pub const DT_DIR = 0x4

pub const DT_FIFO = 0x1

pub const DT_LNK = 0xa

pub const DT_REG = 0x8

pub const DT_SOCK = 0xc

pub const DT_UNKNOWN = 0x0

pub const DT_WHT = 0xe

pub const ECHO = 0x8

pub const ECHOCTL = 0x200

pub const ECHOE = 0x10

pub const ECHOK = 0x20

pub const ECHOKE = 0x800

pub const ECHONL = 0x40

pub const ECHOPRT = 0x400

pub const EPOLLERR = 0x8

pub const EPOLLET = -0x80000000

pub const EPOLLHUP = 0x10

pub const EPOLLIN = 0x1

pub const EPOLLMSG = 0x400

pub const EPOLLONESHOT = 0x40000000

pub const EPOLLOUT = 0x4

pub const EPOLLPRI = 0x2

pub const EPOLLRDBAND = 0x80

pub const EPOLLRDHUP = 0x2000

pub const EPOLLRDNORM = 0x40

pub const EPOLLWRBAND = 0x200

pub const EPOLLWRNORM = 0x100

pub const EPOLL_CLOEXEC = 0x80000

pub const EPOLL_CTL_ADD = 0x1

pub const EPOLL_CTL_DEL = 0x2

pub const EPOLL_CTL_MOD = 0x3

pub const EPOLL_NONBLOCK = 0x800

pub const ETH_P_1588 = 0x88f7

pub const ETH_P_8021Q = 0x8100

pub const ETH_P_802_2 = 0x4

pub const ETH_P_802_3 = 0x1

pub const ETH_P_AARP = 0x80f3

pub const ETH_P_ALL = 0x3

pub const ETH_P_AOE = 0x88a2

pub const ETH_P_ARCNET = 0x1a

pub const ETH_P_ARP = 0x806

pub const ETH_P_ATALK = 0x809b

pub const ETH_P_ATMFATE = 0x8884

pub const ETH_P_ATMMPOA = 0x884c

pub const ETH_P_AX25 = 0x2

pub const ETH_P_BPQ = 0x8ff

pub const ETH_P_CAIF = 0xf7

pub const ETH_P_CAN = 0xc

pub const ETH_P_CONTROL = 0x16

pub const ETH_P_CUST = 0x6006

pub const ETH_P_DDCMP = 0x6

pub const ETH_P_DEC = 0x6000

pub const ETH_P_DIAG = 0x6005

pub const ETH_P_DNA_DL = 0x6001

pub const ETH_P_DNA_RC = 0x6002

pub const ETH_P_DNA_RT = 0x6003

pub const ETH_P_DSA = 0x1b

pub const ETH_P_ECONET = 0x18

pub const ETH_P_EDSA = 0xdada

pub const ETH_P_FCOE = 0x8906

pub const ETH_P_FIP = 0x8914

pub const ETH_P_HDLC = 0x19

pub const ETH_P_IEEE802154 = 0xf6

pub const ETH_P_IEEEPUP = 0xa00

pub const ETH_P_IEEEPUPAT = 0xa01

pub const ETH_P_IP = 0x800

pub const ETH_P_IPV6 = 0x86dd

pub const ETH_P_IPX = 0x8137

pub const ETH_P_IRDA = 0x17

pub const ETH_P_LAT = 0x6004

pub const ETH_P_LINK_CTL = 0x886c

pub const ETH_P_LOCALTALK = 0x9

pub const ETH_P_LOOP = 0x60

pub const ETH_P_MOBITEX = 0x15

pub const ETH_P_MPLS_MC = 0x8848

pub const ETH_P_MPLS_UC = 0x8847

pub const ETH_P_PAE = 0x888e

pub const ETH_P_PAUSE = 0x8808

pub const ETH_P_PHONET = 0xf5

pub const ETH_P_PPPTALK = 0x10

pub const ETH_P_PPP_DISC = 0x8863

pub const ETH_P_PPP_MP = 0x8

pub const ETH_P_PPP_SES = 0x8864

pub const ETH_P_PUP = 0x200

pub const ETH_P_PUPAT = 0x201

pub const ETH_P_RARP = 0x8035

pub const ETH_P_SCA = 0x6007

pub const ETH_P_SLOW = 0x8809

pub const ETH_P_SNAP = 0x5

pub const ETH_P_TEB = 0x6558

pub const ETH_P_TIPC = 0x88ca

pub const ETH_P_TRAILER = 0x1c

pub const ETH_P_TR_802_2 = 0x11

pub const ETH_P_WAN_PPP = 0x7

pub const ETH_P_WCCP = 0x883e

pub const ETH_P_X25 = 0x805

pub const FD_CLOEXEC = 0x1

pub const FD_SETSIZE = 0x400

pub const FLUSHO = 0x1000

pub const F_DUPFD = 0x0

pub const F_DUPFD_CLOEXEC = 0x406

pub const F_EXLCK = 0x4

pub const F_GETFD = 0x1

pub const F_GETFL = 0x3

pub const F_GETLEASE = 0x401

pub const F_GETLK = 0x5

pub const F_GETLK64 = 0x5

pub const F_GETOWN = 0x9

pub const F_GETOWN_EX = 0x10

pub const F_GETPIPE_SZ = 0x408

pub const F_GETSIG = 0xb

pub const F_LOCK = 0x1

pub const F_NOTIFY = 0x402

pub const F_OK = 0x0

pub const F_RDLCK = 0x0

pub const F_SETFD = 0x2

pub const F_SETFL = 0x4

pub const F_SETLEASE = 0x400

pub const F_SETLK = 0x6

pub const F_SETLK64 = 0x6

pub const F_SETLKW = 0x7

pub const F_SETLKW64 = 0x7

pub const F_SETOWN = 0x8

pub const F_SETOWN_EX = 0xf

pub const F_SETPIPE_SZ = 0x407

pub const F_SETSIG = 0xa

pub const F_SHLCK = 0x8

pub const F_TEST = 0x3

pub const F_TLOCK = 0x2

pub const F_ULOCK = 0x0

pub const F_UNLCK = 0x2

pub const F_WRLCK = 0x1

pub const HUPCL = 0x400

pub const ICANON = 0x2

pub const ICMPV6_FILTER = 0x1

pub const ICRNL = 0x100

pub const IEXTEN = 0x8000

pub const IFA_ADDRESS = 0x1

pub const IFA_ANYCAST = 0x5

pub const IFA_BROADCAST = 0x4

pub const IFA_CACHEINFO = 0x6

pub const IFA_F_DADFAILED = 0x8

pub const IFA_F_DEPRECATED = 0x20

pub const IFA_F_HOMEADDRESS = 0x10

pub const IFA_F_NODAD = 0x2

pub const IFA_F_OPTIMISTIC = 0x4

pub const IFA_F_PERMANENT = 0x80

pub const IFA_F_SECONDARY = 0x1

pub const IFA_F_TEMPORARY = 0x1

pub const IFA_F_TENTATIVE = 0x40

pub const IFA_LABEL = 0x3

pub const IFA_LOCAL = 0x2

pub const IFA_MAX = 0x7

pub const IFA_MULTICAST = 0x7

pub const IFA_UNSPEC = 0x0

pub const IFF_ALLMULTI = 0x200

pub const IFF_AUTOMEDIA = 0x4000

pub const IFF_BROADCAST = 0x2

pub const IFF_DEBUG = 0x4

pub const IFF_DYNAMIC = 0x8000

pub const IFF_LOOPBACK = 0x8

pub const IFF_MASTER = 0x400

pub const IFF_MULTICAST = 0x1000

pub const IFF_NOARP = 0x80

pub const IFF_NOTRAILERS = 0x20

pub const IFF_NO_PI = 0x1000

pub const IFF_ONE_QUEUE = 0x2000

pub const IFF_POINTOPOINT = 0x10

pub const IFF_PORTSEL = 0x2000

pub const IFF_PROMISC = 0x100

pub const IFF_RUNNING = 0x40

pub const IFF_SLAVE = 0x800

pub const IFF_TAP = 0x2

pub const IFF_TUN = 0x1

pub const IFF_TUN_EXCL = 0x8000

pub const IFF_UP = 0x1

pub const IFF_VNET_HDR = 0x4000

pub const IFLA_ADDRESS = 0x1

pub const IFLA_BROADCAST = 0x2

pub const IFLA_COST = 0x8

pub const IFLA_IFALIAS = 0x14

pub const IFLA_IFNAME = 0x3

pub const IFLA_LINK = 0x5

pub const IFLA_LINKINFO = 0x12

pub const IFLA_LINKMODE = 0x11

pub const IFLA_MAP = 0xe

pub const IFLA_MASTER = 0xa

pub const IFLA_MAX = 0x1d

pub const IFLA_MTU = 0x4

pub const IFLA_NET_NS_PID = 0x13

pub const IFLA_OPERSTATE = 0x10

pub const IFLA_PRIORITY = 0x9

pub const IFLA_PROTINFO = 0xc

pub const IFLA_QDISC = 0x6

pub const IFLA_STATS = 0x7

pub const IFLA_TXQLEN = 0xd

pub const IFLA_UNSPEC = 0x0

pub const IFLA_WEIGHT = 0xf

pub const IFLA_WIRELESS = 0xb

pub const IFNAMSIZ = 0x10

pub const IGNBRK = 0x1

pub const IGNCR = 0x80

pub const IGNPAR = 0x4

pub const IMAXBEL = 0x2000

pub const INLCR = 0x40

pub const INPCK = 0x10

pub const IN_ACCESS = 0x1

pub const IN_ALL_EVENTS = 0xfff

pub const IN_ATTRIB = 0x4

pub const IN_CLASSA_HOST = 0xffffff

pub const IN_CLASSA_MAX = 0x80

pub const IN_CLASSA_NET = 0xff000000

pub const IN_CLASSA_NSHIFT = 0x18

pub const IN_CLASSB_HOST = 0xffff

pub const IN_CLASSB_MAX = 0x10000

pub const IN_CLASSB_NET = 0xffff0000

pub const IN_CLASSB_NSHIFT = 0x10

pub const IN_CLASSC_HOST = 0xff

pub const IN_CLASSC_NET = 0xffffff00

pub const IN_CLASSC_NSHIFT = 0x8

pub const IN_CLOEXEC = 0x80000

pub const IN_CLOSE = 0x18

pub const IN_CLOSE_NOWRITE = 0x10

pub const IN_CLOSE_WRITE = 0x8

pub const IN_CREATE = 0x100

pub const IN_DELETE = 0x200

pub const IN_DELETE_SELF = 0x400

pub const IN_DONT_FOLLOW = 0x2000000

pub const IN_EXCL_UNLINK = 0x4000000

pub const IN_IGNORED = 0x8000

pub const IN_ISDIR = 0x40000000

pub const IN_LOOPBACKNET = 0x7f

pub const IN_MASK_ADD = 0x20000000

pub const IN_MODIFY = 0x2

pub const IN_MOVE = 0xc0

pub const IN_MOVED_FROM = 0x40

pub const IN_MOVED_TO = 0x80

pub const IN_MOVE_SELF = 0x800

pub const IN_NONBLOCK = 0x800

pub const IN_ONESHOT = 0x80000000

pub const IN_ONLYDIR = 0x1000000

pub const IN_OPEN = 0x20

pub const IN_Q_OVERFLOW = 0x4000

pub const IN_UNMOUNT = 0x2000

pub const IPPROTO_AH = 0x33

pub const IPPROTO_COMP = 0x6c

pub const IPPROTO_DCCP = 0x21

pub const IPPROTO_DSTOPTS = 0x3c

pub const IPPROTO_EGP = 0x8

pub const IPPROTO_ENCAP = 0x62

pub const IPPROTO_ESP = 0x32

pub const IPPROTO_FRAGMENT = 0x2c

pub const IPPROTO_GRE = 0x2f

pub const IPPROTO_HOPOPTS = 0x0

pub const IPPROTO_ICMP = 0x1

pub const IPPROTO_ICMPV6 = 0x3a

pub const IPPROTO_IDP = 0x16

pub const IPPROTO_IGMP = 0x2

pub const IPPROTO_IP = 0x0

pub const IPPROTO_IPIP = 0x4

pub const IPPROTO_IPV6 = 0x29

pub const IPPROTO_MTP = 0x5c

pub const IPPROTO_NONE = 0x3b

pub const IPPROTO_PIM = 0x67

pub const IPPROTO_PUP = 0xc

pub const IPPROTO_RAW = 0xff

pub const IPPROTO_ROUTING = 0x2b

pub const IPPROTO_RSVP = 0x2e

pub const IPPROTO_SCTP = 0x84

pub const IPPROTO_TCP = 0x6

pub const IPPROTO_TP = 0x1d

pub const IPPROTO_UDP = 0x11

pub const IPPROTO_UDPLITE = 0x88

pub const IPV6_2292DSTOPTS = 0x4

pub const IPV6_2292HOPLIMIT = 0x8

pub const IPV6_2292HOPOPTS = 0x3

pub const IPV6_2292PKTINFO = 0x2

pub const IPV6_2292PKTOPTIONS = 0x6

pub const IPV6_2292RTHDR = 0x5

pub const IPV6_ADDRFORM = 0x1

pub const IPV6_ADD_MEMBERSHIP = 0x14

pub const IPV6_AUTHHDR = 0xa

pub const IPV6_CHECKSUM = 0x7

pub const IPV6_DROP_MEMBERSHIP = 0x15

pub const IPV6_DSTOPTS = 0x3b

pub const IPV6_HOPLIMIT = 0x34

pub const IPV6_HOPOPTS = 0x36

pub const IPV6_IPSEC_POLICY = 0x22

pub const IPV6_JOIN_ANYCAST = 0x1b

pub const IPV6_JOIN_GROUP = 0x14

pub const IPV6_LEAVE_ANYCAST = 0x1c

pub const IPV6_LEAVE_GROUP = 0x15

pub const IPV6_MTU = 0x18

pub const IPV6_MTU_DISCOVER = 0x17

pub const IPV6_MULTICAST_HOPS = 0x12

pub const IPV6_MULTICAST_IF = 0x11

pub const IPV6_MULTICAST_LOOP = 0x13

pub const IPV6_NEXTHOP = 0x9

pub const IPV6_PKTINFO = 0x32

pub const IPV6_PMTUDISC_DO = 0x2

pub const IPV6_PMTUDISC_DONT = 0x0

pub const IPV6_PMTUDISC_PROBE = 0x3

pub const IPV6_PMTUDISC_WANT = 0x1

pub const IPV6_RECVDSTOPTS = 0x3a

pub const IPV6_RECVERR = 0x19

pub const IPV6_RECVHOPLIMIT = 0x33

pub const IPV6_RECVHOPOPTS = 0x35

pub const IPV6_RECVPKTINFO = 0x31

pub const IPV6_RECVRTHDR = 0x38

pub const IPV6_RECVTCLASS = 0x42

pub const IPV6_ROUTER_ALERT = 0x16

pub const IPV6_RTHDR = 0x39

pub const IPV6_RTHDRDSTOPTS = 0x37

pub const IPV6_RTHDR_LOOSE = 0x0

pub const IPV6_RTHDR_STRICT = 0x1

pub const IPV6_RTHDR_TYPE_0 = 0x0

pub const IPV6_RXDSTOPTS = 0x3b

pub const IPV6_RXHOPOPTS = 0x36

pub const IPV6_TCLASS = 0x43

pub const IPV6_UNICAST_HOPS = 0x10

pub const IPV6_V6ONLY = 0x1a

pub const IPV6_XFRM_POLICY = 0x23

pub const IP_ADD_MEMBERSHIP = 0x23

pub const IP_ADD_SOURCE_MEMBERSHIP = 0x27

pub const IP_BLOCK_SOURCE = 0x26

pub const IP_DEFAULT_MULTICAST_LOOP = 0x1

pub const IP_DEFAULT_MULTICAST_TTL = 0x1

pub const IP_DF = 0x4000

pub const IP_DROP_MEMBERSHIP = 0x24

pub const IP_DROP_SOURCE_MEMBERSHIP = 0x28

pub const IP_FREEBIND = 0xf

pub const IP_HDRINCL = 0x3

pub const IP_IPSEC_POLICY = 0x10

pub const IP_MAXPACKET = 0xffff

pub const IP_MAX_MEMBERSHIPS = 0x14

pub const IP_MF = 0x2000

pub const IP_MINTTL = 0x15

pub const IP_MSFILTER = 0x29

pub const IP_MSS = 0x240

pub const IP_MTU = 0xe

pub const IP_MTU_DISCOVER = 0xa

pub const IP_MULTICAST_IF = 0x20

pub const IP_MULTICAST_LOOP = 0x22

pub const IP_MULTICAST_TTL = 0x21

pub const IP_OFFMASK = 0x1fff

pub const IP_OPTIONS = 0x4

pub const IP_ORIGDSTADDR = 0x14

pub const IP_PASSSEC = 0x12

pub const IP_PKTINFO = 0x8

pub const IP_PKTOPTIONS = 0x9

pub const IP_PMTUDISC = 0xa

pub const IP_PMTUDISC_DO = 0x2

pub const IP_PMTUDISC_DONT = 0x0

pub const IP_PMTUDISC_PROBE = 0x3

pub const IP_PMTUDISC_WANT = 0x1

pub const IP_RECVERR = 0xb

pub const IP_RECVOPTS = 0x6

pub const IP_RECVORIGDSTADDR = 0x14

pub const IP_RECVRETOPTS = 0x7

pub const IP_RECVTOS = 0xd

pub const IP_RECVTTL = 0xc

pub const IP_RETOPTS = 0x7

pub const IP_RF = 0x8000

pub const IP_ROUTER_ALERT = 0x5

pub const IP_TOS = 0x1

pub const IP_TRANSPARENT = 0x13

pub const IP_TTL = 0x2

pub const IP_UNBLOCK_SOURCE = 0x25

pub const IP_XFRM_POLICY = 0x11

pub const ISIG = 0x1

pub const ISTRIP = 0x20

pub const IUCLC = 0x200

pub const IUTF8 = 0x4000

pub const IXANY = 0x800

pub const IXOFF = 0x1000

pub const IXON = 0x400

pub const ImplementsGetwd = true

pub const LINUX_REBOOT_CMD_CAD_OFF = 0x0

pub const LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef

pub const LINUX_REBOOT_CMD_HALT = 0xcdef0123

pub const LINUX_REBOOT_CMD_KEXEC = 0x45584543

pub const LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc

pub const LINUX_REBOOT_CMD_RESTART = 0x1234567

pub const LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4

pub const LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2

pub const LINUX_REBOOT_MAGIC1 = 0xfee1dead

pub const LINUX_REBOOT_MAGIC2 = 0x28121969

pub const LOCK_EX = 0x2

pub const LOCK_NB = 0x4

pub const LOCK_SH = 0x1

pub const LOCK_UN = 0x8

pub const MADV_DOFORK = 0xb

pub const MADV_DONTFORK = 0xa

pub const MADV_DONTNEED = 0x4

pub const MADV_HUGEPAGE = 0xe

pub const MADV_HWPOISON = 0x64

pub const MADV_MERGEABLE = 0xc

pub const MADV_NOHUGEPAGE = 0xf

pub const MADV_NORMAL = 0x0

pub const MADV_RANDOM = 0x1

pub const MADV_REMOVE = 0x9

pub const MADV_SEQUENTIAL = 0x2

pub const MADV_UNMERGEABLE = 0xd

pub const MADV_WILLNEED = 0x3

pub const MAP_32BIT = 0x40

pub const MAP_ANON = 0x20

pub const MAP_ANONYMOUS = 0x20

pub const MAP_DENYWRITE = 0x800

pub const MAP_EXECUTABLE = 0x1000

pub const MAP_FILE = 0x0

pub const MAP_FIXED = 0x10

pub const MAP_GROWSDOWN = 0x100

pub const MAP_HUGETLB = 0x40000

pub const MAP_LOCKED = 0x2000

pub const MAP_NONBLOCK = 0x10000

pub const MAP_NORESERVE = 0x4000

pub const MAP_POPULATE = 0x8000

pub const MAP_PRIVATE = 0x2

pub const MAP_SHARED = 0x1

pub const MAP_STACK = 0x20000

pub const MAP_TYPE = 0xf

pub const MCL_CURRENT = 0x1

pub const MCL_FUTURE = 0x2

pub const MNT_DETACH = 0x2

pub const MNT_EXPIRE = 0x4

pub const MNT_FORCE = 0x1

pub const MSG_CMSG_CLOEXEC = 0x40000000

pub const MSG_CONFIRM = 0x800

pub const MSG_CTRUNC = 0x8

pub const MSG_DONTROUTE = 0x4

pub const MSG_DONTWAIT = 0x40

pub const MSG_EOR = 0x80

pub const MSG_ERRQUEUE = 0x2000

pub const MSG_FASTOPEN = 0x20000000

pub const MSG_FIN = 0x200

pub const MSG_MORE = 0x8000

pub const MSG_NOSIGNAL = 0x4000

pub const MSG_OOB = 0x1

pub const MSG_PEEK = 0x2

pub const MSG_PROXY = 0x10

pub const MSG_RST = 0x1000

pub const MSG_SYN = 0x400

pub const MSG_TRUNC = 0x20

pub const MSG_TRYHARD = 0x4

pub const MSG_WAITALL = 0x100

pub const MSG_WAITFORONE = 0x10000

pub const MS_ACTIVE = 0x40000000

pub const MS_ASYNC = 0x1

pub const MS_BIND = 0x1000

pub const MS_DIRSYNC = 0x80

pub const MS_INVALIDATE = 0x2

pub const MS_I_VERSION = 0x800000

pub const MS_KERNMOUNT = 0x400000

pub const MS_MANDLOCK = 0x40

pub const MS_MGC_MSK = 0xffff0000

pub const MS_MGC_VAL = 0xc0ed0000

pub const MS_MOVE = 0x2000

pub const MS_NOATIME = 0x400

pub const MS_NODEV = 0x4

pub const MS_NODIRATIME = 0x800

pub const MS_NOEXEC = 0x8

pub const MS_NOSUID = 0x2

pub const MS_NOUSER = -0x80000000

pub const MS_POSIXACL = 0x10000

pub const MS_PRIVATE = 0x40000

pub const MS_RDONLY = 0x1

pub const MS_REC = 0x4000

pub const MS_RELATIME = 0x200000

pub const MS_REMOUNT = 0x20

pub const MS_RMT_MASK = 0x800051

pub const MS_SHARED = 0x100000

pub const MS_SILENT = 0x8000

pub const MS_SLAVE = 0x80000

pub const MS_STRICTATIME = 0x1000000

pub const MS_SYNC = 0x4

pub const MS_SYNCHRONOUS = 0x10

pub const MS_UNBINDABLE = 0x20000

pub const NAME_MAX = 0xff

pub const NETLINK_ADD_MEMBERSHIP = 0x1

pub const NETLINK_AUDIT = 0x9

pub const NETLINK_BROADCAST_ERROR = 0x4

pub const NETLINK_CONNECTOR = 0xb

pub const NETLINK_DNRTMSG = 0xe

pub const NETLINK_DROP_MEMBERSHIP = 0x2

pub const NETLINK_ECRYPTFS = 0x13

pub const NETLINK_FIB_LOOKUP = 0xa

pub const NETLINK_FIREWALL = 0x3

pub const NETLINK_GENERIC = 0x10

pub const NETLINK_INET_DIAG = 0x4

pub const NETLINK_IP6_FW = 0xd

pub const NETLINK_ISCSI = 0x8

pub const NETLINK_KOBJECT_UEVENT = 0xf

pub const NETLINK_NETFILTER = 0xc

pub const NETLINK_NFLOG = 0x5

pub const NETLINK_NO_ENOBUFS = 0x5

pub const NETLINK_PKTINFO = 0x3

pub const NETLINK_ROUTE = 0x0

pub const NETLINK_SCSITRANSPORT = 0x12

pub const NETLINK_SELINUX = 0x7

pub const NETLINK_UNUSED = 0x1

pub const NETLINK_USERSOCK = 0x2

pub const NETLINK_XFRM = 0x6

pub const NLA_ALIGNTO = 0x4

pub const NLA_F_NESTED = 0x8000

pub const NLA_F_NET_BYTEORDER = 0x4000

pub const NLA_HDRLEN = 0x4

pub const NLMSG_ALIGNTO = 0x4

pub const NLMSG_DONE = 0x3

pub const NLMSG_ERROR = 0x2

pub const NLMSG_HDRLEN = 0x10

pub const NLMSG_MIN_TYPE = 0x10

pub const NLMSG_NOOP = 0x1

pub const NLMSG_OVERRUN = 0x4

pub const NLM_F_ACK = 0x4

pub const NLM_F_APPEND = 0x800

pub const NLM_F_ATOMIC = 0x400

pub const NLM_F_CREATE = 0x400

pub const NLM_F_DUMP = 0x300

pub const NLM_F_ECHO = 0x8

pub const NLM_F_EXCL = 0x200

pub const NLM_F_MATCH = 0x200

pub const NLM_F_MULTI = 0x2

pub const NLM_F_REPLACE = 0x100

pub const NLM_F_REQUEST = 0x1

pub const NLM_F_ROOT = 0x100

pub const NOFLSH = 0x80

pub const OCRNL = 0x8

pub const OFDEL = 0x80

pub const OFILL = 0x40

pub const OLCUC = 0x2

pub const ONLCR = 0x4

pub const ONLRET = 0x20

pub const ONOCR = 0x10

pub const OPOST = 0x1

pub const O_ACCMODE = 0x3

pub const O_APPEND = 0x400

pub const O_ASYNC = 0x2000

pub const O_CLOEXEC = 0x80000

pub const O_CREAT = 0x40

pub const O_DIRECT = 0x4000

pub const O_DIRECTORY = 0x10000

pub const O_DSYNC = 0x1000

pub const O_EXCL = 0x80

pub const O_FSYNC = 0x101000

pub const O_LARGEFILE = 0x0

pub const O_NDELAY = 0x800

pub const O_NOATIME = 0x40000

pub const O_NOCTTY = 0x100

pub const O_NOFOLLOW = 0x20000

pub const O_NONBLOCK = 0x800

pub const O_RDONLY = 0x0

pub const O_RDWR = 0x2

pub const O_RSYNC = 0x101000

pub const O_SYNC = 0x101000

pub const O_TRUNC = 0x200

pub const O_WRONLY = 0x1

pub const PACKET_ADD_MEMBERSHIP = 0x1

pub const PACKET_BROADCAST = 0x1

pub const PACKET_DROP_MEMBERSHIP = 0x2

pub const PACKET_FASTROUTE = 0x6

pub const PACKET_HOST = 0x0

pub const PACKET_LOOPBACK = 0x5

pub const PACKET_MR_ALLMULTI = 0x2

pub const PACKET_MR_MULTICAST = 0x0

pub const PACKET_MR_PROMISC = 0x1

pub const PACKET_MULTICAST = 0x2

pub const PACKET_OTHERHOST = 0x3

pub const PACKET_OUTGOING = 0x4

pub const PACKET_RECV_OUTPUT = 0x3

pub const PACKET_RX_RING = 0x5

pub const PACKET_STATISTICS = 0x6

pub const PARENB = 0x100

pub const PARMRK = 0x8

pub const PARODD = 0x200

pub const PENDIN = 0x4000

pub const PRIO_PGRP = 0x1

pub const PRIO_PROCESS = 0x0

pub const PRIO_USER = 0x2

pub const PROT_EXEC = 0x4

pub const PROT_GROWSDOWN = 0x1000000

pub const PROT_GROWSUP = 0x2000000

pub const PROT_NONE = 0x0

pub const PROT_READ = 0x1

pub const PROT_WRITE = 0x2

pub const PR_CAPBSET_DROP = 0x18

pub const PR_CAPBSET_READ = 0x17

pub const PR_ENDIAN_BIG = 0x0

pub const PR_ENDIAN_LITTLE = 0x1

pub const PR_ENDIAN_PPC_LITTLE = 0x2

pub const PR_FPEMU_NOPRINT = 0x1

pub const PR_FPEMU_SIGFPE = 0x2

pub const PR_FP_EXC_ASYNC = 0x2

pub const PR_FP_EXC_DISABLED = 0x0

pub const PR_FP_EXC_DIV = 0x10000

pub const PR_FP_EXC_INV = 0x100000

pub const PR_FP_EXC_NONRECOV = 0x1

pub const PR_FP_EXC_OVF = 0x20000

pub const PR_FP_EXC_PRECISE = 0x3

pub const PR_FP_EXC_RES = 0x80000

pub const PR_FP_EXC_SW_ENABLE = 0x80

pub const PR_FP_EXC_UND = 0x40000

pub const PR_GET_DUMPABLE = 0x3

pub const PR_GET_ENDIAN = 0x13

pub const PR_GET_FPEMU = 0x9

pub const PR_GET_FPEXC = 0xb

pub const PR_GET_KEEPCAPS = 0x7

pub const PR_GET_NAME = 0x10

pub const PR_GET_PDEATHSIG = 0x2

pub const PR_GET_SECCOMP = 0x15

pub const PR_GET_SECUREBITS = 0x1b

pub const PR_GET_TIMERSLACK = 0x1e

pub const PR_GET_TIMING = 0xd

pub const PR_GET_TSC = 0x19

pub const PR_GET_UNALIGN = 0x5

pub const PR_MCE_KILL = 0x21

pub const PR_MCE_KILL_CLEAR = 0x0

pub const PR_MCE_KILL_DEFAULT = 0x2

pub const PR_MCE_KILL_EARLY = 0x1

pub const PR_MCE_KILL_GET = 0x22

pub const PR_MCE_KILL_LATE = 0x0

pub const PR_MCE_KILL_SET = 0x1

pub const PR_SET_DUMPABLE = 0x4

pub const PR_SET_ENDIAN = 0x14

pub const PR_SET_FPEMU = 0xa

pub const PR_SET_FPEXC = 0xc

pub const PR_SET_KEEPCAPS = 0x8

pub const PR_SET_NAME = 0xf

pub const PR_SET_PDEATHSIG = 0x1

pub const PR_SET_PTRACER = 0x59616d61

pub const PR_SET_SECCOMP = 0x16

pub const PR_SET_SECUREBITS = 0x1c

pub const PR_SET_TIMERSLACK = 0x1d

pub const PR_SET_TIMING = 0xe

pub const PR_SET_TSC = 0x1a

pub const PR_SET_UNALIGN = 0x6

pub const PR_TASK_PERF_EVENTS_DISABLE = 0x1f

pub const PR_TASK_PERF_EVENTS_ENABLE = 0x20

pub const PR_TIMING_STATISTICAL = 0x0

pub const PR_TIMING_TIMESTAMP = 0x1

pub const PR_TSC_ENABLE = 0x1

pub const PR_TSC_SIGSEGV = 0x2

pub const PR_UNALIGN_NOPRINT = 0x1

pub const PR_UNALIGN_SIGBUS = 0x2

pub const PTRACE_ARCH_PRCTL = 0x1e

pub const PTRACE_ATTACH = 0x10

pub const PTRACE_CONT = 0x7

pub const PTRACE_DETACH = 0x11

pub const PTRACE_EVENT_CLONE = 0x3

pub const PTRACE_EVENT_EXEC = 0x4

pub const PTRACE_EVENT_EXIT = 0x6

pub const PTRACE_EVENT_FORK = 0x1

pub const PTRACE_EVENT_VFORK = 0x2

pub const PTRACE_EVENT_VFORK_DONE = 0x5

pub const PTRACE_GETEVENTMSG = 0x4201

pub const PTRACE_GETFPREGS = 0xe

pub const PTRACE_GETFPXREGS = 0x12

pub const PTRACE_GETREGS = 0xc

pub const PTRACE_GETREGSET = 0x4204

pub const PTRACE_GETSIGINFO = 0x4202

pub const PTRACE_GET_THREAD_AREA = 0x19

pub const PTRACE_KILL = 0x8

pub const PTRACE_OLDSETOPTIONS = 0x15

pub const PTRACE_O_MASK = 0x7f

pub const PTRACE_O_TRACECLONE = 0x8

pub const PTRACE_O_TRACEEXEC = 0x10

pub const PTRACE_O_TRACEEXIT = 0x40

pub const PTRACE_O_TRACEFORK = 0x2

pub const PTRACE_O_TRACESYSGOOD = 0x1

pub const PTRACE_O_TRACEVFORK = 0x4

pub const PTRACE_O_TRACEVFORKDONE = 0x20

pub const PTRACE_PEEKDATA = 0x2

pub const PTRACE_PEEKTEXT = 0x1

pub const PTRACE_PEEKUSR = 0x3

pub const PTRACE_POKEDATA = 0x5

pub const PTRACE_POKETEXT = 0x4

pub const PTRACE_POKEUSR = 0x6

pub const PTRACE_SETFPREGS = 0xf

pub const PTRACE_SETFPXREGS = 0x13

pub const PTRACE_SETOPTIONS = 0x4200

pub const PTRACE_SETREGS = 0xd

pub const PTRACE_SETREGSET = 0x4205

pub const PTRACE_SETSIGINFO = 0x4203

pub const PTRACE_SET_THREAD_AREA = 0x1a

pub const PTRACE_SINGLEBLOCK = 0x21

pub const PTRACE_SINGLESTEP = 0x9

pub const PTRACE_SYSCALL = 0x18

pub const PTRACE_SYSEMU = 0x1f

pub const PTRACE_SYSEMU_SINGLESTEP = 0x20

pub const PTRACE_TRACEME = 0x0

pub const PathMax = 0x1000

pub const RLIMIT_AS = 0x9

pub const RLIMIT_CORE = 0x4

pub const RLIMIT_CPU = 0x0

pub const RLIMIT_DATA = 0x2

pub const RLIMIT_FSIZE = 0x1

pub const RLIMIT_NOFILE = 0x7

pub const RLIMIT_STACK = 0x3

pub const RLIM_INFINITY = -0x1

pub const RTAX_ADVMSS = 0x8

pub const RTAX_CWND = 0x7

pub const RTAX_FEATURES = 0xc

pub const RTAX_FEATURE_ALLFRAG = 0x8

pub const RTAX_FEATURE_ECN = 0x1

pub const RTAX_FEATURE_SACK = 0x2

pub const RTAX_FEATURE_TIMESTAMP = 0x4

pub const RTAX_HOPLIMIT = 0xa

pub const RTAX_INITCWND = 0xb

pub const RTAX_INITRWND = 0xe

pub const RTAX_LOCK = 0x1

pub const RTAX_MAX = 0xe

pub const RTAX_MTU = 0x2

pub const RTAX_REORDERING = 0x9

pub const RTAX_RTO_MIN = 0xd

pub const RTAX_RTT = 0x4

pub const RTAX_RTTVAR = 0x5

pub const RTAX_SSTHRESH = 0x6

pub const RTAX_UNSPEC = 0x0

pub const RTAX_WINDOW = 0x3

pub const RTA_ALIGNTO = 0x4

pub const RTA_CACHEINFO = 0xc

pub const RTA_DST = 0x1

pub const RTA_FLOW = 0xb

pub const RTA_GATEWAY = 0x5

pub const RTA_IIF = 0x3

pub const RTA_MAX = 0x10

pub const RTA_METRICS = 0x8

pub const RTA_MULTIPATH = 0x9

pub const RTA_OIF = 0x4

pub const RTA_PREFSRC = 0x7

pub const RTA_PRIORITY = 0x6

pub const RTA_SRC = 0x2

pub const RTA_TABLE = 0xf

pub const RTA_UNSPEC = 0x0

pub const RTCF_DIRECTSRC = 0x4000000

pub const RTCF_DOREDIRECT = 0x1000000

pub const RTCF_LOG = 0x2000000

pub const RTCF_MASQ = 0x400000

pub const RTCF_NAT = 0x800000

pub const RTCF_VALVE = 0x200000

pub const RTF_ADDRCLASSMASK = 0xf8000000

pub const RTF_ADDRCONF = 0x40000

pub const RTF_ALLONLINK = 0x20000

pub const RTF_BROADCAST = 0x10000000

pub const RTF_CACHE = 0x1000000

pub const RTF_DEFAULT = 0x10000

pub const RTF_DYNAMIC = 0x10

pub const RTF_FLOW = 0x2000000

pub const RTF_GATEWAY = 0x2

pub const RTF_HOST = 0x4

pub const RTF_INTERFACE = 0x40000000

pub const RTF_IRTT = 0x100

pub const RTF_LINKRT = 0x100000

pub const RTF_LOCAL = 0x80000000

pub const RTF_MODIFIED = 0x20

pub const RTF_MSS = 0x40

pub const RTF_MTU = 0x40

pub const RTF_MULTICAST = 0x20000000

pub const RTF_NAT = 0x8000000

pub const RTF_NOFORWARD = 0x1000

pub const RTF_NONEXTHOP = 0x200000

pub const RTF_NOPMTUDISC = 0x4000

pub const RTF_POLICY = 0x4000000

pub const RTF_REINSTATE = 0x8

pub const RTF_REJECT = 0x200

pub const RTF_STATIC = 0x400

pub const RTF_THROW = 0x2000

pub const RTF_UP = 0x1

pub const RTF_WINDOW = 0x80

pub const RTF_XRESOLVE = 0x800

pub const RTM_BASE = 0x10

pub const RTM_DELACTION = 0x31

pub const RTM_DELADDR = 0x15

pub const RTM_DELADDRLABEL = 0x49

pub const RTM_DELLINK = 0x11

pub const RTM_DELNEIGH = 0x1d

pub const RTM_DELQDISC = 0x25

pub const RTM_DELROUTE = 0x19

pub const RTM_DELRULE = 0x21

pub const RTM_DELTCLASS = 0x29

pub const RTM_DELTFILTER = 0x2d

pub const RTM_F_CLONED = 0x200

pub const RTM_F_EQUALIZE = 0x400

pub const RTM_F_NOTIFY = 0x100

pub const RTM_F_PREFIX = 0x800

pub const RTM_GETACTION = 0x32

pub const RTM_GETADDR = 0x16

pub const RTM_GETADDRLABEL = 0x4a

pub const RTM_GETANYCAST = 0x3e

pub const RTM_GETDCB = 0x4e

pub const RTM_GETLINK = 0x12

pub const RTM_GETMULTICAST = 0x3a

pub const RTM_GETNEIGH = 0x1e

pub const RTM_GETNEIGHTBL = 0x42

pub const RTM_GETQDISC = 0x26

pub const RTM_GETROUTE = 0x1a

pub const RTM_GETRULE = 0x22

pub const RTM_GETTCLASS = 0x2a

pub const RTM_GETTFILTER = 0x2e

pub const RTM_MAX = 0x4f

pub const RTM_NEWACTION = 0x30

pub const RTM_NEWADDR = 0x14

pub const RTM_NEWADDRLABEL = 0x48

pub const RTM_NEWLINK = 0x10

pub const RTM_NEWNDUSEROPT = 0x44

pub const RTM_NEWNEIGH = 0x1c

pub const RTM_NEWNEIGHTBL = 0x40

pub const RTM_NEWPREFIX = 0x34

pub const RTM_NEWQDISC = 0x24

pub const RTM_NEWROUTE = 0x18

pub const RTM_NEWRULE = 0x20

pub const RTM_NEWTCLASS = 0x28

pub const RTM_NEWTFILTER = 0x2c

pub const RTM_NR_FAMILIES = 0x10

pub const RTM_NR_MSGTYPES = 0x40

pub const RTM_SETDCB = 0x4f

pub const RTM_SETLINK = 0x13

pub const RTM_SETNEIGHTBL = 0x43

pub const RTNH_ALIGNTO = 0x4

pub const RTNH_F_DEAD = 0x1

pub const RTNH_F_ONLINK = 0x4

pub const RTNH_F_PERVASIVE = 0x2

pub const RTNLGRP_IPV4_IFADDR = 0x5

pub const RTNLGRP_IPV4_MROUTE = 0x6

pub const RTNLGRP_IPV4_ROUTE = 0x7

pub const RTNLGRP_IPV4_RULE = 0x8

pub const RTNLGRP_IPV6_IFADDR = 0x9

pub const RTNLGRP_IPV6_IFINFO = 0xc

pub const RTNLGRP_IPV6_MROUTE = 0xa

pub const RTNLGRP_IPV6_PREFIX = 0x12

pub const RTNLGRP_IPV6_ROUTE = 0xb

pub const RTNLGRP_IPV6_RULE = 0x13

pub const RTNLGRP_LINK = 0x1

pub const RTNLGRP_ND_USEROPT = 0x14

pub const RTNLGRP_NEIGH = 0x3

pub const RTNLGRP_NONE = 0x0

pub const RTNLGRP_NOTIFY = 0x2

pub const RTNLGRP_TC = 0x4

pub const RTN_ANYCAST = 0x4

pub const RTN_BLACKHOLE = 0x6

pub const RTN_BROADCAST = 0x3

pub const RTN_LOCAL = 0x2

pub const RTN_MAX = 0xb

pub const RTN_MULTICAST = 0x5

pub const RTN_NAT = 0xa

pub const RTN_PROHIBIT = 0x8

pub const RTN_THROW = 0x9

pub const RTN_UNICAST = 0x1

pub const RTN_UNREACHABLE = 0x7

pub const RTN_UNSPEC = 0x0

pub const RTN_XRESOLVE = 0xb

pub const RTPROT_BIRD = 0xc

pub const RTPROT_BOOT = 0x3

pub const RTPROT_DHCP = 0x10

pub const RTPROT_DNROUTED = 0xd

pub const RTPROT_GATED = 0x8

pub const RTPROT_KERNEL = 0x2

pub const RTPROT_MRT = 0xa

pub const RTPROT_NTK = 0xf

pub const RTPROT_RA = 0x9

pub const RTPROT_REDIRECT = 0x1

pub const RTPROT_STATIC = 0x4

pub const RTPROT_UNSPEC = 0x0

pub const RTPROT_XORP = 0xe

pub const RTPROT_ZEBRA = 0xb

pub const RT_CLASS_DEFAULT = 0xfd

pub const RT_CLASS_LOCAL = 0xff

pub const RT_CLASS_MAIN = 0xfe

pub const RT_CLASS_MAX = 0xff

pub const RT_CLASS_UNSPEC = 0x0

pub const RT_SCOPE_HOST = 0xfe

pub const RT_SCOPE_LINK = 0xfd

pub const RT_SCOPE_NOWHERE = 0xff

pub const RT_SCOPE_SITE = 0xc8

pub const RT_SCOPE_UNIVERSE = 0x0

pub const RT_TABLE_COMPAT = 0xfc

pub const RT_TABLE_DEFAULT = 0xfd

pub const RT_TABLE_LOCAL = 0xff

pub const RT_TABLE_MAIN = 0xfe

pub const RT_TABLE_MAX = 0xffffffff

pub const RT_TABLE_UNSPEC = 0x0

pub const RUSAGE_CHILDREN = -0x1

pub const RUSAGE_SELF = 0x0

pub const RUSAGE_THREAD = 0x1

pub const SCM_CREDENTIALS = 0x2

pub const SCM_RIGHTS = 0x1

pub const SCM_TIMESTAMP = 0x1d

pub const SCM_TIMESTAMPING = 0x25

pub const SCM_TIMESTAMPNS = 0x23

pub const SHUT_RD = 0x0

pub const SHUT_RDWR = 0x2

pub const SHUT_WR = 0x1

pub const SIOCADDDLCI = 0x8980

pub const SIOCADDMULTI = 0x8931

pub const SIOCADDRT = 0x890b

pub const SIOCATMARK = 0x8905

pub const SIOCDARP = 0x8953

pub const SIOCDELDLCI = 0x8981

pub const SIOCDELMULTI = 0x8932

pub const SIOCDELRT = 0x890c

pub const SIOCDEVPRIVATE = 0x89f0

pub const SIOCDIFADDR = 0x8936

pub const SIOCDRARP = 0x8960

pub const SIOCGARP = 0x8954

pub const SIOCGIFADDR = 0x8915

pub const SIOCGIFBR = 0x8940

pub const SIOCGIFBRDADDR = 0x8919

pub const SIOCGIFCONF = 0x8912

pub const SIOCGIFCOUNT = 0x8938

pub const SIOCGIFDSTADDR = 0x8917

pub const SIOCGIFENCAP = 0x8925

pub const SIOCGIFFLAGS = 0x8913

pub const SIOCGIFHWADDR = 0x8927

pub const SIOCGIFINDEX = 0x8933

pub const SIOCGIFMAP = 0x8970

pub const SIOCGIFMEM = 0x891f

pub const SIOCGIFMETRIC = 0x891d

pub const SIOCGIFMTU = 0x8921

pub const SIOCGIFNAME = 0x8910

pub const SIOCGIFNETMASK = 0x891b

pub const SIOCGIFPFLAGS = 0x8935

pub const SIOCGIFSLAVE = 0x8929

pub const SIOCGIFTXQLEN = 0x8942

pub const SIOCGPGRP = 0x8904

pub const SIOCGRARP = 0x8961

pub const SIOCGSTAMP = 0x8906

pub const SIOCGSTAMPNS = 0x8907

pub const SIOCPROTOPRIVATE = 0x89e0

pub const SIOCRTMSG = 0x890d

pub const SIOCSARP = 0x8955

pub const SIOCSIFADDR = 0x8916

pub const SIOCSIFBR = 0x8941

pub const SIOCSIFBRDADDR = 0x891a

pub const SIOCSIFDSTADDR = 0x8918

pub const SIOCSIFENCAP = 0x8926

pub const SIOCSIFFLAGS = 0x8914

pub const SIOCSIFHWADDR = 0x8924

pub const SIOCSIFHWBROADCAST = 0x8937

pub const SIOCSIFLINK = 0x8911

pub const SIOCSIFMAP = 0x8971

pub const SIOCSIFMEM = 0x8920

pub const SIOCSIFMETRIC = 0x891e

pub const SIOCSIFMTU = 0x8922

pub const SIOCSIFNAME = 0x8923

pub const SIOCSIFNETMASK = 0x891c

pub const SIOCSIFPFLAGS = 0x8934

pub const SIOCSIFSLAVE = 0x8930

pub const SIOCSIFTXQLEN = 0x8943

pub const SIOCSPGRP = 0x8902

pub const SIOCSRARP = 0x8962

pub const SOCK_CLOEXEC = 0x80000

pub const SOCK_DCCP = 0x6

pub const SOCK_DGRAM = 0x2

pub const SOCK_NONBLOCK = 0x800

pub const SOCK_PACKET = 0xa

pub const SOCK_RAW = 0x3

pub const SOCK_RDM = 0x4

pub const SOCK_SEQPACKET = 0x5

pub const SOCK_STREAM = 0x1

pub const SOL_AAL = 0x109

pub const SOL_ATM = 0x108

pub const SOL_DECNET = 0x105

pub const SOL_ICMPV6 = 0x3a

pub const SOL_IP = 0x0

pub const SOL_IPV6 = 0x29

pub const SOL_IRDA = 0x10a

pub const SOL_PACKET = 0x107

pub const SOL_RAW = 0xff

pub const SOL_SOCKET = 0x1

pub const SOL_TCP = 0x6

pub const SOL_X25 = 0x106

pub const SOMAXCONN = 0x80

pub const SO_ACCEPTCONN = 0x1e

pub const SO_ATTACH_FILTER = 0x1a

pub const SO_BINDTODEVICE = 0x19

pub const SO_BROADCAST = 0x6

pub const SO_BSDCOMPAT = 0xe

pub const SO_DEBUG = 0x1

pub const SO_DETACH_FILTER = 0x1b

pub const SO_DOMAIN = 0x27

pub const SO_DONTROUTE = 0x5

pub const SO_ERROR = 0x4

pub const SO_KEEPALIVE = 0x9

pub const SO_LINGER = 0xd

pub const SO_MARK = 0x24

pub const SO_NO_CHECK = 0xb

pub const SO_OOBINLINE = 0xa

pub const SO_PASSCRED = 0x10

pub const SO_PASSSEC = 0x22

pub const SO_PEERCRED = 0x11

pub const SO_PEERNAME = 0x1c

pub const SO_PEERSEC = 0x1f

pub const SO_PRIORITY = 0xc

pub const SO_PROTOCOL = 0x26

pub const SO_RCVBUF = 0x8

pub const SO_RCVBUFFORCE = 0x21

pub const SO_RCVLOWAT = 0x12

pub const SO_RCVTIMEO = 0x14

pub const SO_REUSEADDR = 0x2

pub const SO_RXQ_OVFL = 0x28

pub const SO_SECURITY_AUTHENTICATION = 0x16

pub const SO_SECURITY_ENCRYPTION_NETWORK = 0x18

pub const SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17

pub const SO_SNDBUF = 0x7

pub const SO_SNDBUFFORCE = 0x20

pub const SO_SNDLOWAT = 0x13

pub const SO_SNDTIMEO = 0x15

pub const SO_TIMESTAMP = 0x1d

pub const SO_TIMESTAMPING = 0x25

pub const SO_TIMESTAMPNS = 0x23

pub const SO_TYPE = 0x3

pub const SYS_ACCEPT = 43

pub const SYS_ACCEPT4 = 288

pub const SYS_ACCESS = 21

pub const SYS_ACCT = 163

pub const SYS_ADD_KEY = 248

pub const SYS_ADJTIMEX = 159

pub const SYS_AFS_SYSCALL = 183

pub const SYS_ALARM = 37

pub const SYS_ARCH_PRCTL = 158

pub const SYS_BIND = 49

pub const SYS_BRK = 12

pub const SYS_CAPGET = 125

pub const SYS_CAPSET = 126

pub const SYS_CHDIR = 80

pub const SYS_CHMOD = 90

pub const SYS_CHOWN = 92

pub const SYS_CHROOT = 161

pub const SYS_CLOCK_GETRES = 229

pub const SYS_CLOCK_GETTIME = 228

pub const SYS_CLOCK_NANOSLEEP = 230

pub const SYS_CLOCK_SETTIME = 227

pub const SYS_CLONE = 56

pub const SYS_CLOSE = 3

pub const SYS_CONNECT = 42

pub const SYS_CREAT = 85

pub const SYS_CREATE_MODULE = 174

pub const SYS_DELETE_MODULE = 176

pub const SYS_DUP = 32

pub const SYS_DUP2 = 33

pub const SYS_DUP3 = 292

pub const SYS_EPOLL_CREATE = 213

pub const SYS_EPOLL_CREATE1 = 291

pub const SYS_EPOLL_CTL = 233

pub const SYS_EPOLL_CTL_OLD = 214

pub const SYS_EPOLL_PWAIT = 281

pub const SYS_EPOLL_WAIT = 232

pub const SYS_EPOLL_WAIT_OLD = 215

pub const SYS_EVENTFD = 284

pub const SYS_EVENTFD2 = 290

pub const SYS_EXECVE = 59

pub const SYS_EXIT = 60

pub const SYS_EXIT_GROUP = 231

pub const SYS_FACCESSAT = 269

pub const SYS_FADVISE64 = 221

pub const SYS_FALLOCATE = 285

pub const SYS_FANOTIFY_INIT = 300

pub const SYS_FANOTIFY_MARK = 301

pub const SYS_FCHDIR = 81

pub const SYS_FCHMOD = 91

pub const SYS_FCHMODAT = 268

pub const SYS_FCHOWN = 93

pub const SYS_FCHOWNAT = 260

pub const SYS_FCNTL = 72

pub const SYS_FDATASYNC = 75

pub const SYS_FGETXATTR = 193

pub const SYS_FLISTXATTR = 196

pub const SYS_FLOCK = 73

pub const SYS_FORK = 57

pub const SYS_FREMOVEXATTR = 199

pub const SYS_FSETXATTR = 190

pub const SYS_FSTAT = 5

pub const SYS_FSTATFS = 138

pub const SYS_FSYNC = 74

pub const SYS_FTRUNCATE = 77

pub const SYS_FUTEX = 202

pub const SYS_FUTIMESAT = 261

pub const SYS_GETCWD = 79

pub const SYS_GETDENTS = 78

pub const SYS_GETDENTS64 = 217

pub const SYS_GETEGID = 108

pub const SYS_GETEUID = 107

pub const SYS_GETGID = 104

pub const SYS_GETGROUPS = 115

pub const SYS_GETITIMER = 36

pub const SYS_GETPEERNAME = 52

pub const SYS_GETPGID = 121

pub const SYS_GETPGRP = 111

pub const SYS_GETPID = 39

pub const SYS_GETPMSG = 181

pub const SYS_GETPPID = 110

pub const SYS_GETPRIORITY = 140

pub const SYS_GETRESGID = 120

pub const SYS_GETRESUID = 118

pub const SYS_GETRLIMIT = 97

pub const SYS_GETRUSAGE = 98

pub const SYS_GETSID = 124

pub const SYS_GETSOCKNAME = 51

pub const SYS_GETSOCKOPT = 55

pub const SYS_GETTID = 186

pub const SYS_GETTIMEOFDAY = 96

pub const SYS_GETUID = 102

pub const SYS_GETXATTR = 191

pub const SYS_GET_KERNEL_SYMS = 177

pub const SYS_GET_MEMPOLICY = 239

pub const SYS_GET_ROBUST_LIST = 274

pub const SYS_GET_THREAD_AREA = 211

pub const SYS_INIT_MODULE = 175

pub const SYS_INOTIFY_ADD_WATCH = 254

pub const SYS_INOTIFY_INIT = 253

pub const SYS_INOTIFY_INIT1 = 294

pub const SYS_INOTIFY_RM_WATCH = 255

pub const SYS_IOCTL = 16

pub const SYS_IOPERM = 173

pub const SYS_IOPL = 172

pub const SYS_IOPRIO_GET = 252

pub const SYS_IOPRIO_SET = 251

pub const SYS_IO_CANCEL = 210

pub const SYS_IO_DESTROY = 207

pub const SYS_IO_GETEVENTS = 208

pub const SYS_IO_SETUP = 206

pub const SYS_IO_SUBMIT = 209

pub const SYS_KEXEC_LOAD = 246

pub const SYS_KEYCTL = 250

pub const SYS_KILL = 62

pub const SYS_LCHOWN = 94

pub const SYS_LGETXATTR = 192

pub const SYS_LINK = 86

pub const SYS_LINKAT = 265

pub const SYS_LISTEN = 50

pub const SYS_LISTXATTR = 194

pub const SYS_LLISTXATTR = 195

pub const SYS_LOOKUP_DCOOKIE = 212

pub const SYS_LREMOVEXATTR = 198

pub const SYS_LSEEK = 8

pub const SYS_LSETXATTR = 189

pub const SYS_LSTAT = 6

pub const SYS_MADVISE = 28

pub const SYS_MBIND = 237

pub const SYS_MIGRATE_PAGES = 256

pub const SYS_MINCORE = 27

pub const SYS_MKDIR = 83

pub const SYS_MKDIRAT = 258

pub const SYS_MKNOD = 133

pub const SYS_MKNODAT = 259

pub const SYS_MLOCK = 149

pub const SYS_MLOCKALL = 151

pub const SYS_MMAP = 9

pub const SYS_MODIFY_LDT = 154

pub const SYS_MOUNT = 165

pub const SYS_MOVE_PAGES = 279

pub const SYS_MPROTECT = 10

pub const SYS_MQ_GETSETATTR = 245

pub const SYS_MQ_NOTIFY = 244

pub const SYS_MQ_OPEN = 240

pub const SYS_MQ_TIMEDRECEIVE = 243

pub const SYS_MQ_TIMEDSEND = 242

pub const SYS_MQ_UNLINK = 241

pub const SYS_MREMAP = 25

pub const SYS_MSGCTL = 71

pub const SYS_MSGGET = 68

pub const SYS_MSGRCV = 70

pub const SYS_MSGSND = 69

pub const SYS_MSYNC = 26

pub const SYS_MUNLOCK = 150

pub const SYS_MUNLOCKALL = 152

pub const SYS_MUNMAP = 11

pub const SYS_NANOSLEEP = 35

pub const SYS_NEWFSTATAT = 262

pub const SYS_NFSSERVCTL = 180

pub const SYS_OPEN = 2

pub const SYS_OPENAT = 257

pub const SYS_PAUSE = 34

pub const SYS_PERF_EVENT_OPEN = 298

pub const SYS_PERSONALITY = 135

pub const SYS_PIPE = 22

pub const SYS_PIPE2 = 293

pub const SYS_PIVOT_ROOT = 155

pub const SYS_POLL = 7

pub const SYS_PPOLL = 271

pub const SYS_PRCTL = 157

pub const SYS_PREAD64 = 17

pub const SYS_PREADV = 295

pub const SYS_PRLIMIT64 = 302

pub const SYS_PSELECT6 = 270

pub const SYS_PTRACE = 101

pub const SYS_PUTPMSG = 182

pub const SYS_PWRITE64 = 18

pub const SYS_PWRITEV = 296

pub const SYS_QUERY_MODULE = 178

pub const SYS_QUOTACTL = 179

pub const SYS_READ = 0

pub const SYS_READAHEAD = 187

pub const SYS_READLINK = 89

pub const SYS_READLINKAT = 267

pub const SYS_READV = 19

pub const SYS_REBOOT = 169

pub const SYS_RECVFROM = 45

pub const SYS_RECVMMSG = 299

pub const SYS_RECVMSG = 47

pub const SYS_REMAP_FILE_PAGES = 216

pub const SYS_REMOVEXATTR = 197

pub const SYS_RENAME = 82

pub const SYS_RENAMEAT = 264

pub const SYS_REQUEST_KEY = 249

pub const SYS_RESTART_SYSCALL = 219

pub const SYS_RMDIR = 84

pub const SYS_RT_SIGACTION = 13

pub const SYS_RT_SIGPENDING = 127

pub const SYS_RT_SIGPROCMASK = 14

pub const SYS_RT_SIGQUEUEINFO = 129

pub const SYS_RT_SIGRETURN = 15

pub const SYS_RT_SIGSUSPEND = 130

pub const SYS_RT_SIGTIMEDWAIT = 128

pub const SYS_RT_TGSIGQUEUEINFO = 297

pub const SYS_SCHED_GETAFFINITY = 204

pub const SYS_SCHED_GETPARAM = 143

pub const SYS_SCHED_GETSCHEDULER = 145

pub const SYS_SCHED_GET_PRIORITY_MAX = 146

pub const SYS_SCHED_GET_PRIORITY_MIN = 147

pub const SYS_SCHED_RR_GET_INTERVAL = 148

pub const SYS_SCHED_SETAFFINITY = 203

pub const SYS_SCHED_SETPARAM = 142

pub const SYS_SCHED_SETSCHEDULER = 144

pub const SYS_SCHED_YIELD = 24

pub const SYS_SECURITY = 185

pub const SYS_SELECT = 23

pub const SYS_SEMCTL = 66

pub const SYS_SEMGET = 64

pub const SYS_SEMOP = 65

pub const SYS_SEMTIMEDOP = 220

pub const SYS_SENDFILE = 40

pub const SYS_SENDMSG = 46

pub const SYS_SENDTO = 44

pub const SYS_SETDOMAINNAME = 171

pub const SYS_SETFSGID = 123

pub const SYS_SETFSUID = 122

pub const SYS_SETGID = 106

pub const SYS_SETGROUPS = 116

pub const SYS_SETHOSTNAME = 170

pub const SYS_SETITIMER = 38

pub const SYS_SETPGID = 109

pub const SYS_SETPRIORITY = 141

pub const SYS_SETREGID = 114

pub const SYS_SETRESGID = 119

pub const SYS_SETRESUID = 117

pub const SYS_SETREUID = 113

pub const SYS_SETRLIMIT = 160

pub const SYS_SETSID = 112

pub const SYS_SETSOCKOPT = 54

pub const SYS_SETTIMEOFDAY = 164

pub const SYS_SETUID = 105

pub const SYS_SETXATTR = 188

pub const SYS_SET_MEMPOLICY = 238

pub const SYS_SET_ROBUST_LIST = 273

pub const SYS_SET_THREAD_AREA = 205

pub const SYS_SET_TID_ADDRESS = 218

pub const SYS_SHMAT = 30

pub const SYS_SHMCTL = 31

pub const SYS_SHMDT = 67

pub const SYS_SHMGET = 29

pub const SYS_SHUTDOWN = 48

pub const SYS_SIGALTSTACK = 131

pub const SYS_SIGNALFD = 282

pub const SYS_SIGNALFD4 = 289

pub const SYS_SOCKET = 41

pub const SYS_SOCKETPAIR = 53

pub const SYS_SPLICE = 275

pub const SYS_STAT = 4

pub const SYS_STATFS = 137

pub const SYS_SWAPOFF = 168

pub const SYS_SWAPON = 167

pub const SYS_SYMLINK = 88

pub const SYS_SYMLINKAT = 266

pub const SYS_SYNC = 162

pub const SYS_SYNC_FILE_RANGE = 277

pub const SYS_SYSFS = 139

pub const SYS_SYSINFO = 99

pub const SYS_SYSLOG = 103

pub const SYS_TEE = 276

pub const SYS_TGKILL = 234

pub const SYS_TIME = 201

pub const SYS_TIMERFD_CREATE = 283

pub const SYS_TIMERFD_GETTIME = 287

pub const SYS_TIMERFD_SETTIME = 286

pub const SYS_TIMER_CREATE = 222

pub const SYS_TIMER_DELETE = 226

pub const SYS_TIMER_GETOVERRUN = 225

pub const SYS_TIMER_GETTIME = 224

pub const SYS_TIMER_SETTIME = 223

pub const SYS_TIMES = 100

pub const SYS_TKILL = 200

pub const SYS_TRUNCATE = 76

pub const SYS_TUXCALL = 184

pub const SYS_UMASK = 95

pub const SYS_UMOUNT2 = 166

pub const SYS_UNAME = 63

pub const SYS_UNLINK = 87

pub const SYS_UNLINKAT = 263

pub const SYS_UNSHARE = 272

pub const SYS_USELIB = 134

pub const SYS_USTAT = 136

pub const SYS_UTIME = 132

pub const SYS_UTIMENSAT = 280

pub const SYS_UTIMES = 235

pub const SYS_VFORK = 58

pub const SYS_VHANGUP = 153

pub const SYS_VMSPLICE = 278

pub const SYS_VSERVER = 236

pub const SYS_WAIT4 = 61

pub const SYS_WAITID = 247

pub const SYS_WRITE = 1

pub const SYS_WRITEV = 20

pub const SYS__SYSCTL = 156

pub const S_BLKSIZE = 0x200

pub const S_IEXEC = 0x40

pub const S_IFBLK = 0x6000

pub const S_IFCHR = 0x2000

pub const S_IFDIR = 0x4000

pub const S_IFIFO = 0x1000

pub const S_IFLNK = 0xa000

pub const S_IFMT = 0xf000

pub const S_IFREG = 0x8000

pub const S_IFSOCK = 0xc000

pub const S_IREAD = 0x100

pub const S_IRGRP = 0x20

pub const S_IROTH = 0x4

pub const S_IRUSR = 0x100

pub const S_IRWXG = 0x38

pub const S_IRWXO = 0x7

pub const S_IRWXU = 0x1c0

pub const S_ISGID = 0x400

pub const S_ISUID = 0x800

pub const S_ISVTX = 0x200

pub const S_IWGRP = 0x10

pub const S_IWOTH = 0x2

pub const S_IWRITE = 0x80

pub const S_IWUSR = 0x80

pub const S_IXGRP = 0x8

pub const S_IXOTH = 0x1

pub const S_IXUSR = 0x40

pub const SizeofCmsghdr = 0x10

pub const SizeofICMPv6Filter = 0x20

pub const SizeofIPMreq = 0x8

pub const SizeofIPMreqn = 0xc

pub const SizeofIPv6MTUInfo = 0x20

pub const SizeofIPv6Mreq = 0x14

pub const SizeofIfAddrmsg = 0x8

pub const SizeofIfInfomsg = 0x10

pub const SizeofInet4Pktinfo = 0xc

pub const SizeofInet6Pktinfo = 0x14

pub const SizeofInotifyEvent = 0x10

pub const SizeofLinger = 0x8

pub const SizeofMsghdr = 0x38

pub const SizeofNlAttr = 0x4

pub const SizeofNlMsgerr = 0x14

pub const SizeofNlMsghdr = 0x10

pub const SizeofRtAttr = 0x4

pub const SizeofRtGenmsg = 0x1

pub const SizeofRtMsg = 0xc

pub const SizeofRtNexthop = 0x8

pub const SizeofSockFilter = 0x8

pub const SizeofSockFprog = 0x10

pub const SizeofSockaddrAny = 0x70

pub const SizeofSockaddrInet4 = 0x10

pub const SizeofSockaddrInet6 = 0x1c

pub const SizeofSockaddrLinklayer = 0x14

pub const SizeofSockaddrNetlink = 0xc

pub const SizeofSockaddrUnix = 0x6e

pub const SizeofTCPInfo = 0x68

pub const SizeofUcred = 0xc

pub const TCGETS = 0x5401

pub const TCIFLUSH = 0x0

pub const TCIOFLUSH = 0x2

pub const TCOFLUSH = 0x1

pub const TCP_CONGESTION = 0xd

pub const TCP_CORK = 0x3

pub const TCP_DEFER_ACCEPT = 0x9

pub const TCP_INFO = 0xb

pub const TCP_KEEPCNT = 0x6

pub const TCP_KEEPIDLE = 0x4

pub const TCP_KEEPINTVL = 0x5

pub const TCP_LINGER2 = 0x8

pub const TCP_MAXSEG = 0x2

pub const TCP_MAXWIN = 0xffff

pub const TCP_MAX_WINSHIFT = 0xe

pub const TCP_MD5SIG = 0xe

pub const TCP_MD5SIG_MAXKEYLEN = 0x50

pub const TCP_MSS = 0x200

pub const TCP_NODELAY = 0x1

pub const TCP_QUICKACK = 0xc

pub const TCP_SYNCNT = 0x7

pub const TCP_WINDOW_CLAMP = 0xa

pub const TCSETS = 0x5402

pub const TIOCCBRK = 0x5428

pub const TIOCCONS = 0x541d

pub const TIOCEXCL = 0x540c

pub const TIOCGDEV = 0x80045432

pub const TIOCGETD = 0x5424

pub const TIOCGICOUNT = 0x545d

pub const TIOCGLCKTRMIOS = 0x5456

pub const TIOCGPGRP = 0x540f

pub const TIOCGPTN = 0x80045430

pub const TIOCGRS485 = 0x542e

pub const TIOCGSERIAL = 0x541e

pub const TIOCGSID = 0x5429

pub const TIOCGSOFTCAR = 0x5419

pub const TIOCGWINSZ = 0x5413

pub const TIOCINQ = 0x541b

pub const TIOCLINUX = 0x541c

pub const TIOCMBIC = 0x5417

pub const TIOCMBIS = 0x5416

pub const TIOCMGET = 0x5415

pub const TIOCMIWAIT = 0x545c

pub const TIOCMSET = 0x5418

pub const TIOCM_CAR = 0x40

pub const TIOCM_CD = 0x40

pub const TIOCM_CTS = 0x20

pub const TIOCM_DSR = 0x100

pub const TIOCM_DTR = 0x2

pub const TIOCM_LE = 0x1

pub const TIOCM_RI = 0x80

pub const TIOCM_RNG = 0x80

pub const TIOCM_RTS = 0x4

pub const TIOCM_SR = 0x10

pub const TIOCM_ST = 0x8

pub const TIOCNOTTY = 0x5422

pub const TIOCNXCL = 0x540d

pub const TIOCOUTQ = 0x5411

pub const TIOCPKT = 0x5420

pub const TIOCPKT_DATA = 0x0

pub const TIOCPKT_DOSTOP = 0x20

pub const TIOCPKT_FLUSHREAD = 0x1

pub const TIOCPKT_FLUSHWRITE = 0x2

pub const TIOCPKT_IOCTL = 0x40

pub const TIOCPKT_NOSTOP = 0x10

pub const TIOCPKT_START = 0x8

pub const TIOCPKT_STOP = 0x4

pub const TIOCSBRK = 0x5427

pub const TIOCSCTTY = 0x540e

pub const TIOCSERCONFIG = 0x5453

pub const TIOCSERGETLSR = 0x5459

pub const TIOCSERGETMULTI = 0x545a

pub const TIOCSERGSTRUCT = 0x5458

pub const TIOCSERGWILD = 0x5454

pub const TIOCSERSETMULTI = 0x545b

pub const TIOCSERSWILD = 0x5455

pub const TIOCSER_TEMT = 0x1

pub const TIOCSETD = 0x5423

pub const TIOCSIG = 0x40045436

pub const TIOCSLCKTRMIOS = 0x5457

pub const TIOCSPGRP = 0x5410

pub const TIOCSPTLCK = 0x40045431

pub const TIOCSRS485 = 0x542f

pub const TIOCSSERIAL = 0x541f

pub const TIOCSSOFTCAR = 0x541a

pub const TIOCSTI = 0x5412

pub const TIOCSWINSZ = 0x5414

pub const TOSTOP = 0x100

pub const TUNATTACHFILTER = 0x401054d5

pub const TUNDETACHFILTER = 0x401054d6

pub const TUNGETFEATURES = 0x800454cf

pub const TUNGETIFF = 0x800454d2

pub const TUNGETSNDBUF = 0x800454d3

pub const TUNGETVNETHDRSZ = 0x800454d7

pub const TUNSETDEBUG = 0x400454c9

pub const TUNSETGROUP = 0x400454ce

pub const TUNSETIFF = 0x400454ca

pub const TUNSETLINK = 0x400454cd

pub const TUNSETNOCSUM = 0x400454c8

pub const TUNSETOFFLOAD = 0x400454d0

pub const TUNSETOWNER = 0x400454cc

pub const TUNSETPERSIST = 0x400454cb

pub const TUNSETSNDBUF = 0x400454d4

pub const TUNSETTXFILTER = 0x400454d1

pub const TUNSETVNETHDRSZ = 0x400454d8

pub const VDISCARD = 0xd

pub const VEOF = 0x4

pub const VEOL = 0xb

pub const VEOL2 = 0x10

pub const VERASE = 0x2

pub const VINTR = 0x0

pub const VKILL = 0x3

pub const VLNEXT = 0xf

pub const VMIN = 0x6

pub const VQUIT = 0x1

pub const VREPRINT = 0xc

pub const VSTART = 0x8

pub const VSTOP = 0x9

pub const VSUSP = 0xa

pub const VSWTC = 0x7

pub const VTIME = 0x5

pub const VWERASE = 0xe

pub const WALL = 0x40000000

pub const WCLONE = 0x80000000

pub const WCONTINUED = 0x8

pub const WEXITED = 0x4

pub const WNOHANG = 0x1

pub const WNOTHREAD = 0x20000000

pub const WNOWAIT = 0x1000000

pub const WORDSIZE = 0x40

pub const WSTOPPED = 0x2

pub const WUNTRACED = 0x2

pub const XCASE = 0x4

/// 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:
/// 
///   - [Pipe]. Use pipe2 if available. Otherwise, does not block,
///     so use ForkLock.
///   - [Socket]. Use SOCK_CLOEXEC if available. Otherwise, does not
///     block, so use ForkLock.
///   - [Open]. Use [O_CLOEXEC] if available. Otherwise, may block,
///     so live with the race.
///   - [Dup]. Use [F_DUPFD_CLOEXEC] or dup3 if available. Otherwise,
///     does not block, so use ForkLock.
pub var ForkLock: sync.RWMutex

/// For testing: clients can set this flag to force
/// creation of IPv6 sockets to return [EAFNOSUPPORT].
pub var SocketDisableIPv6: bool

pub var Stderr: int

pub var Stdin: int

pub var Stdout: int

impl Cmsghdr {
  fn SetLen(self: Ref<Cmsghdr>, length: int)
}

impl Errno {
  fn Error(self) -> string

  fn Is(self, target: error) -> bool

  fn Temporary(self) -> bool

  fn Timeout(self) -> bool
}

impl Iovec {
  fn SetLen(self: Ref<Iovec>, length: int)
}

impl Msghdr {
  fn SetControllen(self: Ref<Msghdr>, length: int)
}

impl PtraceRegs {
  fn PC(self: Ref<PtraceRegs>) -> uint64

  fn SetPC(self: Ref<PtraceRegs>, pc: uint64)
}

impl Signal {
  fn Signal(self)

  fn String(self) -> string
}

impl Timespec {
  /// Nano returns the time stored in ts as nanoseconds.
  fn Nano(self: Ref<Timespec>) -> int64

  /// Unix returns the time stored in ts as seconds plus nanoseconds.
  fn Unix(self: Ref<Timespec>) -> (int64, int64)
}

impl Timeval {
  /// Nano returns the time stored in tv as nanoseconds.
  fn Nano(self: Ref<Timeval>) -> int64

  /// Unix returns the time stored in tv as seconds plus nanoseconds.
  fn Unix(self: Ref<Timeval>) -> (int64, int64)
}

impl WaitStatus {
  fn Continued(self) -> bool

  fn CoreDump(self) -> bool

  fn ExitStatus(self) -> int

  fn Exited(self) -> bool

  fn Signal(self) -> Signal

  fn Signaled(self) -> bool

  fn StopSignal(self) -> Signal

  fn Stopped(self) -> bool

  fn TrapCause(self) -> int
}
