xref: /freebsd/lib/libc/net/sctp_bindx.3 (revision ca6a6373bdaed010d6cbfb27f7249ae96009409d)
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.\"     From: @(#)send.2	8.2 (Berkeley) 2/21/94
29.\"
30.Dd June 14, 2015
31.Dt SCTP_BINDX 3
32.Os
33.Sh NAME
34.Nm sctp_bindx
35.Nd bind or unbind an SCTP socket to a list of addresses
36.Sh LIBRARY
37.Lb libc
38.Sh SYNOPSIS
39.In sys/types.h
40.In sys/socket.h
41.In netinet/sctp.h
42.Ft int
43.Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type"
44.Sh DESCRIPTION
45The
46.Fn sctp_bindx
47call binds or unbinds a address or a list of addresses to an
48SCTP endpoint.
49This allows a user to bind a subset of
50addresses.
51The
52.Fn sctp_bindx
53call operates similarly to
54.Fn bind
55but allows a list of addresses and also allows a bind or an
56unbind.
57The argument
58.Fa s
59must be a valid SCTP socket descriptor.
60The argument
61.Fa addrs
62is a list of addresses (where the list may be only 1 in
63length) that the user wishes to bind or unbind to the
64socket.
65The argument
66.Fa type
67must be one of the following values.
68.Pp
69.Dv SCTP_BINDX_ADD_ADDR
70This value indicates that the listed address(es) need to
71be added to the endpoint.
72.Pp
73.Dv SCTP_BINDX_REM_ADDR
74This value indicates that the listed address(es) need to
75be removed from the endpoint.
76.Pp
77Note that when a user adds or deletes an address to an
78association if the dynamic address flag
79.Va net.inet.sctp.auto_asconf
80is enabled any associations in the endpoint will attempt to
81have the address(es) added dynamically to the existing
82association.
83.Sh RETURN VALUES
84The call returns 0 on success and -1 upon failure.
85.Sh ERRORS
86The
87.Fn sctp_bindx
88function can return the following errors:
89.Bl -tag -width Er
90.It Bq Er EINVAL
91This value is returned if the
92.Fa type
93field is not one of the allowed values (see above).
94.It Bq Er ENOMEM
95This value is returned if the number of addresses
96being added causes a memory allocation failure in
97the call.
98.It Bq Er EBADF
99The argument
100.Fa s
101is not a valid descriptor.
102.It Bq Er ENOTSOCK
103The argument
104.Fa s
105is not a socket.
106.El
107.Sh SEE ALSO
108.Xr bind 2 ,
109.Xr sctp 4
110