trusty (3) ipsec_maskof.3.gz

Provided by: openswan_2.6.38-1_amd64 bug

NAME

       ipsec_initsubnet,    ipsec_addrtosubnet,    ipsec_subnettypeof,    ipsec_masktocount,    ipsec_networkof,
       ipsec_maskof - initialize an ip_subnet,  initialize  a  singleton  ip_subnet,  get  address  type  of  an
       ip_subnet,  convert  subnet  mask  to  bit count, get base address of an ip_subnet, get subnet mask of an
       ip_subnet

SYNOPSIS

       #include <freeswan.h>

       const char *initsubnet(const ip_address *addr,
           int maskbits, int clash, ip_subnet *dst);
       const char *addrtosubnet(const ip_address *addr,
           ip_subnet *dst);

       int subnettypeof(const ip_subnet *src);
       int masktocount(const ip_address *src);
       void networkof(const ip_subnet *src, ip_address *dst);
       void maskof(const ip_subnet *src, ip_address *dst);

DESCRIPTION

       The <freeswan.h> library uses an internal type ip_subnet to contain a description of an IP  subnet  (base
       address plus mask).  These functions provide basic tools for creating and examining this type.

       Initsubnet  initializes  a  variable *dst of type ip_subnet from a base address and a count of mask bits.
       The clash parameter specifies what to do if the base address includes 1 bits outside the prefix specified
       by the mask (that is, in the ``host number'' part of the address):

              '0'  zero out host-number bits

              'x'  non-zero host-number bits are an error

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

       Addrtosubnet initializes an ip_subnet variable *dst to  a  ``singleton  subnet''  containing  the  single
       address *addr.  It returns NULL for success and a pointer to a string-literal error message for failure.

       Subnettypeof  returns  the  address  type  of  a subnet, normally AF_INET or AF_INET6.  (The <freeswan.h>
       header file arranges to include the necessary headers for these names to be known.)

       Masktocount converts a subnet mask, expressed as an address,  to  a  bit  count  suitable  for  use  with
       initsubnet.  It returns -1 for error; see DIAGNOSTICS.

       Networkof fills in *dst with the base address of subnet src.

       Maskof fills in *dst with the subnet mask of subnet src, expressed as an address.

SEE ALSO

       inet(3), ipsec_ttosubnet(3), ipsec_rangetosubnet(3)

DIAGNOSTICS

       Fatal  errors  in initsubnet are: unknown address family; unknown clash value; impossible mask bit count;
       non-zero host-number bits and clash is 'x'.  Fatal errors in addrtosubnet are:  unknown  address  family.
       Fatal errors in masktocount are: unknown address family; mask bits not contiguous.

HISTORY

       Written for the FreeS/WAN project by Henry Spencer.

                                                  12 March 2002                              IPSEC_INITSUBNET(3)