NAME
Net::Libdnet::Arp - high level API to access libdnet arp_* functions
SYNOPSIS
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});
}
DESCRIPTION
This modules is a higher level abstraction for libdnet arp_* functions.
METHODS
- 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).
AUTHOR
Patrice <GomoR> Auffret
COPYRIGHT AND LICENSE
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