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-2024, Patrice <GomoR> Auffret