logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Net::Libdnet::Arp - high level API to access libdnet arp_* functions

Author

       Patrice <GomoR> Auffret

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).

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});
          }

See Also