Paul Wouters

placeholder to suppress warning

IPSEC_PORTOF 3 8 Sept 2000 libreswan Executable programs
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

    #include <libreswan.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 <libreswan.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.