|
@@ -0,0 +1,30 @@
|
|
|
+package libbox
|
|
|
+
|
|
|
+import (
|
|
|
+ "net"
|
|
|
+ "syscall"
|
|
|
+)
|
|
|
+
|
|
|
+// copied from net.linkFlags
|
|
|
+func linkFlags(rawFlags uint32) net.Flags {
|
|
|
+ var f net.Flags
|
|
|
+ if rawFlags&syscall.IFF_UP != 0 {
|
|
|
+ f |= net.FlagUp
|
|
|
+ }
|
|
|
+ if rawFlags&syscall.IFF_RUNNING != 0 {
|
|
|
+ f |= net.FlagRunning
|
|
|
+ }
|
|
|
+ if rawFlags&syscall.IFF_BROADCAST != 0 {
|
|
|
+ f |= net.FlagBroadcast
|
|
|
+ }
|
|
|
+ if rawFlags&syscall.IFF_LOOPBACK != 0 {
|
|
|
+ f |= net.FlagLoopback
|
|
|
+ }
|
|
|
+ if rawFlags&syscall.IFF_POINTOPOINT != 0 {
|
|
|
+ f |= net.FlagPointToPoint
|
|
|
+ }
|
|
|
+ if rawFlags&syscall.IFF_MULTICAST != 0 {
|
|
|
+ f |= net.FlagMulticast
|
|
|
+ }
|
|
|
+ return f
|
|
|
+}
|