diff --git a/bindings/perl/Sigar.pm b/bindings/perl/Sigar.pm index cb0ce9e3..ccf2f315 100644 --- a/bindings/perl/Sigar.pm +++ b/bindings/perl/Sigar.pm @@ -20,5 +20,72 @@ else { XSLoader::load(__PACKAGE__, $VERSION); } +sub NULL_HWADDR() { "00:00:00:00:00:00" } + +sub IFF_UP() { 0x1 } + +sub IFF_BROADCAST() { 0x2 } + +sub IFF_DEBUG() { 0x4 } + +sub IFF_LOOPBACK() { 0x8 } + +sub IFF_POINTOPOINT() { 0x10 } + +sub IFF_NOTRAILERS() { 0x20 } + +sub IFF_RUNNING() { 0x40 } + +sub IFF_NOARP() { 0x80 } + +sub IFF_PROMISC() { 0x100 } + +sub IFF_ALLMULTI() { 0x200 } + +sub IFF_MULTICAST() { 0x800 } + +sub net_interface_flags_string { + my($flags) = @_; + my $retval = ""; + + if ($flags == 0) { + $retval .= "[NO FLAGS] "; + } + if ($flags & IFF_UP) { + $retval .= "UP "; + } + if ($flags & IFF_BROADCAST) { + $retval .= "BROADCAST "; + } + if ($flags & IFF_DEBUG) { + $retval .= "DEBUG "; + } + if ($flags & IFF_LOOPBACK) { + $retval .= "LOOPBACK "; + } + if ($flags & IFF_POINTOPOINT) { + $retval .= "POINTOPOINT "; + } + if ($flags & IFF_NOTRAILERS) { + $retval .= "NOTRAILERS "; + } + if ($flags & IFF_RUNNING) { + $retval .= "RUNNING "; + } + if ($flags & IFF_NOARP) { + $retval .= "NOARP "; + } + if ($flags & IFF_PROMISC) { + $retval .= "PROMISC "; + } + if ($flags & IFF_ALLMULTI) { + $retval .= "ALLMULTI "; + } + if ($flags & IFF_MULTICAST) { + $retval .= "MULTICAST "; + } + + return $retval; +} 1; __END__