mirror of
https://github.com/golang/go
synced 2024-09-25 15:20:13 -06:00
syscall: FreeBSD/ARM support
R=rsc, mikioh.mikioh CC=golang-dev https://golang.org/cl/6657048
This commit is contained in:
parent
1e9f308545
commit
378d7ef59f
124
src/pkg/syscall/asm_freebsd_arm.s
Normal file
124
src/pkg/syscall/asm_freebsd_arm.s
Normal file
@ -0,0 +1,124 @@
|
||||
// Copyright 2012 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.
|
||||
|
||||
//
|
||||
// System call support for ARM, FreeBSD
|
||||
//
|
||||
|
||||
// func Syscall(trap int32, a1, a2, a3 int32) (r1, r2, err int32);
|
||||
// func Syscall6(trap int32, a1, a2, a3, a4, a5, a6 int32) (r1, r2, err int32);
|
||||
// func Syscall9(trap int32, a1, a2, a3, a4, a5, a6, a7, a8, a9 int64) (r1, r2, err int32)
|
||||
|
||||
TEXT ·Syscall(SB),7,$0
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVW 0(FP), R0 // sigcall num
|
||||
MOVW 4(FP), R1 // a1
|
||||
MOVW 8(FP), R2 // a2
|
||||
MOVW 12(FP), R3 // a3
|
||||
SWI $0 // syscall
|
||||
MOVW $0, R2
|
||||
BCS error
|
||||
MOVW R0, 16(FP) // r1
|
||||
MOVW R1, 20(FP) // r2
|
||||
MOVW R2, 24(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
error:
|
||||
MOVW $-1, R3
|
||||
MOVW R3, 16(FP) // r1
|
||||
MOVW R2, 20(FP) // r2
|
||||
MOVW R0, 24(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·Syscall6(SB),7,$0
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVW 0(FP), R0 // sigcall num
|
||||
MOVW 4(FP), R1 // a1
|
||||
MOVW 8(FP), R2 // a2
|
||||
MOVW 12(FP), R3 // a3
|
||||
MOVW R13, R4
|
||||
MOVW $16(FP), R13 // a4 to a6 are passed on stack
|
||||
SWI $0 // syscall
|
||||
MOVW R4, R13
|
||||
MOVW $0, R2
|
||||
BCS error6
|
||||
MOVW R0, 28(FP) // r1
|
||||
MOVW R1, 32(FP) // r2
|
||||
MOVW R2, 36(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
error6:
|
||||
MOVW $-1, R3
|
||||
MOVW R3, 28(FP) // r1
|
||||
MOVW R2, 32(FP) // r2
|
||||
MOVW R0, 36(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·Syscall9(SB),7,$0
|
||||
BL runtime·entersyscall(SB)
|
||||
MOVW 0(FP), R0 // sigcall num
|
||||
MOVW 4(FP), R1 // a1
|
||||
MOVW 8(FP), R2 // a2
|
||||
MOVW 12(FP), R3 // a3
|
||||
MOVW R13, R4
|
||||
MOVW $16(FP), R13 // a4 to a9 are passed on stack
|
||||
SWI $0 // syscall
|
||||
MOVW R4, R13
|
||||
MOVW $0, R2
|
||||
BCS error9
|
||||
MOVW R0, 40(FP) // r1
|
||||
MOVW R1, 44(FP) // r2
|
||||
MOVW R2, 48(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
error9:
|
||||
MOVW $-1, R3
|
||||
MOVW R3, 40(FP) // r1
|
||||
MOVW R2, 44(FP) // r2
|
||||
MOVW R0, 48(FP) // err
|
||||
BL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·RawSyscall(SB),7,$0
|
||||
MOVW 0(FP), R0 // sigcall num
|
||||
MOVW 4(FP), R1 // a1
|
||||
MOVW 8(FP), R2 // a2
|
||||
MOVW 12(FP), R3 // a3
|
||||
SWI $0 // syscall
|
||||
MOVW $0, R2
|
||||
BCS errorr
|
||||
MOVW R0, 16(FP) // r1
|
||||
MOVW R1, 20(FP) // r2
|
||||
MOVW R2, 24(FP) // err
|
||||
RET
|
||||
errorr:
|
||||
MOVW $-1, R3
|
||||
MOVW R3, 16(FP) // r1
|
||||
MOVW R2, 20(FP) // r2
|
||||
MOVW R0, 24(FP) // err
|
||||
RET
|
||||
|
||||
TEXT ·RawSyscall6(SB),7,$0
|
||||
MOVW 0(FP), R0 // sigcall num
|
||||
MOVW 4(FP), R1 // a1
|
||||
MOVW 8(FP), R2 // a2
|
||||
MOVW 12(FP), R3 // a3
|
||||
MOVW R13, R4
|
||||
MOVW $16(FP), R13 // a4 to a9 are passed on stack
|
||||
SWI $0 // syscall
|
||||
MOVW R4, R13
|
||||
MOVW $0, R2
|
||||
BCS errorr6
|
||||
MOVW R0, 28(FP) // r1
|
||||
MOVW R1, 32(FP) // r2
|
||||
MOVW R2, 36(FP) // err
|
||||
RET
|
||||
errorr6:
|
||||
MOVW $-1, R3
|
||||
MOVW R3, 28(FP) // r1
|
||||
MOVW R2, 32(FP) // r2
|
||||
MOVW R0, 36(FP) // err
|
||||
RET
|
@ -132,6 +132,12 @@ freebsd_amd64)
|
||||
mksysnum="curl -s 'http://svn.freebsd.org/base/head/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||
;;
|
||||
freebsd_arm)
|
||||
mkerrors="$mkerrors"
|
||||
mksyscall="./mksyscall.pl -l32 -arm"
|
||||
mksysnum="curl -s 'http://svn.freebsd.org/base/head/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||
;;
|
||||
linux_386)
|
||||
mkerrors="$mkerrors -m32"
|
||||
mksyscall="./mksyscall.pl -l32"
|
||||
|
58
src/pkg/syscall/syscall_freebsd_arm.go
Normal file
58
src/pkg/syscall/syscall_freebsd_arm.go
Normal file
@ -0,0 +1,58 @@
|
||||
// Copyright 2012 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 ts.Sec*1e9 + int64(ts.Nsec) }
|
||||
|
||||
func NsecToTimespec(nsec int64) (ts Timespec) {
|
||||
ts.Sec = nsec / 1e9
|
||||
ts.Nsec = int32(nsec % 1e9)
|
||||
return
|
||||
}
|
||||
|
||||
func TimevalToNsec(tv Timeval) int64 { return 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 = nsec / 1e9
|
||||
return
|
||||
}
|
||||
|
||||
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 writtenOut uint64 = 0
|
||||
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
|
||||
|
||||
written = int(writtenOut)
|
||||
|
||||
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
|
1650
src/pkg/syscall/zerrors_freebsd_arm.go
Normal file
1650
src/pkg/syscall/zerrors_freebsd_arm.go
Normal file
File diff suppressed because it is too large
Load Diff
1308
src/pkg/syscall/zsyscall_freebsd_arm.go
Normal file
1308
src/pkg/syscall/zsyscall_freebsd_arm.go
Normal file
File diff suppressed because it is too large
Load Diff
340
src/pkg/syscall/zsysnum_freebsd_arm.go
Normal file
340
src/pkg/syscall/zsysnum_freebsd_arm.go
Normal file
@ -0,0 +1,340 @@
|
||||
// mksysnum_freebsd.pl
|
||||
// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
// SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int
|
||||
SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
|
||||
SYS_FORK = 2 // { int fork(void); }
|
||||
SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
|
||||
SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
|
||||
SYS_OPEN = 5 // { int open(char *path, int flags, int mode); }
|
||||
SYS_CLOSE = 6 // { int close(int fd); }
|
||||
SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \
|
||||
SYS_LINK = 9 // { int link(char *path, char *link); }
|
||||
SYS_UNLINK = 10 // { int unlink(char *path); }
|
||||
SYS_CHDIR = 12 // { int chdir(char *path); }
|
||||
SYS_FCHDIR = 13 // { int fchdir(int fd); }
|
||||
SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); }
|
||||
SYS_CHMOD = 15 // { int chmod(char *path, int mode); }
|
||||
SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); }
|
||||
SYS_OBREAK = 17 // { int obreak(char *nsize); } break \
|
||||
SYS_GETPID = 20 // { pid_t getpid(void); }
|
||||
SYS_MOUNT = 21 // { int mount(char *type, char *path, \
|
||||
SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); }
|
||||
SYS_SETUID = 23 // { int setuid(uid_t uid); }
|
||||
SYS_GETUID = 24 // { uid_t getuid(void); }
|
||||
SYS_GETEUID = 25 // { uid_t geteuid(void); }
|
||||
SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \
|
||||
SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
|
||||
SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
|
||||
SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
|
||||
SYS_ACCEPT = 30 // { int accept(int s, \
|
||||
SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
|
||||
SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
|
||||
SYS_ACCESS = 33 // { int access(char *path, int amode); }
|
||||
SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); }
|
||||
SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); }
|
||||
SYS_SYNC = 36 // { int sync(void); }
|
||||
SYS_KILL = 37 // { int kill(int pid, int signum); }
|
||||
SYS_GETPPID = 39 // { pid_t getppid(void); }
|
||||
SYS_DUP = 41 // { int dup(u_int fd); }
|
||||
SYS_PIPE = 42 // { int pipe(void); }
|
||||
SYS_GETEGID = 43 // { gid_t getegid(void); }
|
||||
SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \
|
||||
SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
|
||||
SYS_GETGID = 47 // { gid_t getgid(void); }
|
||||
SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
|
||||
SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
|
||||
SYS_ACCT = 51 // { int acct(char *path); }
|
||||
SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
|
||||
SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
|
||||
SYS_REBOOT = 55 // { int reboot(int opt); }
|
||||
SYS_REVOKE = 56 // { int revoke(char *path); }
|
||||
SYS_SYMLINK = 57 // { int symlink(char *path, char *link); }
|
||||
SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \
|
||||
SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
|
||||
SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
|
||||
SYS_CHROOT = 61 // { int chroot(char *path); }
|
||||
SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
|
||||
SYS_VFORK = 66 // { int vfork(void); }
|
||||
SYS_SBRK = 69 // { int sbrk(int incr); }
|
||||
SYS_SSTK = 70 // { int sstk(int incr); }
|
||||
SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \
|
||||
SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
|
||||
SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
|
||||
SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
|
||||
SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
|
||||
SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
|
||||
SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
|
||||
SYS_GETPGRP = 81 // { int getpgrp(void); }
|
||||
SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
|
||||
SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
|
||||
SYS_SWAPON = 85 // { int swapon(char *name); }
|
||||
SYS_GETITIMER = 86 // { int getitimer(u_int which, \
|
||||
SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); }
|
||||
SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); }
|
||||
SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); }
|
||||
SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \
|
||||
SYS_FSYNC = 95 // { int fsync(int fd); }
|
||||
SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
|
||||
SYS_SOCKET = 97 // { int socket(int domain, int type, \
|
||||
SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
|
||||
SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
|
||||
SYS_BIND = 104 // { int bind(int s, caddr_t name, \
|
||||
SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
|
||||
SYS_LISTEN = 106 // { int listen(int s, int backlog); }
|
||||
SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
|
||||
SYS_GETRUSAGE = 117 // { int getrusage(int who, \
|
||||
SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
|
||||
SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
|
||||
SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
|
||||
SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
|
||||
SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); }
|
||||
SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); }
|
||||
SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); }
|
||||
SYS_SETREGID = 127 // { int setregid(int rgid, int egid); }
|
||||
SYS_RENAME = 128 // { int rename(char *from, char *to); }
|
||||
SYS_FLOCK = 131 // { int flock(int fd, int how); }
|
||||
SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); }
|
||||
SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \
|
||||
SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
|
||||
SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
|
||||
SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
|
||||
SYS_RMDIR = 137 // { int rmdir(char *path); }
|
||||
SYS_UTIMES = 138 // { int utimes(char *path, \
|
||||
SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
|
||||
SYS_SETSID = 147 // { int setsid(void); }
|
||||
SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
|
||||
SYS_LGETFH = 160 // { int lgetfh(char *fname, \
|
||||
SYS_GETFH = 161 // { int getfh(char *fname, \
|
||||
SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
|
||||
SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
|
||||
SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
|
||||
SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
|
||||
SYS_SETFIB = 175 // { int setfib(int fibnum); }
|
||||
SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); }
|
||||
SYS_SETGID = 181 // { int setgid(gid_t gid); }
|
||||
SYS_SETEGID = 182 // { int setegid(gid_t egid); }
|
||||
SYS_SETEUID = 183 // { int seteuid(uid_t euid); }
|
||||
SYS_STAT = 188 // { int stat(char *path, struct stat *ub); }
|
||||
SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); }
|
||||
SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); }
|
||||
SYS_PATHCONF = 191 // { int pathconf(char *path, int name); }
|
||||
SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); }
|
||||
SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \
|
||||
SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
|
||||
SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
|
||||
SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
|
||||
SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
|
||||
SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
|
||||
SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
|
||||
SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
|
||||
SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); }
|
||||
SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); }
|
||||
SYS_UNDELETE = 205 // { int undelete(char *path); }
|
||||
SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); }
|
||||
SYS_GETPGID = 207 // { int getpgid(pid_t pid); }
|
||||
SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \
|
||||
SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
|
||||
SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
|
||||
SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
|
||||
SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
|
||||
SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
|
||||
SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
|
||||
SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
|
||||
SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
|
||||
SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
|
||||
SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
|
||||
SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
|
||||
SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
|
||||
SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
|
||||
SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
|
||||
SYS_RFORK = 251 // { int rfork(int flags); }
|
||||
SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
|
||||
SYS_ISSETUGID = 253 // { int issetugid(void); }
|
||||
SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
|
||||
SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
|
||||
SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
|
||||
SYS_LUTIMES = 276 // { int lutimes(char *path, \
|
||||
SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); }
|
||||
SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); }
|
||||
SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); }
|
||||
SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
|
||||
SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
|
||||
SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
|
||||
SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
|
||||
SYS_MODNEXT = 300 // { int modnext(int modid); }
|
||||
SYS_MODSTAT = 301 // { int modstat(int modid, \
|
||||
SYS_MODFNEXT = 302 // { int modfnext(int modid); }
|
||||
SYS_MODFIND = 303 // { int modfind(const char *name); }
|
||||
SYS_KLDLOAD = 304 // { int kldload(const char *file); }
|
||||
SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); }
|
||||
SYS_KLDFIND = 306 // { int kldfind(const char *file); }
|
||||
SYS_KLDNEXT = 307 // { int kldnext(int fileid); }
|
||||
SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \
|
||||
SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); }
|
||||
SYS_GETSID = 310 // { int getsid(pid_t pid); }
|
||||
SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \
|
||||
SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
|
||||
SYS_YIELD = 321 // { int yield(void); }
|
||||
SYS_MLOCKALL = 324 // { int mlockall(int how); }
|
||||
SYS_MUNLOCKALL = 325 // { int munlockall(void); }
|
||||
SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); }
|
||||
SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \
|
||||
SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
|
||||
SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
|
||||
SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); }
|
||||
SYS_SCHED_YIELD = 331 // { int sched_yield (void); }
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
|
||||
SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \
|
||||
SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
|
||||
SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
|
||||
SYS_JAIL = 338 // { int jail(struct jail *jail); }
|
||||
SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
|
||||
SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); }
|
||||
SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); }
|
||||
SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \
|
||||
SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
|
||||
SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
|
||||
SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
|
||||
SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
|
||||
SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
|
||||
SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
|
||||
SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
|
||||
SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
|
||||
SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
|
||||
SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
|
||||
SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file( \
|
||||
SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
|
||||
SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
|
||||
SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
|
||||
SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
|
||||
SYS_KQUEUE = 362 // { int kqueue(void); }
|
||||
SYS_KEVENT = 363 // { int kevent(int fd, \
|
||||
SYS_EXTATTR_SET_FD = 371 // { int extattr_set_fd(int fd, \
|
||||
SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
|
||||
SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
|
||||
SYS___SETUGID = 374 // { int __setugid(int flag); }
|
||||
SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
|
||||
SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
|
||||
SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); }
|
||||
SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); }
|
||||
SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \
|
||||
SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
|
||||
SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
|
||||
SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
|
||||
SYS_KENV = 390 // { int kenv(int what, const char *name, \
|
||||
SYS_LCHFLAGS = 391 // { int lchflags(const char *path, int flags); }
|
||||
SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
|
||||
SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
|
||||
SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
|
||||
SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
|
||||
SYS_STATFS = 396 // { int statfs(char *path, \
|
||||
SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
|
||||
SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
|
||||
SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
|
||||
SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
|
||||
SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
|
||||
SYS_EXTATTR_SET_LINK = 412 // { int extattr_set_link( \
|
||||
SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
|
||||
SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
|
||||
SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
|
||||
SYS_SIGACTION = 416 // { int sigaction(int sig, \
|
||||
SYS_SIGRETURN = 417 // { int sigreturn( \
|
||||
SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
|
||||
SYS_SETCONTEXT = 422 // { int setcontext( \
|
||||
SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
|
||||
SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
|
||||
SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
|
||||
SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
|
||||
SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
|
||||
SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
|
||||
SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
|
||||
SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
|
||||
SYS_THR_EXIT = 431 // { void thr_exit(long *state); }
|
||||
SYS_THR_SELF = 432 // { int thr_self(long *id); }
|
||||
SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); }
|
||||
SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
|
||||
SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
|
||||
SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
|
||||
SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
|
||||
SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
|
||||
SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
|
||||
SYS_THR_SUSPEND = 442 // { int thr_suspend( \
|
||||
SYS_THR_WAKE = 443 // { int thr_wake(long id); }
|
||||
SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); }
|
||||
SYS_AUDIT = 445 // { int audit(const void *record, \
|
||||
SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
|
||||
SYS_GETAUID = 447 // { int getauid(uid_t *auid); }
|
||||
SYS_SETAUID = 448 // { int setauid(uid_t *auid); }
|
||||
SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); }
|
||||
SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); }
|
||||
SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \
|
||||
SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
|
||||
SYS_AUDITCTL = 453 // { int auditctl(char *path); }
|
||||
SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
|
||||
SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
|
||||
SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
|
||||
SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); }
|
||||
SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); }
|
||||
SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
|
||||
SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); }
|
||||
SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
|
||||
SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
|
||||
SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
|
||||
SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
|
||||
SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
|
||||
SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
|
||||
SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
|
||||
SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); }
|
||||
SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); }
|
||||
SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
|
||||
SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \
|
||||
SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); }
|
||||
SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); }
|
||||
SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
|
||||
SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
|
||||
SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
|
||||
SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
|
||||
SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
|
||||
SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
|
||||
SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
|
||||
SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
|
||||
SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
|
||||
SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
|
||||
SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
|
||||
SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
|
||||
SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
|
||||
SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \
|
||||
SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
|
||||
SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
|
||||
SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
|
||||
SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
|
||||
SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
|
||||
SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
|
||||
SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
|
||||
SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
|
||||
SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
|
||||
SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
|
||||
SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
|
||||
SYS_CAP_NEW = 514 // { int cap_new(int fd, u_int64_t rights); }
|
||||
SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \
|
||||
SYS_CAP_ENTER = 516 // { int cap_enter(void); }
|
||||
SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); }
|
||||
SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); }
|
||||
SYS_PDKILL = 519 // { int pdkill(int fd, int signum); }
|
||||
SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); }
|
||||
SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \
|
||||
SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
|
||||
SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
|
||||
SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
|
||||
SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
|
||||
SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
|
||||
SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
|
||||
SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
|
||||
SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
|
||||
SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
|
||||
)
|
426
src/pkg/syscall/ztypes_freebsd_arm.go
Normal file
426
src/pkg/syscall/ztypes_freebsd_arm.go
Normal file
@ -0,0 +1,426 @@
|
||||
// Created by cgo -godefs - DO NOT EDIT
|
||||
// cgo -godefs types_freebsd.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 int64
|
||||
Nsec int32
|
||||
}
|
||||
|
||||
type Timeval struct {
|
||||
Sec int64
|
||||
Usec int32
|
||||
}
|
||||
|
||||
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 int64
|
||||
Max int64
|
||||
}
|
||||
|
||||
type _Gid_t uint32
|
||||
|
||||
const (
|
||||
O_CLOEXEC = 0 // not supported
|
||||
)
|
||||
|
||||
const (
|
||||
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
|
||||
)
|
||||
|
||||
type Stat_t struct {
|
||||
Dev uint32
|
||||
Ino uint32
|
||||
Mode uint16
|
||||
Nlink uint16
|
||||
Uid uint32
|
||||
Gid uint32
|
||||
Rdev uint32
|
||||
Atimespec Timespec
|
||||
Mtimespec Timespec
|
||||
Ctimespec Timespec
|
||||
Size int64
|
||||
Blocks int64
|
||||
Blksize uint32
|
||||
Flags uint32
|
||||
Gen uint32
|
||||
Lspare int32
|
||||
Birthtimespec Timespec
|
||||
Pad_cgo_0 [4]byte
|
||||
}
|
||||
|
||||
type Statfs_t struct {
|
||||
Version uint32
|
||||
Type uint32
|
||||
Flags uint64
|
||||
Bsize uint64
|
||||
Iosize uint64
|
||||
Blocks uint64
|
||||
Bfree uint64
|
||||
Bavail int64
|
||||
Files uint64
|
||||
Ffree int64
|
||||
Syncwrites uint64
|
||||
Asyncwrites uint64
|
||||
Syncreads uint64
|
||||
Asyncreads uint64
|
||||
Spare [10]uint64
|
||||
Namemax uint32
|
||||
Owner uint32
|
||||
Fsid Fsid
|
||||
Charspare [80]int8
|
||||
Fstypename [16]int8
|
||||
Mntfromname [88]int8
|
||||
Mntonname [88]int8
|
||||
}
|
||||
|
||||
type Flock_t struct {
|
||||
Start int64
|
||||
Len int64
|
||||
Pid int32
|
||||
Type int16
|
||||
Whence int16
|
||||
Sysid int32
|
||||
}
|
||||
|
||||
type Dirent struct {
|
||||
Fileno uint32
|
||||
Reclen uint16
|
||||
Type uint8
|
||||
Namlen uint8
|
||||
Name [256]int8
|
||||
}
|
||||
|
||||
type Fsid struct {
|
||||
Val [2]int32
|
||||
}
|
||||
|
||||
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
|
||||
Pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
type RawSockaddrDatalink struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Index uint16
|
||||
Type uint8
|
||||
Nlen uint8
|
||||
Alen uint8
|
||||
Slen uint8
|
||||
Data [46]int8
|
||||
Pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
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 IPMreqn struct {
|
||||
Multiaddr [4]byte /* in_addr */
|
||||
Address [4]byte /* in_addr */
|
||||
Ifindex int32
|
||||
}
|
||||
|
||||
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 Inet6Pktinfo struct {
|
||||
Addr [16]byte /* in6_addr */
|
||||
Ifindex uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
SizeofSockaddrAny = 0x6c
|
||||
SizeofSockaddrUnix = 0x6c
|
||||
SizeofSockaddrDatalink = 0x38
|
||||
SizeofLinger = 0x8
|
||||
SizeofIPMreq = 0x8
|
||||
SizeofIPMreqn = 0xc
|
||||
SizeofIPv6Mreq = 0x14
|
||||
SizeofMsghdr = 0x1c
|
||||
SizeofCmsghdr = 0xc
|
||||
SizeofInet6Pktinfo = 0x14
|
||||
)
|
||||
|
||||
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 {
|
||||
X__fds_bits [32]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofIfMsghdr = 0x68
|
||||
SizeofIfData = 0x58
|
||||
SizeofIfaMsghdr = 0x14
|
||||
SizeofIfmaMsghdr = 0x10
|
||||
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
|
||||
Physical uint8
|
||||
Addrlen uint8
|
||||
Hdrlen uint8
|
||||
Link_state uint8
|
||||
Spare_char1 uint8 //Vhid uint8
|
||||
Spare_char2 uint8
|
||||
Datalen 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
|
||||
Hwassist uint32
|
||||
Epoch int64
|
||||
Lastchange Timeval
|
||||
}
|
||||
|
||||
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 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
|
||||
Fmask int32
|
||||
Inits uint32
|
||||
Rmx RtMetrics
|
||||
}
|
||||
|
||||
type RtMetrics struct {
|
||||
Locks uint32
|
||||
Mtu uint32
|
||||
Hopcount uint32
|
||||
Expire uint32
|
||||
Recvpipe uint32
|
||||
Sendpipe uint32
|
||||
Ssthresh uint32
|
||||
Rtt uint32
|
||||
Rttvar uint32
|
||||
Pksent uint32
|
||||
Weight uint32
|
||||
Filler [3]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofBpfVersion = 0x4
|
||||
SizeofBpfStat = 0x8
|
||||
SizeofBpfZbuf = 0xc
|
||||
SizeofBpfProgram = 0x8
|
||||
SizeofBpfInsn = 0x8
|
||||
SizeofBpfHdr = 0x18
|
||||
SizeofBpfZbufHeader = 0x20
|
||||
)
|
||||
|
||||
type BpfVersion struct {
|
||||
Major uint16
|
||||
Minor uint16
|
||||
}
|
||||
|
||||
type BpfStat struct {
|
||||
Recv uint32
|
||||
Drop uint32
|
||||
}
|
||||
|
||||
type BpfZbuf struct {
|
||||
Bufa *byte
|
||||
Bufb *byte
|
||||
Buflen 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 BpfZbufHeader struct {
|
||||
Kernel_gen uint32
|
||||
Kernel_len uint32
|
||||
User_gen uint32
|
||||
X_bzh_pad [5]uint32
|
||||
}
|
Loading…
Reference in New Issue
Block a user