IPSEC_PORTOF(3)

NAME
ipsec_portof, ipsec_setportof, ipsec_sockaddrof, ipsec_sockaddrlenof - get port field of an ip_address, set port field of an ip_address, get pointer to internal sockaddr of an ip_address, get length of internal sockaddr of an ip_address

SYNOPSIS
#include <freeswan.h>

int portof(const ip_address *src);
void setportof(int port, ip_address *dst);
struct sockaddr *sockaddrof(ip_address *src);
size_t sockaddrlenof(const ip_address *src);

DESCRIPTION
The <freeswan.h> internal type ip_address contains one of the sockaddr types internally. Reliance on this feature is discouraged, but it may occasionally be necessary. These functions provide low-level tools for this purpose.

Portof and setportof respectively read and write the port-number field of the internal sockaddr. The values are in network byte order.

Sockaddrof returns a pointer to the internal sockaddr, for passing to other functions.

Sockaddrlenof reports the size of the internal sockaddr, for use in storage allocation.

SEE ALSO
inet(3), ipsec_initaddr(3)

DIAGNOSTICS
Portof returns -1, sockaddrof returns NULL, and sockaddrlenof returns 0 if an unknown address family is found within the ip_address.

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

BUGS
These functions all depend on low-level details of the ip_address type, which are in principle subject to change. Avoid using them unless really necessary.