SCTP_GETPADDRS(3)

NAME
sctp_getpaddrs, sctp_getladdrs - return a list of addresses to the caller

LIBRARY
libc

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

DESCRIPTION
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.

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

ERRORS
The functions can return the following errors:

[EBADF]
    The argument s is not a valid descriptor.

[EINVAL]
    An address listed has an invalid family or no addresses were provided.

[ENOMEM]
    The call cannot allocate memory to hold the socket addresses.

[ENOTSOCK]
    The argument s is not a socket.

SEE ALSO
getsockopt(2), sctp_freeladdrs(3), sctp_freepaddrs(3), sctp(4) RFC, 6458, Sockets API Extensions for the Stream Control Transmission Protocol (SCTP), December 2011.

HISTORY
These functions first appeared in NetBSD 9.0.