unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

IPSEC_RANGETOSUBNET(3)     Library Functions Manual     IPSEC_RANGETOSUBNET(3)



NAME
       ipsec rangetosubnet - convert address range to subnet

SYNOPSIS
       #include <&lt;freeswan.h>&gt;

       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  possi-
       ble.   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-lit-
       eral 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 */



                                  8 Sept 2000           IPSEC_RANGETOSUBNET(3)