package Sigar; use 5.003; use strict; use vars qw($VERSION @ISA); $VERSION = '0.01'; eval { require XSLoader; }; if ($@) { #$] < 5.6 require DynaLoader; @ISA = qw(DynaLoader); __PACKAGE__->bootstrap($VERSION); } 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__