Provided by: openswan_2.6.38-1_amd64 

NAME
ipsec_initaddr, ipsec_addrtypeof, ipsec_addrlenof, ipsec_addrbytesof, ipsec_addrbytesptr - initialize an
ip_address, get address type of an ip_address, get length of address within an ip_address, get copy of
address within an ip_address, get pointer to address within an ip_address
SYNOPSIS
#include <freeswan.h>
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 <freeswan.h> library uses an internal type ip_address to contain one of the (currently two) types of
IP address. These functions provide 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 <freeswan.h>
header file arranges to include the necessary 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 initaddr.
HISTORY
Written for the FreeS/WAN project by Henry Spencer.
BUGS
Addrtypeof should probably have been named addrfamilyof.
11 Sept 2000 IPSEC_INITADDR(3)