diff options
author | Russ Cox <rsc@golang.org> | 2010-05-03 11:11:01 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-05-03 11:11:01 -0700 |
commit | 43bd635ff11926adcee1a3c1747406832457740b (patch) | |
tree | f87acc2bfca6a3b617dafd23987856094579ceb5 /src/pkg | |
parent | 59c480da17fa03291e72c245bad4287ce0c832e6 (diff) | |
download | golang-43bd635ff11926adcee1a3c1747406832457740b.tar.gz |
syscall: fix arm build (fix bugs in generator, to add O_LARGEFILE)
R=r
CC=golang-dev
http://codereview.appspot.com/1021043
Diffstat (limited to 'src/pkg')
-rwxr-xr-x | src/pkg/syscall/mkall.sh | 4 | ||||
-rwxr-xr-x | src/pkg/syscall/mkerrors.sh | 7 | ||||
-rw-r--r-- | src/pkg/syscall/syscall_linux.go | 6 | ||||
-rw-r--r-- | src/pkg/syscall/syscall_linux_arm.go | 9 | ||||
-rw-r--r-- | src/pkg/syscall/zerrors_linux_386.go | 12 | ||||
-rw-r--r-- | src/pkg/syscall/zerrors_linux_arm.go | 885 | ||||
-rw-r--r-- | src/pkg/syscall/zsyscall_linux_386.go | 14 | ||||
-rw-r--r-- | src/pkg/syscall/zsyscall_linux_amd64.go | 14 | ||||
-rw-r--r-- | src/pkg/syscall/zsyscall_linux_arm.go | 28 | ||||
-rw-r--r-- | src/pkg/syscall/ztypes_linux_arm.go | 125 |
10 files changed, 662 insertions, 442 deletions
diff --git a/src/pkg/syscall/mkall.sh b/src/pkg/syscall/mkall.sh index 06c189872..0b4519adf 100755 --- a/src/pkg/syscall/mkall.sh +++ b/src/pkg/syscall/mkall.sh @@ -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" diff --git a/src/pkg/syscall/mkerrors.sh b/src/pkg/syscall/mkerrors.sh index 467ebe38c..3e55ea770 100755 --- a/src/pkg/syscall/mkerrors.sh +++ b/src/pkg/syscall/mkerrors.sh @@ -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 diff --git a/src/pkg/syscall/syscall_linux.go b/src/pkg/syscall/syscall_linux.go index 8ea1aa59d..f98b4cb7a 100644 --- a/src/pkg/syscall/syscall_linux.go +++ b/src/pkg/syscall/syscall_linux.go @@ -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 diff --git a/src/pkg/syscall/syscall_linux_arm.go b/src/pkg/syscall/syscall_linux_arm.go index 390f8a853..06052f409 100644 --- a/src/pkg/syscall/syscall_linux_arm.go +++ b/src/pkg/syscall/syscall_linux_arm.go @@ -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) } diff --git a/src/pkg/syscall/zerrors_linux_386.go b/src/pkg/syscall/zerrors_linux_386.go index d7cb66cb2..ae3e75973 100644 --- a/src/pkg/syscall/zerrors_linux_386.go +++ b/src/pkg/syscall/zerrors_linux_386.go @@ -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 diff --git a/src/pkg/syscall/zerrors_linux_arm.go b/src/pkg/syscall/zerrors_linux_arm.go index b768daa09..c706eed35 100644 --- a/src/pkg/syscall/zerrors_linux_arm.go +++ b/src/pkg/syscall/zerrors_linux_arm.go @@ -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", + 77: "file descriptor in bad state", + 74: "bad message", 53: "invalid request descriptor", - 68: "advertise error", - 34: "numerical result out of range", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 16: "device or resource busy", 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", + 44: "channel number out of range", 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", + 103: "software caused connection abort", + 111: "connection refused", 104: "connection reset by peer", - 6: "no such device or address", - 56: "invalid request code", - 36: "file name too long", - 94: "socket type not supported", - 83: "cannot exec a shared library directly", + 35: "resource deadlock avoided", + 89: "destination address required", + 33: "numerical argument out of domain", 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", + 17: "file exists", + 14: "bad address", 27: "file too large", - 3: "no such process", - 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", - 103: "software caused connection abort", - 55: "no anode", + 113: "no route to host", + 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", - 87: "too many users", - 92: "protocol not available", - 24: "too many open files", - 105: "no buffer space available", + 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", - 14: "bad address", - 11: "resource temporarily unavailable", + 47: "level 3 reset", + 79: "can not access a needed shared library", 80: "accessing a corrupted shared library", - 86: "streams pipe error", - 111: "connection refused", + 83: "cannot exec a shared library directly", 82: "attempting to link in too many shared libraries", - 17: "file exists", - 45: "level 2 not synchronized", + 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", - 128: "key has been revoked", - 113: "no route to host", + 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", - 124: "wrong medium type", + 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", } diff --git a/src/pkg/syscall/zsyscall_linux_386.go b/src/pkg/syscall/zsyscall_linux_386.go index 58b2979fc..4f63864ce 100644 --- a/src/pkg/syscall/zsyscall_linux_386.go +++ b/src/pkg/syscall/zsyscall_linux_386.go @@ -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) diff --git a/src/pkg/syscall/zsyscall_linux_amd64.go b/src/pkg/syscall/zsyscall_linux_amd64.go index c5daf0d9a..f16cf0a24 100644 --- a/src/pkg/syscall/zsyscall_linux_amd64.go +++ b/src/pkg/syscall/zsyscall_linux_amd64.go @@ -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) diff --git a/src/pkg/syscall/zsyscall_linux_arm.go b/src/pkg/syscall/zsyscall_linux_arm.go index d2ffe6907..7ad4e6ed0 100644 --- a/src/pkg/syscall/zsyscall_linux_arm.go +++ b/src/pkg/syscall/zsyscall_linux_arm.go @@ -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) diff --git a/src/pkg/syscall/ztypes_linux_arm.go b/src/pkg/syscall/ztypes_linux_arm.go index ffac446ae..0bf608f4d 100644 --- a/src/pkg/syscall/ztypes_linux_arm.go +++ b/src/pkg/syscall/ztypes_linux_arm.go @@ -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 |