Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IO::Interface::Simple(User Contributed Perl DocumentatIO::Interface::Simple(3)

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 D. Stein	<lincoln.stein@gmail.com> Copyright 2001-2014, Lincoln
       D. Stein.

       This library is distributed under the Perl Artistic License 2.0.	Please
       see LICENSE for more information.

SUPPORT
       For feature requests, bug reports and code contributions, please	use
       the GitHub repository at	https://github.com/lstein/LibIO-Interface-Perl

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

perl v5.32.0			  2020-08-08	      IO::Interface::Simple(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR | SUPPORT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=IO::Interface::Simple&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help