SCTP_GETPADDRS(3)

SCTP_GETPADDRS(3) | Library Functions Manual | SCTP_GETPADDRS(3)

# NAME

`sctp_getpaddrs`, `sctp_getladdrs` —
return a list of addresses to the caller

# LIBRARY

Standard C Library (libc, -lc)

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

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

# HISTORY

These functions first appeared in NetBSD 9.0.

August 1, 2018 | NetBSD 9.0