unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

IPSEC_INITADDR(3)          Library Functions Manual          IPSEC_INITADDR(3)



NAME
       ipsec initaddr - initialize an ip_address
       ipsec addrtypeof - get address type of an ip_address
       ipsec addrlenof - get length of address within an ip_address
       ipsec addrbytesof - get copy of address within an ip_address
       ipsec addrbytesptr - get pointer to address within an ip_address

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

       const char *initaddr(const char *src, size_t srclen,
           int af, ip_address *dst);
       int addrtypeof(const ip_address *src);
       size_t addrlenof(const ip_address *src);
       size_t addrbytesof(const ip_address *src,
           unsigned char *dst, size_t dstlen);
       size_t addrbytesptr(const ip_address *src,
           const unsigned char **dst);

DESCRIPTION
       The  <&lt;freeswan.h>&gt;  library  uses an internal type ip_address to contain
       one of the (currently two) types of IP address.  These  functions  pro-
       vide basic tools for creating and examining this type.

       Initaddr initializes a variable *dst of type ip_address from an address
       (in network byte order, indicated by a pointer src and a length srclen)
       and  an  address family af (typically AF_INET or AF_INET6).  The length
       must be consistent with the address family.

       Addrtypeof returns the address type of an address, 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.)

       Addrlenof returns  the  size  (in  bytes)  of  the  address  within  an
       ip_address, to permit storage allocation etc.

       Addrbytesof  copies the address within the ip_address src to the buffer
       indicated by the pointer dst and the length  dstlen,  and  returns  the
       address  length (in bytes).  If the address will not fit, as many bytes
       as will fit are copied; the returned length is still the  full  length.
       It is the caller's responsibility to check the returned value to ensure
       that there was enough room.

       Addrbytesptr sets *dst to a pointer to the internal address within  the
       ip_address, and returns the address length (in bytes).  If dst is NULL,
       it just returns the address length.  The pointer  points  to  const  to
       discourage misuse.

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

       The functions which return size_t return 0 for a failure.

SEE ALSO
       inet(3), ipsec_ttoaddr(3)

DIAGNOSTICS
       An unknown address family is a fatal error for any of  these  functions
       except  addrtypeof.  An address-size mismatch is a fatal error for ini-
       taddr.

HISTORY
       Written for the FreeS/WAN project by Henry Spencer.

BUGS
       Addrtypeof should probably have been named addrfamilyof.



                                 11 Sept 2000                IPSEC_INITADDR(3)