mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: add socket control message support for darwin, freebsd, linux
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4528113
This commit is contained in:
parent
97a929aac9
commit
5d6f118f23
14 changed files with 263 additions and 13 deletions
|
|
@ -529,17 +529,17 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
|
|||
|
||||
func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (errno int) {
|
||||
var ptr uintptr
|
||||
var nsock _Socklen
|
||||
var salen _Socklen
|
||||
if to != nil {
|
||||
var err int
|
||||
ptr, nsock, err = to.sockaddr()
|
||||
ptr, salen, err = to.sockaddr()
|
||||
if err != 0 {
|
||||
return err
|
||||
}
|
||||
}
|
||||
var msg Msghdr
|
||||
msg.Name = (*byte)(unsafe.Pointer(ptr))
|
||||
msg.Namelen = uint32(nsock)
|
||||
msg.Namelen = uint32(salen)
|
||||
var iov Iovec
|
||||
if len(p) > 0 {
|
||||
iov.Base = (*byte)(unsafe.Pointer(&p[0]))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue