xref: /freebsd/lib/libc/net/sctp_bindx.3 (revision a9a393b39093ba4510f43ada4ae2ac0ef9602d37)
1d8b5fd91SRandall Stewart.\" Copyright (c) 1983, 1991, 1993
2d8b5fd91SRandall Stewart.\"	The Regents of the University of California.  All rights reserved.
3d8b5fd91SRandall Stewart.\"
4d8b5fd91SRandall Stewart.\" Redistribution and use in source and binary forms, with or without
5d8b5fd91SRandall Stewart.\" modification, are permitted provided that the following conditions
6d8b5fd91SRandall Stewart.\" are met:
7d8b5fd91SRandall Stewart.\" 1. Redistributions of source code must retain the above copyright
8d8b5fd91SRandall Stewart.\"    notice, this list of conditions and the following disclaimer.
9d8b5fd91SRandall Stewart.\" 2. Redistributions in binary form must reproduce the above copyright
10d8b5fd91SRandall Stewart.\"    notice, this list of conditions and the following disclaimer in the
11d8b5fd91SRandall Stewart.\"    documentation and/or other materials provided with the distribution.
12921ca2fdSEd Maste.\" 3. Neither the name of the University nor the names of its contributors
13d8b5fd91SRandall Stewart.\"    may be used to endorse or promote products derived from this software
14d8b5fd91SRandall Stewart.\"    without specific prior written permission.
15d8b5fd91SRandall Stewart.\"
16d8b5fd91SRandall Stewart.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17d8b5fd91SRandall Stewart.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18d8b5fd91SRandall Stewart.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19d8b5fd91SRandall Stewart.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20d8b5fd91SRandall Stewart.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21d8b5fd91SRandall Stewart.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22d8b5fd91SRandall Stewart.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23d8b5fd91SRandall Stewart.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24d8b5fd91SRandall Stewart.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25d8b5fd91SRandall Stewart.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26d8b5fd91SRandall Stewart.\" SUCH DAMAGE.
27d8b5fd91SRandall Stewart.\"
28d8b5fd91SRandall Stewart.\"     From: @(#)send.2	8.2 (Berkeley) 2/21/94
29d8b5fd91SRandall Stewart.\" $FreeBSD$
30d8b5fd91SRandall Stewart.\"
31b96e9390SMichael Tuexen.Dd June 14, 2015
32d8b5fd91SRandall Stewart.Dt SCTP_BINDX 3
33d8b5fd91SRandall Stewart.Os
34d8b5fd91SRandall Stewart.Sh NAME
35d8b5fd91SRandall Stewart.Nm sctp_bindx
36*a9a393b3SEdward Tomasz Napierala.Nd bind or unbind an SCTP socket to a list of addresses
37d8b5fd91SRandall Stewart.Sh LIBRARY
38d8b5fd91SRandall Stewart.Lb libc
39d8b5fd91SRandall Stewart.Sh SYNOPSIS
40d8b5fd91SRandall Stewart.In sys/types.h
41d8b5fd91SRandall Stewart.In sys/socket.h
427c376800SRandall Stewart.In netinet/sctp.h
43d8b5fd91SRandall Stewart.Ft int
44d8b5fd91SRandall Stewart.Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type"
45d8b5fd91SRandall Stewart.Sh DESCRIPTION
46d8b5fd91SRandall StewartThe
47d8b5fd91SRandall Stewart.Fn sctp_bindx
48d8b5fd91SRandall Stewartcall binds or unbinds a address or a list of addresses to an
4916c90ceeSChristian BruefferSCTP endpoint.
5016c90ceeSChristian BruefferThis allows a user to bind a subset of
5116c90ceeSChristian Bruefferaddresses.
5216c90ceeSChristian BruefferThe
53d8b5fd91SRandall Stewart.Fn sctp_bindx
54d8b5fd91SRandall Stewartcall operates similarly to
55d8b5fd91SRandall Stewart.Fn bind
56d8b5fd91SRandall Stewartbut allows a list of addresses and also allows a bind or an
5716c90ceeSChristian Bruefferunbind.
5816c90ceeSChristian BruefferThe argument
59d8b5fd91SRandall Stewart.Fa s
6016c90ceeSChristian Brueffermust be a valid SCTP socket descriptor.
6116c90ceeSChristian BruefferThe argument
62d8b5fd91SRandall Stewart.Fa addrs
63d8b5fd91SRandall Stewartis a list of addresses (where the list may be only 1 in
64d8b5fd91SRandall Stewartlength) that the user wishes to bind or unbind to the
6516c90ceeSChristian Brueffersocket.
6616c90ceeSChristian BruefferThe argument
67d8b5fd91SRandall Stewart.Fa type
68d8b5fd91SRandall Stewartmust be one of the following values.
69d8b5fd91SRandall Stewart.Pp
70d8b5fd91SRandall Stewart.Dv SCTP_BINDX_ADD_ADDR
71d8b5fd91SRandall StewartThis value indicates that the listed address(es) need to
72d8b5fd91SRandall Stewartbe added to the endpoint.
73d8b5fd91SRandall Stewart.Pp
74b96e9390SMichael Tuexen.Dv SCTP_BINDX_REM_ADDR
75d8b5fd91SRandall StewartThis value indicates that the listed address(es) need to
76d8b5fd91SRandall Stewartbe removed from the endpoint.
77d8b5fd91SRandall Stewart.Pp
78d8b5fd91SRandall StewartNote that when a user adds or deletes an address to an
7916c90ceeSChristian Bruefferassociation if the dynamic address flag
8016c90ceeSChristian Brueffer.Va net.inet.sctp.auto_asconf
81d8b5fd91SRandall Stewartis enabled any associations in the endpoint will attempt to
82d8b5fd91SRandall Stewarthave the address(es) added dynamically to the existing
83d8b5fd91SRandall Stewartassociation.
84d8b5fd91SRandall Stewart.Sh RETURN VALUES
85d8b5fd91SRandall StewartThe call returns 0 on success and -1 upon failure.
86d8b5fd91SRandall Stewart.Sh ERRORS
87d8b5fd91SRandall StewartThe
88d8b5fd91SRandall Stewart.Fn sctp_bindx
89a47698f8SChristian Bruefferfunction can return the following errors:
90d8b5fd91SRandall Stewart.Bl -tag -width Er
91d8b5fd91SRandall Stewart.It Bq Er EINVAL
92d8b5fd91SRandall StewartThis value is returned if the
93d8b5fd91SRandall Stewart.Fa type
94d8b5fd91SRandall Stewartfield is not one of the allowed values (see above).
95d8b5fd91SRandall Stewart.It Bq Er ENOMEM
96d8b5fd91SRandall StewartThis value is returned if the number of addresses
97d8b5fd91SRandall Stewartbeing added causes a memory allocation failure in
98d8b5fd91SRandall Stewartthe call.
99d8b5fd91SRandall Stewart.It Bq Er EBADF
100d8b5fd91SRandall StewartThe argument
101d8b5fd91SRandall Stewart.Fa s
102d8b5fd91SRandall Stewartis not a valid descriptor.
103d8b5fd91SRandall Stewart.It Bq Er ENOTSOCK
104d8b5fd91SRandall StewartThe argument
105d8b5fd91SRandall Stewart.Fa s
106d8b5fd91SRandall Stewartis not a socket.
107d8b5fd91SRandall Stewart.El
108d8b5fd91SRandall Stewart.Sh SEE ALSO
109d8b5fd91SRandall Stewart.Xr bind 2 ,
11016c90ceeSChristian Brueffer.Xr sctp 4
111