Source file
src/net/sockopt_windows.go
1
2
3
4
5 package net
6
7 import (
8 "os"
9 "syscall"
10 )
11
12 func setDefaultSockopts(s syscall.Handle, family, sotype int, ipv6only bool) error {
13 if family == syscall.AF_INET6 && sotype != syscall.SOCK_RAW {
14
15
16
17 syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, boolint(ipv6only))
18 }
19 if (sotype == syscall.SOCK_DGRAM || sotype == syscall.SOCK_RAW) && family != syscall.AF_UNIX && family != syscall.AF_INET6 {
20
21 return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1))
22 }
23 return nil
24 }
25
26 func setDefaultListenerSockopts(s syscall.Handle) error {
27
28
29
30
31
32
33 return nil
34 }
35
36 func setDefaultMulticastSockopts(s syscall.Handle) error {
37
38
39 return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
40 }
41
View as plain text