sigar/bindings/perl/Sigar.pm
Doug MacEachern 41bed911d5 add net flags
2004-09-17 19:00:44 +00:00

92 lines
1.5 KiB
Perl

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__