mirror of https://github.com/golang/go.git
syscall: darwin/arm64 support
Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f04 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8783 Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
parent
e6d5233cfe
commit
e2cb9beb90
|
|
@ -0,0 +1,127 @@
|
|||
// Copyright 2015 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 ARM64, Darwin
|
||||
//
|
||||
|
||||
// func Syscall(syscall uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr)
|
||||
TEXT ·Syscall(SB),NOSPLIT,$0-56
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVD syscall+0(FP), R16
|
||||
MOVD a1+8(FP), R0
|
||||
MOVD a2+16(FP), R1
|
||||
MOVD a3+24(FP), R2
|
||||
SVC $0x80
|
||||
BCC ok
|
||||
MOVD $-1, R1
|
||||
MOVD R1, r1+32(FP) // r1
|
||||
MOVD ZR, r2+40(FP) // r2
|
||||
MOVD R0, errno+48(FP) // errno
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok:
|
||||
MOVD R0, r1+32(FP) // r1
|
||||
MOVD R1, r2+40(FP) // r2
|
||||
MOVD ZR, errno+48(FP) // errno
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
// func RawSyscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr)
|
||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
|
||||
MOVD syscall+0(FP), R16 // syscall entry
|
||||
MOVD a1+8(FP), R0
|
||||
MOVD a2+16(FP), R1
|
||||
MOVD a3+24(FP), R2
|
||||
SVC $0x80
|
||||
BCC ok
|
||||
MOVD $-1, R1
|
||||
MOVD R1, r1+32(FP) // r1
|
||||
MOVD ZR, r2+40(FP) // r2
|
||||
MOVD R0, errno+48(FP) // errno
|
||||
RET
|
||||
ok:
|
||||
MOVD R0, r1+32(FP) // r1
|
||||
MOVD R1, r2+40(FP) // r2
|
||||
MOVD ZR, errno+48(FP) // errno
|
||||
RET
|
||||
|
||||
// func Syscall6(trap uintptr, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
|
||||
TEXT ·Syscall6(SB),NOSPLIT,$0-80
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVD syscall+0(FP), R16 // syscall entry
|
||||
MOVD a1+8(FP), R0
|
||||
MOVD a2+16(FP), R1
|
||||
MOVD a3+24(FP), R2
|
||||
MOVD a4+32(FP), R3
|
||||
MOVD a5+40(FP), R4
|
||||
MOVD a6+48(FP), R5
|
||||
SVC $0x80
|
||||
BCC ok
|
||||
MOVD $-1, R1
|
||||
MOVD R1, r1+56(FP) // r1
|
||||
MOVD ZR, r2+64(FP) // r2
|
||||
MOVD R0, errno+72(FP) // errno
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok:
|
||||
MOVD R0, r1+56(FP) // r1
|
||||
MOVD R1, r2+64(FP) // r2
|
||||
MOVD ZR, errno+72(FP) // 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-80
|
||||
MOVD trap+0(FP), R16 // syscall entry
|
||||
MOVD a1+8(FP), R0
|
||||
MOVD a2+16(FP), R1
|
||||
MOVD a3+24(FP), R2
|
||||
MOVD a4+32(FP), R3
|
||||
MOVD a5+40(FP), R4
|
||||
MOVD a6+48(FP), R5
|
||||
SVC $0x80
|
||||
BCC ok
|
||||
MOVD $-1, R1
|
||||
MOVD R1, r1+56(FP) // r1
|
||||
MOVD ZR, r2+64(FP) // r2
|
||||
MOVD R0, errno+72(FP) // errno
|
||||
RET
|
||||
ok:
|
||||
MOVD R0, r1+56(FP) // r1
|
||||
MOVD R1, r2+64(FP) // r2
|
||||
MOVD ZR, R0
|
||||
MOVD R0, errno+72(FP) // errno
|
||||
RET
|
||||
|
||||
// Actually Syscall7
|
||||
TEXT ·Syscall9(SB),NOSPLIT,$0-104
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVD syscall+0(FP), R16 // syscall entry
|
||||
MOVD a1+8(FP), R0
|
||||
MOVD a2+16(FP), R1
|
||||
MOVD a3+24(FP), R2
|
||||
MOVD a4+32(FP), R3
|
||||
MOVD a5+40(FP), R4
|
||||
MOVD a6+48(FP), R5
|
||||
MOVD a7+56(FP), R6
|
||||
//MOVD a8+64(FP), R7
|
||||
//MOVD a9+72(FP), R8
|
||||
SVC $0x80
|
||||
BCC ok
|
||||
MOVD $-1, R1
|
||||
MOVD R1, r1+80(FP) // r1
|
||||
MOVD ZR, r2+88(FP) // r2
|
||||
MOVD R0, errno+96(FP) // errno
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok:
|
||||
MOVD R0, r1+80(FP) // r1
|
||||
MOVD R1, r2+88(FP) // r2
|
||||
MOVD ZR, errno+96(FP) // errno
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
|
|
@ -124,6 +124,11 @@ darwin_amd64)
|
|||
mksysnum="./mksysnum_darwin.pl /usr/include/sys/syscall.h"
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||
;;
|
||||
darwin_arm64)
|
||||
mkerrors="$mkerrors -m64"
|
||||
mksysnum="./mksysnum_darwin.pl /usr/include/sys/syscall.h"
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||
;;
|
||||
dragonfly_386)
|
||||
mkerrors="$mkerrors -m32"
|
||||
mksyscall="./mksyscall.pl -l32 -dragonfly"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
// Copyright 2015 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 16384 }
|
||||
|
||||
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
|
||||
|
||||
func NsecToTimespec(nsec int64) (ts Timespec) {
|
||||
ts.Sec = nsec / 1e9
|
||||
ts.Nsec = 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 = int64(nsec / 1e9)
|
||||
return
|
||||
}
|
||||
|
||||
//sysnb gettimeofday(tp *Timeval) (sec int64, 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 = sec
|
||||
tv.Usec = usec
|
||||
return err
|
||||
}
|
||||
|
||||
func SetKevent(k *Kevent_t, fd, mode, flags int) {
|
||||
k.Ident = uint64(fd)
|
||||
k.Filter = int16(mode)
|
||||
k.Flags = uint16(flags)
|
||||
}
|
||||
|
||||
func (iov *Iovec) SetLen(length int) {
|
||||
iov.Len = uint64(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 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,356 @@
|
|||
// 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_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_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_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_CSOPS_AUDITTOKEN = 170
|
||||
SYS_WAITID = 173
|
||||
SYS_KDEBUG_TRACE = 180
|
||||
SYS_SETGID = 181
|
||||
SYS_SETEGID = 182
|
||||
SYS_SETEUID = 183
|
||||
SYS_SIGRETURN = 184
|
||||
SYS_CHUD = 185
|
||||
SYS_FDATASYNC = 187
|
||||
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_OPEN_DPROTECTED_NP = 216
|
||||
SYS_GETATTRLIST = 220
|
||||
SYS_SETATTRLIST = 221
|
||||
SYS_GETDIRENTRIESATTR = 222
|
||||
SYS_EXCHANGEDATA = 223
|
||||
SYS_SEARCHFS = 225
|
||||
SYS_DELETE = 226
|
||||
SYS_COPYFILE = 227
|
||||
SYS_FGETATTRLIST = 228
|
||||
SYS_FSETATTRLIST = 229
|
||||
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_FFSCTL = 245
|
||||
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_VM_PRESSURE_MONITOR = 296
|
||||
SYS_PSYNCH_RW_LONGRDLOCK = 297
|
||||
SYS_PSYNCH_RW_YIELDWRLOCK = 298
|
||||
SYS_PSYNCH_RW_DOWNGRADE = 299
|
||||
SYS_PSYNCH_RW_UPGRADE = 300
|
||||
SYS_PSYNCH_MUTEXWAIT = 301
|
||||
SYS_PSYNCH_MUTEXDROP = 302
|
||||
SYS_PSYNCH_CVBROAD = 303
|
||||
SYS_PSYNCH_CVSIGNAL = 304
|
||||
SYS_PSYNCH_CVWAIT = 305
|
||||
SYS_PSYNCH_RW_RDLOCK = 306
|
||||
SYS_PSYNCH_RW_WRLOCK = 307
|
||||
SYS_PSYNCH_RW_UNLOCK = 308
|
||||
SYS_PSYNCH_RW_UNLOCK2 = 309
|
||||
SYS_GETSID = 310
|
||||
SYS_SETTID_WITH_PID = 311
|
||||
SYS_PSYNCH_CVCLRPREPOST = 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_IOPOLICYSYS = 322
|
||||
SYS_PROCESS_POLICY = 323
|
||||
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_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_KERNRETURN = 368
|
||||
SYS_KEVENT64 = 369
|
||||
SYS___OLD_SEMWAIT_SIGNAL = 370
|
||||
SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371
|
||||
SYS_THREAD_SELFID = 372
|
||||
SYS_LEDGER = 373
|
||||
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_FSGETPATH = 427
|
||||
SYS_AUDIT_SESSION_SELF = 428
|
||||
SYS_AUDIT_SESSION_JOIN = 429
|
||||
SYS_FILEPORT_MAKEPORT = 430
|
||||
SYS_FILEPORT_MAKEFD = 431
|
||||
SYS_AUDIT_SESSION_PORT = 432
|
||||
SYS_PID_SUSPEND = 433
|
||||
SYS_PID_RESUME = 434
|
||||
SYS_PID_HIBERNATE = 435
|
||||
SYS_PID_SHUTDOWN_SOCKETS = 436
|
||||
SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438
|
||||
SYS_KAS_INFO = 439
|
||||
SYS_MAXSYSCALL = 440
|
||||
)
|
||||
|
|
@ -0,0 +1,456 @@
|
|||
// Created by cgo -godefs - DO NOT EDIT
|
||||
// cgo -godefs types_darwin.go
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
sizeofPtr = 0x8
|
||||
sizeofShort = 0x2
|
||||
sizeofInt = 0x4
|
||||
sizeofLong = 0x8
|
||||
sizeofLongLong = 0x8
|
||||
)
|
||||
|
||||
type (
|
||||
_C_short int16
|
||||
_C_int int32
|
||||
_C_long int64
|
||||
_C_long_long int64
|
||||
)
|
||||
|
||||
type Timespec struct {
|
||||
Sec int64
|
||||
Nsec int64
|
||||
}
|
||||
|
||||
type Timeval struct {
|
||||
Sec int64
|
||||
Usec int32
|
||||
Pad_cgo_0 [4]byte
|
||||
}
|
||||
|
||||
type Timeval32 struct {
|
||||
Sec int32
|
||||
Usec int32
|
||||
}
|
||||
|
||||
type Rusage struct {
|
||||
Utime Timeval
|
||||
Stime Timeval
|
||||
Maxrss int64
|
||||
Ixrss int64
|
||||
Idrss int64
|
||||
Isrss int64
|
||||
Minflt int64
|
||||
Majflt int64
|
||||
Nswap int64
|
||||
Inblock int64
|
||||
Oublock int64
|
||||
Msgsnd int64
|
||||
Msgrcv int64
|
||||
Nsignals int64
|
||||
Nvcsw int64
|
||||
Nivcsw int64
|
||||
}
|
||||
|
||||
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
|
||||
Pad_cgo_0 [4]byte
|
||||
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
|
||||
Pad_cgo_0 [4]byte
|
||||
}
|
||||
|
||||
type Fbootstraptransfer_t struct {
|
||||
Offset int64
|
||||
Length uint64
|
||||
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 uint64
|
||||
}
|
||||
|
||||
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
|
||||
Pad_cgo_0 [4]byte
|
||||
Iov *Iovec
|
||||
Iovlen int32
|
||||
Pad_cgo_1 [4]byte
|
||||
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 = 0x30
|
||||
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 uint64
|
||||
Filter int16
|
||||
Flags uint16
|
||||
Fflags uint32
|
||||
Data int64
|
||||
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 Timeval32
|
||||
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 = 0x10
|
||||
SizeofBpfInsn = 0x8
|
||||
SizeofBpfHdr = 0x14
|
||||
)
|
||||
|
||||
type BpfVersion struct {
|
||||
Major uint16
|
||||
Minor uint16
|
||||
}
|
||||
|
||||
type BpfStat struct {
|
||||
Recv uint32
|
||||
Drop uint32
|
||||
}
|
||||
|
||||
type BpfProgram struct {
|
||||
Len uint32
|
||||
Pad_cgo_0 [4]byte
|
||||
Insns *BpfInsn
|
||||
}
|
||||
|
||||
type BpfInsn struct {
|
||||
Code uint16
|
||||
Jt uint8
|
||||
Jf uint8
|
||||
K uint32
|
||||
}
|
||||
|
||||
type BpfHdr struct {
|
||||
Tstamp Timeval32
|
||||
Caplen uint32
|
||||
Datalen uint32
|
||||
Hdrlen uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
type Termios struct {
|
||||
Iflag uint64
|
||||
Oflag uint64
|
||||
Cflag uint64
|
||||
Lflag uint64
|
||||
Cc [20]uint8
|
||||
Pad_cgo_0 [4]byte
|
||||
Ispeed uint64
|
||||
Ospeed uint64
|
||||
}
|
||||
Loading…
Reference in New Issue