mirror of
https://github.com/golang/go
synced 2024-11-23 19:50:06 -07:00
syscall: darwin/arm support
Change-Id: Id6f7fa12084204bc3a200f423c7966ce2a0b63a0 Reviewed-on: https://go-review.googlesource.com/2123 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
parent
a1457cac9c
commit
b64dedabea
134
src/syscall/asm_darwin_arm.s
Normal file
134
src/syscall/asm_darwin_arm.s
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
// Copyright 2014 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
#include "textflag.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// System call support for ARM, Darwin
|
||||||
|
//
|
||||||
|
|
||||||
|
// func Syscall(syscall uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr)
|
||||||
|
TEXT ·Syscall(SB),NOSPLIT,$0-32
|
||||||
|
BL runtime·entersyscall(SB)
|
||||||
|
MOVW 4(SP), R12
|
||||||
|
MOVW 8(SP), R0
|
||||||
|
MOVW 12(SP), R1
|
||||||
|
MOVW 16(SP), R2
|
||||||
|
SWI $0x80
|
||||||
|
BCC ok
|
||||||
|
MOVW $-1, R1
|
||||||
|
MOVW R1, 20(SP) // r1
|
||||||
|
MOVW $0, R2
|
||||||
|
MOVW R2, 24(SP) // r2
|
||||||
|
MOVW R0, 28(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
ok:
|
||||||
|
MOVW R0, 20(SP) // r1
|
||||||
|
MOVW R1, 24(SP) // r2
|
||||||
|
MOVW $0, R0
|
||||||
|
MOVW R0, 28(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
|
||||||
|
// func RawSyscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr)
|
||||||
|
TEXT ·RawSyscall(SB),NOSPLIT,$0-32
|
||||||
|
MOVW 4(SP), R12 // syscall entry
|
||||||
|
MOVW 8(SP), R0
|
||||||
|
MOVW 12(SP), R1
|
||||||
|
MOVW 16(SP), R2
|
||||||
|
SWI $0x80
|
||||||
|
BCC ok1
|
||||||
|
MOVW $-1, R1
|
||||||
|
MOVW R1, 20(SP) // r1
|
||||||
|
MOVW $0, R2
|
||||||
|
MOVW R2, 24(SP) // r2
|
||||||
|
MOVW R0, 28(SP) // errno
|
||||||
|
RET
|
||||||
|
ok1:
|
||||||
|
MOVW R0, 20(SP) // r1
|
||||||
|
MOVW R1, 24(SP) // r2
|
||||||
|
MOVW $0, R0
|
||||||
|
MOVW R0, 28(SP) // errno
|
||||||
|
RET
|
||||||
|
|
||||||
|
// func Syscall6(trap uintptr, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
|
||||||
|
TEXT ·Syscall6(SB),NOSPLIT,$0-44
|
||||||
|
BL runtime·entersyscall(SB)
|
||||||
|
MOVW 4(SP), R12 // syscall entry
|
||||||
|
MOVW 8(SP), R0
|
||||||
|
MOVW 12(SP), R1
|
||||||
|
MOVW 16(SP), R2
|
||||||
|
MOVW 20(SP), R3
|
||||||
|
MOVW 24(SP), R4
|
||||||
|
MOVW 28(SP), R5
|
||||||
|
SWI $0x80
|
||||||
|
BCC ok6
|
||||||
|
MOVW $-1, R1
|
||||||
|
MOVW R1, 32(SP) // r1
|
||||||
|
MOVW $0, R2
|
||||||
|
MOVW R2, 36(SP) // r2
|
||||||
|
MOVW R0, 40(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
ok6:
|
||||||
|
MOVW R0, 32(SP) // r1
|
||||||
|
MOVW R1, 36(SP) // r2
|
||||||
|
MOVW $0, R0
|
||||||
|
MOVW R0, 40(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
|
||||||
|
// func RawSyscall6(trap uintptr, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
|
||||||
|
TEXT ·RawSyscall6(SB),NOSPLIT,$0-44
|
||||||
|
MOVW 4(SP), R12 // syscall entry
|
||||||
|
MOVW 8(SP), R0
|
||||||
|
MOVW 12(SP), R1
|
||||||
|
MOVW 16(SP), R2
|
||||||
|
MOVW 20(SP), R3
|
||||||
|
MOVW 24(SP), R4
|
||||||
|
MOVW 28(SP), R5
|
||||||
|
SWI $0x80
|
||||||
|
BCC ok2
|
||||||
|
MOVW $-1, R1
|
||||||
|
MOVW R1, 32(SP) // r1
|
||||||
|
MOVW $0, R2
|
||||||
|
MOVW R2, 36(SP) // r2
|
||||||
|
MOVW R0, 40(SP) // errno
|
||||||
|
RET
|
||||||
|
ok2:
|
||||||
|
MOVW R0, 32(SP) // r1
|
||||||
|
MOVW R1, 36(SP) // r2
|
||||||
|
MOVW $0, R0
|
||||||
|
MOVW R0, 40(SP) // errno
|
||||||
|
RET
|
||||||
|
|
||||||
|
// Actually Syscall7.
|
||||||
|
TEXT ·Syscall9(SB),NOSPLIT,$0-56
|
||||||
|
BL runtime·entersyscall(SB)
|
||||||
|
MOVW 4(SP), R12 // syscall entry
|
||||||
|
MOVW 8(SP), R0
|
||||||
|
MOVW 12(SP), R1
|
||||||
|
MOVW 16(SP), R2
|
||||||
|
MOVW 20(SP), R3
|
||||||
|
MOVW 24(SP), R4
|
||||||
|
MOVW 28(SP), R5
|
||||||
|
MOVW 32(SP), R6
|
||||||
|
SWI $0x80
|
||||||
|
BCC ok9
|
||||||
|
MOVW $-1, R1
|
||||||
|
MOVW R1, 44(SP) // r1
|
||||||
|
MOVW $0, R2
|
||||||
|
MOVW R2, 48(SP) // r2
|
||||||
|
MOVW R0, 52(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
ok9:
|
||||||
|
MOVW R0, 44(SP) // r1
|
||||||
|
MOVW R1, 48(SP) // r2
|
||||||
|
MOVW $0, R0
|
||||||
|
MOVW R0, 52(SP) // errno
|
||||||
|
BL runtime·exitsyscall(SB)
|
||||||
|
RET
|
||||||
|
|
71
src/syscall/syscall_darwin_arm.go
Normal file
71
src/syscall/syscall_darwin_arm.go
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
// Copyright 2014 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package syscall
|
||||||
|
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
|
func Getpagesize() int { return 4096 }
|
||||||
|
|
||||||
|
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
|
||||||
|
|
||||||
|
func NsecToTimespec(nsec int64) (ts Timespec) {
|
||||||
|
ts.Sec = int32(nsec / 1e9)
|
||||||
|
ts.Nsec = int32(nsec % 1e9)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
|
||||||
|
|
||||||
|
func NsecToTimeval(nsec int64) (tv Timeval) {
|
||||||
|
nsec += 999 // round up to microsecond
|
||||||
|
tv.Usec = int32(nsec % 1e9 / 1e3)
|
||||||
|
tv.Sec = int32(nsec / 1e9)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error)
|
||||||
|
func Gettimeofday(tv *Timeval) (err error) {
|
||||||
|
// The tv passed to gettimeofday must be non-nil
|
||||||
|
// but is otherwise unused. The answers come back
|
||||||
|
// in the two registers.
|
||||||
|
sec, usec, err := gettimeofday(tv)
|
||||||
|
tv.Sec = int32(sec)
|
||||||
|
tv.Usec = int32(usec)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetKevent(k *Kevent_t, fd, mode, flags int) {
|
||||||
|
k.Ident = uint32(fd)
|
||||||
|
k.Filter = int16(mode)
|
||||||
|
k.Flags = uint16(flags)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (iov *Iovec) SetLen(length int) {
|
||||||
|
iov.Len = uint32(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (msghdr *Msghdr) SetControllen(length int) {
|
||||||
|
msghdr.Controllen = uint32(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cmsg *Cmsghdr) SetLen(length int) {
|
||||||
|
cmsg.Len = uint32(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
|
||||||
|
var length = uint64(count)
|
||||||
|
|
||||||
|
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
|
||||||
|
|
||||||
|
written = int(length)
|
||||||
|
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // sic
|
||||||
|
|
1349
src/syscall/zerrors_darwin_arm.go
Normal file
1349
src/syscall/zerrors_darwin_arm.go
Normal file
File diff suppressed because it is too large
Load Diff
1324
src/syscall/zsyscall_darwin_arm.go
Normal file
1324
src/syscall/zsyscall_darwin_arm.go
Normal file
File diff suppressed because it is too large
Load Diff
345
src/syscall/zsysnum_darwin_arm.go
Normal file
345
src/syscall/zsysnum_darwin_arm.go
Normal file
@ -0,0 +1,345 @@
|
|||||||
|
// mksysnum_darwin.pl /usr/include/sys/syscall.h
|
||||||
|
// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
|
||||||
|
|
||||||
|
package syscall
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_SYSCALL = 0
|
||||||
|
SYS_EXIT = 1
|
||||||
|
SYS_FORK = 2
|
||||||
|
SYS_READ = 3
|
||||||
|
SYS_WRITE = 4
|
||||||
|
SYS_OPEN = 5
|
||||||
|
SYS_CLOSE = 6
|
||||||
|
SYS_WAIT4 = 7
|
||||||
|
SYS_LINK = 9
|
||||||
|
SYS_UNLINK = 10
|
||||||
|
SYS_CHDIR = 12
|
||||||
|
SYS_FCHDIR = 13
|
||||||
|
SYS_MKNOD = 14
|
||||||
|
SYS_CHMOD = 15
|
||||||
|
SYS_CHOWN = 16
|
||||||
|
SYS_OBREAK = 17
|
||||||
|
SYS_OGETFSSTAT = 18
|
||||||
|
SYS_GETFSSTAT = 18
|
||||||
|
SYS_GETPID = 20
|
||||||
|
SYS_SETUID = 23
|
||||||
|
SYS_GETUID = 24
|
||||||
|
SYS_GETEUID = 25
|
||||||
|
SYS_PTRACE = 26
|
||||||
|
SYS_RECVMSG = 27
|
||||||
|
SYS_SENDMSG = 28
|
||||||
|
SYS_RECVFROM = 29
|
||||||
|
SYS_ACCEPT = 30
|
||||||
|
SYS_GETPEERNAME = 31
|
||||||
|
SYS_GETSOCKNAME = 32
|
||||||
|
SYS_ACCESS = 33
|
||||||
|
SYS_CHFLAGS = 34
|
||||||
|
SYS_FCHFLAGS = 35
|
||||||
|
SYS_SYNC = 36
|
||||||
|
SYS_KILL = 37
|
||||||
|
SYS_GETPPID = 39
|
||||||
|
SYS_DUP = 41
|
||||||
|
SYS_PIPE = 42
|
||||||
|
SYS_GETEGID = 43
|
||||||
|
SYS_PROFIL = 44
|
||||||
|
SYS_SIGACTION = 46
|
||||||
|
SYS_GETGID = 47
|
||||||
|
SYS_SIGPROCMASK = 48
|
||||||
|
SYS_GETLOGIN = 49
|
||||||
|
SYS_SETLOGIN = 50
|
||||||
|
SYS_ACCT = 51
|
||||||
|
SYS_SIGPENDING = 52
|
||||||
|
SYS_SIGALTSTACK = 53
|
||||||
|
SYS_IOCTL = 54
|
||||||
|
SYS_REBOOT = 55
|
||||||
|
SYS_REVOKE = 56
|
||||||
|
SYS_SYMLINK = 57
|
||||||
|
SYS_READLINK = 58
|
||||||
|
SYS_EXECVE = 59
|
||||||
|
SYS_UMASK = 60
|
||||||
|
SYS_CHROOT = 61
|
||||||
|
SYS_MSYNC = 65
|
||||||
|
SYS_VFORK = 66
|
||||||
|
SYS_SBRK = 69
|
||||||
|
SYS_SSTK = 70
|
||||||
|
SYS_OVADVISE = 72
|
||||||
|
SYS_MUNMAP = 73
|
||||||
|
SYS_MPROTECT = 74
|
||||||
|
SYS_MADVISE = 75
|
||||||
|
SYS_MINCORE = 78
|
||||||
|
SYS_GETGROUPS = 79
|
||||||
|
SYS_SETGROUPS = 80
|
||||||
|
SYS_GETPGRP = 81
|
||||||
|
SYS_SETPGID = 82
|
||||||
|
SYS_SETITIMER = 83
|
||||||
|
SYS_SWAPON = 85
|
||||||
|
SYS_GETITIMER = 86
|
||||||
|
SYS_GETDTABLESIZE = 89
|
||||||
|
SYS_DUP2 = 90
|
||||||
|
SYS_FCNTL = 92
|
||||||
|
SYS_SELECT = 93
|
||||||
|
SYS_FSYNC = 95
|
||||||
|
SYS_SETPRIORITY = 96
|
||||||
|
SYS_SOCKET = 97
|
||||||
|
SYS_CONNECT = 98
|
||||||
|
SYS_GETPRIORITY = 100
|
||||||
|
SYS_BIND = 104
|
||||||
|
SYS_SETSOCKOPT = 105
|
||||||
|
SYS_LISTEN = 106
|
||||||
|
SYS_SIGSUSPEND = 111
|
||||||
|
SYS_GETTIMEOFDAY = 116
|
||||||
|
SYS_GETRUSAGE = 117
|
||||||
|
SYS_GETSOCKOPT = 118
|
||||||
|
SYS_READV = 120
|
||||||
|
SYS_WRITEV = 121
|
||||||
|
SYS_SETTIMEOFDAY = 122
|
||||||
|
SYS_FCHOWN = 123
|
||||||
|
SYS_FCHMOD = 124
|
||||||
|
SYS_SETREUID = 126
|
||||||
|
SYS_SETREGID = 127
|
||||||
|
SYS_RENAME = 128
|
||||||
|
SYS_FLOCK = 131
|
||||||
|
SYS_MKFIFO = 132
|
||||||
|
SYS_SENDTO = 133
|
||||||
|
SYS_SHUTDOWN = 134
|
||||||
|
SYS_SOCKETPAIR = 135
|
||||||
|
SYS_MKDIR = 136
|
||||||
|
SYS_RMDIR = 137
|
||||||
|
SYS_UTIMES = 138
|
||||||
|
SYS_FUTIMES = 139
|
||||||
|
SYS_ADJTIME = 140
|
||||||
|
SYS_GETHOSTUUID = 142
|
||||||
|
SYS_SETSID = 147
|
||||||
|
SYS_GETPGID = 151
|
||||||
|
SYS_SETPRIVEXEC = 152
|
||||||
|
SYS_PREAD = 153
|
||||||
|
SYS_PWRITE = 154
|
||||||
|
SYS_NFSSVC = 155
|
||||||
|
SYS_STATFS = 157
|
||||||
|
SYS_FSTATFS = 158
|
||||||
|
SYS_UNMOUNT = 159
|
||||||
|
SYS_GETFH = 161
|
||||||
|
SYS_QUOTACTL = 165
|
||||||
|
SYS_MOUNT = 167
|
||||||
|
SYS_CSOPS = 169
|
||||||
|
SYS_TABLE = 170
|
||||||
|
SYS_WAITID = 173
|
||||||
|
SYS_ADD_PROFIL = 176
|
||||||
|
SYS_KDEBUG_TRACE = 180
|
||||||
|
SYS_SETGID = 181
|
||||||
|
SYS_SETEGID = 182
|
||||||
|
SYS_SETEUID = 183
|
||||||
|
SYS_SIGRETURN = 184
|
||||||
|
SYS_CHUD = 185
|
||||||
|
SYS_STAT = 188
|
||||||
|
SYS_FSTAT = 189
|
||||||
|
SYS_LSTAT = 190
|
||||||
|
SYS_PATHCONF = 191
|
||||||
|
SYS_FPATHCONF = 192
|
||||||
|
SYS_GETRLIMIT = 194
|
||||||
|
SYS_SETRLIMIT = 195
|
||||||
|
SYS_GETDIRENTRIES = 196
|
||||||
|
SYS_MMAP = 197
|
||||||
|
SYS_LSEEK = 199
|
||||||
|
SYS_TRUNCATE = 200
|
||||||
|
SYS_FTRUNCATE = 201
|
||||||
|
SYS___SYSCTL = 202
|
||||||
|
SYS_MLOCK = 203
|
||||||
|
SYS_MUNLOCK = 204
|
||||||
|
SYS_UNDELETE = 205
|
||||||
|
SYS_ATSOCKET = 206
|
||||||
|
SYS_ATGETMSG = 207
|
||||||
|
SYS_ATPUTMSG = 208
|
||||||
|
SYS_ATPSNDREQ = 209
|
||||||
|
SYS_ATPSNDRSP = 210
|
||||||
|
SYS_ATPGETREQ = 211
|
||||||
|
SYS_ATPGETRSP = 212
|
||||||
|
SYS_KQUEUE_FROM_PORTSET_NP = 214
|
||||||
|
SYS_KQUEUE_PORTSET_NP = 215
|
||||||
|
SYS_MKCOMPLEX = 216
|
||||||
|
SYS_STATV = 217
|
||||||
|
SYS_LSTATV = 218
|
||||||
|
SYS_FSTATV = 219
|
||||||
|
SYS_GETATTRLIST = 220
|
||||||
|
SYS_SETATTRLIST = 221
|
||||||
|
SYS_GETDIRENTRIESATTR = 222
|
||||||
|
SYS_EXCHANGEDATA = 223
|
||||||
|
SYS_SEARCHFS = 225
|
||||||
|
SYS_DELETE = 226
|
||||||
|
SYS_COPYFILE = 227
|
||||||
|
SYS_POLL = 230
|
||||||
|
SYS_WATCHEVENT = 231
|
||||||
|
SYS_WAITEVENT = 232
|
||||||
|
SYS_MODWATCH = 233
|
||||||
|
SYS_GETXATTR = 234
|
||||||
|
SYS_FGETXATTR = 235
|
||||||
|
SYS_SETXATTR = 236
|
||||||
|
SYS_FSETXATTR = 237
|
||||||
|
SYS_REMOVEXATTR = 238
|
||||||
|
SYS_FREMOVEXATTR = 239
|
||||||
|
SYS_LISTXATTR = 240
|
||||||
|
SYS_FLISTXATTR = 241
|
||||||
|
SYS_FSCTL = 242
|
||||||
|
SYS_INITGROUPS = 243
|
||||||
|
SYS_POSIX_SPAWN = 244
|
||||||
|
SYS_NFSCLNT = 247
|
||||||
|
SYS_FHOPEN = 248
|
||||||
|
SYS_MINHERIT = 250
|
||||||
|
SYS_SEMSYS = 251
|
||||||
|
SYS_MSGSYS = 252
|
||||||
|
SYS_SHMSYS = 253
|
||||||
|
SYS_SEMCTL = 254
|
||||||
|
SYS_SEMGET = 255
|
||||||
|
SYS_SEMOP = 256
|
||||||
|
SYS_MSGCTL = 258
|
||||||
|
SYS_MSGGET = 259
|
||||||
|
SYS_MSGSND = 260
|
||||||
|
SYS_MSGRCV = 261
|
||||||
|
SYS_SHMAT = 262
|
||||||
|
SYS_SHMCTL = 263
|
||||||
|
SYS_SHMDT = 264
|
||||||
|
SYS_SHMGET = 265
|
||||||
|
SYS_SHM_OPEN = 266
|
||||||
|
SYS_SHM_UNLINK = 267
|
||||||
|
SYS_SEM_OPEN = 268
|
||||||
|
SYS_SEM_CLOSE = 269
|
||||||
|
SYS_SEM_UNLINK = 270
|
||||||
|
SYS_SEM_WAIT = 271
|
||||||
|
SYS_SEM_TRYWAIT = 272
|
||||||
|
SYS_SEM_POST = 273
|
||||||
|
SYS_SEM_GETVALUE = 274
|
||||||
|
SYS_SEM_INIT = 275
|
||||||
|
SYS_SEM_DESTROY = 276
|
||||||
|
SYS_OPEN_EXTENDED = 277
|
||||||
|
SYS_UMASK_EXTENDED = 278
|
||||||
|
SYS_STAT_EXTENDED = 279
|
||||||
|
SYS_LSTAT_EXTENDED = 280
|
||||||
|
SYS_FSTAT_EXTENDED = 281
|
||||||
|
SYS_CHMOD_EXTENDED = 282
|
||||||
|
SYS_FCHMOD_EXTENDED = 283
|
||||||
|
SYS_ACCESS_EXTENDED = 284
|
||||||
|
SYS_SETTID = 285
|
||||||
|
SYS_GETTID = 286
|
||||||
|
SYS_SETSGROUPS = 287
|
||||||
|
SYS_GETSGROUPS = 288
|
||||||
|
SYS_SETWGROUPS = 289
|
||||||
|
SYS_GETWGROUPS = 290
|
||||||
|
SYS_MKFIFO_EXTENDED = 291
|
||||||
|
SYS_MKDIR_EXTENDED = 292
|
||||||
|
SYS_IDENTITYSVC = 293
|
||||||
|
SYS_SHARED_REGION_CHECK_NP = 294
|
||||||
|
SYS_SHARED_REGION_MAP_NP = 295
|
||||||
|
SYS___PTHREAD_MUTEX_DESTROY = 301
|
||||||
|
SYS___PTHREAD_MUTEX_INIT = 302
|
||||||
|
SYS___PTHREAD_MUTEX_LOCK = 303
|
||||||
|
SYS___PTHREAD_MUTEX_TRYLOCK = 304
|
||||||
|
SYS___PTHREAD_MUTEX_UNLOCK = 305
|
||||||
|
SYS___PTHREAD_COND_INIT = 306
|
||||||
|
SYS___PTHREAD_COND_DESTROY = 307
|
||||||
|
SYS___PTHREAD_COND_BROADCAST = 308
|
||||||
|
SYS___PTHREAD_COND_SIGNAL = 309
|
||||||
|
SYS_GETSID = 310
|
||||||
|
SYS_SETTID_WITH_PID = 311
|
||||||
|
SYS___PTHREAD_COND_TIMEDWAIT = 312
|
||||||
|
SYS_AIO_FSYNC = 313
|
||||||
|
SYS_AIO_RETURN = 314
|
||||||
|
SYS_AIO_SUSPEND = 315
|
||||||
|
SYS_AIO_CANCEL = 316
|
||||||
|
SYS_AIO_ERROR = 317
|
||||||
|
SYS_AIO_READ = 318
|
||||||
|
SYS_AIO_WRITE = 319
|
||||||
|
SYS_LIO_LISTIO = 320
|
||||||
|
SYS___PTHREAD_COND_WAIT = 321
|
||||||
|
SYS_IOPOLICYSYS = 322
|
||||||
|
SYS_MLOCKALL = 324
|
||||||
|
SYS_MUNLOCKALL = 325
|
||||||
|
SYS_ISSETUGID = 327
|
||||||
|
SYS___PTHREAD_KILL = 328
|
||||||
|
SYS___PTHREAD_SIGMASK = 329
|
||||||
|
SYS___SIGWAIT = 330
|
||||||
|
SYS___DISABLE_THREADSIGNAL = 331
|
||||||
|
SYS___PTHREAD_MARKCANCEL = 332
|
||||||
|
SYS___PTHREAD_CANCELED = 333
|
||||||
|
SYS___SEMWAIT_SIGNAL = 334
|
||||||
|
SYS_PROC_INFO = 336
|
||||||
|
SYS_SENDFILE = 337
|
||||||
|
SYS_STAT64 = 338
|
||||||
|
SYS_FSTAT64 = 339
|
||||||
|
SYS_LSTAT64 = 340
|
||||||
|
SYS_STAT64_EXTENDED = 341
|
||||||
|
SYS_LSTAT64_EXTENDED = 342
|
||||||
|
SYS_FSTAT64_EXTENDED = 343
|
||||||
|
SYS_GETDIRENTRIES64 = 344
|
||||||
|
SYS_STATFS64 = 345
|
||||||
|
SYS_FSTATFS64 = 346
|
||||||
|
SYS_GETFSSTAT64 = 347
|
||||||
|
SYS___PTHREAD_CHDIR = 348
|
||||||
|
SYS___PTHREAD_FCHDIR = 349
|
||||||
|
SYS_AUDIT = 350
|
||||||
|
SYS_AUDITON = 351
|
||||||
|
SYS_GETAUID = 353
|
||||||
|
SYS_SETAUID = 354
|
||||||
|
SYS_GETAUDIT = 355
|
||||||
|
SYS_SETAUDIT = 356
|
||||||
|
SYS_GETAUDIT_ADDR = 357
|
||||||
|
SYS_SETAUDIT_ADDR = 358
|
||||||
|
SYS_AUDITCTL = 359
|
||||||
|
SYS_BSDTHREAD_CREATE = 360
|
||||||
|
SYS_BSDTHREAD_TERMINATE = 361
|
||||||
|
SYS_KQUEUE = 362
|
||||||
|
SYS_KEVENT = 363
|
||||||
|
SYS_LCHOWN = 364
|
||||||
|
SYS_STACK_SNAPSHOT = 365
|
||||||
|
SYS_BSDTHREAD_REGISTER = 366
|
||||||
|
SYS_WORKQ_OPEN = 367
|
||||||
|
SYS_WORKQ_OPS = 368
|
||||||
|
SYS___MAC_EXECVE = 380
|
||||||
|
SYS___MAC_SYSCALL = 381
|
||||||
|
SYS___MAC_GET_FILE = 382
|
||||||
|
SYS___MAC_SET_FILE = 383
|
||||||
|
SYS___MAC_GET_LINK = 384
|
||||||
|
SYS___MAC_SET_LINK = 385
|
||||||
|
SYS___MAC_GET_PROC = 386
|
||||||
|
SYS___MAC_SET_PROC = 387
|
||||||
|
SYS___MAC_GET_FD = 388
|
||||||
|
SYS___MAC_SET_FD = 389
|
||||||
|
SYS___MAC_GET_PID = 390
|
||||||
|
SYS___MAC_GET_LCID = 391
|
||||||
|
SYS___MAC_GET_LCTX = 392
|
||||||
|
SYS___MAC_SET_LCTX = 393
|
||||||
|
SYS_SETLCID = 394
|
||||||
|
SYS_GETLCID = 395
|
||||||
|
SYS_READ_NOCANCEL = 396
|
||||||
|
SYS_WRITE_NOCANCEL = 397
|
||||||
|
SYS_OPEN_NOCANCEL = 398
|
||||||
|
SYS_CLOSE_NOCANCEL = 399
|
||||||
|
SYS_WAIT4_NOCANCEL = 400
|
||||||
|
SYS_RECVMSG_NOCANCEL = 401
|
||||||
|
SYS_SENDMSG_NOCANCEL = 402
|
||||||
|
SYS_RECVFROM_NOCANCEL = 403
|
||||||
|
SYS_ACCEPT_NOCANCEL = 404
|
||||||
|
SYS_MSYNC_NOCANCEL = 405
|
||||||
|
SYS_FCNTL_NOCANCEL = 406
|
||||||
|
SYS_SELECT_NOCANCEL = 407
|
||||||
|
SYS_FSYNC_NOCANCEL = 408
|
||||||
|
SYS_CONNECT_NOCANCEL = 409
|
||||||
|
SYS_SIGSUSPEND_NOCANCEL = 410
|
||||||
|
SYS_READV_NOCANCEL = 411
|
||||||
|
SYS_WRITEV_NOCANCEL = 412
|
||||||
|
SYS_SENDTO_NOCANCEL = 413
|
||||||
|
SYS_PREAD_NOCANCEL = 414
|
||||||
|
SYS_PWRITE_NOCANCEL = 415
|
||||||
|
SYS_WAITID_NOCANCEL = 416
|
||||||
|
SYS_POLL_NOCANCEL = 417
|
||||||
|
SYS_MSGSND_NOCANCEL = 418
|
||||||
|
SYS_MSGRCV_NOCANCEL = 419
|
||||||
|
SYS_SEM_WAIT_NOCANCEL = 420
|
||||||
|
SYS_AIO_SUSPEND_NOCANCEL = 421
|
||||||
|
SYS___SIGWAIT_NOCANCEL = 422
|
||||||
|
SYS___SEMWAIT_SIGNAL_NOCANCEL = 423
|
||||||
|
SYS___MAC_MOUNT = 424
|
||||||
|
SYS___MAC_GET_MOUNT = 425
|
||||||
|
SYS___MAC_GETFSSTAT = 426
|
||||||
|
SYS_MAXSYSCALL = 427
|
||||||
|
)
|
447
src/syscall/ztypes_darwin_arm.go
Normal file
447
src/syscall/ztypes_darwin_arm.go
Normal file
@ -0,0 +1,447 @@
|
|||||||
|
// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types_darwin.go
|
||||||
|
|
||||||
|
package syscall
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = 0x4
|
||||||
|
sizeofShort = 0x2
|
||||||
|
sizeofInt = 0x4
|
||||||
|
sizeofLong = 0x4
|
||||||
|
sizeofLongLong = 0x8
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short int16
|
||||||
|
_C_int int32
|
||||||
|
_C_long int32
|
||||||
|
_C_long_long int64
|
||||||
|
)
|
||||||
|
|
||||||
|
type Timespec struct {
|
||||||
|
Sec int32
|
||||||
|
Nsec int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Timeval struct {
|
||||||
|
Sec int32
|
||||||
|
Usec int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Timeval32 [0]byte
|
||||||
|
|
||||||
|
type Rusage struct {
|
||||||
|
Utime Timeval
|
||||||
|
Stime Timeval
|
||||||
|
Maxrss int32
|
||||||
|
Ixrss int32
|
||||||
|
Idrss int32
|
||||||
|
Isrss int32
|
||||||
|
Minflt int32
|
||||||
|
Majflt int32
|
||||||
|
Nswap int32
|
||||||
|
Inblock int32
|
||||||
|
Oublock int32
|
||||||
|
Msgsnd int32
|
||||||
|
Msgrcv int32
|
||||||
|
Nsignals int32
|
||||||
|
Nvcsw int32
|
||||||
|
Nivcsw int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Rlimit struct {
|
||||||
|
Cur uint64
|
||||||
|
Max uint64
|
||||||
|
}
|
||||||
|
|
||||||
|
type _Gid_t uint32
|
||||||
|
|
||||||
|
type Stat_t struct {
|
||||||
|
Dev int32
|
||||||
|
Mode uint16
|
||||||
|
Nlink uint16
|
||||||
|
Ino uint64
|
||||||
|
Uid uint32
|
||||||
|
Gid uint32
|
||||||
|
Rdev int32
|
||||||
|
Atimespec Timespec
|
||||||
|
Mtimespec Timespec
|
||||||
|
Ctimespec Timespec
|
||||||
|
Birthtimespec Timespec
|
||||||
|
Size int64
|
||||||
|
Blocks int64
|
||||||
|
Blksize int32
|
||||||
|
Flags uint32
|
||||||
|
Gen uint32
|
||||||
|
Lspare int32
|
||||||
|
Qspare [2]int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type Statfs_t struct {
|
||||||
|
Bsize uint32
|
||||||
|
Iosize int32
|
||||||
|
Blocks uint64
|
||||||
|
Bfree uint64
|
||||||
|
Bavail uint64
|
||||||
|
Files uint64
|
||||||
|
Ffree uint64
|
||||||
|
Fsid Fsid
|
||||||
|
Owner uint32
|
||||||
|
Type uint32
|
||||||
|
Flags uint32
|
||||||
|
Fssubtype uint32
|
||||||
|
Fstypename [16]int8
|
||||||
|
Mntonname [1024]int8
|
||||||
|
Mntfromname [1024]int8
|
||||||
|
Reserved [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Flock_t struct {
|
||||||
|
Start int64
|
||||||
|
Len int64
|
||||||
|
Pid int32
|
||||||
|
Type int16
|
||||||
|
Whence int16
|
||||||
|
}
|
||||||
|
|
||||||
|
type Fstore_t struct {
|
||||||
|
Flags uint32
|
||||||
|
Posmode int32
|
||||||
|
Offset int64
|
||||||
|
Length int64
|
||||||
|
Bytesalloc int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type Radvisory_t struct {
|
||||||
|
Offset int64
|
||||||
|
Count int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Fbootstraptransfer_t struct {
|
||||||
|
Offset int64
|
||||||
|
Length uint32
|
||||||
|
Buffer *byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type Log2phys_t struct {
|
||||||
|
Flags uint32
|
||||||
|
Contigbytes int64
|
||||||
|
Devoffset int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type Fsid struct {
|
||||||
|
Val [2]int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Dirent struct {
|
||||||
|
Ino uint64
|
||||||
|
Seekoff uint64
|
||||||
|
Reclen uint16
|
||||||
|
Namlen uint16
|
||||||
|
Type uint8
|
||||||
|
Name [1024]int8
|
||||||
|
Pad_cgo_0 [3]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddrInet4 struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Addr [4]byte /* in_addr */
|
||||||
|
Zero [8]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddrInet6 struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Flowinfo uint32
|
||||||
|
Addr [16]byte /* in6_addr */
|
||||||
|
Scope_id uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddrUnix struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Path [104]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddrDatalink struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Index uint16
|
||||||
|
Type uint8
|
||||||
|
Nlen uint8
|
||||||
|
Alen uint8
|
||||||
|
Slen uint8
|
||||||
|
Data [12]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddr struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Data [14]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
type RawSockaddrAny struct {
|
||||||
|
Addr RawSockaddr
|
||||||
|
Pad [92]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
type _Socklen uint32
|
||||||
|
|
||||||
|
type Linger struct {
|
||||||
|
Onoff int32
|
||||||
|
Linger int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Iovec struct {
|
||||||
|
Base *byte
|
||||||
|
Len uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IPMreq struct {
|
||||||
|
Multiaddr [4]byte /* in_addr */
|
||||||
|
Interface [4]byte /* in_addr */
|
||||||
|
}
|
||||||
|
|
||||||
|
type IPv6Mreq struct {
|
||||||
|
Multiaddr [16]byte /* in6_addr */
|
||||||
|
Interface uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Msghdr struct {
|
||||||
|
Name *byte
|
||||||
|
Namelen uint32
|
||||||
|
Iov *Iovec
|
||||||
|
Iovlen int32
|
||||||
|
Control *byte
|
||||||
|
Controllen uint32
|
||||||
|
Flags int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Cmsghdr struct {
|
||||||
|
Len uint32
|
||||||
|
Level int32
|
||||||
|
Type int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type Inet4Pktinfo struct {
|
||||||
|
Ifindex uint32
|
||||||
|
Spec_dst [4]byte /* in_addr */
|
||||||
|
Addr [4]byte /* in_addr */
|
||||||
|
}
|
||||||
|
|
||||||
|
type Inet6Pktinfo struct {
|
||||||
|
Addr [16]byte /* in6_addr */
|
||||||
|
Ifindex uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofSockaddrInet4 = 0x10
|
||||||
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
SizeofSockaddrAny = 0x6c
|
||||||
|
SizeofSockaddrUnix = 0x6a
|
||||||
|
SizeofSockaddrDatalink = 0x14
|
||||||
|
SizeofLinger = 0x8
|
||||||
|
SizeofIPMreq = 0x8
|
||||||
|
SizeofIPv6Mreq = 0x14
|
||||||
|
SizeofMsghdr = 0x1c
|
||||||
|
SizeofCmsghdr = 0xc
|
||||||
|
SizeofInet4Pktinfo = 0xc
|
||||||
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PTRACE_TRACEME = 0x0
|
||||||
|
PTRACE_CONT = 0x7
|
||||||
|
PTRACE_KILL = 0x8
|
||||||
|
)
|
||||||
|
|
||||||
|
type Kevent_t struct {
|
||||||
|
Ident uint32
|
||||||
|
Filter int16
|
||||||
|
Flags uint16
|
||||||
|
Fflags uint32
|
||||||
|
Data int32
|
||||||
|
Udata *byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type FdSet struct {
|
||||||
|
Bits [32]int32
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofIfMsghdr = 0x70
|
||||||
|
SizeofIfData = 0x60
|
||||||
|
SizeofIfaMsghdr = 0x14
|
||||||
|
SizeofIfmaMsghdr = 0x10
|
||||||
|
SizeofIfmaMsghdr2 = 0x14
|
||||||
|
SizeofRtMsghdr = 0x5c
|
||||||
|
SizeofRtMetrics = 0x38
|
||||||
|
)
|
||||||
|
|
||||||
|
type IfMsghdr struct {
|
||||||
|
Msglen uint16
|
||||||
|
Version uint8
|
||||||
|
Type uint8
|
||||||
|
Addrs int32
|
||||||
|
Flags int32
|
||||||
|
Index uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
Data IfData
|
||||||
|
}
|
||||||
|
|
||||||
|
type IfData struct {
|
||||||
|
Type uint8
|
||||||
|
Typelen uint8
|
||||||
|
Physical uint8
|
||||||
|
Addrlen uint8
|
||||||
|
Hdrlen uint8
|
||||||
|
Recvquota uint8
|
||||||
|
Xmitquota uint8
|
||||||
|
Unused1 uint8
|
||||||
|
Mtu uint32
|
||||||
|
Metric uint32
|
||||||
|
Baudrate uint32
|
||||||
|
Ipackets uint32
|
||||||
|
Ierrors uint32
|
||||||
|
Opackets uint32
|
||||||
|
Oerrors uint32
|
||||||
|
Collisions uint32
|
||||||
|
Ibytes uint32
|
||||||
|
Obytes uint32
|
||||||
|
Imcasts uint32
|
||||||
|
Omcasts uint32
|
||||||
|
Iqdrops uint32
|
||||||
|
Noproto uint32
|
||||||
|
Recvtiming uint32
|
||||||
|
Xmittiming uint32
|
||||||
|
Lastchange Timeval
|
||||||
|
Unused2 uint32
|
||||||
|
Hwassist uint32
|
||||||
|
Reserved1 uint32
|
||||||
|
Reserved2 uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IfaMsghdr struct {
|
||||||
|
Msglen uint16
|
||||||
|
Version uint8
|
||||||
|
Type uint8
|
||||||
|
Addrs int32
|
||||||
|
Flags int32
|
||||||
|
Index uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
Metric int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IfmaMsghdr struct {
|
||||||
|
Msglen uint16
|
||||||
|
Version uint8
|
||||||
|
Type uint8
|
||||||
|
Addrs int32
|
||||||
|
Flags int32
|
||||||
|
Index uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type IfmaMsghdr2 struct {
|
||||||
|
Msglen uint16
|
||||||
|
Version uint8
|
||||||
|
Type uint8
|
||||||
|
Addrs int32
|
||||||
|
Flags int32
|
||||||
|
Index uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
Refcount int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type RtMsghdr struct {
|
||||||
|
Msglen uint16
|
||||||
|
Version uint8
|
||||||
|
Type uint8
|
||||||
|
Index uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
Flags int32
|
||||||
|
Addrs int32
|
||||||
|
Pid int32
|
||||||
|
Seq int32
|
||||||
|
Errno int32
|
||||||
|
Use int32
|
||||||
|
Inits uint32
|
||||||
|
Rmx RtMetrics
|
||||||
|
}
|
||||||
|
|
||||||
|
type RtMetrics struct {
|
||||||
|
Locks uint32
|
||||||
|
Mtu uint32
|
||||||
|
Hopcount uint32
|
||||||
|
Expire int32
|
||||||
|
Recvpipe uint32
|
||||||
|
Sendpipe uint32
|
||||||
|
Ssthresh uint32
|
||||||
|
Rtt uint32
|
||||||
|
Rttvar uint32
|
||||||
|
Pksent uint32
|
||||||
|
Filler [4]uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofBpfVersion = 0x4
|
||||||
|
SizeofBpfStat = 0x8
|
||||||
|
SizeofBpfProgram = 0x8
|
||||||
|
SizeofBpfInsn = 0x8
|
||||||
|
SizeofBpfHdr = 0x14
|
||||||
|
)
|
||||||
|
|
||||||
|
type BpfVersion struct {
|
||||||
|
Major uint16
|
||||||
|
Minor uint16
|
||||||
|
}
|
||||||
|
|
||||||
|
type BpfStat struct {
|
||||||
|
Recv uint32
|
||||||
|
Drop uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type BpfProgram struct {
|
||||||
|
Len uint32
|
||||||
|
Insns *BpfInsn
|
||||||
|
}
|
||||||
|
|
||||||
|
type BpfInsn struct {
|
||||||
|
Code uint16
|
||||||
|
Jt uint8
|
||||||
|
Jf uint8
|
||||||
|
K uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type BpfHdr struct {
|
||||||
|
Tstamp Timeval
|
||||||
|
Caplen uint32
|
||||||
|
Datalen uint32
|
||||||
|
Hdrlen uint16
|
||||||
|
Pad_cgo_0 [2]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type Termios struct {
|
||||||
|
Iflag uint32
|
||||||
|
Oflag uint32
|
||||||
|
Cflag uint32
|
||||||
|
Lflag uint32
|
||||||
|
Cc [20]uint8
|
||||||
|
Ispeed uint32
|
||||||
|
Ospeed uint32
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user