Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sctp_bindx(3) [freebsd man page]

SCTP_BINDX(3)						   BSD Library Functions Manual 					     SCTP_BINDX(3)

NAME
sctp_bindx -- bind or unbind an SCTP socket to a list of addresses. LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_bindx(int s, struct sockaddr *addrs, int num, int type); DESCRIPTION
The sctp_bindx() call binds or unbinds a address or a list of addresses to an SCTP endpoint. This allows a user to bind a subset of addresses. The sctp_bindx() call operates similarly to bind() but allows a list of addresses and also allows a bind or an unbind. The argu- ment s must be a valid SCTP socket descriptor. The argument addrs is a list of addresses (where the list may be only 1 in length) that the user wishes to bind or unbind to the socket. The argument type must be one of the following values. SCTP_BINDX_ADD_ADDR This value indicates that the listed address(es) need to be added to the endpoint. SCTP_BINDX_DEL_ADDR This value indicates that the listed address(es) need to be removed from the endpoint. Note that when a user adds or deletes an address to an association if the dynamic address flag net.inet.sctp.auto_asconf is enabled any asso- ciations in the endpoint will attempt to have the address(es) added dynamically to the existing association. RETURN VALUES
The call returns 0 on success and -1 upon failure. ERRORS
The sctp_bindx() function can return the following errors: [EINVAL] This value is returned if the type field is not one of the allowed values (see above). [ENOMEM] This value is returned if the number of addresses being added causes a memory allocation failure in the call. [EBADF] The argument s is not a valid descriptor. [ENOTSOCK] The argument s is not a socket. SEE ALSO
bind(2), sctp(4) BSD
December 15, 2006 BSD

Check Out this Related 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)
Man Page