Net::Libdnet::Arp - high level API to access libdnet arp_* functions
use Net::Libdnet::Arp;
my $h = Net::Libdnet::Arp->new;
my $mac = $h->get('10.0.0.1');
my $success = $h->add('10.0.0.1', '00:11:22:33:44:55');
my $success = $h->delete('10.0.0.1', '00:11:22:33:44:55');
my $data;
$h->loop(\&arp_print, \$data);
sub arp_print {
my ($e, $data) = @_;
printf("%s at %s\n", $e->{arp_pa}, $e->{arp_ha});
}
This modules is a higher level abstraction for libdnet arp_* functions.
- new ()
- Returns an object to access arp cache table on success, undef
otherwise.
- get (scalar)
- Returns the mac address of specified IP address, undef otherwise.
- add (scalar, scalar)
- Adds an entry to arp cache table. Returns 1 on success, undef otherwise.
First parameter is the IP address, second is the mac address.
- delete (scalar, scalar)
- Deletes an entry from arp cache table. Returns 1 on success, undef
otherwise. First parameter is the IP address, second is the mac
address.
- loop (subref, [ scalarref ])
- Calls the specified sub ref for each entry in the arp cache table. The
second optional parameter is a scalar ref, to store state information (if
any).
You may distribute this module under the terms of the BSD license. See LICENSE
file in the source distribution archive.
Copyright (c) 2008-2012, Patrice <GomoR> Auffret