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_ad
dress
ipsec addrbytesof - get copy of address within an ip_ad
dress
ipsec addrbytesptr - 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

must be consistent with the address family.

Addrtypeof returns the address type of an address, normal
ly AF_INET or
AF_INET6. (The <freeswan.h> header file arranges to in
clude the necessary headers for these names to be known.)
Addrlenof returns the size (in bytes) of the ad
dress 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 ad
dress 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
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout