Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1149)

Delta Between Two Patch Sets: ipv4/sockopt_windows.go

Issue 97800043: code review 97800043: go.net/ipv4: add support for dragonfly (Closed)
Left Patch Set: diff -r 88fa30947066 https://code.google.com/p/go.net Created 9 years, 11 months ago
Right Patch Set: diff -r 9c33002573cb https://code.google.com/p/go.net Created 9 years, 10 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « ipv4/sockopt_unix.go ('k') | ipv4/sys.go » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2012 The Go Authors. All rights reserved. 1 // Copyright 2012 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 package ipv4 5 package ipv4
6 6
7 import ( 7 import (
8 "net" 8 "net"
9 "os" 9 "os"
10 "syscall" 10 "syscall"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 123 }
124 return v == 1, nil 124 return v == 1, nil
125 } 125 }
126 126
127 func setIPv4MulticastLoopback(fd syscall.Handle, v bool) error { 127 func setIPv4MulticastLoopback(fd syscall.Handle, v bool) error {
128 vv := int32(boolint(v)) 128 vv := int32(boolint(v))
129 return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptMulticastLoopback, (*byte)(unsafe.Pointer(&vv)), 4)) 129 return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptMulticastLoopback, (*byte)(unsafe.Pointer(&vv)), 4))
130 } 130 }
131 131
132 func joinIPv4Group(fd syscall.Handle, ifi *net.Interface, grp net.IP) error { 132 func joinIPv4Group(fd syscall.Handle, ifi *net.Interface, grp net.IP) error {
133 » mreq := sysMulticastReq{IP: [4]byte{grp[0], grp[1], grp[2], grp[3]}} 133 » mreq := syscall.IPMreq{Multiaddr: [4]byte{grp[0], grp[1], grp[2], grp[3] }}
134 » if err := mreq.setInterface(ifi); err != nil { 134 » if err := setSysIPMreqInterface(&mreq, ifi); err != nil {
135 return err 135 return err
136 } 136 }
137 » return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptJoinGroup, (*byte)(unsafe.Pointer(&mreq)), int32(sysSizeofMulti castReq))) 137 » return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptJoinGroup, (*byte)(unsafe.Pointer(&mreq)), int32(unsafe.Sizeof( mreq))))
138 } 138 }
139 139
140 func leaveIPv4Group(fd syscall.Handle, ifi *net.Interface, grp net.IP) error { 140 func leaveIPv4Group(fd syscall.Handle, ifi *net.Interface, grp net.IP) error {
141 » mreq := sysMulticastReq{IP: [4]byte{grp[0], grp[1], grp[2], grp[3]}} 141 » mreq := syscall.IPMreq{Multiaddr: [4]byte{grp[0], grp[1], grp[2], grp[3] }}
142 » if err := mreq.setInterface(ifi); err != nil { 142 » if err := setSysIPMreqInterface(&mreq, ifi); err != nil {
143 return err 143 return err
144 } 144 }
145 » return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptLeaveGroup, (*byte)(unsafe.Pointer(&mreq)), int32(sysSizeofMult icastReq))) 145 » return os.NewSyscallError("setsockopt", syscall.Setsockopt(fd, ianaProto colIP, sysSockoptLeaveGroup, (*byte)(unsafe.Pointer(&mreq)), int32(unsafe.Sizeof (mreq))))
146 } 146 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b