# 
# /*
#  * *********** WARNING **************
#  * This file generated by ModPerl::WrapXS/0.01
#  * Any changes made here will be lost
#  * ***********************************
#  * 01: lib/ModPerl/Code.pm:716
#  * 02: lib/ModPerl/WrapXS.pm:635
#  * 03: lib/ModPerl/WrapXS.pm:1186
#  * 04: Makefile.PL:435
#  * 05: Makefile.PL:333
#  * 06: Makefile.PL:59
#  */
# 


package APR::SockAddr;

use strict;
use warnings FATAL => 'all';


use APR ();
use APR::XSLoader ();
our $VERSION = '0.009000';
APR::XSLoader::load __PACKAGE__;



1;
__END__

=head1 NAME

APR::SockAddr - Perl API for APR socket address structure




=head1 Synopsis

  use APR::SockAddr ();
  
  my $ip = $sock_addr->ip_get;
  my $port = $sock_addr->port;





=head1 Description

C<APR::SockAddr> provides an access to a socket address structure
fields.

Normally you'd get a socket address object, by calling:

  use Apache2::Connection ();
  my $remote_sock_addr = $c->remote_addr;
  my $local_sock_addr  = $c->remote_local;




=head1 API

C<APR::SockAddr> provides the following functions and/or methods:





=head2 C<ip_get>

Get the IP address of the socket

  $ip = $sock_addr->ip_get();

=over 4

=item obj: C<$sock_addr>
( C<L<APR::SockAddr object|docs::2.0::api::APR::SockAddr>> )

=item ret: C<$ip> ( string )

=item since: 2.0.00

=back

If you are familiar with how perl's C<Socket> works:

  use Socket 'sockaddr_in';
  my ($serverport, $serverip) = sockaddr_in(getpeername($local_sock));
  my ($remoteport, $remoteip) = sockaddr_in(getpeername($remote_sock));

in apr-speak that'd be written as:

  use APR::SockAddr ();
  use Apache2::Connection ();
  my $serverport = $c->local_addr->port;
  my $serverip   = $c->local_addr->ip_get;
  my $remoteport = $c->remote_addr->port;
  my $remoteip   = $c->remote_addr->ip_get;


=head2 C<port>

Get the IP address of the socket

  $port = $sock_addr->port();

=over 4

=item obj: C<$sock_addr>
( C<L<APR::SockAddr object|docs::2.0::api::APR::SockAddr>> )

=item ret: C<$port> ( integer )

=item since: 2.0.00

=back

Example: see C<L<ip_get()|/C_ip_get_>>






=head1 Unsupported API

C<APR::SockAddr> also provides auto-generated Perl interface for a few
other methods which aren't tested at the moment and therefore their
API is a subject to change. These methods will be finalized later as a
need arises. If you want to rely on any of the following methods
please contact the L<the mod_perl development mailing
list|maillist::dev> so we can help each other take the steps necessary
to shift the method to an officially supported API.


=head2 C<equal>

META: Autogenerated - needs to be reviewed/completed

See if the IP addresses in two APR socket addresses are
equivalent.  Appropriate logic is present for comparing
IPv4-mapped IPv6 addresses with IPv4 addresses.

  $ret = $addr1->equal($addr2);

=over 4

=item obj: C<$addr1>
( C<L<APR::SockAddr object|docs::2.0::api::APR::SockAddr>> )

One of the APR socket addresses.

=item arg1: C<$addr2>
( C<L<APR::SockAddr object|docs::2.0::api::APR::SockAddr>> )

The other APR socket address.

=item ret: C<$ret> ( integer )

=item since: subject to change

=back

The return value will be non-zero if the addresses
are equivalent.


=head1 See Also

L<mod_perl 2.0 documentation|docs::2.0::index>.




=head1 Copyright

mod_perl 2.0 and its core modules are copyrighted under
The Apache Software License, Version 2.0.




=head1 Authors

L<The mod_perl development team and numerous
contributors|about::contributors::people>.

=cut

