net: fix windows build

R=rsc
CC=golang-dev
https://golang.org/cl/4539108
diff --git a/src/pkg/net/interface.go b/src/pkg/net/interface.go
index 7463a11..f622487 100644
--- a/src/pkg/net/interface.go
+++ b/src/pkg/net/interface.go
@@ -10,7 +10,6 @@
 	"bytes"
 	"fmt"
 	"os"
-	"syscall"
 )
 
 // A HardwareAddr represents a physical hardware address.
@@ -38,49 +37,6 @@
 	rawFlags     int
 }
 
-// IsUp returns true if ifi is up.
-func (ifi *Interface) IsUp() bool {
-	if ifi == nil {
-		return false
-	}
-	return ifi.rawFlags&syscall.IFF_UP != 0
-}
-
-// IsLoopback returns true if ifi is a loopback interface.
-func (ifi *Interface) IsLoopback() bool {
-	if ifi == nil {
-		return false
-	}
-	return ifi.rawFlags&syscall.IFF_LOOPBACK != 0
-}
-
-// CanBroadcast returns true if ifi supports a broadcast access
-// capability.
-func (ifi *Interface) CanBroadcast() bool {
-	if ifi == nil {
-		return false
-	}
-	return ifi.rawFlags&syscall.IFF_BROADCAST != 0
-}
-
-// IsPointToPoint returns true if ifi belongs to a point-to-point
-// link.
-func (ifi *Interface) IsPointToPoint() bool {
-	if ifi == nil {
-		return false
-	}
-	return ifi.rawFlags&syscall.IFF_POINTOPOINT != 0
-}
-
-// CanMulticast returns true if ifi supports a multicast access
-// capability.
-func (ifi *Interface) CanMulticast() bool {
-	if ifi == nil {
-		return false
-	}
-	return ifi.rawFlags&syscall.IFF_MULTICAST != 0
-}
-
 // Addrs returns interface addresses for a specific interface.
 func (ifi *Interface) Addrs() ([]Addr, os.Error) {
 	if ifi == nil {
diff --git a/src/pkg/net/interface_bsd.go b/src/pkg/net/interface_bsd.go
index c410881..0c6ce76 100644
--- a/src/pkg/net/interface_bsd.go
+++ b/src/pkg/net/interface_bsd.go
@@ -11,6 +11,49 @@
 	"syscall"
 )
 
+// IsUp returns true if ifi is up.
+func (ifi *Interface) IsUp() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_UP != 0
+}
+
+// IsLoopback returns true if ifi is a loopback interface.
+func (ifi *Interface) IsLoopback() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_LOOPBACK != 0
+}
+
+// CanBroadcast returns true if ifi supports a broadcast access
+// capability.
+func (ifi *Interface) CanBroadcast() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_BROADCAST != 0
+}
+
+// IsPointToPoint returns true if ifi belongs to a point-to-point
+// link.
+func (ifi *Interface) IsPointToPoint() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_POINTOPOINT != 0
+}
+
+// CanMulticast returns true if ifi supports a multicast access
+// capability.
+func (ifi *Interface) CanMulticast() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_MULTICAST != 0
+}
+
 // If the ifindex is zero, interfaceTable returns mappings of all
 // network interfaces.  Otheriwse it returns a mapping of a specific
 // interface.
diff --git a/src/pkg/net/interface_linux.go b/src/pkg/net/interface_linux.go
index f41befe..5c96578 100644
--- a/src/pkg/net/interface_linux.go
+++ b/src/pkg/net/interface_linux.go
@@ -12,6 +12,49 @@
 	"unsafe"
 )
 
+// IsUp returns true if ifi is up.
+func (ifi *Interface) IsUp() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_UP != 0
+}
+
+// IsLoopback returns true if ifi is a loopback interface.
+func (ifi *Interface) IsLoopback() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_LOOPBACK != 0
+}
+
+// CanBroadcast returns true if ifi supports a broadcast access
+// capability.
+func (ifi *Interface) CanBroadcast() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_BROADCAST != 0
+}
+
+// IsPointToPoint returns true if ifi belongs to a point-to-point
+// link.
+func (ifi *Interface) IsPointToPoint() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_POINTOPOINT != 0
+}
+
+// CanMulticast returns true if ifi supports a multicast access
+// capability.
+func (ifi *Interface) CanMulticast() bool {
+	if ifi == nil {
+		return false
+	}
+	return ifi.rawFlags&syscall.IFF_MULTICAST != 0
+}
+
 // If the ifindex is zero, interfaceTable returns mappings of all
 // network interfaces.  Otheriwse it returns a mapping of a specific
 // interface.
diff --git a/src/pkg/net/interface_stub.go b/src/pkg/net/interface_stub.go
index 24a7431..feb871b 100644
--- a/src/pkg/net/interface_stub.go
+++ b/src/pkg/net/interface_stub.go
@@ -8,6 +8,34 @@
 
 import "os"
 
+// IsUp returns true if ifi is up.
+func (ifi *Interface) IsUp() bool {
+	return false
+}
+
+// IsLoopback returns true if ifi is a loopback interface.
+func (ifi *Interface) IsLoopback() bool {
+	return false
+}
+
+// CanBroadcast returns true if ifi supports a broadcast access
+// capability.
+func (ifi *Interface) CanBroadcast() bool {
+	return false
+}
+
+// IsPointToPoint returns true if ifi belongs to a point-to-point
+// link.
+func (ifi *Interface) IsPointToPoint() bool {
+	return false
+}
+
+// CanMulticast returns true if ifi supports a multicast access
+// capability.
+func (ifi *Interface) CanMulticast() bool {
+	return false
+}
+
 // If the ifindex is zero, interfaceTable returns mappings of all
 // network interfaces.  Otheriwse it returns a mapping of a specific
 // interface.