mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: update multicast socket options for darwin, freebsd, linux, openbsd
R=golang-dev, dave CC=golang-dev https://golang.org/cl/5137042
This commit is contained in:
parent
723f73caec
commit
71517e7b4a
10 changed files with 109 additions and 0 deletions
|
|
@ -377,6 +377,26 @@ func GetsockoptInt(fd, level, opt int) (value, errno int) {
|
|||
return int(n), errno
|
||||
}
|
||||
|
||||
func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, errno int) {
|
||||
vallen := _Socklen(4)
|
||||
errno = getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value[0])), &vallen)
|
||||
return value, errno
|
||||
}
|
||||
|
||||
func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, int) {
|
||||
var value IPMreq
|
||||
vallen := _Socklen(SizeofIPMreq)
|
||||
errno := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||
return &value, errno
|
||||
}
|
||||
|
||||
func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, int) {
|
||||
var value IPv6Mreq
|
||||
vallen := _Socklen(SizeofIPv6Mreq)
|
||||
errno := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||
return &value, errno
|
||||
}
|
||||
|
||||
func SetsockoptByte(fd, level, opt int, value byte) (errno int) {
|
||||
var n = byte(value)
|
||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 1)
|
||||
|
|
@ -387,6 +407,10 @@ func SetsockoptInt(fd, level, opt int, value int) (errno int) {
|
|||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 4)
|
||||
}
|
||||
|
||||
func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (errno int) {
|
||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value[0])), 4)
|
||||
}
|
||||
|
||||
func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (errno int) {
|
||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(tv)), unsafe.Sizeof(*tv))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue