mirror of
https://github.com/golang/go
synced 2024-11-21 21:54:40 -07:00
syscall: fix arm build (fix bugs in generator, to add O_LARGEFILE)
R=r CC=golang-dev https://golang.org/cl/1021043
This commit is contained in:
parent
b3901dc1d8
commit
23bf408d41
@ -146,9 +146,9 @@ linux_arm)
|
||||
ARM="/home/kaib/public/linux-2.6.28"
|
||||
mksyscall="./mksyscall.sh -l32"
|
||||
mksysnum="./mksysnum_linux.sh $ARM/arch/arm/include/asm/unistd.h"
|
||||
// mktypes="godefs -gsyscall -carm-gcc -f-I$ARM/arch/arm/include -f-I$ARM/include -f-D__deprecated='' -f-I$ARM/arch/arm/mach-at91/include -f-DCONFIG_ARCH_AT91SAM9260 "
|
||||
# mktypes="godefs -gsyscall -carm-gcc -f-I$ARM/arch/arm/include -f-I$ARM/include -f-D__deprecated='' -f-I$ARM/arch/arm/mach-at91/include -f-DCONFIG_ARCH_AT91SAM9260 "
|
||||
mktypes="godefs -gsyscall -carm-gcc"
|
||||
mkerrors="./mkerrors.sh"
|
||||
mkerrors='GORUN="qemu-arm -cpu cortex-a8" ./mkerrors.sh'
|
||||
;;
|
||||
windows_386)
|
||||
mksyscall="./mksyscall_windows.sh -l32"
|
||||
|
@ -86,6 +86,7 @@ done
|
||||
awk '
|
||||
$1 != "#define" || $2 ~ /\(/ {next}
|
||||
|
||||
$2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers
|
||||
$2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next}
|
||||
|
||||
$2 ~ /^E[A-Z0-9_]+$/ ||
|
||||
@ -95,7 +96,7 @@ done
|
||||
$2 == "NAME_MAX" ||
|
||||
$2 ~ /^(O|F|FD|NAME|S|PTRACE)_/ ||
|
||||
$2 ~ /^W[A-Z0-9]+$/ {printf("\t$%s = %s,\n", $2, $2)}
|
||||
|
||||
$2 ~ /^__WCOREFLAG$/ {next}
|
||||
$2 ~ /^__W[A-Z0-9]+$/ {printf("\t$%s = %s,\n", substr($2,3), $2)}
|
||||
|
||||
{next}
|
||||
@ -114,7 +115,7 @@ errors=$(
|
||||
echo '// mkerrors.sh' "$@"
|
||||
echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
|
||||
echo
|
||||
godefs "$@" -gsyscall "$@" _const.c
|
||||
godefs -c $GCC "$@" -gsyscall "$@" _const.c
|
||||
|
||||
# Run C program to print error strings.
|
||||
(
|
||||
@ -167,4 +168,4 @@ main(void)
|
||||
'
|
||||
) >_errors.c
|
||||
|
||||
gcc $ccflags -o _errors _errors.c && ./_errors && rm -f _errors.c _errors _const.c
|
||||
$GCC $ccflags -static -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.c
|
||||
|
@ -24,6 +24,11 @@ func Open(path string, mode int, perm int) (fd int, errno int) {
|
||||
return open(path, mode|O_LARGEFILE, perm)
|
||||
}
|
||||
|
||||
//sys openat(dirfd int, path string, flags int, mode int) (fd int, errno int)
|
||||
func Openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
return openat(dirfd, path, flags|O_LARGEFILE, mode)
|
||||
}
|
||||
|
||||
//sys pipe(p *[2]_C_int) (errno int)
|
||||
func Pipe(p []int) (errno int) {
|
||||
if len(p) != 2 {
|
||||
@ -581,7 +586,6 @@ func PtraceDetach(pid int) (errno int) { return ptrace(PTRACE_DETACH, pid, 0, 0)
|
||||
//sys Mknod(path string, mode int, dev int) (errno int)
|
||||
//sys Mknodat(dirfd int, path string, mode int, dev int) (errno int)
|
||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (errno int)
|
||||
//sys Openat(dirfd int, path string, flags int, mode int) (fd int, errno int)
|
||||
//sys Pause() (errno int)
|
||||
//sys PivotRoot(newroot string, putold string) (errno int) = SYS_PIVOT_ROOT
|
||||
//sys Pread(fd int, p []byte, offset int64) (n int, errno int) = SYS_PREAD64
|
||||
|
@ -4,6 +4,15 @@
|
||||
|
||||
package syscall
|
||||
|
||||
// These seem not to be defined in our gcc's ARM headers
|
||||
// and are thus missing from zerrors_linux_arm.go.
|
||||
const (
|
||||
WSTOPPED = 0x7f
|
||||
O_CLOEXEC = 0
|
||||
EPOLLRDHUP = EPOLLHUP
|
||||
EPOLLONESHOT = 0x40000000
|
||||
)
|
||||
|
||||
func Getpagesize() int { return 4096 }
|
||||
|
||||
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
|
||||
|
@ -1,7 +1,7 @@
|
||||
// mkerrors.sh -f -m32
|
||||
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||
|
||||
// godefs -f -m32 -gsyscall -f -m32 _const.c
|
||||
// godefs -c gcc -f -m32 -gsyscall -f -m32 _const.c
|
||||
|
||||
// MACHINE GENERATED - DO NOT EDIT.
|
||||
|
||||
@ -49,7 +49,6 @@ const (
|
||||
EAFNOSUPPORT = 0x61
|
||||
EAGAIN = 0xb
|
||||
EALREADY = 0x72
|
||||
EAX = 0x6
|
||||
EBADE = 0x34
|
||||
EBADF = 0x9
|
||||
EBADFD = 0x4d
|
||||
@ -58,9 +57,7 @@ const (
|
||||
EBADRQC = 0x38
|
||||
EBADSLT = 0x39
|
||||
EBFONT = 0x3b
|
||||
EBP = 0x5
|
||||
EBUSY = 0x10
|
||||
EBX = 0
|
||||
ECANCELED = 0x7d
|
||||
ECHILD = 0xa
|
||||
ECHRNG = 0x2c
|
||||
@ -68,19 +65,15 @@ const (
|
||||
ECONNABORTED = 0x67
|
||||
ECONNREFUSED = 0x6f
|
||||
ECONNRESET = 0x68
|
||||
ECX = 0x1
|
||||
EDEADLK = 0x23
|
||||
EDEADLOCK = 0x23
|
||||
EDESTADDRREQ = 0x59
|
||||
EDI = 0x4
|
||||
EDOM = 0x21
|
||||
EDOTDOT = 0x49
|
||||
EDQUOT = 0x7a
|
||||
EDX = 0x2
|
||||
EEXIST = 0x11
|
||||
EFAULT = 0xe
|
||||
EFBIG = 0x1b
|
||||
EFL = 0xe
|
||||
EHOSTDOWN = 0x70
|
||||
EHOSTUNREACH = 0x71
|
||||
EIDRM = 0x2b
|
||||
@ -89,7 +82,6 @@ const (
|
||||
EINTR = 0x4
|
||||
EINVAL = 0x16
|
||||
EIO = 0x5
|
||||
EIP = 0xc
|
||||
EISCONN = 0x6a
|
||||
EISDIR = 0x15
|
||||
EISNAM = 0x78
|
||||
@ -180,9 +172,7 @@ const (
|
||||
EREMOTEIO = 0x79
|
||||
ERESTART = 0x55
|
||||
EROFS = 0x1e
|
||||
ES = 0x8
|
||||
ESHUTDOWN = 0x6c
|
||||
ESI = 0x3
|
||||
ESOCKTNOSUPPORT = 0x5e
|
||||
ESPIPE = 0x1d
|
||||
ESRCH = 0x3
|
||||
|
@ -1,7 +1,7 @@
|
||||
// mkerrors.sh
|
||||
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||
|
||||
// godefs -gsyscall _errors.c
|
||||
// godefs -c arm-gcc -gsyscall _const.c
|
||||
|
||||
// MACHINE GENERATED - DO NOT EDIT.
|
||||
|
||||
@ -9,177 +9,498 @@ package syscall
|
||||
|
||||
// Constants
|
||||
const (
|
||||
EMULTIHOP = 0x48
|
||||
EUNATCH = 0x31
|
||||
EAFNOSUPPORT = 0x61
|
||||
EREMCHG = 0x4e
|
||||
EACCES = 0xd
|
||||
EL3RST = 0x2f
|
||||
EDESTADDRREQ = 0x59
|
||||
EILSEQ = 0x54
|
||||
ESPIPE = 0x1d
|
||||
EMLINK = 0x1f
|
||||
EOWNERDEAD = 0x82
|
||||
ENOTTY = 0x19
|
||||
EBADE = 0x34
|
||||
EBADF = 0x9
|
||||
EBADR = 0x35
|
||||
EADV = 0x44
|
||||
ERANGE = 0x22
|
||||
ECANCELED = 0x7d
|
||||
ETXTBSY = 0x1a
|
||||
ENOMEM = 0xc
|
||||
EINPROGRESS = 0x73
|
||||
ENOTEMPTY = 0x27
|
||||
ENOTBLK = 0xf
|
||||
EPROTOTYPE = 0x5b
|
||||
ERESTART = 0x55
|
||||
EISNAM = 0x78
|
||||
ENOMSG = 0x2a
|
||||
EALREADY = 0x72
|
||||
ETIMEDOUT = 0x6e
|
||||
ENODATA = 0x3d
|
||||
EINTR = 0x4
|
||||
ENOLINK = 0x43
|
||||
EPERM = 0x1
|
||||
ELOOP = 0x28
|
||||
ENETDOWN = 0x64
|
||||
ESTALE = 0x74
|
||||
ENOTSOCK = 0x58
|
||||
ENOSR = 0x3f
|
||||
ECHILD = 0xa
|
||||
ELNRNG = 0x30
|
||||
EPIPE = 0x20
|
||||
EBADMSG = 0x4a
|
||||
EBFONT = 0x3b
|
||||
EREMOTE = 0x42
|
||||
ETOOMANYREFS = 0x6d
|
||||
EPFNOSUPPORT = 0x60
|
||||
ENONET = 0x40
|
||||
EXFULL = 0x36
|
||||
EBADSLT = 0x39
|
||||
ENOTNAM = 0x76
|
||||
ENOCSI = 0x32
|
||||
EADDRINUSE = 0x62
|
||||
ENETRESET = 0x66
|
||||
EISDIR = 0x15
|
||||
EIDRM = 0x2b
|
||||
ECOMM = 0x46
|
||||
EBADFD = 0x4d
|
||||
EL2HLT = 0x33
|
||||
ENOKEY = 0x7e
|
||||
EINVAL = 0x16
|
||||
ESHUTDOWN = 0x6c
|
||||
EKEYREJECTED = 0x81
|
||||
ELIBSCN = 0x51
|
||||
ENAVAIL = 0x77
|
||||
EOVERFLOW = 0x4b
|
||||
EUCLEAN = 0x75
|
||||
ENOMEDIUM = 0x7b
|
||||
EBUSY = 0x10
|
||||
EPROTO = 0x47
|
||||
ENODEV = 0x13
|
||||
EKEYEXPIRED = 0x7f
|
||||
EROFS = 0x1e
|
||||
ELIBACC = 0x4f
|
||||
E2BIG = 0x7
|
||||
EDEADLK = 0x23
|
||||
ENOTDIR = 0x14
|
||||
ECONNRESET = 0x68
|
||||
ENXIO = 0x6
|
||||
EBADRQC = 0x38
|
||||
ENAMETOOLONG = 0x24
|
||||
ESOCKTNOSUPPORT = 0x5e
|
||||
ELIBEXEC = 0x53
|
||||
EDOTDOT = 0x49
|
||||
EADDRNOTAVAIL = 0x63
|
||||
ETIME = 0x3e
|
||||
EPROTONOSUPPORT = 0x5d
|
||||
ENOTRECOVERABLE = 0x83
|
||||
EIO = 0x5
|
||||
ENETUNREACH = 0x65
|
||||
EXDEV = 0x12
|
||||
EDQUOT = 0x7a
|
||||
EREMOTEIO = 0x79
|
||||
ENOSPC = 0x1c
|
||||
ENOEXEC = 0x8
|
||||
EMSGSIZE = 0x5a
|
||||
EDOM = 0x21
|
||||
ENOSTR = 0x3c
|
||||
EFBIG = 0x1b
|
||||
ESRCH = 0x3
|
||||
ECHRNG = 0x2c
|
||||
EHOSTDOWN = 0x70
|
||||
ENOLCK = 0x25
|
||||
ENFILE = 0x17
|
||||
ENOSYS = 0x26
|
||||
ENOTCONN = 0x6b
|
||||
ENOTSUP = 0x5f
|
||||
ESRMNT = 0x45
|
||||
EDEADLOCK = 0x23
|
||||
ECONNABORTED = 0x67
|
||||
ENOANO = 0x37
|
||||
EISCONN = 0x6a
|
||||
EUSERS = 0x57
|
||||
ENOPROTOOPT = 0x5c
|
||||
EMFILE = 0x18
|
||||
ENOBUFS = 0x69
|
||||
EL3HLT = 0x2e
|
||||
EFAULT = 0xe
|
||||
EWOULDBLOCK = 0xb
|
||||
ELIBBAD = 0x50
|
||||
ESTRPIPE = 0x56
|
||||
ECONNREFUSED = 0x6f
|
||||
EAGAIN = 0xb
|
||||
ELIBMAX = 0x52
|
||||
EEXIST = 0x11
|
||||
EL2NSYNC = 0x2d
|
||||
ENOENT = 0x2
|
||||
ENOPKG = 0x41
|
||||
EKEYREVOKED = 0x80
|
||||
EHOSTUNREACH = 0x71
|
||||
ENOTUNIQ = 0x4c
|
||||
EOPNOTSUPP = 0x5f
|
||||
EMEDIUMTYPE = 0x7c
|
||||
SIGBUS = 0x7
|
||||
SIGTTIN = 0x15
|
||||
SIGPROF = 0x1b
|
||||
SIGFPE = 0x8
|
||||
SIGHUP = 0x1
|
||||
SIGTTOU = 0x16
|
||||
SIGSTKFLT = 0x10
|
||||
SIGUSR1 = 0xa
|
||||
SIGURG = 0x17
|
||||
SIGIO = 0x1d
|
||||
SIGQUIT = 0x3
|
||||
SIGCLD = 0x11
|
||||
SHUT_RD = 0
|
||||
SHUT_RDWR = 0x2
|
||||
SHUT_WR = 0x1
|
||||
SIGABRT = 0x6
|
||||
SIGTRAP = 0x5
|
||||
SIGVTALRM = 0x1a
|
||||
SIGPOLL = 0x1d
|
||||
SIGSEGV = 0xb
|
||||
SIGCONT = 0x12
|
||||
SIGPIPE = 0xd
|
||||
SIGWINCH = 0x1c
|
||||
SIGXFSZ = 0x19
|
||||
SIGCHLD = 0x11
|
||||
SIGSYS = 0x1f
|
||||
SIGSTOP = 0x13
|
||||
SIGALRM = 0xe
|
||||
SIGUSR2 = 0xc
|
||||
SIGTSTP = 0x14
|
||||
SIGKILL = 0x9
|
||||
SIGXCPU = 0x18
|
||||
SIGUNUSED = 0x1f
|
||||
SIGPWR = 0x1e
|
||||
SIGILL = 0x4
|
||||
SIGINT = 0x2
|
||||
SIGIOT = 0x6
|
||||
SIGTERM = 0xf
|
||||
O_EXCL = 0x80
|
||||
AF_APPLETALK = 0x5
|
||||
AF_ASH = 0x12
|
||||
AF_ATMPVC = 0x8
|
||||
AF_ATMSVC = 0x14
|
||||
AF_AX25 = 0x3
|
||||
AF_BLUETOOTH = 0x1f
|
||||
AF_BRIDGE = 0x7
|
||||
AF_DECnet = 0xc
|
||||
AF_ECONET = 0x13
|
||||
AF_FILE = 0x1
|
||||
AF_INET = 0x2
|
||||
AF_INET6 = 0xa
|
||||
AF_IPX = 0x4
|
||||
AF_IRDA = 0x17
|
||||
AF_KEY = 0xf
|
||||
AF_LOCAL = 0x1
|
||||
AF_MAX = 0x20
|
||||
AF_NETBEUI = 0xd
|
||||
AF_NETLINK = 0x10
|
||||
AF_NETROM = 0x6
|
||||
AF_PACKET = 0x11
|
||||
AF_PPPOX = 0x18
|
||||
AF_ROSE = 0xb
|
||||
AF_ROUTE = 0x10
|
||||
AF_SECURITY = 0xe
|
||||
AF_SNA = 0x16
|
||||
AF_UNIX = 0x1
|
||||
AF_UNSPEC = 0
|
||||
AF_WANPIPE = 0x19
|
||||
AF_X25 = 0x9
|
||||
E2BIG = 0x7
|
||||
EACCES = 0xd
|
||||
EADDRINUSE = 0x62
|
||||
EADDRNOTAVAIL = 0x63
|
||||
EADV = 0x44
|
||||
EAFNOSUPPORT = 0x61
|
||||
EAGAIN = 0xb
|
||||
EALREADY = 0x72
|
||||
EBADE = 0x34
|
||||
EBADF = 0x9
|
||||
EBADFD = 0x4d
|
||||
EBADMSG = 0x4a
|
||||
EBADR = 0x35
|
||||
EBADRQC = 0x38
|
||||
EBADSLT = 0x39
|
||||
EBFONT = 0x3b
|
||||
EBUSY = 0x10
|
||||
ECANCELED = 0x7d
|
||||
ECHILD = 0xa
|
||||
ECHRNG = 0x2c
|
||||
ECOMM = 0x46
|
||||
ECONNABORTED = 0x67
|
||||
ECONNREFUSED = 0x6f
|
||||
ECONNRESET = 0x68
|
||||
EDEADLK = 0x23
|
||||
EDEADLOCK = 0x23
|
||||
EDESTADDRREQ = 0x59
|
||||
EDOM = 0x21
|
||||
EDOTDOT = 0x49
|
||||
EDQUOT = 0x7a
|
||||
EEXIST = 0x11
|
||||
EFAULT = 0xe
|
||||
EFBIG = 0x1b
|
||||
EHOSTDOWN = 0x70
|
||||
EHOSTUNREACH = 0x71
|
||||
EIDRM = 0x2b
|
||||
EILSEQ = 0x54
|
||||
EINPROGRESS = 0x73
|
||||
EINTR = 0x4
|
||||
EINVAL = 0x16
|
||||
EIO = 0x5
|
||||
EISCONN = 0x6a
|
||||
EISDIR = 0x15
|
||||
EISNAM = 0x78
|
||||
EKEYEXPIRED = 0x7f
|
||||
EKEYREJECTED = 0x81
|
||||
EKEYREVOKED = 0x80
|
||||
EL2HLT = 0x33
|
||||
EL2NSYNC = 0x2d
|
||||
EL3HLT = 0x2e
|
||||
EL3RST = 0x2f
|
||||
ELF_NGREG = 0x12
|
||||
ELF_PRARGSZ = 0x50
|
||||
ELIBACC = 0x4f
|
||||
ELIBBAD = 0x50
|
||||
ELIBEXEC = 0x53
|
||||
ELIBMAX = 0x52
|
||||
ELIBSCN = 0x51
|
||||
ELNRNG = 0x30
|
||||
ELOOP = 0x28
|
||||
EMEDIUMTYPE = 0x7c
|
||||
EMFILE = 0x18
|
||||
EMLINK = 0x1f
|
||||
EMSGSIZE = 0x5a
|
||||
EMULTIHOP = 0x48
|
||||
ENAMETOOLONG = 0x24
|
||||
ENAVAIL = 0x77
|
||||
ENETDOWN = 0x64
|
||||
ENETRESET = 0x66
|
||||
ENETUNREACH = 0x65
|
||||
ENFILE = 0x17
|
||||
ENOANO = 0x37
|
||||
ENOBUFS = 0x69
|
||||
ENOCSI = 0x32
|
||||
ENODATA = 0x3d
|
||||
ENODEV = 0x13
|
||||
ENOENT = 0x2
|
||||
ENOEXEC = 0x8
|
||||
ENOKEY = 0x7e
|
||||
ENOLCK = 0x25
|
||||
ENOLINK = 0x43
|
||||
ENOMEDIUM = 0x7b
|
||||
ENOMEM = 0xc
|
||||
ENOMSG = 0x2a
|
||||
ENONET = 0x40
|
||||
ENOPKG = 0x41
|
||||
ENOPROTOOPT = 0x5c
|
||||
ENOSPC = 0x1c
|
||||
ENOSR = 0x3f
|
||||
ENOSTR = 0x3c
|
||||
ENOSYS = 0x26
|
||||
ENOTBLK = 0xf
|
||||
ENOTCONN = 0x6b
|
||||
ENOTDIR = 0x14
|
||||
ENOTEMPTY = 0x27
|
||||
ENOTNAM = 0x76
|
||||
ENOTRECOVERABLE = 0x83
|
||||
ENOTSOCK = 0x58
|
||||
ENOTSUP = 0x5f
|
||||
ENOTTY = 0x19
|
||||
ENOTUNIQ = 0x4c
|
||||
ENXIO = 0x6
|
||||
EOPNOTSUPP = 0x5f
|
||||
EOVERFLOW = 0x4b
|
||||
EOWNERDEAD = 0x82
|
||||
EPERM = 0x1
|
||||
EPFNOSUPPORT = 0x60
|
||||
EPIPE = 0x20
|
||||
EPOLLERR = 0x8
|
||||
EPOLLET = -0x80000000
|
||||
EPOLLHUP = 0x10
|
||||
EPOLLIN = 0x1
|
||||
EPOLLMSG = 0x400
|
||||
EPOLLOUT = 0x4
|
||||
EPOLLPRI = 0x2
|
||||
EPOLLRDBAND = 0x80
|
||||
EPOLLRDNORM = 0x40
|
||||
EPOLLWRBAND = 0x200
|
||||
EPOLLWRNORM = 0x100
|
||||
EPOLL_CTL_ADD = 0x1
|
||||
EPOLL_CTL_DEL = 0x2
|
||||
EPOLL_CTL_MOD = 0x3
|
||||
EPROTO = 0x47
|
||||
EPROTONOSUPPORT = 0x5d
|
||||
EPROTOTYPE = 0x5b
|
||||
ERANGE = 0x22
|
||||
EREMCHG = 0x4e
|
||||
EREMOTE = 0x42
|
||||
EREMOTEIO = 0x79
|
||||
ERESTART = 0x55
|
||||
EROFS = 0x1e
|
||||
ESHUTDOWN = 0x6c
|
||||
ESOCKTNOSUPPORT = 0x5e
|
||||
ESPIPE = 0x1d
|
||||
ESRCH = 0x3
|
||||
ESRMNT = 0x45
|
||||
ESTALE = 0x74
|
||||
ESTRPIPE = 0x56
|
||||
ETIME = 0x3e
|
||||
ETIMEDOUT = 0x6e
|
||||
ETOOMANYREFS = 0x6d
|
||||
ETXTBSY = 0x1a
|
||||
EUCLEAN = 0x75
|
||||
EUNATCH = 0x31
|
||||
EUSERS = 0x57
|
||||
EWOULDBLOCK = 0xb
|
||||
EXDEV = 0x12
|
||||
EXFULL = 0x36
|
||||
EXPR_NEST_MAX = 0x20
|
||||
FD_CLOEXEC = 0x1
|
||||
FD_SETSIZE = 0x400
|
||||
F_DUPFD = 0
|
||||
F_EXLCK = 0x4
|
||||
F_GETFD = 0x1
|
||||
F_GETFL = 0x3
|
||||
F_GETLEASE = 0x401
|
||||
F_GETLK = 0xc
|
||||
F_GETLK64 = 0xc
|
||||
F_GETOWN = 0x9
|
||||
F_GETSIG = 0xb
|
||||
F_LOCK = 0x1
|
||||
F_NOTIFY = 0x402
|
||||
F_OK = 0
|
||||
F_RDLCK = 0
|
||||
F_SETFD = 0x2
|
||||
F_SETFL = 0x4
|
||||
F_SETLEASE = 0x400
|
||||
F_SETLK = 0xd
|
||||
F_SETLK64 = 0xd
|
||||
F_SETLKW = 0xe
|
||||
F_SETLKW64 = 0xe
|
||||
F_SETOWN = 0x8
|
||||
F_SETSIG = 0xa
|
||||
F_SHLCK = 0x8
|
||||
F_TEST = 0x3
|
||||
F_TLOCK = 0x2
|
||||
F_ULOCK = 0
|
||||
F_UNLCK = 0x2
|
||||
F_WRLCK = 0x1
|
||||
IPPROTO_AH = 0x33
|
||||
IPPROTO_COMP = 0x6c
|
||||
IPPROTO_DSTOPTS = 0x3c
|
||||
IPPROTO_EGP = 0x8
|
||||
IPPROTO_ENCAP = 0x62
|
||||
IPPROTO_ESP = 0x32
|
||||
IPPROTO_FRAGMENT = 0x2c
|
||||
IPPROTO_GRE = 0x2f
|
||||
IPPROTO_HOPOPTS = 0
|
||||
IPPROTO_ICMP = 0x1
|
||||
IPPROTO_ICMPV6 = 0x3a
|
||||
IPPROTO_IDP = 0x16
|
||||
IPPROTO_IGMP = 0x2
|
||||
IPPROTO_IP = 0
|
||||
IPPROTO_IPIP = 0x4
|
||||
IPPROTO_IPV6 = 0x29
|
||||
IPPROTO_MTP = 0x5c
|
||||
IPPROTO_NONE = 0x3b
|
||||
IPPROTO_PIM = 0x67
|
||||
IPPROTO_PUP = 0xc
|
||||
IPPROTO_RAW = 0xff
|
||||
IPPROTO_ROUTING = 0x2b
|
||||
IPPROTO_RSVP = 0x2e
|
||||
IPPROTO_TCP = 0x6
|
||||
IPPROTO_TP = 0x1d
|
||||
IPPROTO_UDP = 0x11
|
||||
IPV6_ADDRFORM = 0x1
|
||||
IPV6_ADD_MEMBERSHIP = 0x14
|
||||
IPV6_AUTHHDR = 0xa
|
||||
IPV6_CHECKSUM = 0x7
|
||||
IPV6_DROP_MEMBERSHIP = 0x15
|
||||
IPV6_DSTOPTS = 0x4
|
||||
IPV6_HOPLIMIT = 0x8
|
||||
IPV6_HOPOPTS = 0x3
|
||||
IPV6_JOIN_GROUP = 0x14
|
||||
IPV6_LEAVE_GROUP = 0x15
|
||||
IPV6_MTU = 0x18
|
||||
IPV6_MTU_DISCOVER = 0x17
|
||||
IPV6_MULTICAST_HOPS = 0x12
|
||||
IPV6_MULTICAST_IF = 0x11
|
||||
IPV6_MULTICAST_LOOP = 0x13
|
||||
IPV6_NEXTHOP = 0x9
|
||||
IPV6_PKTINFO = 0x2
|
||||
IPV6_PKTOPTIONS = 0x6
|
||||
IPV6_PMTUDISC_DO = 0x2
|
||||
IPV6_PMTUDISC_DONT = 0
|
||||
IPV6_PMTUDISC_WANT = 0x1
|
||||
IPV6_RECVERR = 0x19
|
||||
IPV6_ROUTER_ALERT = 0x16
|
||||
IPV6_RTHDR = 0x5
|
||||
IPV6_RTHDR_LOOSE = 0
|
||||
IPV6_RTHDR_STRICT = 0x1
|
||||
IPV6_RTHDR_TYPE_0 = 0
|
||||
IPV6_RXDSTOPTS = 0x4
|
||||
IPV6_RXHOPOPTS = 0x3
|
||||
IPV6_UNICAST_HOPS = 0x10
|
||||
IP_ADD_MEMBERSHIP = 0x23
|
||||
IP_DEFAULT_MULTICAST_LOOP = 0x1
|
||||
IP_DEFAULT_MULTICAST_TTL = 0x1
|
||||
IP_DF = 0x4000
|
||||
IP_DROP_MEMBERSHIP = 0x24
|
||||
IP_HDRINCL = 0x3
|
||||
IP_MAXPACKET = 0xffff
|
||||
IP_MAX_MEMBERSHIPS = 0x14
|
||||
IP_MF = 0x2000
|
||||
IP_MSS = 0x240
|
||||
IP_MTU_DISCOVER = 0xa
|
||||
IP_MULTICAST_IF = 0x20
|
||||
IP_MULTICAST_LOOP = 0x22
|
||||
IP_MULTICAST_TTL = 0x21
|
||||
IP_OFFMASK = 0x1fff
|
||||
IP_OPTIONS = 0x4
|
||||
IP_PKTINFO = 0x8
|
||||
IP_PKTOPTIONS = 0x9
|
||||
IP_PMTUDISC = 0xa
|
||||
IP_PMTUDISC_DO = 0x2
|
||||
IP_PMTUDISC_DONT = 0
|
||||
IP_PMTUDISC_WANT = 0x1
|
||||
IP_RECVERR = 0xb
|
||||
IP_RECVOPTS = 0x6
|
||||
IP_RECVRETOPTS = 0x7
|
||||
IP_RECVTOS = 0xd
|
||||
IP_RECVTTL = 0xc
|
||||
IP_RETOPTS = 0x7
|
||||
IP_RF = 0x8000
|
||||
IP_ROUTER_ALERT = 0x5
|
||||
IP_TOS = 0x1
|
||||
IP_TTL = 0x2
|
||||
NAME_MAX = 0xff
|
||||
O_ACCMODE = 0x3
|
||||
O_APPEND = 0x400
|
||||
O_ASYNC = 0x2000
|
||||
O_CREAT = 0x40
|
||||
O_DIRECT = 0x10000
|
||||
O_DIRECTORY = 0x4000
|
||||
O_DSYNC = 0x1000
|
||||
O_EXCL = 0x80
|
||||
O_FSYNC = 0x1000
|
||||
O_LARGEFILE = 0x20000
|
||||
O_NDELAY = 0x800
|
||||
O_NOCTTY = 0x100
|
||||
O_NOFOLLOW = 0x8000
|
||||
O_NONBLOCK = 0x800
|
||||
O_RDONLY = 0
|
||||
O_RDWR = 0x2
|
||||
O_RSYNC = 0x1000
|
||||
O_SYNC = 0x1000
|
||||
O_TRUNC = 0x200
|
||||
O_WRONLY = 0x1
|
||||
PTRACE_ATTACH = 0x10
|
||||
PTRACE_CONT = 0x7
|
||||
PTRACE_DETACH = 0x11
|
||||
PTRACE_EVENT_CLONE = 0x3
|
||||
PTRACE_EVENT_EXEC = 0x4
|
||||
PTRACE_EVENT_EXIT = 0x6
|
||||
PTRACE_EVENT_FORK = 0x1
|
||||
PTRACE_EVENT_VFORK = 0x2
|
||||
PTRACE_EVENT_VFORK_DONE = 0x5
|
||||
PTRACE_GETEVENTMSG = 0x4201
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
PTRACE_GETREGS = 0xc
|
||||
PTRACE_GETSIGINFO = 0x4202
|
||||
PTRACE_GETWMMXREGS = 0x12
|
||||
PTRACE_GET_THREAD_AREA = 0x16
|
||||
PTRACE_KILL = 0x8
|
||||
PTRACE_OLDSETOPTIONS = 0x15
|
||||
PTRACE_O_MASK = 0x7f
|
||||
PTRACE_O_TRACECLONE = 0x8
|
||||
PTRACE_O_TRACEEXEC = 0x10
|
||||
PTRACE_O_TRACEEXIT = 0x40
|
||||
PTRACE_O_TRACEFORK = 0x2
|
||||
PTRACE_O_TRACESYSGOOD = 0x1
|
||||
PTRACE_O_TRACEVFORK = 0x4
|
||||
PTRACE_O_TRACEVFORKDONE = 0x20
|
||||
PTRACE_PEEKDATA = 0x2
|
||||
PTRACE_PEEKTEXT = 0x1
|
||||
PTRACE_PEEKUSR = 0x3
|
||||
PTRACE_POKEDATA = 0x5
|
||||
PTRACE_POKETEXT = 0x4
|
||||
PTRACE_POKEUSR = 0x6
|
||||
PTRACE_SETFPREGS = 0xf
|
||||
PTRACE_SETOPTIONS = 0x4200
|
||||
PTRACE_SETREGS = 0xd
|
||||
PTRACE_SETSIGINFO = 0x4203
|
||||
PTRACE_SETWMMXREGS = 0x13
|
||||
PTRACE_SINGLESTEP = 0x9
|
||||
PTRACE_SYSCALL = 0x18
|
||||
PTRACE_TRACEME = 0
|
||||
SHUT_RD = 0
|
||||
SHUT_RDWR = 0x2
|
||||
SHUT_WR = 0x1
|
||||
SIGABRT = 0x6
|
||||
SIGALRM = 0xe
|
||||
SIGBUS = 0x7
|
||||
SIGCHLD = 0x11
|
||||
SIGCLD = 0x11
|
||||
SIGCONT = 0x12
|
||||
SIGFPE = 0x8
|
||||
SIGHUP = 0x1
|
||||
SIGILL = 0x4
|
||||
SIGINT = 0x2
|
||||
SIGIO = 0x1d
|
||||
SIGIOT = 0x6
|
||||
SIGKILL = 0x9
|
||||
SIGPIPE = 0xd
|
||||
SIGPOLL = 0x1d
|
||||
SIGPROF = 0x1b
|
||||
SIGPWR = 0x1e
|
||||
SIGQUIT = 0x3
|
||||
SIGSEGV = 0xb
|
||||
SIGSTKFLT = 0x10
|
||||
SIGSTOP = 0x13
|
||||
SIGSYS = 0x1f
|
||||
SIGTERM = 0xf
|
||||
SIGTRAP = 0x5
|
||||
SIGTSTP = 0x14
|
||||
SIGTTIN = 0x15
|
||||
SIGTTOU = 0x16
|
||||
SIGUNUSED = 0x1f
|
||||
SIGURG = 0x17
|
||||
SIGUSR1 = 0xa
|
||||
SIGUSR2 = 0xc
|
||||
SIGVTALRM = 0x1a
|
||||
SIGWINCH = 0x1c
|
||||
SIGXCPU = 0x18
|
||||
SIGXFSZ = 0x19
|
||||
SOCK_DGRAM = 0x2
|
||||
SOCK_PACKET = 0xa
|
||||
SOCK_RAW = 0x3
|
||||
SOCK_RDM = 0x4
|
||||
SOCK_SEQPACKET = 0x5
|
||||
SOCK_STREAM = 0x1
|
||||
SOL_AAL = 0x109
|
||||
SOL_ATM = 0x108
|
||||
SOL_DECNET = 0x105
|
||||
SOL_ICMPV6 = 0x3a
|
||||
SOL_IP = 0
|
||||
SOL_IPV6 = 0x29
|
||||
SOL_IRDA = 0x10a
|
||||
SOL_PACKET = 0x107
|
||||
SOL_RAW = 0xff
|
||||
SOL_SOCKET = 0x1
|
||||
SOL_TCP = 0x6
|
||||
SOL_X25 = 0x106
|
||||
SOMAXCONN = 0x80
|
||||
SO_ACCEPTCONN = 0x1e
|
||||
SO_ATTACH_FILTER = 0x1a
|
||||
SO_BINDTODEVICE = 0x19
|
||||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_DEBUG = 0x1
|
||||
SO_DETACH_FILTER = 0x1b
|
||||
SO_DONTROUTE = 0x5
|
||||
SO_ERROR = 0x4
|
||||
SO_KEEPALIVE = 0x9
|
||||
SO_LINGER = 0xd
|
||||
SO_NO_CHECK = 0xb
|
||||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PEERCRED = 0x11
|
||||
SO_PEERNAME = 0x1c
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PRIORITY = 0xc
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVLOWAT = 0x12
|
||||
SO_RCVTIMEO = 0x14
|
||||
SO_REUSEADDR = 0x2
|
||||
SO_SECURITY_AUTHENTICATION = 0x16
|
||||
SO_SECURITY_ENCRYPTION_NETWORK = 0x18
|
||||
SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
|
||||
SO_SNDBUF = 0x7
|
||||
SO_SNDLOWAT = 0x13
|
||||
SO_SNDTIMEO = 0x15
|
||||
SO_TIMESTAMP = 0x1d
|
||||
SO_TYPE = 0x3
|
||||
S_BLKSIZE = 0x200
|
||||
S_IEXEC = 0x40
|
||||
S_IFBLK = 0x6000
|
||||
S_IFCHR = 0x2000
|
||||
S_IFDIR = 0x4000
|
||||
S_IFIFO = 0x1000
|
||||
S_IFLNK = 0xa000
|
||||
S_IFMT = 0xf000
|
||||
S_IFREG = 0x8000
|
||||
S_IFSOCK = 0xc000
|
||||
S_IREAD = 0x100
|
||||
S_IRGRP = 0x20
|
||||
S_IROTH = 0x4
|
||||
S_IRUSR = 0x100
|
||||
S_IRWXG = 0x38
|
||||
S_IRWXO = 0x7
|
||||
S_IRWXU = 0x1c0
|
||||
S_ISGID = 0x400
|
||||
S_ISUID = 0x800
|
||||
S_ISVTX = 0x200
|
||||
S_IWGRP = 0x10
|
||||
S_IWOTH = 0x2
|
||||
S_IWRITE = 0x80
|
||||
S_IWUSR = 0x80
|
||||
S_IXGRP = 0x8
|
||||
S_IXOTH = 0x1
|
||||
S_IXUSR = 0x40
|
||||
TCP_CORK = 0x3
|
||||
TCP_DEFER_ACCEPT = 0x9
|
||||
TCP_INFO = 0xb
|
||||
TCP_KEEPCNT = 0x6
|
||||
TCP_KEEPIDLE = 0x4
|
||||
TCP_KEEPINTVL = 0x5
|
||||
TCP_LINGER2 = 0x8
|
||||
TCP_MAXSEG = 0x2
|
||||
TCP_MAXWIN = 0xffff
|
||||
TCP_MAX_WINSHIFT = 0xe
|
||||
TCP_MSS = 0x200
|
||||
TCP_NODELAY = 0x1
|
||||
TCP_QUICKACK = 0xc
|
||||
TCP_SYNCNT = 0x7
|
||||
TCP_WINDOW_CLAMP = 0xa
|
||||
WALL = 0x40000000
|
||||
WCLONE = 0x80000000
|
||||
WCOREFLAG = 0x80
|
||||
WNOHANG = 0x1
|
||||
WORDSIZE = 0x20
|
||||
WUNTRACED = 0x2
|
||||
)
|
||||
|
||||
// Types
|
||||
@ -187,133 +508,133 @@ const (
|
||||
|
||||
// Error table
|
||||
var errors = [...]string{
|
||||
72: "multihop attempted",
|
||||
49: "protocol driver not attached",
|
||||
97: "address family not supported by protocol",
|
||||
78: "remote address changed",
|
||||
7: "argument list too long",
|
||||
13: "permission denied",
|
||||
47: "level 3 reset",
|
||||
89: "destination address required",
|
||||
84: "invalid or incomplete multibyte or wide character",
|
||||
29: "illegal seek",
|
||||
31: "too many links",
|
||||
130: "owner died",
|
||||
25: "inappropriate ioctl for device",
|
||||
98: "address already in use",
|
||||
99: "cannot assign requested address",
|
||||
68: "advertise error",
|
||||
97: "address family not supported by protocol",
|
||||
11: "resource temporarily unavailable",
|
||||
114: "operation already in progress",
|
||||
52: "invalid exchange",
|
||||
9: "bad file descriptor",
|
||||
53: "invalid request descriptor",
|
||||
68: "advertise error",
|
||||
34: "numerical result out of range",
|
||||
125: "operation canceled",
|
||||
26: "text file busy",
|
||||
12: "cannot allocate memory",
|
||||
115: "operation now in progress",
|
||||
39: "directory not empty",
|
||||
15: "block device required",
|
||||
91: "protocol wrong type for socket",
|
||||
85: "interrupted system call should be restarted",
|
||||
120: "is a named type file",
|
||||
42: "no message of desired type",
|
||||
114: "operation already in progress",
|
||||
110: "connection timed out",
|
||||
61: "no data available",
|
||||
4: "interrupted system call",
|
||||
67: "link has been severed",
|
||||
1: "operation not permitted",
|
||||
40: "too many levels of symbolic links",
|
||||
100: "network is down",
|
||||
116: "stale NFS file handle",
|
||||
88: "socket operation on non-socket",
|
||||
63: "out of streams resources",
|
||||
10: "no child processes",
|
||||
48: "link number out of range",
|
||||
32: "broken pipe",
|
||||
74: "bad message",
|
||||
59: "bad font file format",
|
||||
66: "object is remote",
|
||||
109: "too many references: cannot splice",
|
||||
96: "protocol family not supported",
|
||||
64: "machine is not on the network",
|
||||
54: "exchange full",
|
||||
57: "invalid slot",
|
||||
118: "not a XENIX named type file",
|
||||
50: "no CSI structure available",
|
||||
98: "address already in use",
|
||||
102: "network dropped connection on reset",
|
||||
21: "is a directory",
|
||||
43: "identifier removed",
|
||||
70: "communication error on send",
|
||||
77: "file descriptor in bad state",
|
||||
51: "level 2 halted",
|
||||
126: "required key not available",
|
||||
22: "invalid argument",
|
||||
108: "cannot send after transport endpoint shutdown",
|
||||
129: "key was rejected by service",
|
||||
81: ".lib section in a.out corrupted",
|
||||
119: "no XENIX semaphores available",
|
||||
75: "value too large for defined data type",
|
||||
117: "structure needs cleaning",
|
||||
123: "no medium found",
|
||||
16: "device or resource busy",
|
||||
71: "protocol error",
|
||||
19: "no such device",
|
||||
127: "key has expired",
|
||||
30: "read-only file system",
|
||||
79: "can not access a needed shared library",
|
||||
7: "argument list too long",
|
||||
35: "resource deadlock avoided",
|
||||
20: "not a directory",
|
||||
104: "connection reset by peer",
|
||||
6: "no such device or address",
|
||||
74: "bad message",
|
||||
53: "invalid request descriptor",
|
||||
56: "invalid request code",
|
||||
36: "file name too long",
|
||||
94: "socket type not supported",
|
||||
83: "cannot exec a shared library directly",
|
||||
73: "RFS specific error",
|
||||
99: "cannot assign requested address",
|
||||
62: "timer expired",
|
||||
93: "protocol not supported",
|
||||
131: "state not recoverable",
|
||||
5: "input/output error",
|
||||
101: "network is unreachable",
|
||||
18: "invalid cross-device link",
|
||||
122: "disk quota exceeded",
|
||||
121: "remote I/O error",
|
||||
28: "no space left on device",
|
||||
8: "exec format error",
|
||||
90: "message too long",
|
||||
33: "numerical argument out of domain",
|
||||
60: "device not a stream",
|
||||
27: "file too large",
|
||||
3: "no such process",
|
||||
57: "invalid slot",
|
||||
59: "bad font file format",
|
||||
16: "device or resource busy",
|
||||
125: "operation canceled",
|
||||
10: "no child processes",
|
||||
44: "channel number out of range",
|
||||
112: "host is down",
|
||||
37: "no locks available",
|
||||
23: "too many open files in system",
|
||||
38: "function not implemented",
|
||||
107: "transport endpoint is not connected",
|
||||
95: "operation not supported",
|
||||
69: "srmount error",
|
||||
70: "communication error on send",
|
||||
103: "software caused connection abort",
|
||||
55: "no anode",
|
||||
106: "transport endpoint is already connected",
|
||||
87: "too many users",
|
||||
92: "protocol not available",
|
||||
24: "too many open files",
|
||||
105: "no buffer space available",
|
||||
46: "level 3 halted",
|
||||
14: "bad address",
|
||||
11: "resource temporarily unavailable",
|
||||
80: "accessing a corrupted shared library",
|
||||
86: "streams pipe error",
|
||||
111: "connection refused",
|
||||
82: "attempting to link in too many shared libraries",
|
||||
104: "connection reset by peer",
|
||||
35: "resource deadlock avoided",
|
||||
89: "destination address required",
|
||||
33: "numerical argument out of domain",
|
||||
73: "RFS specific error",
|
||||
122: "disk quota exceeded",
|
||||
17: "file exists",
|
||||
45: "level 2 not synchronized",
|
||||
2: "no such file or directory",
|
||||
65: "package not installed",
|
||||
128: "key has been revoked",
|
||||
14: "bad address",
|
||||
27: "file too large",
|
||||
112: "host is down",
|
||||
113: "no route to host",
|
||||
76: "name not unique on network",
|
||||
43: "identifier removed",
|
||||
84: "invalid or incomplete multibyte or wide character",
|
||||
115: "operation now in progress",
|
||||
4: "interrupted system call",
|
||||
22: "invalid argument",
|
||||
5: "input/output error",
|
||||
106: "transport endpoint is already connected",
|
||||
21: "is a directory",
|
||||
120: "is a named type file",
|
||||
127: "unknown error 127",
|
||||
129: "unknown error 129",
|
||||
128: "unknown error 128",
|
||||
51: "level 2 halted",
|
||||
45: "level 2 not synchronized",
|
||||
46: "level 3 halted",
|
||||
47: "level 3 reset",
|
||||
79: "can not access a needed shared library",
|
||||
80: "accessing a corrupted shared library",
|
||||
83: "cannot exec a shared library directly",
|
||||
82: "attempting to link in too many shared libraries",
|
||||
81: ".lib section in a.out corrupted",
|
||||
48: "link number out of range",
|
||||
40: "too many levels of symbolic links",
|
||||
124: "wrong medium type",
|
||||
24: "too many open files",
|
||||
31: "too many links",
|
||||
90: "message too long",
|
||||
72: "multihop attempted",
|
||||
36: "file name too long",
|
||||
119: "no XENIX semaphores available",
|
||||
100: "network is down",
|
||||
102: "network dropped connection on reset",
|
||||
101: "network is unreachable",
|
||||
23: "too many open files in system",
|
||||
55: "no anode",
|
||||
105: "no buffer space available",
|
||||
50: "no CSI structure available",
|
||||
61: "no data available",
|
||||
19: "no such device",
|
||||
2: "no such file or directory",
|
||||
8: "exec format error",
|
||||
126: "unknown error 126",
|
||||
37: "no locks available",
|
||||
67: "link has been severed",
|
||||
123: "no medium found",
|
||||
12: "cannot allocate memory",
|
||||
42: "no message of desired type",
|
||||
64: "machine is not on the network",
|
||||
65: "package not installed",
|
||||
92: "protocol not available",
|
||||
28: "no space left on device",
|
||||
63: "out of streams resources",
|
||||
60: "device not a stream",
|
||||
38: "function not implemented",
|
||||
15: "block device required",
|
||||
107: "transport endpoint is not connected",
|
||||
20: "not a directory",
|
||||
39: "directory not empty",
|
||||
118: "not a XENIX named type file",
|
||||
131: "unknown error 131",
|
||||
88: "socket operation on non-socket",
|
||||
95: "operation not supported",
|
||||
25: "inappropriate ioctl for device",
|
||||
76: "name not unique on network",
|
||||
6: "no such device or address",
|
||||
75: "value too large for defined data type",
|
||||
130: "unknown error 130",
|
||||
1: "operation not permitted",
|
||||
96: "protocol family not supported",
|
||||
32: "broken pipe",
|
||||
71: "protocol error",
|
||||
93: "protocol not supported",
|
||||
91: "protocol wrong type for socket",
|
||||
34: "numerical result out of range",
|
||||
78: "remote address changed",
|
||||
66: "object is remote",
|
||||
121: "remote I/O error",
|
||||
85: "interrupted system call should be restarted",
|
||||
30: "read-only file system",
|
||||
108: "cannot send after transport endpoint shutdown",
|
||||
94: "socket type not supported",
|
||||
29: "illegal seek",
|
||||
3: "no such process",
|
||||
69: "srmount error",
|
||||
116: "stale NFS file handle",
|
||||
86: "streams pipe error",
|
||||
62: "timer expired",
|
||||
110: "connection timed out",
|
||||
109: "too many references: cannot splice",
|
||||
26: "text file busy",
|
||||
117: "structure needs cleaning",
|
||||
49: "protocol driver not attached",
|
||||
87: "too many users",
|
||||
18: "invalid cross-device link",
|
||||
54: "exchange full",
|
||||
}
|
||||
|
@ -12,6 +12,13 @@ func open(path string, mode int, perm int) (fd int, errno int) {
|
||||
return
|
||||
}
|
||||
|
||||
func openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func pipe(p *[2]_C_int) (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
errno = int(e1)
|
||||
@ -321,13 +328,6 @@ func Nanosleep(time *Timespec, leftover *Timespec) (errno int) {
|
||||
return
|
||||
}
|
||||
|
||||
func Openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func Pause() (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
|
||||
errno = int(e1)
|
||||
|
@ -12,6 +12,13 @@ func open(path string, mode int, perm int) (fd int, errno int) {
|
||||
return
|
||||
}
|
||||
|
||||
func openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func pipe(p *[2]_C_int) (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
errno = int(e1)
|
||||
@ -321,13 +328,6 @@ func Nanosleep(time *Timespec, leftover *Timespec) (errno int) {
|
||||
return
|
||||
}
|
||||
|
||||
func Openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func Pause() (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
|
||||
errno = int(e1)
|
||||
|
@ -5,6 +5,20 @@ package syscall
|
||||
|
||||
import "unsafe"
|
||||
|
||||
func open(path string, mode int, perm int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func pipe(p *[2]_C_int) (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
errno = int(e1)
|
||||
@ -314,20 +328,6 @@ func Nanosleep(time *Timespec, leftover *Timespec) (errno int) {
|
||||
return
|
||||
}
|
||||
|
||||
func Open(path string, mode int, perm int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func Openat(dirfd int, path string, flags int, mode int) (fd int, errno int) {
|
||||
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode), 0, 0)
|
||||
fd = int(r0)
|
||||
errno = int(e1)
|
||||
return
|
||||
}
|
||||
|
||||
func Pause() (errno int) {
|
||||
_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
|
||||
errno = int(e1)
|
||||
|
@ -6,121 +6,16 @@ package syscall
|
||||
|
||||
// Constants
|
||||
const (
|
||||
sizeofPtr = 0x4
|
||||
sizeofShort = 0x2
|
||||
sizeofInt = 0x4
|
||||
sizeofLong = 0x4
|
||||
sizeofLongLong = 0x8
|
||||
PathMax = 0x1000
|
||||
O_RDONLY = 0
|
||||
O_WRONLY = 0x1
|
||||
O_RDWR = 0x2
|
||||
O_APPEND = 0x400
|
||||
O_ASYNC = 0x2000
|
||||
O_CREAT = 0x40
|
||||
O_NOCTTY = 0x100
|
||||
O_NONBLOCK = 0x800
|
||||
O_SYNC = 0x1000
|
||||
O_TRUNC = 0x200
|
||||
O_CLOEXEC = 0
|
||||
F_GETFD = 0x1
|
||||
F_SETFD = 0x2
|
||||
F_GETFL = 0x3
|
||||
F_SETFL = 0x4
|
||||
FD_CLOEXEC = 0x1
|
||||
NAME_MAX = 0xff
|
||||
S_IFMT = 0xf000
|
||||
S_IFIFO = 0x1000
|
||||
S_IFCHR = 0x2000
|
||||
S_IFDIR = 0x4000
|
||||
S_IFBLK = 0x6000
|
||||
S_IFREG = 0x8000
|
||||
S_IFLNK = 0xa000
|
||||
S_IFSOCK = 0xc000
|
||||
S_ISUID = 0x800
|
||||
S_ISGID = 0x400
|
||||
S_ISVTX = 0x200
|
||||
S_IRUSR = 0x100
|
||||
S_IWUSR = 0x80
|
||||
S_IXUSR = 0x40
|
||||
WNOHANG = 0x1
|
||||
WUNTRACED = 0x2
|
||||
WEXITED = 0x4
|
||||
WSTOPPED = 0x2
|
||||
WCONTINUED = 0x8
|
||||
WNOWAIT = 0x1000000
|
||||
WCLONE = 0x80000000
|
||||
WALL = 0x40000000
|
||||
WNOTHREAD = 0x20000000
|
||||
AF_UNIX = 0x1
|
||||
AF_INET = 0x2
|
||||
AF_INET6 = 0xa
|
||||
SOCK_STREAM = 0x1
|
||||
SOCK_DGRAM = 0x2
|
||||
SOCK_RAW = 0x3
|
||||
SOCK_SEQPACKET = 0x5
|
||||
SOL_SOCKET = 0x1
|
||||
SO_REUSEADDR = 0x2
|
||||
SO_KEEPALIVE = 0x9
|
||||
SO_DONTROUTE = 0x5
|
||||
SO_BROADCAST = 0x6
|
||||
SO_LINGER = 0xd
|
||||
SO_SNDBUF = 0x7
|
||||
SO_RCVBUF = 0x8
|
||||
SO_SNDTIMEO = 0x15
|
||||
SO_RCVTIMEO = 0x14
|
||||
IPPROTO_TCP = 0x6
|
||||
IPPROTO_UDP = 0x11
|
||||
TCP_NODELAY = 0x1
|
||||
SOMAXCONN = 0x80
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
SizeofSockaddrAny = 0x1c
|
||||
SizeofSockaddrUnix = 0x6e
|
||||
PTRACE_TRACEME = 0
|
||||
PTRACE_PEEKTEXT = 0x1
|
||||
PTRACE_PEEKDATA = 0x2
|
||||
PTRACE_PEEKUSER = 0x3
|
||||
PTRACE_POKETEXT = 0x4
|
||||
PTRACE_POKEDATA = 0x5
|
||||
PTRACE_POKEUSER = 0x6
|
||||
PTRACE_CONT = 0x7
|
||||
PTRACE_KILL = 0x8
|
||||
PTRACE_SINGLESTEP = 0x9
|
||||
PTRACE_GETREGS = 0xc
|
||||
PTRACE_SETREGS = 0xd
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
PTRACE_SETFPREGS = 0xf
|
||||
PTRACE_ATTACH = 0x10
|
||||
PTRACE_DETACH = 0x11
|
||||
PTRACE_GETFPXREGS = 0x12
|
||||
PTRACE_SETFPXREGS = 0x13
|
||||
PTRACE_SYSCALL = 0x18
|
||||
PTRACE_SETOPTIONS = 0x4200
|
||||
PTRACE_GETEVENTMSG = 0x4201
|
||||
PTRACE_GETSIGINFO = 0x4202
|
||||
PTRACE_SETSIGINFO = 0x4203
|
||||
PTRACE_O_TRACESYSGOOD = 0x1
|
||||
PTRACE_O_TRACEFORK = 0x2
|
||||
PTRACE_O_TRACEVFORK = 0x4
|
||||
PTRACE_O_TRACECLONE = 0x8
|
||||
PTRACE_O_TRACEEXEC = 0x10
|
||||
PTRACE_O_TRACEVFORKDONE = 0x20
|
||||
PTRACE_O_TRACEEXIT = 0x40
|
||||
PTRACE_O_MASK = 0x7f
|
||||
PTRACE_EVENT_FORK = 0x1
|
||||
PTRACE_EVENT_VFORK = 0x2
|
||||
PTRACE_EVENT_CLONE = 0x3
|
||||
PTRACE_EVENT_EXEC = 0x4
|
||||
PTRACE_EVENT_VFORK_DONE = 0x5
|
||||
PTRACE_EVENT_EXIT = 0x6
|
||||
EPOLLIN = 0x1
|
||||
EPOLLRDHUP = 0x2000
|
||||
EPOLLOUT = 0x4
|
||||
EPOLLONESHOT = 0x40000000
|
||||
EPOLL_CTL_MOD = 0x3
|
||||
EPOLL_CTL_ADD = 0x1
|
||||
EPOLL_CTL_DEL = 0x2
|
||||
sizeofPtr = 0x4
|
||||
sizeofShort = 0x2
|
||||
sizeofInt = 0x4
|
||||
sizeofLong = 0x4
|
||||
sizeofLongLong = 0x8
|
||||
PathMax = 0x1000
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
SizeofSockaddrAny = 0x1c
|
||||
SizeofSockaddrUnix = 0x6e
|
||||
)
|
||||
|
||||
// Types
|
||||
|
Loading…
Reference in New Issue
Block a user