SCTP_GETPADDRS(3) Library Functions Manual SCTP_GETPADDRS(3)

sctp_getpaddrs, sctp_getladdrs
return a list of addresses to the caller

Standard C Library (libc, -lc)

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/sctp.h>

int
sctp_getpaddrs(int s, sctp_assoc_t asocid, struct sockaddr **addrs);

int
sctp_getladdrs(int s, sctp_assoc_t asocid, struct sockaddr **addrs);

The sctp_getpaddrs() function is used to get the list of the peers addresses. The sctp_getladdrs() function is used to get the list of the local addresses. The association of interest is identified by the asocid argument. The addresses are returned in a newly allocated array of socket addresses returned in the argument addrs upon success.

After the caller is finished, the function sctp_freepaddrs(3) or sctp_freeladdrs(3) should be used to release the memory allocated by these calls.

The call returns -1 upon failure and a count of the number of addresses returned in addrs upon success.

The functions can return the following errors:
[]
The argument s is not a valid descriptor.
[]
An address listed has an invalid family or no addresses were provided.
[]
The call cannot allocate memory to hold the socket addresses.
[]
The argument s is not a socket.

getsockopt(2), sctp_freeladdrs(3), sctp_freepaddrs(3), sctp(4)

Sockets API Extensions for the Stream Control Transmission Protocol (SCTP), RFC, 6458, December 2011.

These functions first appeared in NetBSD 9.0.
August 1, 2018 NetBSD 9.0