sctp_getpaddrs(3)

sctp_getpaddrs3

Return a list of addresses to the caller

Usage

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

Library

Standard C Library (libc, -lc)

Overview

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() or sctp_freeladdrs() 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:

[EINVAL]

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

[ENOMEM]

The call cannot allocate memory to hold the socket addresses.

[EBADF]

The argument s is not a valid descriptor.

[ENOTSOCK]

The argument s is not a socket.

Releases

44 releases since FreeBSD 7.0-RELEASE; the text changed 31 times.

  1. 7.0
  2. 7.1
  3. 7.2
  4. 7.3
  5. 7.4
  6. 8.0
  7. 8.1
  8. 8.2
  9. 8.3
  10. 8.4
  11. 9.0
  12. 9.1
  13. 9.2
  14. 9.3
  15. 10.0
  16. 10.1
  17. 10.2
  18. 10.3
  19. 10.4
  20. 11.0
  21. 11.1
  22. 11.2
  23. 11.3
  24. 11.4
  25. 12.0
  26. 12.1
  27. 12.2
  28. 12.3
  29. 12.4
  30. 13.0–13.2
  31. 13.3–14.5
  32. 15.0–16.0

Standards

The sctp_getpaddrs() and sctp_getladdrs() functions conform to RFC 6458.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.