Provided by: libio-interface-perl_1.06-1build2_amd64 bug

NAME

       IO::Interface::Simple - Perl extension for access to network card configuration
       information

SYNOPSIS

        use IO::Interface::Simple;

        my $if1   = IO::Interface::Simple->new('eth0');
        my $if2   = IO::Interface::Simple->new_from_address('127.0.0.1');
        my $if3   = IO::Interface::Simple->new_from_index(1);

        my @interfaces = IO::Interface::Simple->interfaces;

        for my $if (@interfaces) {
           print "interface = $if\n";
           print "addr =      ",$if->address,"\n",
                 "broadcast = ",$if->broadcast,"\n",
                 "netmask =   ",$if->netmask,"\n",
                 "dstaddr =   ",$if->dstaddr,"\n",
                 "hwaddr =    ",$if->hwaddr,"\n",
                 "mtu =       ",$if->mtu,"\n",
                 "metric =    ",$if->metric,"\n",
                 "index =     ",$if->index,"\n";

           print "is running\n"     if $if->is_running;
           print "is broadcast\n"   if $if->is_broadcast;
           print "is p-to-p\n"      if $if->is_pt2pt;
           print "is loopback\n"    if $if->is_loopback;
           print "is promiscuous\n" if $if->is_promiscuous;
           print "is multicast\n"   if $if->is_multicast;
           print "is notrailers\n"  if $if->is_notrailers;
           print "is noarp\n"       if $if->is_noarp;
         }

DESCRIPTION

       IO::Interface::Simple allows you to interrogate and change network interfaces. It has
       overlapping functionality with Net::Interface, but might compile and run on more
       platforms.

   Class Methods
       $interface = IO::Interface::Simple->new('eth0')
           Given an interface name, new() creates an interface object.

       @iflist = IO::Interface::Simple->interfaces;
           Returns a list of active interface objects.

       $interface = IO::Interface::Simple->new_from_address('192.168.0.1')
           Returns the interface object corresponding to the given address.

       $interface = IO::Interface::Simple->new_from_index(2)
           Returns the interface object corresponding to the given numeric index. This is only
           supported on BSD-ish platforms.

   Object Methods
       $name = $interface->name
           Get the name of the interface. The interface object is also overloaded so that if you
           use it in a string context it is the same as calling name().

       $index = $interface->index
           Get the index of the interface. This is only supported on BSD-like platforms.

       $addr = $interface->address([$newaddr])
           Get or set the interface's address.

       $addr = $interface->broadcast([$newaddr])
           Get or set the interface's broadcast address.

       $addr = $interface->netmask([$newmask])
           Get or set the interface's netmask.

       $addr = $interface->hwaddr([$newaddr])
           Get or set the interface's hardware address.

       $addr = $interface->mtu([$newmtu])
           Get or set the interface's MTU.

       $addr = $interface->metric([$newmetric])
           Get or set the interface's metric.

       $flags = $interface->flags([$newflags])
           Get or set the interface's flags. These can be ANDed with the IFF constants exported
           by IO::Interface or Net::Interface in order to interrogate the state and capabilities
           of the interface. However, it is probably more convenient to use the broken-out
           methods listed below.

       $flag = $interface->is_running([$newflag])
       $flag = $interface->is_broadcast([$newflag])
       $flag = $interface->is_pt2pt([$newflag])
       $flag = $interface->is_loopback([$newflag])
       $flag = $interface->is_promiscuous([$newflag])
       $flag = $interface->is_multicast([$newflag])
       $flag = $interface->is_notrailers([$newflag])
       $flag = $interface->is_noarp([$newflag])
           Get or set the corresponding configuration parameters. Note that the operating system
           may not let you set some of these.

AUTHOR

       Lincoln Stein <lstein@cshl.org>

       This module is distributed under the same license as Perl itself.

SEE ALSO

       perl, IO::Socket, IO::Multicast), IO::Interface, Net::Interface