Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

APR::SockAddr (3)

Name

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

Synopsis

use APR::SockAddr ();

my $ip = $sock_addr->ip_get;
my $port = $sock_addr->port;

Description

User Contributed Perl Documentation
                                   build::sparcv9::docs::api::APR::SockAddr(3)



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

Synopsis
         use APR::SockAddr ();

         my $ip = $sock_addr->ip_get;
         my $port = $sock_addr->port;

Description
       "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;

API
       "APR::SockAddr" provides the following functions and/or methods:

   "ip_get"
       Get the IP address of the socket

         $ip = $sock_addr->ip_get();

       obj: $sock_addr ( "APR::SockAddr object" )
       ret: $ip ( string )
       since: 2.0.00

       If you are familiar with how perl's "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;

   "port"
       Get the IP address of the socket

         $port = $sock_addr->port();

       obj: $sock_addr ( "APR::SockAddr object" )
       ret: $port ( integer )
       since: 2.0.00

       Example: see "ip_get()"

Unsupported API
       "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 the mod_perl development mailing list so we can help each
       other take the steps necessary to shift the method to an officially
       supported API.

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

       obj: $addr1 ( "APR::SockAddr object" )
           One of the APR socket addresses.

       arg1: $addr2 ( "APR::SockAddr object" )
           The other APR socket address.

       ret: $ret ( integer )
       since: subject to change

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

See Also
       mod_perl 2.0 documentation.

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

Authors
       The mod_perl development team and numerous contributors.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------------------------+
       |ATTRIBUTE TYPE |            ATTRIBUTE VALUE              |
       +---------------+-----------------------------------------+
       |Availability   | web/server/apache-24/module/apache-perl |
       +---------------+-----------------------------------------+
       |Stability      | Uncommitted                             |
       +---------------+-----------------------------------------+

NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       https://www.apache.org/dist/perl/mod_perl-2.0.12.tar.gz.

       Further information about this software can be found on the open source
       community website at https://perl.apache.org/.



perl v5.32.0                      2022-01-30
                                   build::sparcv9::docs::api::APR::SockAddr(3)