sctp_getpaddrs, sctp_freepaddrs - returns all peer addresses on an SCTP association
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ]
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/sctp.h>
int sctp_getpaddrs(int sock, sctp_assoc_t id, void **addrs, void sctp_freepaddrs(void *addrs);
The sctp_getpaddrs() queries the peer addresses in an SCTP association. The sctp_freepaddrs() function releases resources that are allocated to hold the addresses.
The sctp_getpaddrs() function returns all the peer addresses in the SCTP association identified by sock. On completion addrs points to a dynamically allocated array of sockaddr_in structures for an Internet Protocol (IPv4) socket or an array of sockaddr_in6 structures for an Internet Protocol Version 6 (IPv6) socket. The addrs parameter must not be NULL. For an IPv4 SCTP socket, the addresses returned in the sockaddr_in structures are IPv4 addresses. For an IPv6 SCTP socket, the addresses in the sockaddr_in6 structures can be IPv6 addresses or IPv4-mapped IPv6 addresses.
If sock is a one-to-many style SCTP socket, id specifies the association of interest. If sock is a one-to-one style SCTP socket, id is ignored.
The sctp_freepaddrs() function frees the resources allocated by sctp_getpaddrs(). The addrs parameter is the array of addresses allocated by sctp_getpaddrs().
Upon successful completion, the sctp_getpaddrs() function returns the number of addresses in the addrs array. Otherwise, the function returns -1 and sets errno to indicate the error.
The sctp_getpaddrs() succeeds unless one of the following conditions exist.
See attributes(5) for descriptions of the following attributes:
tab() allbox; cw(2.750000i)| cw(2.750000i) lw(2.750000i) lw(2.750000i). ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityEvolving MT-LevelSafe
bind(3SOCKET) , in.h(3HEAD) , libsctp(3LIB) , sctp_freeladdrs(3SOCKET) , sctp_getladdrs(3SOCKET) , socket(3SOCKET) , inet(7P) , inet6(7P) , ip(7P) , ip6(7P) sctp(7P)