ipsec_setportof(3) 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

Other Alias

ipsec_portof, ipsec_sockaddrof, ipsec_sockaddrlenof


#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);


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.


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


Written for the FreeS/WAN project by Henry Spencer.


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.