diff options
author | Russ Cox <rsc@golang.org> | 2009-03-05 15:48:12 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-03-05 15:48:12 -0800 |
commit | d63ac64fe49b9b16ad5b0dc694e239b9af6e7e49 (patch) | |
tree | 2e4c53420fc217d01dd833031a7d14b42a6ba20c /src/lib/net/net_linux.go | |
parent | e9ea1aa25a20daad0b07e6faf9f5a2e3ba456b0b (diff) | |
download | golang-d63ac64fe49b9b16ad5b0dc694e239b9af6e7e49.tar.gz |
net: doc, doc-inspired cleanup
R=r
DELTA=368 (87 added, 14 deleted, 267 changed)
OCL=25773
CL=25786
Diffstat (limited to 'src/lib/net/net_linux.go')
-rw-r--r-- | src/lib/net/net_linux.go | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/lib/net/net_linux.go b/src/lib/net/net_linux.go index 704127794..c9d4c803c 100644 --- a/src/lib/net/net_linux.go +++ b/src/lib/net/net_linux.go @@ -11,8 +11,8 @@ import ( "unsafe"; ) -func IPv4ToSockaddr(p []byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { - p = ToIPv4(p); +func v4ToSockaddr(p IP, port int) (sa1 *syscall.Sockaddr, err *os.Error) { + p = p.To4(); if p == nil || port < 0 || port > 0xFFFF { return nil, os.EINVAL } @@ -26,10 +26,8 @@ func IPv4ToSockaddr(p []byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { return (*syscall.Sockaddr)(unsafe.Pointer(sa)), nil } -var ipv6zero [16]byte; - -func IPv6ToSockaddr(p []byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { - p = ToIPv6(p); +func v6ToSockaddr(p IP, port int) (sa1 *syscall.Sockaddr, err *os.Error) { + p = p.To16(); if p == nil || port < 0 || port > 0xFFFF { return nil, os.EINVAL } @@ -37,8 +35,8 @@ func IPv6ToSockaddr(p []byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { // IPv4 callers use 0.0.0.0 to mean "announce on any available address". // In IPv6 mode, Linux treats that as meaning "announce on 0.0.0.0", // which it refuses to do. Rewrite to the IPv6 all zeros. - if p4 := ToIPv4(p); p4 != nil && p4[0] == 0 && p4[1] == 0 && p4[2] == 0 && p4[3] == 0 { - p = ipv6zero; + if p4 := p.To4(); p4 != nil && p4[0] == 0 && p4[1] == 0 && p4[2] == 0 && p4[3] == 0 { + p = IPzero; } sa := new(syscall.SockaddrInet6); @@ -51,18 +49,18 @@ func IPv6ToSockaddr(p []byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { return (*syscall.Sockaddr)(unsafe.Pointer(sa)), nil } -func SockaddrToIP(sa1 *syscall.Sockaddr) (p []byte, port int, err *os.Error) { +func sockaddrToIP(sa1 *syscall.Sockaddr) (p IP, port int, err *os.Error) { switch sa1.Family { case syscall.AF_INET: sa := (*syscall.SockaddrInet4)(unsafe.Pointer(sa1)); - a := ToIPv6(sa.Addr); + a := IP(sa.Addr).To16(); if a == nil { return nil, 0, os.EINVAL } return a, int(sa.Port[0])<<8 + int(sa.Port[1]), nil; case syscall.AF_INET6: sa := (*syscall.SockaddrInet6)(unsafe.Pointer(sa1)); - a := ToIPv6(sa.Addr); + a := IP(sa.Addr).To16(); if a == nil { return nil, 0, os.EINVAL } @@ -73,7 +71,7 @@ func SockaddrToIP(sa1 *syscall.Sockaddr) (p []byte, port int, err *os.Error) { return nil, 0, nil // not reached } -func ListenBacklog() int64 { +func listenBacklog() int64 { // TODO: Read the limit from /proc/sys/net/core/somaxconn, // to take advantage of kernels that have raised the limit. return syscall.SOMAXCONN |