diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-04-18 07:54:39 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-04-18 10:17:04 +0200 |
commit | 0b940a756838efcb90363ad99cb085d077b78e96 (patch) | |
tree | 7438647654e830a76da66758606d03c7826ab5c8 /syscall_linux.go | |
parent | eb6728400ba656990aa4518dc4f5f2a6f0f19f8e (diff) | |
download | wireguard-go-0b940a756838efcb90363ad99cb085d077b78e96.tar.gz wireguard-go-0b940a756838efcb90363ad99cb085d077b78e96.zip |
Use socketcall on x86
Diffstat (limited to 'syscall_linux.go')
-rw-r--r-- | syscall_linux.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/syscall_linux.go b/syscall_linux.go new file mode 100644 index 0000000..3403544 --- /dev/null +++ b/syscall_linux.go @@ -0,0 +1,30 @@ +// +build linux,!386 + +/* Copyright 2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. + */ + +package main + +import ( + "golang.org/x/sys/unix" + "syscall" + "unsafe" +) + +func sendmsg(fd int, msghdr *unix.Msghdr, flags int) (uintptr, uintptr, syscall.Errno) { + return unix.Syscall( + unix.SYS_SENDMSG, + uintptr(fd), + uintptr(unsafe.Pointer(msghdr)), + uintptr(flags), + ) +} + +func recvmsg(fd int, msghdr *unix.Msghdr, flags int) (uintptr, uintptr, syscall.Errno) { + return unix.Syscall( + unix.SYS_RECVMSG, + uintptr(fd), + uintptr(unsafe.Pointer(msghdr)), + uintptr(flags), + ) +} |