From 22a226b3d11c30dfd1bbb074a1f1ef39b336cf29 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 16 Mar 2022 09:21:24 +0100 Subject: [PATCH] unix: unify Sendmsg prologues Follow CL 361256 which did the same in package syscall. Change-Id: Ifd22e515c220806f02400baded821ec583959d78 Reviewed-on: https://go-review.googlesource.com/c/sys/+/393274 Trust: Tobias Klauser Run-TryBot: Tobias Klauser TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor --- unix/syscall_aix.go | 7 +------ unix/syscall_bsd.go | 15 +-------------- unix/syscall_linux.go | 16 +--------------- unix/syscall_solaris.go | 15 +-------------- unix/syscall_unix.go | 17 +++++++++++++++++ 5 files changed, 21 insertions(+), 49 deletions(-) diff --git a/unix/syscall_aix.go b/unix/syscall_aix.go index f9a5863f..f0fa03b7 100644 --- a/unix/syscall_aix.go +++ b/unix/syscall_aix.go @@ -221,12 +221,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from return -1, -1, -1, sa, ENOSYS } -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { +func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { // SendmsgN not implemented on AIX return -1, ENOSYS } diff --git a/unix/syscall_bsd.go b/unix/syscall_bsd.go index 0ce45232..11d1282b 100644 --- a/unix/syscall_bsd.go +++ b/unix/syscall_bsd.go @@ -361,20 +361,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } +func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index 5f28f8fd..e07d23e9 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -1538,21 +1538,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from return } -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - var err error - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } +func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(ptr) msg.Namelen = uint32(salen) diff --git a/unix/syscall_solaris.go b/unix/syscall_solaris.go index ee4a288a..f9735ea1 100644 --- a/unix/syscall_solaris.go +++ b/unix/syscall_solaris.go @@ -483,22 +483,9 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from return } -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } +func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) diff --git a/unix/syscall_unix.go b/unix/syscall_unix.go index 9f130c92..26d6e9bf 100644 --- a/unix/syscall_unix.go +++ b/unix/syscall_unix.go @@ -337,6 +337,23 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { return } +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + return sendmsgN(fd, p, oob, ptr, salen, flags) +} + func Send(s int, buf []byte, flags int) (err error) { return sendto(s, buf, flags, nil, 0) }