unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

IPSEC_INITSUBNET(3)        Library Functions Manual        IPSEC_INITSUBNET(3)



NAME
       ipsec initsubnet - initialize an ip_subnet
       ipsec addrtosubnet - initialize a singleton ip_subnet
       ipsec subnettypeof - get address type of an ip_subnet
       ipsec masktocount - convert subnet mask to bit count
       ipsec networkof - get base address of an ip_subnet
       ipsec maskof - get subnet mask of an ip_subnet

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

       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  <&lt;freeswan.h>&gt;  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 suc-
       cess 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 <&lt;freeswan.h>&gt; header file arranges to include the neces-
       sary 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)