summaryrefslogtreecommitdiff
path: root/src/lib/net/net_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-03-05 15:48:12 -0800
committerRuss Cox <rsc@golang.org>2009-03-05 15:48:12 -0800
commitd63ac64fe49b9b16ad5b0dc694e239b9af6e7e49 (patch)
tree2e4c53420fc217d01dd833031a7d14b42a6ba20c /src/lib/net/net_linux.go
parente9ea1aa25a20daad0b07e6faf9f5a2e3ba456b0b (diff)
downloadgolang-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.go22
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