# P2P::pDonkey::Util.pm
#
# Copyright (c) 2003-2004 Alexey klimkin <klimkin at cpan.org>.
# All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
#
package P2P::pDonkey::Util;
use 5.006;
use strict;
use warnings;
require Exporter;
our $VERSION = '0.05';
our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw(
addr2ip ip2addr
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
);
# Preloaded methods go here.
use Socket qw (inet_aton inet_ntoa);
sub addr2ip {
my $ip;
$ip = inet_aton($_[0]);
defined $ip || return 0;
return unpack('L', $ip);
}
sub ip2addr {
return inet_ntoa(pack('L', $_[0]));
}
1;
__END__
=head1 NAME
P2P::pDonkey::Util - Utility functions for P2P::pDonkey extensions.
=head1 SYNOPSIS
use P2P::pDonkey::Util ':all';
print ip2addr(addr2ip('176.16.5.33')), "\n";
=head1 DESCRIPTION
=over
=item addr2ip HOSTNAME
Analog for inet_aton, but returns unpacked ip number.
=item ip2addr IP_NUMBER
Analog inet_ntoa, take as argument unpacked ip number.
=back
=head2 EXPORT
None by default.
=head1 AUTHOR
Alexey Klimkin, E<lt>klimkin@mail.ruE<gt>
=head1 SEE ALSO
L<perl>, L<Socket>.
=cut