mirror of https://github.com/golang/go.git
syscall: add syscall support for openbsd/riscv64 port
Updates #55999 Change-Id: I5b8452207e951e543b9be42ebcb7d62c0c023f08 Reviewed-on: https://go-review.googlesource.com/c/go/+/518627 Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Joel Sing <joel@sing.id.au> Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Aaron Bieber <deftly@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
57c1dfd2ab
commit
9018601ee7
|
|
@ -0,0 +1,32 @@
|
|||
// Copyright 2023 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 RISCV64, OpenBSD
|
||||
//
|
||||
|
||||
// Provide these function names via assembly so they are provided as ABI0,
|
||||
// rather than ABIInternal.
|
||||
|
||||
// func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
||||
TEXT ·Syscall(SB),NOSPLIT,$0-56
|
||||
JMP ·syscallInternal(SB)
|
||||
|
||||
// func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
|
||||
TEXT ·Syscall6(SB),NOSPLIT,$0-80
|
||||
JMP ·syscall6Internal(SB)
|
||||
|
||||
// func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
|
||||
JMP ·rawSyscallInternal(SB)
|
||||
|
||||
// func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
|
||||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
|
||||
JMP ·rawSyscall6Internal(SB)
|
||||
|
||||
// func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
|
||||
TEXT ·Syscall9(SB),NOSPLIT,$0-104
|
||||
JMP ·syscall9Internal(SB)
|
||||
|
|
@ -367,6 +367,17 @@ openbsd_ppc64)
|
|||
# API consistent between platforms.
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
|
||||
mkasm="go run mkasm.go"
|
||||
openbsd_riscv64)
|
||||
GOOSARCH_in="syscall_openbsd_libc.go syscall_openbsd_$GOARCH.go"
|
||||
mkerrors="$mkerrors -m64"
|
||||
mksyscall="./mksyscall.pl -openbsd -libc"
|
||||
mksysctl="./mksysctl_openbsd.pl"
|
||||
zsysctl="zsysctl_openbsd.go"
|
||||
mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl"
|
||||
# Let the type of C char be signed to make the bare syscall
|
||||
# API consistent between platforms.
|
||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
|
||||
mkasm="go run mkasm.go"
|
||||
;;
|
||||
plan9_386)
|
||||
mkerrors=
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright 2023 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
|
||||
|
||||
func setTimespec(sec, nsec int64) Timespec {
|
||||
return Timespec{Sec: sec, Nsec: nsec}
|
||||
}
|
||||
|
||||
func setTimeval(sec, usec int64) Timeval {
|
||||
return Timeval{Sec: sec, Usec: usec}
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
||||
// RTM_LOCK only exists in OpenBSD 6.3 and earlier.
|
||||
const RTM_LOCK = 0x8
|
||||
|
||||
// SYS___SYSCTL only exists in OpenBSD 5.8 and earlier, when it was
|
||||
// was renamed to SYS_SYSCTL.
|
||||
const SYS___SYSCTL = SYS_SYSCTL
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,237 @@
|
|||
// go run mkasm.go openbsd riscv64
|
||||
// Code generated by the command above; DO NOT EDIT.
|
||||
#include "textflag.h"
|
||||
TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getgroups(SB)
|
||||
TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setgroups(SB)
|
||||
TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_wait4(SB)
|
||||
TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_accept(SB)
|
||||
TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_bind(SB)
|
||||
TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_connect(SB)
|
||||
TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_socket(SB)
|
||||
TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsockopt(SB)
|
||||
TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setsockopt(SB)
|
||||
TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpeername(SB)
|
||||
TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsockname(SB)
|
||||
TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_shutdown(SB)
|
||||
TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_socketpair(SB)
|
||||
TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_recvfrom(SB)
|
||||
TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendto(SB)
|
||||
TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_recvmsg(SB)
|
||||
TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendmsg(SB)
|
||||
TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kevent(SB)
|
||||
TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_utimes(SB)
|
||||
TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_futimes(SB)
|
||||
TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fcntl(SB)
|
||||
TEXT ·libc_pipe2_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pipe2(SB)
|
||||
TEXT ·libc_accept4_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_accept4(SB)
|
||||
TEXT ·libc_getdents_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getdents(SB)
|
||||
TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_access(SB)
|
||||
TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_adjtime(SB)
|
||||
TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chdir(SB)
|
||||
TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chflags(SB)
|
||||
TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chmod(SB)
|
||||
TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chown(SB)
|
||||
TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chroot(SB)
|
||||
TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_close(SB)
|
||||
TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_dup(SB)
|
||||
TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_dup2(SB)
|
||||
TEXT ·libc_dup3_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_dup3(SB)
|
||||
TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchdir(SB)
|
||||
TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchflags(SB)
|
||||
TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchmod(SB)
|
||||
TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchown(SB)
|
||||
TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_flock(SB)
|
||||
TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fpathconf(SB)
|
||||
TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstat(SB)
|
||||
TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstatfs(SB)
|
||||
TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fsync(SB)
|
||||
TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ftruncate(SB)
|
||||
TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getegid(SB)
|
||||
TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_geteuid(SB)
|
||||
TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getgid(SB)
|
||||
TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpgid(SB)
|
||||
TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpgrp(SB)
|
||||
TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpid(SB)
|
||||
TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getppid(SB)
|
||||
TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpriority(SB)
|
||||
TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getrlimit(SB)
|
||||
TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getrusage(SB)
|
||||
TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsid(SB)
|
||||
TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_gettimeofday(SB)
|
||||
TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getuid(SB)
|
||||
TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_issetugid(SB)
|
||||
TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kill(SB)
|
||||
TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kqueue(SB)
|
||||
TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lchown(SB)
|
||||
TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_link(SB)
|
||||
TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_listen(SB)
|
||||
TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lstat(SB)
|
||||
TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mkdir(SB)
|
||||
TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mkfifo(SB)
|
||||
TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mknod(SB)
|
||||
TEXT ·libc_nanosleep_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_nanosleep(SB)
|
||||
TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_open(SB)
|
||||
TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pathconf(SB)
|
||||
TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pread(SB)
|
||||
TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pwrite(SB)
|
||||
TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_read(SB)
|
||||
TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_readlink(SB)
|
||||
TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_rename(SB)
|
||||
TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_revoke(SB)
|
||||
TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_rmdir(SB)
|
||||
TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_select(SB)
|
||||
TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setegid(SB)
|
||||
TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_seteuid(SB)
|
||||
TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setgid(SB)
|
||||
TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setlogin(SB)
|
||||
TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setpgid(SB)
|
||||
TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setpriority(SB)
|
||||
TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setregid(SB)
|
||||
TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setreuid(SB)
|
||||
TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setrlimit(SB)
|
||||
TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setsid(SB)
|
||||
TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_settimeofday(SB)
|
||||
TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setuid(SB)
|
||||
TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_stat(SB)
|
||||
TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_statfs(SB)
|
||||
TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_symlink(SB)
|
||||
TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sync(SB)
|
||||
TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_truncate(SB)
|
||||
TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_umask(SB)
|
||||
TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unlink(SB)
|
||||
TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unmount(SB)
|
||||
TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_write(SB)
|
||||
TEXT ·libc_writev_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_writev(SB)
|
||||
TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mmap(SB)
|
||||
TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_munmap(SB)
|
||||
TEXT ·libc_utimensat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_utimensat(SB)
|
||||
TEXT ·libc_syscall_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_syscall(SB)
|
||||
TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lseek(SB)
|
||||
TEXT ·libc_getcwd_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getcwd(SB)
|
||||
TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sysctl(SB)
|
||||
TEXT ·libc_fork_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fork(SB)
|
||||
TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ioctl(SB)
|
||||
TEXT ·libc_execve_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_execve(SB)
|
||||
TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_exit(SB)
|
||||
TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ptrace(SB)
|
||||
TEXT ·libc_getentropy_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getentropy(SB)
|
||||
TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstatat(SB)
|
||||
TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unlinkat(SB)
|
||||
TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_openat(SB)
|
||||
|
|
@ -0,0 +1,228 @@
|
|||
// mksysnum_openbsd.pl
|
||||
// Code generated by the command above; DO NOT EDIT.
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
SYS_EXIT = 1 // { void sys_exit(int rval); }
|
||||
SYS_FORK = 2 // { int sys_fork(void); }
|
||||
SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
|
||||
SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \
|
||||
SYS_OPEN = 5 // { int sys_open(const char *path, \
|
||||
SYS_CLOSE = 6 // { int sys_close(int fd); }
|
||||
SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); }
|
||||
SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \
|
||||
SYS_LINK = 9 // { int sys_link(const char *path, const char *link); }
|
||||
SYS_UNLINK = 10 // { int sys_unlink(const char *path); }
|
||||
SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \
|
||||
SYS_CHDIR = 12 // { int sys_chdir(const char *path); }
|
||||
SYS_FCHDIR = 13 // { int sys_fchdir(int fd); }
|
||||
SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \
|
||||
SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); }
|
||||
SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \
|
||||
SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break
|
||||
SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); }
|
||||
SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \
|
||||
SYS_GETPID = 20 // { pid_t sys_getpid(void); }
|
||||
SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \
|
||||
SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); }
|
||||
SYS_SETUID = 23 // { int sys_setuid(uid_t uid); }
|
||||
SYS_GETUID = 24 // { uid_t sys_getuid(void); }
|
||||
SYS_GETEUID = 25 // { uid_t sys_geteuid(void); }
|
||||
SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
|
||||
SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
|
||||
SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \
|
||||
SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
|
||||
SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \
|
||||
SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \
|
||||
SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \
|
||||
SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); }
|
||||
SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); }
|
||||
SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); }
|
||||
SYS_SYNC = 36 // { void sys_sync(void); }
|
||||
SYS_MSYSCALL = 37 // { int sys_msyscall(void *addr, size_t len); }
|
||||
SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); }
|
||||
SYS_GETPPID = 39 // { pid_t sys_getppid(void); }
|
||||
SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); }
|
||||
SYS_DUP = 41 // { int sys_dup(int fd); }
|
||||
SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \
|
||||
SYS_GETEGID = 43 // { gid_t sys_getegid(void); }
|
||||
SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \
|
||||
SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \
|
||||
SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \
|
||||
SYS_GETGID = 47 // { gid_t sys_getgid(void); }
|
||||
SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); }
|
||||
SYS_MMAP = 49 // { void *sys_mmap(void *addr, size_t len, int prot, \
|
||||
SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); }
|
||||
SYS_ACCT = 51 // { int sys_acct(const char *path); }
|
||||
SYS_SIGPENDING = 52 // { int sys_sigpending(void); }
|
||||
SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); }
|
||||
SYS_IOCTL = 54 // { int sys_ioctl(int fd, \
|
||||
SYS_REBOOT = 55 // { int sys_reboot(int opt); }
|
||||
SYS_REVOKE = 56 // { int sys_revoke(const char *path); }
|
||||
SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \
|
||||
SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, \
|
||||
SYS_EXECVE = 59 // { int sys_execve(const char *path, \
|
||||
SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); }
|
||||
SYS_CHROOT = 61 // { int sys_chroot(const char *path); }
|
||||
SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
|
||||
SYS_STATFS = 63 // { int sys_statfs(const char *path, \
|
||||
SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); }
|
||||
SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \
|
||||
SYS_VFORK = 66 // { int sys_vfork(void); }
|
||||
SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \
|
||||
SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \
|
||||
SYS_SETITIMER = 69 // { int sys_setitimer(int which, \
|
||||
SYS_GETITIMER = 70 // { int sys_getitimer(int which, \
|
||||
SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \
|
||||
SYS_KEVENT = 72 // { int sys_kevent(int fd, \
|
||||
SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); }
|
||||
SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \
|
||||
SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \
|
||||
SYS_UTIMES = 76 // { int sys_utimes(const char *path, \
|
||||
SYS_FUTIMES = 77 // { int sys_futimes(int fd, \
|
||||
SYS_MQUERY = 78 // { void *sys_mquery(void *addr, size_t len, int prot, \
|
||||
SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \
|
||||
SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \
|
||||
SYS_GETPGRP = 81 // { int sys_getpgrp(void); }
|
||||
SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); }
|
||||
SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, \
|
||||
SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \
|
||||
SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \
|
||||
SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, \
|
||||
SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \
|
||||
SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \
|
||||
SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \
|
||||
SYS_DUP2 = 90 // { int sys_dup2(int from, int to); }
|
||||
SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \
|
||||
SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); }
|
||||
SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, \
|
||||
SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \
|
||||
SYS_FSYNC = 95 // { int sys_fsync(int fd); }
|
||||
SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); }
|
||||
SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); }
|
||||
SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \
|
||||
SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); }
|
||||
SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); }
|
||||
SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); }
|
||||
SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); }
|
||||
SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
|
||||
SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \
|
||||
SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \
|
||||
SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); }
|
||||
SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, \
|
||||
SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, \
|
||||
SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \
|
||||
SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
|
||||
SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); }
|
||||
SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, \
|
||||
SYS_UNVEIL = 114 // { int sys_unveil(const char *path, \
|
||||
SYS___REALPATH = 115 // { int sys___realpath(const char *pathname, \
|
||||
SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
|
||||
SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
|
||||
SYS_READV = 120 // { ssize_t sys_readv(int fd, \
|
||||
SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
|
||||
SYS_KILL = 122 // { int sys_kill(int pid, int signum); }
|
||||
SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
|
||||
SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); }
|
||||
SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }
|
||||
SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }
|
||||
SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); }
|
||||
SYS_FLOCK = 131 // { int sys_flock(int fd, int how); }
|
||||
SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); }
|
||||
SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \
|
||||
SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); }
|
||||
SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \
|
||||
SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); }
|
||||
SYS_RMDIR = 137 // { int sys_rmdir(const char *path); }
|
||||
SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \
|
||||
SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
|
||||
SYS_SETSID = 147 // { int sys_setsid(void); }
|
||||
SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \
|
||||
SYS_YPCONNECT = 150 // { int sys_ypconnect(int type); }
|
||||
SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); }
|
||||
SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }
|
||||
SYS___TMPFD = 164 // { int sys___tmpfd(int flags); }
|
||||
SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); }
|
||||
SYS_LSEEK = 166 // { off_t sys_lseek(int fd, off_t offset, int whence); }
|
||||
SYS_TRUNCATE = 167 // { int sys_truncate(const char *path, off_t length); }
|
||||
SYS_FTRUNCATE = 168 // { int sys_ftruncate(int fd, off_t length); }
|
||||
SYS_PREAD = 169 // { ssize_t sys_pread(int fd, void *buf, \
|
||||
SYS_PWRITE = 170 // { ssize_t sys_pwrite(int fd, const void *buf, \
|
||||
SYS_PREADV = 171 // { ssize_t sys_preadv(int fd, \
|
||||
SYS_PWRITEV = 172 // { ssize_t sys_pwritev(int fd, \
|
||||
SYS_PAD_PREAD = 173 // { ssize_t sys_pad_pread(int fd, void *buf, \
|
||||
SYS_PAD_PWRITE = 174 // { ssize_t sys_pad_pwrite(int fd, const void *buf, \
|
||||
SYS_SETGID = 181 // { int sys_setgid(gid_t gid); }
|
||||
SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); }
|
||||
SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); }
|
||||
SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); }
|
||||
SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); }
|
||||
SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }
|
||||
SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \
|
||||
SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \
|
||||
SYS_PAD_MMAP = 197 // { void *sys_pad_mmap(void *addr, size_t len, int prot, \
|
||||
SYS_PAD_LSEEK = 199 // { off_t sys_pad_lseek(int fd, int pad, off_t offset, \
|
||||
SYS_PAD_TRUNCATE = 200 // { int sys_pad_truncate(const char *path, int pad, \
|
||||
SYS_PAD_FTRUNCATE = 201 // { int sys_pad_ftruncate(int fd, int pad, off_t length); }
|
||||
SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, \
|
||||
SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); }
|
||||
SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); }
|
||||
SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); }
|
||||
SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \
|
||||
SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); }
|
||||
SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); }
|
||||
SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
|
||||
SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
|
||||
SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
|
||||
SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); }
|
||||
SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \
|
||||
SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \
|
||||
SYS_ISSETUGID = 253 // { int sys_issetugid(void); }
|
||||
SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
|
||||
SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); }
|
||||
SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); }
|
||||
SYS_PIPE = 263 // { int sys_pipe(int *fdp); }
|
||||
SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }
|
||||
SYS_PAD_PREADV = 267 // { ssize_t sys_pad_preadv(int fd, \
|
||||
SYS_PAD_PWRITEV = 268 // { ssize_t sys_pad_pwritev(int fd, \
|
||||
SYS_KQUEUE = 269 // { int sys_kqueue(void); }
|
||||
SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); }
|
||||
SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); }
|
||||
SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \
|
||||
SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
|
||||
SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
|
||||
SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
|
||||
SYS_PAD_MQUERY = 286 // { void *sys_pad_mquery(void *addr, size_t len, \
|
||||
SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); }
|
||||
SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
|
||||
SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }
|
||||
SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \
|
||||
SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \
|
||||
SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
|
||||
SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \
|
||||
SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \
|
||||
SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); }
|
||||
SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); }
|
||||
SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \
|
||||
SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); }
|
||||
SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
|
||||
SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); }
|
||||
SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \
|
||||
SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); }
|
||||
SYS_GETRTABLE = 311 // { int sys_getrtable(void); }
|
||||
SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \
|
||||
SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \
|
||||
SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \
|
||||
SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
|
||||
SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \
|
||||
SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \
|
||||
SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \
|
||||
SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \
|
||||
SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
|
||||
SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \
|
||||
SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \
|
||||
SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \
|
||||
SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); }
|
||||
SYS___GET_TCB = 330 // { void *sys___get_tcb(void); }
|
||||
)
|
||||
|
|
@ -0,0 +1,446 @@
|
|||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -fsigned-char types_openbsd.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 int64
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
S_IRWXG = 0x38
|
||||
S_IRWXO = 0x7
|
||||
)
|
||||
|
||||
type Stat_t struct {
|
||||
Mode uint32
|
||||
Dev int32
|
||||
Ino uint64
|
||||
Nlink uint32
|
||||
Uid uint32
|
||||
Gid uint32
|
||||
Rdev int32
|
||||
Atim Timespec
|
||||
Mtim Timespec
|
||||
Ctim Timespec
|
||||
Size int64
|
||||
Blocks int64
|
||||
Blksize int32
|
||||
Flags uint32
|
||||
Gen uint32
|
||||
X__st_birthtim Timespec
|
||||
}
|
||||
|
||||
type Statfs_t struct {
|
||||
F_flags uint32
|
||||
F_bsize uint32
|
||||
F_iosize uint32
|
||||
F_blocks uint64
|
||||
F_bfree uint64
|
||||
F_bavail int64
|
||||
F_files uint64
|
||||
F_ffree uint64
|
||||
F_favail int64
|
||||
F_syncwrites uint64
|
||||
F_syncreads uint64
|
||||
F_asyncwrites uint64
|
||||
F_asyncreads uint64
|
||||
F_fsid Fsid
|
||||
F_namemax uint32
|
||||
F_owner uint32
|
||||
F_ctime uint64
|
||||
F_fstypename [16]int8
|
||||
F_mntonname [90]int8
|
||||
F_mntfromname [90]int8
|
||||
F_mntfromspec [90]int8
|
||||
Pad_cgo_0 [2]byte
|
||||
Mount_info [160]byte
|
||||
}
|
||||
|
||||
type Flock_t struct {
|
||||
Start int64
|
||||
Len int64
|
||||
Pid int32
|
||||
Type int16
|
||||
Whence int16
|
||||
}
|
||||
|
||||
type Dirent struct {
|
||||
Fileno uint64
|
||||
Off int64
|
||||
Reclen uint16
|
||||
Type uint8
|
||||
Namlen uint8
|
||||
X__d_padding [4]uint8
|
||||
Name [256]int8
|
||||
}
|
||||
|
||||
type Fsid struct {
|
||||
Val [2]int32
|
||||
}
|
||||
|
||||
const (
|
||||
pathMax = 0x400
|
||||
)
|
||||
|
||||
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 [24]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
|
||||
Iov *Iovec
|
||||
Iovlen uint32
|
||||
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
|
||||
}
|
||||
|
||||
type IPv6MTUInfo struct {
|
||||
Addr RawSockaddrInet6
|
||||
Mtu uint32
|
||||
}
|
||||
|
||||
type ICMPv6Filter struct {
|
||||
Filt [8]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
SizeofSockaddrAny = 0x6c
|
||||
SizeofSockaddrUnix = 0x6a
|
||||
SizeofSockaddrDatalink = 0x20
|
||||
SizeofLinger = 0x8
|
||||
SizeofIPMreq = 0x8
|
||||
SizeofIPv6Mreq = 0x14
|
||||
SizeofMsghdr = 0x30
|
||||
SizeofCmsghdr = 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]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofIfMsghdr = 0xa8
|
||||
SizeofIfData = 0x90
|
||||
SizeofIfaMsghdr = 0x18
|
||||
SizeofIfAnnounceMsghdr = 0x1a
|
||||
SizeofRtMsghdr = 0x60
|
||||
SizeofRtMetrics = 0x38
|
||||
)
|
||||
|
||||
type IfMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Hdrlen uint16
|
||||
Index uint16
|
||||
Tableid uint16
|
||||
Pad1 uint8
|
||||
Pad2 uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Xflags int32
|
||||
Data IfData
|
||||
}
|
||||
|
||||
type IfData struct {
|
||||
Type uint8
|
||||
Addrlen uint8
|
||||
Hdrlen uint8
|
||||
Link_state uint8
|
||||
Mtu uint32
|
||||
Metric uint32
|
||||
Rdomain uint32
|
||||
Baudrate uint64
|
||||
Ipackets uint64
|
||||
Ierrors uint64
|
||||
Opackets uint64
|
||||
Oerrors uint64
|
||||
Collisions uint64
|
||||
Ibytes uint64
|
||||
Obytes uint64
|
||||
Imcasts uint64
|
||||
Omcasts uint64
|
||||
Iqdrops uint64
|
||||
Oqdrops uint64
|
||||
Noproto uint64
|
||||
Capabilities uint32
|
||||
Lastchange Timeval
|
||||
}
|
||||
|
||||
type IfaMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Hdrlen uint16
|
||||
Index uint16
|
||||
Tableid uint16
|
||||
Pad1 uint8
|
||||
Pad2 uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Metric int32
|
||||
}
|
||||
|
||||
type IfAnnounceMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Hdrlen uint16
|
||||
Index uint16
|
||||
What uint16
|
||||
Name [16]int8
|
||||
}
|
||||
|
||||
type RtMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Hdrlen uint16
|
||||
Index uint16
|
||||
Tableid uint16
|
||||
Priority uint8
|
||||
Mpls uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Fmask int32
|
||||
Pid int32
|
||||
Seq int32
|
||||
Errno int32
|
||||
Inits uint32
|
||||
Rmx RtMetrics
|
||||
}
|
||||
|
||||
type RtMetrics struct {
|
||||
Pksent uint64
|
||||
Expire int64
|
||||
Locks uint32
|
||||
Mtu uint32
|
||||
Refcnt uint32
|
||||
Hopcount uint32
|
||||
Recvpipe uint32
|
||||
Sendpipe uint32
|
||||
Ssthresh uint32
|
||||
Rtt uint32
|
||||
Rttvar uint32
|
||||
Pad uint32
|
||||
}
|
||||
|
||||
type Mclpool struct{}
|
||||
|
||||
const (
|
||||
SizeofBpfVersion = 0x4
|
||||
SizeofBpfStat = 0x8
|
||||
SizeofBpfProgram = 0x10
|
||||
SizeofBpfInsn = 0x8
|
||||
SizeofBpfHdr = 0x18
|
||||
)
|
||||
|
||||
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 BpfTimeval
|
||||
Caplen uint32
|
||||
Datalen uint32
|
||||
Hdrlen uint16
|
||||
Ifidx uint16
|
||||
Flowid uint16
|
||||
Flags uint8
|
||||
Drops uint8
|
||||
}
|
||||
|
||||
type BpfTimeval struct {
|
||||
Sec uint32
|
||||
Usec uint32
|
||||
}
|
||||
|
||||
const (
|
||||
_AT_FDCWD = -0x64
|
||||
)
|
||||
|
||||
type Termios struct {
|
||||
Iflag uint32
|
||||
Oflag uint32
|
||||
Cflag uint32
|
||||
Lflag uint32
|
||||
Cc [20]uint8
|
||||
Ispeed int32
|
||||
Ospeed int32
|
||||
}
|
||||
Loading…
Reference in New Issue