xref: /freebsd/lib/libc/net/sctp_bindx.3 (revision 7c3768006d0adbe052143f13f0d969f422c9fd3e)
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.
12d8b5fd91SRandall Stewart.\" 3. All advertising materials mentioning features or use of this software
13d8b5fd91SRandall Stewart.\"    must display the following acknowledgement:
14d8b5fd91SRandall Stewart.\"	This product includes software developed by the University of
15d8b5fd91SRandall Stewart.\"	California, Berkeley and its contributors.
16d8b5fd91SRandall Stewart.\" 4. Neither the name of the University nor the names of its contributors
17d8b5fd91SRandall Stewart.\"    may be used to endorse or promote products derived from this software
18d8b5fd91SRandall Stewart.\"    without specific prior written permission.
19d8b5fd91SRandall Stewart.\"
20d8b5fd91SRandall Stewart.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21d8b5fd91SRandall Stewart.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22d8b5fd91SRandall Stewart.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23d8b5fd91SRandall Stewart.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24d8b5fd91SRandall Stewart.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25d8b5fd91SRandall Stewart.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26d8b5fd91SRandall Stewart.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27d8b5fd91SRandall Stewart.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28d8b5fd91SRandall Stewart.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29d8b5fd91SRandall Stewart.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30d8b5fd91SRandall Stewart.\" SUCH DAMAGE.
31d8b5fd91SRandall Stewart.\"
32d8b5fd91SRandall Stewart.\"     From: @(#)send.2	8.2 (Berkeley) 2/21/94
33d8b5fd91SRandall Stewart.\" $FreeBSD$
34d8b5fd91SRandall Stewart.\"
35d8b5fd91SRandall Stewart.Dd December 15, 2006
36d8b5fd91SRandall Stewart.Dt SCTP_BINDX 3
37d8b5fd91SRandall Stewart.Os
38d8b5fd91SRandall Stewart.Sh NAME
39d8b5fd91SRandall Stewart.Nm sctp_bindx
40d8b5fd91SRandall Stewart.Nd bind or unbind an SCTP socket to a list of addresses.
41d8b5fd91SRandall Stewart.Sh LIBRARY
42d8b5fd91SRandall Stewart.Lb libc
43d8b5fd91SRandall Stewart.Sh SYNOPSIS
44d8b5fd91SRandall Stewart.In sys/types.h
45d8b5fd91SRandall Stewart.In sys/socket.h
467c376800SRandall Stewart.In netinet/sctp.h
47d8b5fd91SRandall Stewart.Ft int
48d8b5fd91SRandall Stewart.Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type"
49d8b5fd91SRandall Stewart.Sh DESCRIPTION
50d8b5fd91SRandall StewartThe
51d8b5fd91SRandall Stewart.Fn sctp_bindx
52d8b5fd91SRandall Stewartcall binds or unbinds a address or a list of addresses to an
53d8b5fd91SRandall StewartSCTP endpoint. This allows a user to bind a subset of
54d8b5fd91SRandall Stewartaddresses. The
55d8b5fd91SRandall Stewart.Fn sctp_bindx
56d8b5fd91SRandall Stewartcall operates similarly to
57d8b5fd91SRandall Stewart.Fn bind
58d8b5fd91SRandall Stewartbut allows a list of addresses and also allows a bind or an
59d8b5fd91SRandall Stewartunbind. The argument
60d8b5fd91SRandall Stewart.Fa s
61d8b5fd91SRandall Stewartmust be a valid SCTP socket descriptor. The 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
65d8b5fd91SRandall Stewartsocket. The argument
66d8b5fd91SRandall Stewart.Fa type
67d8b5fd91SRandall Stewartmust be one of the following values.
68d8b5fd91SRandall Stewart.Pp
69d8b5fd91SRandall Stewart.Dv SCTP_BINDX_ADD_ADDR
70d8b5fd91SRandall StewartThis value indicates that the listed address(es) need to
71d8b5fd91SRandall Stewartbe added to the endpoint.
72d8b5fd91SRandall Stewart.Pp
73d8b5fd91SRandall Stewart.Dv SCTP_BINDX_DEL_ADDR
74d8b5fd91SRandall StewartThis value indicates that the listed address(es) need to
75d8b5fd91SRandall Stewartbe removed from the endpoint.
76d8b5fd91SRandall Stewart.Pp
77d8b5fd91SRandall StewartNote that when a user adds or deletes an address to an
78d8b5fd91SRandall Stewartassociation if the dynamic address flag "net.inet.sctp.auto_asconf"
79d8b5fd91SRandall Stewartis enabled any associations in the endpoint will attempt to
80d8b5fd91SRandall Stewarthave the address(es) added dynamically to the existing
81d8b5fd91SRandall Stewartassociation.
82d8b5fd91SRandall Stewart.Sh RETURN VALUES
83d8b5fd91SRandall StewartThe call returns 0 on success and -1 upon failure.
84d8b5fd91SRandall Stewart.Sh ERRORS
85d8b5fd91SRandall StewartThe
86d8b5fd91SRandall Stewart.Fn sctp_bindx
87d8b5fd91SRandall Stewartcan return the following errors.
88d8b5fd91SRandall Stewart.Bl -tag -width Er
89d8b5fd91SRandall Stewart.It Bq Er EINVAL
90d8b5fd91SRandall StewartThis value is returned if the
91d8b5fd91SRandall Stewart.Fa type
92d8b5fd91SRandall Stewartfield is not one of the allowed values (see above).
93d8b5fd91SRandall Stewart.It Bq Er ENOMEM
94d8b5fd91SRandall StewartThis value is returned if the number of addresses
95d8b5fd91SRandall Stewartbeing added causes a memory allocation failure in
96d8b5fd91SRandall Stewartthe call.
97d8b5fd91SRandall Stewart.It Bq Er EBADF
98d8b5fd91SRandall StewartThe argument
99d8b5fd91SRandall Stewart.Fa s
100d8b5fd91SRandall Stewartis not a valid descriptor.
101d8b5fd91SRandall Stewart.It Bq Er ENOTSOCK
102d8b5fd91SRandall StewartThe argument
103d8b5fd91SRandall Stewart.Fa s
104d8b5fd91SRandall Stewartis not a socket.
105d8b5fd91SRandall Stewart.El
106d8b5fd91SRandall Stewart.Sh SEE ALSO
107d8b5fd91SRandall Stewart.Xr sctp 4 ,
108d8b5fd91SRandall Stewart.Xr bind 2 ,
109d8b5fd91SRandall Stewart
110