Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sctp_bindx(3) [debian man page]

SCTP_BINDX(3)						     Linux Programmer's Manual						     SCTP_BINDX(3)

NAME
sctp_bindx - Add or remove bind addresses on a socket. SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_bindx(int sd, struct sockaddr * addrs, int addrcnt, int flags); DESCRIPTION
sctp_bindx adds or removes a set of bind addresses passed in the array addrs to/from the socket sd. addrcnt is the number of addresses in the array and the flags paramater indicates if the addresses need to be added or removed. If sd is an IPv4 socket, the addresses passed must be IPv4 addresses. If sd is an IPv6 socket, the addresses passed can be either IPv4 or IPv6 addresses. addrs is a pointer to an array of one or more socket addresses. Each address is contained in its appropriate structure(i.e. struct sock- addr_in or struct sockaddr_in6). The family of the address type must be used to distinguish the address length. The caller specifies the number of addresses in the array with addrcnt. The flags parameter can be either SCTP_BINDX_ADD_ADDR or SCTP_BINDX_REM_ADDR. An application can use SCTP_BINDX_ADD_ADDR to associate additional addresses with an endpoint after calling bind(2). SCTP_BINDX_REM_ADDR directs SCTP to remove the given addresses from the asso- ciation. A caller may not remove all addresses from an association. It will fail with EINVAL. RETURN VALUE
On success, 0 is returned. On failure, -1 is returned, and errno is set appropriately. ERRORS
EBADF sd is not a valid descriptor. ENOTSOCK sd is a descriptor for a file, not a socket. EFAULT Error while copying in or out from the user address space. EINVAL Invalid port or address or trying to remove all addresses from an association. EACCES The address is protected, and the user is not the super-user. SEE ALSO
sctp(7) sctp_sendmsg(3), sctp_send(3), sctp_recvmsg(3), sctp_peeloff(3), sctp_getpaddrs(3), sctp_getladdrs(3), sctp_opt_info(3), sctp_con- nectx(3) Linux 2.6 2005-10-25 SCTP_BINDX(3)

Check Out this Related Man Page

sctp_getladdrs(3SOCKET) 				     Sockets Library Functions					   sctp_getladdrs(3SOCKET)

NAME
sctp_getladdrs, sctp_freeladdrs - returns all locally bound addresses on an SCTP socket SYNOPSIS
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ] #include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_getladdrs(int sock, sctp_assoc_t id, void **addrs, void sctp_freeladdrs(void *addrs); DESCRIPTION
The sctp_getladdrs() function queries addresses to which an SCTP socket is bound. The sctp_freeladdrs() function releases resources that are allocated to hold the addresses. The sctp_getladdrs() function returns all the locally bound addresses on the SCTP socket 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. A value of 0 to id returns locally-bound addresses regardless of a particular association. If sock is a one-to-one style SCTP socket, id is ignored. The sctp_freeladdrs() function frees the resources allocated by sctp_getladdrs(). The addrs parameter is the array of addresses allocated by sctp_getladdrs(). RETURN VALUES
Upon successful completion, the sctp_getladdrs() function returns the number of addresses in the addrs array. Otherwise, the function returns -1 and sets errno to indicate the error. ERRORS
The sctp_getladdrs() call fails under the following conditions. EBADF The sock argument is an invalid file descriptor. ENOTSOCK The sock argument is not a socket. EINVAL The addrs argument is NULL. EINVAL The id argument is an invalid socket. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
bind(3SOCKET), in.h(3HEAD), libsctp(3LIB), sctp_freepaddrs(3SOCKET), sctp_getpaddrs(3SOCKET), socket(3SOCKET), inet(7P), inet6(7P), ip(7P), ip6(7P), sctp(7P) SunOS 5.10 05 Mar 2004 sctp_getladdrs(3SOCKET)
Man Page