Provided by: openswan_2.6.38-1_amd64 bug

NAME

       ipsec_rangetosubnet - convert address range to subnet

SYNOPSIS

       #include <freeswan.h>

       const char *rangetosubnet(const ip_address * start, const ip_address * stop,
                                 ip_subnet * dst);

DESCRIPTION

       Rangetosubnet accepts two IP addresses which define an address range, from start to stop
       inclusive, and converts this to a subnet if possible. The addresses must both be IPv4 or
       both be IPv6, and the address family of the resulting subnet is the same.

       Rangetosubnet returns NULL for success and a pointer to a string-literal error message for
       failure; see DIAGNOSTICS.

SEE ALSO

       ipsec_initsubnet(3), ipsec_ttosubnet(3)

DIAGNOSTICS

       Fatal errors in rangetosubnet are: mixed address families; unknown address family; start
       and stop do not define a subnet.

HISTORY

       Written for the FreeS/WAN project by Henry Spencer.

BUGS

       The restriction of error reports to literal strings (so that callers donĀ“t need to worry
       about freeing them or copying them) does limit the precision of error reporting.

       The error-reporting convention lends itself to slightly obscure code, because many readers
       will not think of NULL as signifying success. A good way to make it clearer is to write
       something like:

           const char *error;

           error = rangetosubnet( /* ... */ );
           if (error != NULL) {
                   /* something went wrong */