Package syscall

import "internal/runtime/syscall"
Overview
Index

Overview ▾

Package syscall provides the syscall primitives required for the runtime.

Constants

const (
    EPOLLIN       = 0x1
    EPOLLOUT      = 0x4
    EPOLLERR      = 0x8
    EPOLLHUP      = 0x10
    EPOLLRDHUP    = 0x2000
    EPOLLET       = 0x80000000
    EPOLL_CLOEXEC = 0x80000
    EPOLL_CTL_ADD = 0x1
    EPOLL_CTL_DEL = 0x2
    EPOLL_CTL_MOD = 0x3
    EFD_CLOEXEC   = 0x80000
)
const (
    SYS_MPROTECT      = 10
    SYS_FCNTL         = 72
    SYS_EPOLL_CTL     = 233
    SYS_EPOLL_PWAIT   = 281
    SYS_EPOLL_CREATE1 = 291
    SYS_EPOLL_PWAIT2  = 441
    SYS_EVENTFD2      = 290

    EFD_NONBLOCK = 0x800
)

func EpollCreate1

func EpollCreate1(flags int32) (fd int32, errno uintptr)

func EpollCtl

func EpollCtl(epfd, op, fd int32, event *EpollEvent) (errno uintptr)

func EpollWait

func EpollWait(epfd int32, events []EpollEvent, maxev, waitms int32) (n int32, errno uintptr)

func Eventfd

func Eventfd(initval, flags int32) (fd int32, errno uintptr)

func Syscall6

func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)

Syscall6 calls system call number 'num' with arguments a1-6.

type EpollEvent

type EpollEvent struct {
    Events uint32
    Data   [8]byte // unaligned uintptr
}