1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
12 func setIPv4MulticastInterface(fd
*netFD
, ifi
*Interface
) error
{
17 mreq
:= &syscall
.IPMreqn
{Ifindex
: v
}
18 if err
:= fd
.incref(); err
!= nil {
22 return os
.NewSyscallError("setsockopt", syscall
.SetsockoptIPMreqn(fd
.sysfd
, syscall
.IPPROTO_IP
, syscall
.IP_MULTICAST_IF
, mreq
))
25 func setIPv4MulticastLoopback(fd
*netFD
, v
bool) error
{
26 if err
:= fd
.incref(); err
!= nil {
30 return os
.NewSyscallError("setsockopt", syscall
.SetsockoptInt(fd
.sysfd
, syscall
.IPPROTO_IP
, syscall
.IP_MULTICAST_LOOP
, boolint(v
)))