package
0.0.0-20240720002214-37b2b8227b91
Repository: https://github.com/progrium/go-netstack.git
Documentation: pkg.go.dev

# Functions

Accept implements the linux syscall accept(2).
Accept4 implements the linux syscall accept4(2).
Access implements Linux syscall access(2).
AFSSyscall is a gVisor specific implementation of afs_syscall: - if TESTONLY-afs-syscall-panic flag is set it triggers a panic.
Alarm implements linux syscall alarm(2).
ArchPrctl implements linux syscall arch_prctl(2).
Bind implements the linux syscall bind(2).
Brk implements linux syscall brk(2).
Capget implements Linux syscall capget.
Capset implements Linux syscall capset.
CaptureAddress allocates memory for and copies a socket address structure from the untrusted address space range.
Chdir implements Linux syscall chdir(2).
Chmod implements Linux syscall chmod(2).
Chown implements Linux syscall chown(2).
Chroot implements Linux syscall chroot(2).
ClockGetres implements linux syscall clock_getres(2).
ClockGettime implements linux syscall clock_gettime(2).
ClockNanosleep implements linux syscall clock_nanosleep(2).
ClockSettime implements linux syscall clock_settime(2).
Clone implements linux syscall clone(2).
Clone3 implements linux syscall clone3(2).
Close implements Linux syscall close(2).
CloseRange implements linux syscall close_range(2).
Connect implements the linux syscall connect(2).
CopyInFDSet copies an fd set from select(2)/pselect(2).
CopyInPollFDs copies an array of struct pollfd unless nfds exceeds the max.
Creat implements Linux syscall creat(2).
Dup implements Linux syscall dup(2).
Dup2 implements Linux syscall dup2(2).
Dup3 implements Linux syscall dup3(2).
EpollCreate implements Linux syscall epoll_create(2).
EpollCreate1 implements Linux syscall epoll_create1(2).
EpollCtl implements Linux syscall epoll_ctl(2).
EpollPwait implements Linux syscall epoll_pwait(2).
EpollPwait2 implements Linux syscall epoll_pwait(2).
EpollWait implements Linux syscall epoll_wait(2).
Eventfd implements linux syscall eventfd(2).
Eventfd2 implements linux syscall eventfd2(2).
Execve implements linux syscall execve(2).
Execveat implements linux syscall execveat(2).
Exit implements linux syscall exit(2).
ExitGroup implements linux syscall exit_group(2).
Faccessat implements Linux syscall faccessat(2).
Faccessat2 implements Linux syscall faccessat2(2).
Fadvise64 implements fadvise64(2).
Fallocate implements linux system call fallocate(2).
Fchdir implements Linux syscall fchdir(2).
Fchmod implements Linux syscall fchmod(2).
Fchmodat implements Linux syscall fchmodat(2).
Fchown implements Linux syscall fchown(2).
Fchownat implements Linux syscall fchownat(2).
Fcntl implements linux syscall fcntl(2).
Fdatasync implements Linux syscall fdatasync(2).
Fgetxattr implements Linux syscall fgetxattr(2).
Flistxattr implements Linux syscall flistxattr(2).
Flock implements linux syscall flock(2).
Fork implements Linux syscall fork(2).
Fremovexattr implements Linux syscall fremovexattr(2).
Fsetxattr implements Linux syscall fsetxattr(2).
Fstat implements Linux syscall fstat(2).
Fstatfs implements Linux syscall fstatfs(2).
Fsync implements Linux syscall fsync(2).
Ftruncate implements Linux syscall ftruncate(2).
Futex implements linux syscall futex(2).
Futimesat implements Linux syscall futimesat(2).
Getcpu implements linux syscall getcpu(2).
Getcwd implements Linux syscall getcwd(2).
Getdents implements Linux syscall getdents(2).
Getdents64 implements Linux syscall getdents64(2).
Getegid implements the Linux syscall getegid.
Geteuid implements the Linux syscall geteuid.
Getgid implements the Linux syscall getgid.
Getgroups implements the Linux syscall getgroups.
Getitimer implements linux syscall getitimer(2).
GetMempolicy implements the syscall get_mempolicy(2).
GetPeerName implements the linux syscall getpeername(2).
Getpgid implements the linux syscall getpgid(2).
Getpgrp implements the linux syscall getpgrp(2).
Getpid implements linux syscall getpid(2).
Getppid implements linux syscall getppid(2).
Getpriority pretends to implement the linux syscall getpriority(2).
GetRandom implements the linux syscall getrandom(2).
Getresgid implements the Linux syscall getresgid.
Getresuid implements the Linux syscall getresuid.
Getrlimit implements linux syscall getrlimit(2).
GetRobustList implements linux syscall get_robust_list(2).
Getrusage implements linux syscall getrusage(2).
Getsid implements the linux syscall getsid(2).
GetSockName implements the linux syscall getsockname(2).
GetSockOpt implements the linux syscall getsockopt(2).
Gettid implements linux syscall gettid(2).
Gettimeofday implements linux syscall gettimeofday(2).
Getuid implements the Linux syscall getuid.
GetXattr implements Linux syscall getxattr(2).
HandleIOError handles special error cases for partial results.
InotifyAddWatch implements the inotify_add_watch() syscall.
InotifyInit implements the inotify_init() syscalls.
InotifyInit1 implements the inotify_init1() syscalls.
InotifyRmWatch implements the inotify_rm_watch() syscall.
IoCancel implements linux syscall io_cancel(2).
Ioctl implements Linux syscall ioctl(2).
IoDestroy implements linux syscall io_destroy(2).
IoGetevents implements linux syscall io_getevents(2).
IoSetup implements linux syscall io_setup(2).
IoSubmit implements linux syscall io_submit(2).
IOUringEnter implements linux syscall io_uring_enter(2).
IOUringSetup implements linux syscall io_uring_setup(2).
Keyctl implements Linux syscall keyctl(2).
Kill implements linux syscall kill(2).
Lchown implements Linux syscall lchown(2).
Lgetxattr implements Linux syscall lgetxattr(2).
Link implements Linux syscall link(2).
Linkat implements Linux syscall linkat(2).
Listen implements the linux syscall listen(2).
ListXattr implements Linux syscall listxattr(2).
Llistxattr implements Linux syscall llistxattr(2).
Lremovexattr implements Linux syscall lremovexattr(2).
Lseek implements Linux syscall lseek(2).
Lsetxattr implements Linux syscall lsetxattr(2).
Lstat implements Linux syscall lstat(2).
Madvise implements linux syscall madvise(2).
Mbind implements the syscall mbind(2).
Membarrier implements syscall membarrier(2).
MemfdCreate implements the linux syscall memfd_create(2).
Mincore implements the syscall mincore(2).
Mkdir implements Linux syscall mkdir(2).
Mkdirat implements Linux syscall mkdirat(2).
Mknod implements Linux syscall mknod(2).
Mknodat implements Linux syscall mknodat(2).
Mlock implements linux syscall mlock(2).
Mlock2 implements linux syscall mlock2(2).
Mlockall implements linux syscall mlockall(2).
Mmap implements Linux syscall mmap(2).
Mount implements Linux syscall mount(2).
Mprotect implements linux syscall mprotect(2).
MqOpen implements mq_open(2).
MqUnlink implements mq_unlink(2).
Mremap implements linux syscall mremap(2).
Msgctl implements msgctl(2).
Msgget implements msgget(2).
Msgrcv implements msgrcv(2).
Msgsnd implements msgsnd(2).
Msync implements Linux syscall msync(2).
Munlock implements linux syscall munlock(2).
Munlockall implements linux syscall munlockall(2).
Munmap implements linux syscall munmap(2).
Nanosleep implements linux syscall Nanosleep(2).
Newfstatat implements Linux syscall newfstatat, which backs fstatat(2).
Open implements Linux syscall open(2).
Openat implements Linux syscall openat(2).
Pause implements linux syscall pause(2).
Pipe implements Linux syscall pipe(2).
Pipe2 implements Linux syscall pipe2(2).
PivotRoot implements Linux syscall pivot_root(2).
PointAccept converts accept(2) syscall to proto.
PointAccept4 converts accept4(2) syscall to proto.
PointBind converts bind(2) syscall to proto.
PointChdir calls pointChdirHelper to convert chdir(2) syscall to proto.
PointChroot converts chroot(2) syscall to proto.
PointClone converts clone(2) syscall to proto.
PointClose converts close(2) syscall to proto.
PointConnect converts connect(2) syscall to proto.
PointCreat converts creat(2) syscall to proto.
PointDup calls pointDupHelper to convert dup(2) syscall to proto.
PointDup2 calls pointDupHelper to convert dup2(2) syscall to proto.
PointDup3 calls pointDupHelper to convert dup3(2) syscall to proto.
PointEventfd calls pipeHelper to convert eventfd(2) syscall to proto.
PointEventfd2 calls pipeHelper to convert eventfd2(2) syscall to proto.
PointExecve converts execve(2) syscall to proto.
PointExecveat converts execveat(2) syscall to proto.
PointFchdir calls pointChdirHelper to convert fchdir(2) syscall to proto.
PointFcntl converts fcntl(2) syscall to proto.
PointFork converts fork(2) syscall to proto.
PointInotifyAddWatch converts inotify_add_watch(2) syscall to proto.
PointInotifyInit converts inotify_init(2) syscall to proto.
PointInotifyInit1 converts inotify_init1(2) syscall to proto.
PointInotifyRmWatch converts inotify_add_watch(2) syscall to proto.
PointOpen converts open(2) syscall to proto.
PointOpenat converts openat(2) syscall to proto.
PointPipe calls pipeHelper to convert pipe(2) syscall to proto.
PointPipe2 calls pipeHelper to convert pipe2(2) syscall to proto.
PointPread64 converts pread64(2) syscall to proto.
PointPreadv converts preadv(2) syscall to proto.
PointPreadv2 converts preadv2(2) syscall to proto.
PointPrlimit64 call converts prlimit64(2) syscall to proto.
PointPwrite64 converts pwrite64(2) syscall to proto.
PointPwritev converts pwritev(2) syscall to proto.
PointPwritev2 converts pwritev2(2) syscall to proto.
PointRead converts read(2) syscall to proto.
PointReadv converts readv(2) syscall to proto.
PointSetgid calls pointSetidHelper to convert setgid(2) syscall to proto.
PointSetresgid calls pointSetresidHelper to convert setresgid(2) syscall to proto.
PointSetresuid calls pointSetresidHelper to convert setresuid(2) syscall to proto.
PointSetsid calls pointSetidHelper to convert setsid(2) syscall to proto.
PointSetuid calls pointSetidHelper to convert setuid(2) syscall to proto.
PointSignalfd calls signalfdHelper to convert signalfd(2) syscall to proto.
PointSignalfd4 calls signalfdHelper to convert signalfd4(2) syscall to proto.
PointSocket converts socket(2) syscall to proto.
PointSocketpair converts socketpair(2) syscall to proto.
PointTimerfdCreate converts timerfd_create(2) syscall to proto.
PointTimerfdGettime converts timerfd_gettime(2) syscall to proto.
PointTimerfdSettime converts timerfd_settime(2) syscall to proto.
PointVfork converts vfork(2) syscall to proto.
PointWrite converts write(2) syscall to proto.
PointWritev converts writev(2) syscall to proto.
Poll implements linux syscall poll(2).
Ppoll implements linux syscall ppoll(2).
Prctl implements linux syscall prctl(2).
Pread64 implements Linux syscall pread64(2).
Preadv implements Linux syscall preadv(2).
Preadv2 implements Linux syscall preadv2(2).
Prlimit64 implements linux syscall prlimit64(2).
ProcessVMReadv implements process_vm_readv(2).
ProcessVMWritev implements process_vm_writev(2).
Pselect6 implements linux syscall pselect6(2).
Ptrace implements linux system call ptrace(2).
Pwrite64 implements Linux syscall pwrite64(2).
Pwritev implements Linux syscall pwritev(2).
Pwritev2 implements Linux syscall pwritev2(2).
Read implements Linux syscall read(2).
Readahead implements readahead(2).
Readlink implements Linux syscall readlink(2).
Readlinkat implements Linux syscall readlinkat(2).
Readv implements Linux syscall readv(2).
RecvFrom implements the linux syscall recvfrom(2).
RecvMMsg implements the linux syscall recvmmsg(2).
RecvMsg implements the linux syscall recvmsg(2).
RemoveXattr implements Linux syscall removexattr(2).
Rename implements Linux syscall rename(2).
Renameat implements Linux syscall renameat(2).
Renameat2 implements Linux syscall renameat2(2).
RestartSyscall implements the linux syscall restart_syscall(2).
Rmdir implements Linux syscall rmdir(2).
RSeq implements syscall rseq(2).
RtSigaction implements linux syscall rt_sigaction(2).
RtSigpending implements linux syscall rt_sigpending(2).
RtSigprocmask implements linux syscall rt_sigprocmask(2).
RtSigqueueinfo implements linux syscall rt_sigqueueinfo(2).
RtSigreturn implements linux syscall rt_sigreturn(2).
RtSigsuspend implements linux syscall rt_sigsuspend(2).
RtSigtimedwait implements linux syscall rt_sigtimedwait(2).
RtTgsigqueueinfo implements linux syscall rt_tgsigqueueinfo(2).
SchedGetaffinity implements linux syscall sched_getaffinity(2).
SchedGetparam implements linux syscall sched_getparam(2).
SchedGetPriorityMax implements linux syscall sched_get_priority_max(2).
SchedGetPriorityMin implements linux syscall sched_get_priority_min(2).
SchedGetscheduler implements linux syscall sched_getscheduler(2).
SchedSetaffinity implements linux syscall sched_setaffinity(2).
SchedSetscheduler implements linux syscall sched_setscheduler(2).
SchedYield implements linux syscall sched_yield(2).
Seccomp implements linux syscall seccomp(2).
Select implements linux syscall select(2).
Semctl handles: semctl(int semid, int semnum, int cmd, ...).
Semget handles: semget(key_t key, int nsems, int semflg).
Semop handles: semop(int semid, struct sembuf *sops, size_t nsops).
Semtimedop handles: semop(int semid, struct sembuf *sops, size_t nsops, const struct timespec *timeout).
Sendfile implements linux system call sendfile(2).
SendMMsg implements the linux syscall sendmmsg(2).
SendMsg implements the linux syscall sendmsg(2).
SendTo implements the linux syscall sendto(2).
SetAFSSyscallPanic sets the panic behaviour of afs_syscall.
Setdomainname implements Linux syscall setdomainname.
Setgid implements the Linux syscall setgid.
Setgroups implements the Linux syscall setgroups.
Sethostname implements Linux syscall sethostname.
Setitimer implements linux syscall setitimer(2).
SetMempolicy implements the syscall set_mempolicy(2).
Setns implements linux syscall setns(2).
Setpgid implements the linux syscall setpgid(2).
Setpriority pretends to implement the linux syscall setpriority(2).
Setregid implements the Linux syscall setregid.
Setresgid implements the Linux syscall setregid.
Setresuid implements the Linux syscall setreuid.
Setreuid implements the Linux syscall setreuid.
Setrlimit implements linux syscall setrlimit(2).
SetRobustList implements linux syscall set_robust_list(2).
Setsid implements the linux syscall setsid(2).
SetSockOpt implements the linux syscall setsockopt(2).
SetTidAddress implements linux syscall set_tid_address(2).
Setuid implements the Linux syscall setuid.
SetXattr implements Linux syscall setxattr(2).
Shmat implements shmat(2).
Shmctl implements shmctl(2).
Shmdt implements shmdt(2).
Shmget implements shmget(2).
Shutdown implements the linux syscall shutdown(2).
Sigaltstack implements linux syscall sigaltstack(2).
Signalfd implements the linux syscall signalfd(2).
Signalfd4 implements the linux syscall signalfd4(2).
Sigreturn implements linux syscall sigreturn(2).
Socket implements the linux syscall socket(2).
SocketPair implements the linux syscall socketpair(2).
Splice implements Linux syscall splice(2).
Stat implements Linux syscall stat(2).
Statfs implements Linux syscall statfs(2).
Statx implements Linux syscall statx(2).
Symlink implements Linux syscall symlink(2).
Symlinkat implements Linux syscall symlinkat(2).
Sync implements Linux syscall sync(2).
SyncFileRange implements Linux syscall sync_file_range(2).
Syncfs implements Linux syscall syncfs(2).
Sysinfo implements Linux syscall sysinfo(2).
Syslog implements part of Linux syscall syslog.
Tee implements Linux syscall tee(2).
Tgkill implements linux syscall tgkill(2).
Time implements linux syscall time(2).
TimerCreate implements linux syscall timer_create(2).
TimerDelete implements linux syscall timer_delete(2).
TimerfdCreate implements Linux syscall timerfd_create(2).
TimerfdGettime implements Linux syscall timerfd_gettime(2).
TimerfdSettime implements Linux syscall timerfd_settime(2).
TimerGetoverrun implements linux syscall timer_getoverrun(2).
TimerGettime implements linux syscall timer_gettime(2).
TimerSettime implements linux syscall timer_settime(2).
Times implements linux syscall times(2).
Tkill implements linux syscall tkill(2).
Truncate implements Linux syscall truncate(2).
Umask implements linux syscall umask(2).
Umount2 implements Linux syscall umount2(2).
Uname implements linux syscall uname.
Unlink implements Linux syscall unlink(2).
Unlinkat implements Linux syscall unlinkat(2).
Unshare implements linux syscall unshare(2).
Utime implements Linux syscall utime(2).
Utimensat implements Linux syscall utimensat(2).
Utimes implements Linux syscall utimes(2).
Vfork implements Linux syscall vfork(2).
Wait4 implements linux syscall wait4(2).
Waitid implements linux syscall waitid(2).
WaitPid implements linux syscall waitpid(2).
Write implements Linux syscall write(2).
Writev implements Linux syscall writev(2).

# Constants

DirentStructBytesWithoutName is enough to fit (struct linux_dirent) and (struct linux_dirent64) without accounting for the name parameter.
LinuxRelease is the Linux release version number advertised by gVisor.
LinuxSysname is the OS name advertised by gVisor.
LinuxVersion is the version info advertised by gVisor.

# Variables

AMD64 is a table of Linux amd64 syscall API with the corresponding syscall numbers from Linux 4.4.
ARM64 is a table of Linux arm64 syscall API with the corresponding syscall numbers from Linux 4.4.
ExecMaxElemSize is the maximum length of a single argv or envv entry.
ExecMaxTotalSize is the maximum length of all argv and envv entries.

# Structs

MessageHeader64 is the 64-bit representation of the msghdr struct used in the recvmsg and sendmsg syscalls.
SchedParam replicates struct sched_param in sched.h.