1.\" Copyright (c) 1983, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.Dd February 2, 2024 29.Dt SCTP_BINDX 3 30.Os 31.Sh NAME 32.Nm sctp_bindx 33.Nd bind or unbind an SCTP socket to a list of addresses 34.Sh LIBRARY 35.Lb libc 36.Sh SYNOPSIS 37.In sys/types.h 38.In sys/socket.h 39.In netinet/sctp.h 40.Ft int 41.Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type" 42.Sh DESCRIPTION 43The 44.Fn sctp_bindx 45call binds or unbinds a address or a list of addresses to an 46SCTP endpoint. 47This allows a user to bind a subset of 48addresses. 49The 50.Fn sctp_bindx 51call operates similarly to 52.Fn bind 53but allows a list of addresses and also allows a bind or an 54unbind. 55The argument 56.Fa s 57must be a valid SCTP socket descriptor. 58The argument 59.Fa addrs 60is a list of addresses (where the list may be only 1 in 61length) that the user wishes to bind or unbind to the 62socket. 63The argument 64.Fa type 65must be one of the following values. 66.Pp 67.Dv SCTP_BINDX_ADD_ADDR 68This value indicates that the listed address(es) need to 69be added to the endpoint. 70.Pp 71.Dv SCTP_BINDX_REM_ADDR 72This value indicates that the listed address(es) need to 73be removed from the endpoint. 74.Pp 75Note that when a user adds or deletes an address to an 76association if the dynamic address flag 77.Va net.inet.sctp.auto_asconf 78is enabled any associations in the endpoint will attempt to 79have the address(es) added dynamically to the existing 80association. 81.Sh RETURN VALUES 82The call returns 0 on success and -1 upon failure. 83.Sh ERRORS 84The 85.Fn sctp_bindx 86function can return the following errors: 87.Bl -tag -width Er 88.It Bq Er EINVAL 89This value is returned if the 90.Fa type 91field is not one of the allowed values (see above). 92.It Bq Er ENOMEM 93This value is returned if the number of addresses 94being added causes a memory allocation failure in 95the call. 96.It Bq Er EBADF 97The argument 98.Fa s 99is not a valid descriptor. 100.It Bq Er ENOTSOCK 101The argument 102.Fa s 103is not a socket. 104.El 105.Sh SEE ALSO 106.Xr bind 2 , 107.Xr sctp 4 108.Rs 109.%A R. Stewart 110.%A M. Tuexen 111.%A K. Poon 112.%A P. Lei 113.%A V. Yasevich 114.%T Sockets API Extensions for the Stream Control Transmission Protocol (SCTP) 115.%R RFC 6458 116.%D December 2011 117.Re 118.Sh STANDARDS 119The 120.Fn sctp_bindx 121function conforms to RFC 6458. 122