logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git 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