Various improvements. More markup, sort errors, fix -1.diff -r1.1 -r1.2 src/lib/libc/net/sctp_bindx.3
(wiz)
--- src/lib/libc/net/sctp_bindx.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_bindx.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_bindx.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_bindx.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -24,27 +24,27 @@ | @@ -24,27 +24,27 @@ | |||
24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
28 | .\" SUCH DAMAGE. | 28 | .\" SUCH DAMAGE. | |
29 | .\" | 29 | .\" | |
30 | .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 | 30 | .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 | |
31 | .\" | 31 | .\" | |
32 | .Dd August 1, 2018 | 32 | .Dd August 1, 2018 | |
33 | .Dt SCTP_BINDX 3 | 33 | .Dt SCTP_BINDX 3 | |
34 | .Os | 34 | .Os | |
35 | .Sh NAME | 35 | .Sh NAME | |
36 | .Nm sctp_bindx | 36 | .Nm sctp_bindx | |
37 | .Nd bind or unbind an SCTP socket to a list of addresses. | 37 | .Nd bind or unbind an SCTP socket to a list of addresses | |
38 | .Sh LIBRARY | 38 | .Sh LIBRARY | |
39 | .Lb libc | 39 | .Lb libc | |
40 | .Sh SYNOPSIS | 40 | .Sh SYNOPSIS | |
41 | .In sys/types.h | 41 | .In sys/types.h | |
42 | .In sys/socket.h | 42 | .In sys/socket.h | |
43 | .In netinet/sctp.h | 43 | .In netinet/sctp.h | |
44 | .Ft int | 44 | .Ft int | |
45 | .Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type" | 45 | .Fn sctp_bindx "int s" "struct sockaddr *addrs" "int num" "int type" | |
46 | .Sh DESCRIPTION | 46 | .Sh DESCRIPTION | |
47 | The | 47 | The | |
48 | .Fn sctp_bindx | 48 | .Fn sctp_bindx | |
49 | call binds or unbinds a address or a list of addresses to an | 49 | call binds or unbinds a address or a list of addresses to an | |
50 | SCTP endpoint. | 50 | SCTP endpoint. | |
@@ -73,48 +73,48 @@ This value indicates that the listed add | @@ -73,48 +73,48 @@ This value indicates that the listed add | |||
73 | be added to the endpoint. | 73 | be added to the endpoint. | |
74 | .Pp | 74 | .Pp | |
75 | .Dv SCTP_BINDX_DEL_ADDR | 75 | .Dv SCTP_BINDX_DEL_ADDR | |
76 | This value indicates that the listed address(es) need to | 76 | This value indicates that the listed address(es) need to | |
77 | be removed from the endpoint. | 77 | be removed from the endpoint. | |
78 | .Pp | 78 | .Pp | |
79 | Note that when a user adds or deletes an address to an | 79 | Note that when a user adds or deletes an address to an | |
80 | association if the dynamic address flag | 80 | association if the dynamic address flag | |
81 | .Va net.inet.sctp.auto_asconf | 81 | .Va net.inet.sctp.auto_asconf | |
82 | is enabled any associations in the endpoint will attempt to | 82 | is enabled any associations in the endpoint will attempt to | |
83 | have the address(es) added dynamically to the existing | 83 | have the address(es) added dynamically to the existing | |
84 | association. | 84 | association. | |
85 | .Sh RETURN VALUES | 85 | .Sh RETURN VALUES | |
86 | The call returns 0 on success and -1 upon failure. | 86 | The call returns 0 on success and \-1 upon failure. | |
87 | .Sh ERRORS | 87 | .Sh ERRORS | |
88 | The | 88 | The | |
89 | .Fn sctp_bindx | 89 | .Fn sctp_bindx | |
90 | function can return the following errors: | 90 | function can return the following errors: | |
91 | .Bl -tag -width Er | 91 | .Bl -tag -width Er | |
92 | .It Bq Er EBADF | |||
93 | The argument | |||
94 | .Fa s | |||
95 | is not a valid descriptor. | |||
92 | .It Bq Er EINVAL | 96 | .It Bq Er EINVAL | |
93 | This value is returned if the | 97 | This value is returned if the | |
94 | .Fa type | 98 | .Fa type | |
95 | field is not one of the allowed values (see above). | 99 | field is not one of the allowed values (see above). | |
96 | .It Bq Er ENOMEM | 100 | .It Bq Er ENOMEM | |
97 | This value is returned if the number of addresses | 101 | This value is returned if the number of addresses | |
98 | being added causes a memory allocation failure in | 102 | being added causes a memory allocation failure in | |
99 | the call. | 103 | the call. | |
100 | .It Bq Er EBADF | |||
101 | The argument | |||
102 | .Fa s | |||
103 | is not a valid descriptor. | |||
104 | .It Bq Er ENOTSOCK | 104 | .It Bq Er ENOTSOCK | |
105 | The argument | 105 | The argument | |
106 | .Fa s | 106 | .Fa s | |
107 | is not a socket. | 107 | is not a socket. | |
108 | .El | 108 | .El | |
109 | .Sh SEE ALSO | 109 | .Sh SEE ALSO | |
110 | .Xr bind 2 , | 110 | .Xr bind 2 , | |
111 | .Xr sctp 4 | 111 | .Xr sctp 4 | |
112 | .Rs | 112 | .Rs | |
113 | .%R RFC | 113 | .%R RFC | |
114 | .%N 6458 | 114 | .%N 6458 | |
115 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 115 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
116 | .%D December 2011 | 116 | .%D December 2011 | |
117 | .Re | 117 | .Re | |
118 | .Sh HISTORY | 118 | .Sh HISTORY | |
119 | This function first appeared in | 119 | This function first appeared in | |
120 | .Nx 9.0 . | 120 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_connectx.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_connectx.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_connectx.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_connectx.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -66,46 +66,46 @@ a random nonce. | @@ -66,46 +66,46 @@ a random nonce. | |||
66 | .Pp | 66 | .Pp | |
67 | If the peer SCTP stack does not list one or more of | 67 | If the peer SCTP stack does not list one or more of | |
68 | the provided addresses in its response message then | 68 | the provided addresses in its response message then | |
69 | the extra addresses sent in the | 69 | the extra addresses sent in the | |
70 | .Fn sctp_connectx | 70 | .Fn sctp_connectx | |
71 | call will be silently discarded from the association. | 71 | call will be silently discarded from the association. | |
72 | On | 72 | On | |
73 | successful completion the provided | 73 | successful completion the provided | |
74 | .Fa id | 74 | .Fa id | |
75 | will be | 75 | will be | |
76 | filled in with the association identification of the newly | 76 | filled in with the association identification of the newly | |
77 | forming association. | 77 | forming association. | |
78 | .Sh RETURN VALUES | 78 | .Sh RETURN VALUES | |
79 | The call returns 0 on success and -1 upon failure. | 79 | The call returns 0 on success and \-1 upon failure. | |
80 | .Sh ERRORS | 80 | .Sh ERRORS | |
81 | The | 81 | The | |
82 | .Fn sctp_connectx | 82 | .Fn sctp_connectx | |
83 | function can return the following errors: | 83 | function can return the following errors: | |
84 | .Bl -tag -width Er | 84 | .Bl -tag -width Er | |
85 | .It Bq Er EINVAL | |||
86 | An address listed has an invalid family or no | |||
87 | addresses were provided. | |||
88 | .It Bq Er E2BIG | 85 | .It Bq Er E2BIG | |
89 | The size of the address list exceeds the amount of | 86 | The size of the address list exceeds the amount of | |
90 | data provided. | 87 | data provided. | |
91 | .It Bq Er EBADF | 88 | .It Bq Er EBADF | |
92 | The argument | 89 | The argument | |
93 | .Fa s | 90 | .Fa s | |
94 | is not a valid descriptor. | 91 | is not a valid descriptor. | |
92 | .It Bq Er EINVAL | |||
93 | An address listed has an invalid family or no | |||
94 | addresses were provided. | |||
95 | .It Bq Er ENOTSOCK | 95 | .It Bq Er ENOTSOCK | |
96 | The argument | 96 | The argument | |
97 | .Fa s | 97 | .Fa s | |
98 | is not a socket. | 98 | is not a socket. | |
99 | .El | 99 | .El | |
100 | .Sh SEE ALSO | 100 | .Sh SEE ALSO | |
101 | .Xr connect 2 , | 101 | .Xr connect 2 , | |
102 | .Xr sctp 4 | 102 | .Xr sctp 4 | |
103 | .Rs | 103 | .Rs | |
104 | .%R RFC | 104 | .%R RFC | |
105 | .%N 6458 | 105 | .%N 6458 | |
106 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 106 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
107 | .%D December 2011 | 107 | .%D December 2011 | |
108 | .Re | 108 | .Re | |
109 | .Sh HISTORY | 109 | .Sh HISTORY | |
110 | This function first appeared in | 110 | This function first appeared in | |
111 | .Nx 9.0 . | 111 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_freepaddrs.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_freepaddrs.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_freepaddrs.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_freepaddrs.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -43,33 +43,32 @@ | @@ -43,33 +43,32 @@ | |||
43 | .In sys/socket.h | 43 | .In sys/socket.h | |
44 | .In netinet/sctp.h | 44 | .In netinet/sctp.h | |
45 | .Ft void | 45 | .Ft void | |
46 | .Fn sctp_freepaddrs "struct sockaddr *" | 46 | .Fn sctp_freepaddrs "struct sockaddr *" | |
47 | .Ft void | 47 | .Ft void | |
48 | .Fn sctp_freeladdrs "struct sockaddr *" | 48 | .Fn sctp_freeladdrs "struct sockaddr *" | |
49 | .Sh DESCRIPTION | 49 | .Sh DESCRIPTION | |
50 | The | 50 | The | |
51 | .Fn sctp_freepaddrs | 51 | .Fn sctp_freepaddrs | |
52 | and | 52 | and | |
53 | .Fn sctp_freeladdrs | 53 | .Fn sctp_freeladdrs | |
54 | functions are used to release the memory allocated by previous | 54 | functions are used to release the memory allocated by previous | |
55 | calls to | 55 | calls to | |
56 | .Fn sctp_getpaddrs | 56 | .Xr sctp_getpaddrs 3 | |
57 | or | 57 | or | |
58 | .Fn sctp_getladdrs | 58 | .Xr sctp_getladdrs 3 | |
59 | respectively. | 59 | respectively. | |
60 | .Sh RETURN VALUES | 60 | .Sh RETURN VALUES | |
61 | none. | 61 | none. | |
62 | .Sh SEE ALSO | 62 | .Sh SEE ALSO | |
63 | .Xr sctp_getladdrs 3 , | 63 | .Xr sctp_getladdrs 3 , | |
64 | .Xr sctp_getpaddrs 3 , | 64 | .Xr sctp_getpaddrs 3 , | |
65 | .Xr sctp 4 | 65 | .Xr sctp 4 | |
66 | .Rs | 66 | .Rs | |
67 | .%R RFC | 67 | .%R RFC | |
68 | .%N 6458 | 68 | .%N 6458 | |
69 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 69 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
70 | .%D December 2011 | 70 | .%D December 2011 | |
71 | .Re | 71 | .Re | |
72 | .Sh HISTORY | 72 | .Sh HISTORY | |
73 | These functions first appeared in | 73 | These functions first appeared in | |
74 | .Nx 9.0 . | 74 | .Nx 9.0 . | |
75 |
--- src/lib/libc/net/sctp_getaddrlen.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_getaddrlen.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_getaddrlen.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_getaddrlen.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -59,35 +59,35 @@ system calls. | @@ -59,35 +59,35 @@ system calls. | |||
59 | If for some reason a SCTP socket cannot | 59 | If for some reason a SCTP socket cannot | |
60 | be created or the | 60 | be created or the | |
61 | .Fn getsockopt | 61 | .Fn getsockopt | |
62 | call fails, an error will be returned | 62 | call fails, an error will be returned | |
63 | with | 63 | with | |
64 | .Va errno | 64 | .Va errno | |
65 | set as specified in the | 65 | set as specified in the | |
66 | .Fn socket | 66 | .Fn socket | |
67 | or | 67 | or | |
68 | .Fn getsockopt | 68 | .Fn getsockopt | |
69 | system call. | 69 | system call. | |
70 | .Sh RETURN VALUES | 70 | .Sh RETURN VALUES | |
71 | The call returns the number of bytes that the operating | 71 | The call returns the number of bytes that the operating | |
72 | system expects for the specific address family or -1. | 72 | system expects for the specific address family or \-1. | |
73 | .Sh ERRORS | 73 | .Sh ERRORS | |
74 | The | 74 | The | |
75 | .Fn sctp_getaddrlen | 75 | .Fn sctp_getaddrlen | |
76 | function can return the following errors: | 76 | function can return the following errors: | |
77 | .Bl -tag -width Er | 77 | .Bl -tag -width Er | |
78 | .It Bq Er EINVAL | 78 | .It Bq Er EINVAL | |
79 | The address family specified does NOT exist. | 79 | The address family specified does NOT exist. | |
80 | .El | 80 | .El | |
81 | .Sh SEE ALSO | 81 | .Sh SEE ALSO | |
82 | .Xr getsockopt 2 , | 82 | .Xr getsockopt 2 , | |
83 | .Xr socket 2 , | 83 | .Xr socket 2 , | |
84 | .Xr sctp 4 | 84 | .Xr sctp 4 | |
85 | .Rs | 85 | .Rs | |
86 | .%R RFC | 86 | .%R RFC | |
87 | .%N 6458 | 87 | .%N 6458 | |
88 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 88 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
89 | .%D December 2011 | 89 | .%D December 2011 | |
90 | .Re | 90 | .Re | |
91 | .Sh HISTORY | 91 | .Sh HISTORY | |
92 | This function first appeared in | 92 | This function first appeared in | |
93 | .Nx 9.0 . | 93 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_getassocid.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_getassocid.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_getassocid.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_getassocid.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -22,58 +22,58 @@ | @@ -22,58 +22,58 @@ | |||
22 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 22 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
23 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 23 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
28 | .\" SUCH DAMAGE. | 28 | .\" SUCH DAMAGE. | |
29 | .\" | 29 | .\" | |
30 | .Dd August 1, 2018 | 30 | .Dd August 1, 2018 | |
31 | .Dt SCTP_GETASSOCID 3 | 31 | .Dt SCTP_GETASSOCID 3 | |
32 | .Os | 32 | .Os | |
33 | .Sh NAME | 33 | .Sh NAME | |
34 | .Nm sctp_getassocid | 34 | .Nm sctp_getassocid | |
35 | .Nd return an association id for a specified socket address. | 35 | .Nd return an association id for a specified socket address | |
36 | .Sh LIBRARY | 36 | .Sh LIBRARY | |
37 | .Lb libc | 37 | .Lb libc | |
38 | .Sh SYNOPSIS | 38 | .Sh SYNOPSIS | |
39 | .In sys/types.h | 39 | .In sys/types.h | |
40 | .In sys/socket.h | 40 | .In sys/socket.h | |
41 | .In netinet/sctp.h | 41 | .In netinet/sctp.h | |
42 | .Ft sctp_assoc_t | 42 | .Ft sctp_assoc_t | |
43 | .Fn sctp_getassocid "int s" "struct sockaddr *addr" | 43 | .Fn sctp_getassocid "int s" "struct sockaddr *addr" | |
44 | .Sh DESCRIPTION | 44 | .Sh DESCRIPTION | |
45 | The | 45 | The | |
46 | .Fn sctp_getassocid | 46 | .Fn sctp_getassocid | |
47 | call attempts to look up the specified socket address | 47 | call attempts to look up the specified socket address | |
48 | .Fa addr | 48 | .Fa addr | |
49 | and find the respective association identification. | 49 | and find the respective association identification. | |
50 | .Sh RETURN VALUES | 50 | .Sh RETURN VALUES | |
51 | The call returns the association id upon success and | 51 | The call returns the association id upon success and | |
52 | 0 is returned upon failure. | 52 | 0 is returned upon failure. | |
53 | .Sh ERRORS | 53 | .Sh ERRORS | |
54 | The | 54 | The | |
55 | .Fn sctp_getassocid | 55 | .Fn sctp_getassocid | |
56 | function can return the following errors: | 56 | function can return the following errors: | |
57 | .Bl -tag -width Er | 57 | .Bl -tag -width Er | |
58 | .It Bq Er ENOENT | |||
59 | The address does not have an association setup to it. | |||
60 | .It Bq Er EBADF | 58 | .It Bq Er EBADF | |
61 | The argument | 59 | The argument | |
62 | .Fa s | 60 | .Fa s | |
63 | is not a valid descriptor. | 61 | is not a valid descriptor. | |
62 | .It Bq Er ENOENT | |||
63 | The address does not have an association setup to it. | |||
64 | .It Bq Er ENOTSOCK | 64 | .It Bq Er ENOTSOCK | |
65 | The argument | 65 | The argument | |
66 | .Fa s | 66 | .Fa s | |
67 | is not a socket. | 67 | is not a socket. | |
68 | .El | 68 | .El | |
69 | .Sh SEE ALSO | 69 | .Sh SEE ALSO | |
70 | .Xr sctp 4 | 70 | .Xr sctp 4 | |
71 | .Rs | 71 | .Rs | |
72 | .%R RFC | 72 | .%R RFC | |
73 | .%N 6458 | 73 | .%N 6458 | |
74 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 74 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
75 | .%D December 2011 | 75 | .%D December 2011 | |
76 | .Re | 76 | .Re | |
77 | .Sh HISTORY | 77 | .Sh HISTORY | |
78 | This function first appeared in | 78 | This function first appeared in | |
79 | .Nx 9.0 . | 79 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_getpaddrs.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_getpaddrs.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_getpaddrs.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_getpaddrs.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -52,55 +52,55 @@ The | @@ -52,55 +52,55 @@ The | |||
52 | function is used to get the list of the peers addresses. | 52 | function is used to get the list of the peers addresses. | |
53 | The | 53 | The | |
54 | .Fn sctp_getladdrs | 54 | .Fn sctp_getladdrs | |
55 | function is used to get the list of the local addresses. | 55 | function is used to get the list of the local addresses. | |
56 | The association of interest is identified by the | 56 | The association of interest is identified by the | |
57 | .Fa asocid | 57 | .Fa asocid | |
58 | argument. | 58 | argument. | |
59 | The addresses are returned in a newly allocated | 59 | The addresses are returned in a newly allocated | |
60 | array of socket addresses returned in the argument | 60 | array of socket addresses returned in the argument | |
61 | .Fa addrs | 61 | .Fa addrs | |
62 | upon success. | 62 | upon success. | |
63 | .Pp | 63 | .Pp | |
64 | After the caller is finished, the function | 64 | After the caller is finished, the function | |
65 | .Fn sctp_freepaddrs | 65 | .Xr sctp_freepaddrs 3 | |
66 | or | 66 | or | |
67 | .Fn sctp_freeladdrs | 67 | .Xr sctp_freeladdrs 3 | |
68 | should be used to release the memory allocated by these | 68 | should be used to release the memory allocated by these | |
69 | calls. | 69 | calls. | |
70 | .Sh RETURN VALUES | 70 | .Sh RETURN VALUES | |
71 | The call returns -1 upon failure and a count of | 71 | The call returns \-1 upon failure and a count of | |
72 | the number of addresses returned in | 72 | the number of addresses returned in | |
73 | .Fa addrs | 73 | .Fa addrs | |
74 | upon success. | 74 | upon success. | |
75 | .Sh ERRORS | 75 | .Sh ERRORS | |
76 | The functions can return the following errors: | 76 | The functions can return the following errors: | |
77 | .Bl -tag -width Er | 77 | .Bl -tag -width Er | |
78 | .It Bq Er EBADF | |||
79 | The argument | |||
80 | .Fa s | |||
81 | is not a valid descriptor. | |||
78 | .It Bq Er EINVAL | 82 | .It Bq Er EINVAL | |
79 | An address listed has an invalid family or no | 83 | An address listed has an invalid family or no | |
80 | addresses were provided. | 84 | addresses were provided. | |
81 | .It Bq Er ENOMEM | 85 | .It Bq Er ENOMEM | |
82 | The call cannot allocate memory to hold the | 86 | The call cannot allocate memory to hold the | |
83 | socket addresses. | 87 | socket addresses. | |
84 | .It Bq Er EBADF | |||
85 | The argument | |||
86 | .Fa s | |||
87 | is not a valid descriptor. | |||
88 | .It Bq Er ENOTSOCK | 88 | .It Bq Er ENOTSOCK | |
89 | The argument | 89 | The argument | |
90 | .Fa s | 90 | .Fa s | |
91 | is not a socket. | 91 | is not a socket. | |
92 | .El | 92 | .El | |
93 | .Sh SEE ALSO | 93 | .Sh SEE ALSO | |
94 | .Xr getsockopt 2 , | 94 | .Xr getsockopt 2 , | |
95 | .Xr sctp_freeladdrs 3 , | 95 | .Xr sctp_freeladdrs 3 , | |
96 | .Xr sctp_freepaddrs 3 , | 96 | .Xr sctp_freepaddrs 3 , | |
97 | .Xr sctp 4 | 97 | .Xr sctp 4 | |
98 | .Rs | 98 | .Rs | |
99 | .%R RFC | 99 | .%R RFC | |
100 | .%N 6458 | 100 | .%N 6458 | |
101 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 101 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
102 | .%D December 2011 | 102 | .%D December 2011 | |
103 | .Re | 103 | .Re | |
104 | .Sh HISTORY | 104 | .Sh HISTORY | |
105 | These functions first appeared in | 105 | These functions first appeared in | |
106 | .Nx 9.0 . | 106 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_opt_info.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_opt_info.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_opt_info.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_opt_info.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -80,50 +80,50 @@ socket options. | @@ -80,50 +80,50 @@ socket options. | |||
80 | .Pp | 80 | .Pp | |
81 | .Dv SCTP_DEFAULT_SNDINFO | 81 | .Dv SCTP_DEFAULT_SNDINFO | |
82 | .Pp | 82 | .Pp | |
83 | .Dv SCTP_DEFAULT_PRINFO | 83 | .Dv SCTP_DEFAULT_PRINFO | |
84 | .Pp | 84 | .Pp | |
85 | .Dv SCTP_STATUS | 85 | .Dv SCTP_STATUS | |
86 | .Pp | 86 | .Pp | |
87 | .Dv SCTP_GET_PEER_ADDR_INFO | 87 | .Dv SCTP_GET_PEER_ADDR_INFO | |
88 | .Pp | 88 | .Pp | |
89 | .Dv SCTP_PEER_AUTH_CHUNKS | 89 | .Dv SCTP_PEER_AUTH_CHUNKS | |
90 | .Pp | 90 | .Pp | |
91 | .Dv SCTP_LOCAL_AUTH_CHUNKS | 91 | .Dv SCTP_LOCAL_AUTH_CHUNKS | |
92 | .Sh RETURN VALUES | 92 | .Sh RETURN VALUES | |
93 | The call returns 0 on success and -1 upon error. | 93 | The call returns 0 on success and \-1 upon error. | |
94 | .Sh ERRORS | 94 | .Sh ERRORS | |
95 | The | 95 | The | |
96 | .Fn sctp_opt_info | 96 | .Fn sctp_opt_info | |
97 | function can return the following errors: | 97 | function can return the following errors: | |
98 | .Bl -tag -width Er | 98 | .Bl -tag -width Er | |
99 | .It Bq Er EBADF | |||
100 | The argument | |||
101 | .Fa s | |||
102 | is not a valid descriptor. | |||
99 | .It Bq Er EINVAL | 103 | .It Bq Er EINVAL | |
100 | The argument | 104 | The argument | |
101 | .Fa arg | 105 | .Fa arg | |
102 | value was invalid. | 106 | value was invalid. | |
107 | .It Bq Er ENOTSOCK | |||
108 | The argument | |||
109 | .Fa s | |||
110 | is not a socket. | |||
103 | .It Bq Er EOPNOTSUPP | 111 | .It Bq Er EOPNOTSUPP | |
104 | The argument | 112 | The argument | |
105 | .Fa opt | 113 | .Fa opt | |
106 | was not one of the above listed SCTP socket | 114 | was not one of the above listed SCTP socket | |
107 | options. | 115 | options. | |
108 | .It Bq Er EBADF | |||
109 | The argument | |||
110 | .Fa s | |||
111 | is not a valid descriptor. | |||
112 | .It Bq Er ENOTSOCK | |||
113 | The argument | |||
114 | .Fa s | |||
115 | is not a socket. | |||
116 | .El | 116 | .El | |
117 | .Sh SEE ALSO | 117 | .Sh SEE ALSO | |
118 | .Xr getsockopt 2 , | 118 | .Xr getsockopt 2 , | |
119 | .Xr getsockopt2 2, | 119 | .Xr getsockopt2 2 , | |
120 | .Xr sctp 4 | 120 | .Xr sctp 4 | |
121 | .Rs | 121 | .Rs | |
122 | .%R RFC | 122 | .%R RFC | |
123 | .%N 6458 | 123 | .%N 6458 | |
124 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 124 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
125 | .%D December 2011 | 125 | .%D December 2011 | |
126 | .Re | 126 | .Re | |
127 | .Sh HISTORY | 127 | .Sh HISTORY | |
128 | This function first appeared in | 128 | This function first appeared in | |
129 | .Nx 9.0 . | 129 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_peeloff.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_peeloff.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_peeloff.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_peeloff.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -38,48 +38,48 @@ | @@ -38,48 +38,48 @@ | |||
38 | .Sh SYNOPSIS | 38 | .Sh SYNOPSIS | |
39 | .In sys/types.h | 39 | .In sys/types.h | |
40 | .In sys/socket.h | 40 | .In sys/socket.h | |
41 | .In netinet/sctp.h | 41 | .In netinet/sctp.h | |
42 | .Ft int | 42 | .Ft int | |
43 | .Fn sctp_peeloff "int s" "sctp_assoc_t id" | 43 | .Fn sctp_peeloff "int s" "sctp_assoc_t id" | |
44 | .Sh DESCRIPTION | 44 | .Sh DESCRIPTION | |
45 | The | 45 | The | |
46 | .Fn sctp_peeloff | 46 | .Fn sctp_peeloff | |
47 | function attempts detach the association specified by | 47 | function attempts detach the association specified by | |
48 | .Fa id | 48 | .Fa id | |
49 | into its own separate socket. | 49 | into its own separate socket. | |
50 | .Sh RETURN VALUES | 50 | .Sh RETURN VALUES | |
51 | The call returns -1 on failure and the new socket descriptor | 51 | The call returns \-1 on failure and the new socket descriptor | |
52 | upon success. | 52 | upon success. | |
53 | .Sh ERRORS | 53 | .Sh ERRORS | |
54 | The | 54 | The | |
55 | .Fn sctp_peeloff | 55 | .Fn sctp_peeloff | |
56 | function can return the following errors: | 56 | function can return the following errors: | |
57 | .Bl -tag -width Er | 57 | .Bl -tag -width Er | |
58 | .It Bq Er ENOTCONN | |||
59 | The | |||
60 | .Fa id | |||
61 | given to the call does not map to a valid | |||
62 | association. | |||
63 | .It Bq Er E2BIG | 58 | .It Bq Er E2BIG | |
64 | The size of the address list exceeds the amount of | 59 | The size of the address list exceeds the amount of | |
65 | data provided. | 60 | data provided. | |
66 | .It Bq Er EBADF | 61 | .It Bq Er EBADF | |
67 | The argument | 62 | The argument | |
68 | .Fa s | 63 | .Fa s | |
69 | is not a valid descriptor. | 64 | is not a valid descriptor. | |
65 | .It Bq Er ENOTCONN | |||
66 | The | |||
67 | .Fa id | |||
68 | given to the call does not map to a valid | |||
69 | association. | |||
70 | .It Bq Er ENOTSOCK | 70 | .It Bq Er ENOTSOCK | |
71 | The argument | 71 | The argument | |
72 | .Fa s | 72 | .Fa s | |
73 | is not a socket. | 73 | is not a socket. | |
74 | .El | 74 | .El | |
75 | .Sh SEE ALSO | 75 | .Sh SEE ALSO | |
76 | .Xr sctp 4 | 76 | .Xr sctp 4 | |
77 | .Rs | 77 | .Rs | |
78 | .%R RFC | 78 | .%R RFC | |
79 | .%N 6458 | 79 | .%N 6458 | |
80 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 80 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
81 | .%D December 2011 | 81 | .%D December 2011 | |
82 | .Re | 82 | .Re | |
83 | .Sh HISTORY | 83 | .Sh HISTORY | |
84 | This function first appeared in | 84 | This function first appeared in | |
85 | .Nx 9.0 . | 85 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_recvmsg.3 2018/08/02 10:18:19 1.1
+++ src/lib/libc/net/sctp_recvmsg.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_recvmsg.3,v 1.1 2018/08/02 10:18:19 rjs Exp $ | 1 | .\" $NetBSD: sctp_recvmsg.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -41,39 +41,42 @@ | @@ -41,39 +41,42 @@ | |||
41 | .In netinet/sctp.h | 41 | .In netinet/sctp.h | |
42 | .Ft ssize_t | 42 | .Ft ssize_t | |
43 | .Fo sctp_recvmsg | 43 | .Fo sctp_recvmsg | |
44 | .Fa "int s" "void *msg" "size_t len" "struct sockaddr * restrict from" | 44 | .Fa "int s" "void *msg" "size_t len" "struct sockaddr * restrict from" | |
45 | .Fa "socklen_t * restrict fromlen" "struct sctp_sndrcvinfo *sinfo" "int *flags" | 45 | .Fa "socklen_t * restrict fromlen" "struct sctp_sndrcvinfo *sinfo" "int *flags" | |
46 | .Fc | 46 | .Fc | |
47 | .Sh DESCRIPTION | 47 | .Sh DESCRIPTION | |
48 | The | 48 | The | |
49 | .Fn sctp_recvmsg | 49 | .Fn sctp_recvmsg | |
50 | system call | 50 | system call | |
51 | is used to receive a message from another SCTP endpoint. | 51 | is used to receive a message from another SCTP endpoint. | |
52 | The | 52 | The | |
53 | .Fn sctp_recvmsg | 53 | .Fn sctp_recvmsg | |
54 | call is used by one-to-one (SOCK_STREAM) type sockets after a | 54 | call is used by one-to-one | |
55 | successful | 55 | .Dv ( SOCK_STREAM ) | |
56 | type sockets after a successful | |||
56 | .Fn connect | 57 | .Fn connect | |
57 | call or after the application has performed a | 58 | call or after the application has performed a | |
58 | .Fn listen | 59 | .Fn listen | |
59 | followed by a successful | 60 | followed by a successful | |
60 | .Fn accept . | 61 | .Fn accept . | |
61 | For a one-to-many (SOCK_SEQPACKET) type socket, an endpoint may call | 62 | For a one-to-many | |
63 | .Dv ( SOCK_SEQPACKET ) | |||
64 | type socket, an endpoint may call | |||
62 | .Fn sctp_recvmsg | 65 | .Fn sctp_recvmsg | |
63 | after having implicitly started an association via one | 66 | after having implicitly started an association via one | |
64 | of the send calls including | 67 | of the send calls including | |
65 | .Fn sctp_sendmsg , | 68 | .Fn sctp_sendmsg , | |
66 | .Fn sendto | 69 | .Fn sendto , | |
67 | and | 70 | and | |
68 | .Fn sendmsg . | 71 | .Fn sendmsg . | |
69 | Or, an application may also receive a message after having | 72 | Or, an application may also receive a message after having | |
70 | called | 73 | called | |
71 | .Fn listen | 74 | .Fn listen | |
72 | with a positive backlog to enable the reception of new associations. | 75 | with a positive backlog to enable the reception of new associations. | |
73 | .Pp | 76 | .Pp | |
74 | The address of the sender is held in the | 77 | The address of the sender is held in the | |
75 | .Fa from | 78 | .Fa from | |
76 | argument with | 79 | argument with | |
77 | .Fa fromlen | 80 | .Fa fromlen | |
78 | specifying its size. | 81 | specifying its size. | |
79 | At the completion of a successful | 82 | At the completion of a successful | |
@@ -97,27 +100,27 @@ receive buffer, then the | @@ -97,27 +100,27 @@ receive buffer, then the | |||
97 | .Fa flags | 100 | .Fa flags | |
98 | argument will | 101 | argument will | |
99 | .Em not | 102 | .Em not | |
100 | have the | 103 | have the | |
101 | .Dv MSG_EOF | 104 | .Dv MSG_EOF | |
102 | flag applied. | 105 | flag applied. | |
103 | If the message is a complete message then | 106 | If the message is a complete message then | |
104 | the | 107 | the | |
105 | .Fa flags | 108 | .Fa flags | |
106 | argument will have | 109 | argument will have | |
107 | .Dv MSG_EOF | 110 | .Dv MSG_EOF | |
108 | set. | 111 | set. | |
109 | Locally detected errors are | 112 | Locally detected errors are | |
110 | indicated by a return value of -1 with | 113 | indicated by a return value of \-1 with | |
111 | .Va errno | 114 | .Va errno | |
112 | set accordingly. | 115 | set accordingly. | |
113 | The | 116 | The | |
114 | .Fa flags | 117 | .Fa flags | |
115 | argument may also hold the value | 118 | argument may also hold the value | |
116 | .Dv MSG_NOTIFICATION . | 119 | .Dv MSG_NOTIFICATION . | |
117 | When this | 120 | When this | |
118 | occurs it indicates that the message received is | 121 | occurs it indicates that the message received is | |
119 | .Em not | 122 | .Em not | |
120 | from | 123 | from | |
121 | the peer endpoint, but instead is a notification from the | 124 | the peer endpoint, but instead is a notification from the | |
122 | SCTP stack (see | 125 | SCTP stack (see | |
123 | .Xr sctp 4 | 126 | .Xr sctp 4 | |
@@ -211,93 +214,95 @@ value will be one of the TSNs that was u | @@ -211,93 +214,95 @@ value will be one of the TSNs that was u | |||
211 | message. | 214 | message. | |
212 | .Pp | 215 | .Pp | |
213 | The | 216 | The | |
214 | .Fa sinfo->sinfo_cumtsn | 217 | .Fa sinfo->sinfo_cumtsn | |
215 | field holds the current cumulative acknowledgment point of | 218 | field holds the current cumulative acknowledgment point of | |
216 | the transport association. | 219 | the transport association. | |
217 | Note that this may be larger | 220 | Note that this may be larger | |
218 | or smaller than the TSN assigned to the message itself. | 221 | or smaller than the TSN assigned to the message itself. | |
219 | .Pp | 222 | .Pp | |
220 | The | 223 | The | |
221 | .Fa sinfo->sinfo_assoc_id | 224 | .Fa sinfo->sinfo_assoc_id | |
222 | is the unique association identification that was assigned | 225 | is the unique association identification that was assigned | |
223 | to the association. | 226 | to the association. | |
224 | For one-to-many (SOCK_SEQPACKET) type | 227 | For one-to-many | |
225 | sockets this value can be used to send data to the peer without | 228 | .Dv ( SOCK_SEQPACKET ) | |
229 | type sockets this value can be used to send data to the peer without | |||
226 | the use of an address field. | 230 | the use of an address field. | |
227 | It is also quite useful in | 231 | It is also quite useful in | |
228 | setting various socket options on the specific association | 232 | setting various socket options on the specific association | |
229 | (see | 233 | (see | |
230 | .Xr sctp 4 ) . | 234 | .Xr sctp 4 ) . | |
231 | .Pp | 235 | .Pp | |
232 | The | 236 | The | |
233 | .Fa sinfo->info_timetolive | 237 | .Fa sinfo->info_timetolive | |
234 | field is not used by | 238 | field is not used by | |
235 | .Fn sctp_recvmsg . | 239 | .Fn sctp_recvmsg . | |
236 | .Sh RETURN VALUES | 240 | .Sh RETURN VALUES | |
237 | The call returns the number of bytes received, or -1 | 241 | The call returns the number of bytes received, or \-1 | |
238 | if an error occurred. | 242 | if an error occurred. | |
239 | .Sh ERRORS | 243 | .Sh ERRORS | |
240 | The | 244 | The | |
241 | .Fn sctp_recvmsg | 245 | .Fn sctp_recvmsg | |
242 | system call | 246 | system call | |
243 | fails if: | 247 | fails if: | |
244 | .Bl -tag -width Er | 248 | .Bl -tag -width Er | |
249 | .It Bq Er EAGAIN | |||
250 | The socket is marked non-blocking and the requested operation | |||
251 | would block. | |||
245 | .It Bq Er EBADF | 252 | .It Bq Er EBADF | |
246 | An invalid descriptor was specified. | 253 | An invalid descriptor was specified. | |
247 | .It Bq Er ENOTSOCK | 254 | .It Bq Er ECONNRESET | |
248 | The argument | 255 | An abort was received by the stack while the user was | |
249 | .Fa s | 256 | attempting to send data to the peer. | |
250 | is not a socket. | |||
251 | .It Bq Er EFAULT | 257 | .It Bq Er EFAULT | |
252 | An invalid user space address was specified for an argument. | 258 | An invalid user space address was specified for an argument. | |
259 | .It Bq Er EHOSTUNREACH | |||
260 | The remote host was unreachable. | |||
253 | .It Bq Er EMSGSIZE | 261 | .It Bq Er EMSGSIZE | |
254 | The socket requires that message be sent atomically, | 262 | The socket requires that message be sent atomically, | |
255 | and the size of the message to be sent made this impossible. | 263 | and the size of the message to be sent made this impossible. | |
256 | .It Bq Er EAGAIN | |||
257 | The socket is marked non-blocking and the requested operation | |||
258 | would block. | |||
259 | .It Bq Er ENOBUFS | 264 | .It Bq Er ENOBUFS | |
260 | The system was unable to allocate an internal buffer. | 265 | The system was unable to allocate an internal buffer. | |
261 | The operation may succeed when buffers become available. | 266 | The operation may succeed when buffers become available. | |
262 | .It Bq Er ENOBUFS | 267 | This error is also returned when | |
263 | The output queue for a network interface was full. | 268 | the output queue for a network interface was full. | |
264 | This generally indicates that the interface has stopped sending, | 269 | This generally indicates that the interface has stopped sending, | |
265 | but may be caused by transient congestion. | 270 | but may be caused by transient congestion. | |
266 | .It Bq Er EHOSTUNREACH | |||
267 | The remote host was unreachable. | |||
268 | .It Bq Er ENOTCONN | |||
269 | On a one-to-one style socket no association exists. | |||
270 | .It Bq Er ECONNRESET | |||
271 | An abort was received by the stack while the user was | |||
272 | attempting to send data to the peer. | |||
273 | .It Bq Er ENOENT | 271 | .It Bq Er ENOENT | |
274 | On a one to many style socket no address is specified | 272 | On a one to many style socket no address is specified | |
275 | so that the association cannot be located or the | 273 | so that the association cannot be located or the | |
276 | SCTP_ABORT flag was specified on a non-existing association. | 274 | .Dv SCTP_ABORT | |
275 | flag was specified on a non-existing association. | |||
276 | .It Bq Er ENOTCONN | |||
277 | On a one-to-one style socket no association exists. | |||
278 | .It Bq Er ENOTSOCK | |||
279 | The argument | |||
280 | .Fa s | |||
281 | is not a socket. | |||
277 | .It Bq Er EPIPE | 282 | .It Bq Er EPIPE | |
278 | The socket is unable to send anymore data | 283 | The socket is unable to send anymore data | |
279 | .Dv ( SBS_CANTSENDMORE | 284 | .Dv ( SBS_CANTSENDMORE | |
280 | has been set on the socket). | 285 | has been set on the socket). | |
281 | This typically means that the socket | 286 | This typically means that the socket | |
282 | is not connected and is a one-to-one style socket. | 287 | is not connected and is a one-to-one style socket. | |
283 | .El | 288 | .El | |
284 | .Sh SEE ALSO | 289 | .Sh SEE ALSO | |
290 | .Xr getsockopt 2 , | |||
285 | .Xr recv 2 , | 291 | .Xr recv 2 , | |
286 | .Xr select 2 , | 292 | .Xr select 2 , | |
293 | .Xr sendmsg 2 , | |||
294 | .Xr setsockopt 2 , | |||
287 | .Xr socket 2 , | 295 | .Xr socket 2 , | |
288 | .Xr write 2 , | 296 | .Xr write 2 , | |
289 | .Xr getsockopt 2 , | |||
290 | .Xr setsockopt 2 , | |||
291 | .Xr sctp_send 3 , | 297 | .Xr sctp_send 3 , | |
292 | .Xr sctp_sendmsg 3 , | 298 | .Xr sctp_sendmsg 3 , | |
293 | .Xr sendmsg 2 , | |||
294 | .Xr sctp 4 | 299 | .Xr sctp 4 | |
295 | .Rs | 300 | .Rs | |
296 | .%R RFC | 301 | .%R RFC | |
297 | .%N 6458 | 302 | .%N 6458 | |
298 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 303 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
299 | .%D December 2011 | 304 | .%D December 2011 | |
300 | .Re | 305 | .Re | |
301 | .Sh HISTORY | 306 | .Sh HISTORY | |
302 | This function first appeared in | 307 | This function first appeared in | |
303 | .Nx 9.0 . | 308 | .Nx 9.0 . |
--- src/lib/libc/net/sctp_send.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_send.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_send.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_send.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -47,76 +47,82 @@ | @@ -47,76 +47,82 @@ | |||
47 | .Fc | 47 | .Fc | |
48 | .Ft ssize_t | 48 | .Ft ssize_t | |
49 | .Fo sctp_sendx | 49 | .Fo sctp_sendx | |
50 | .Fa "int sd" "const void *msg" "size_t len" "struct sockaddr *addrs" | 50 | .Fa "int sd" "const void *msg" "size_t len" "struct sockaddr *addrs" | |
51 | .Fa "int addrcnt" "const struct sctp_sndrcvinfo *sinfo" "int flags" | 51 | .Fa "int addrcnt" "const struct sctp_sndrcvinfo *sinfo" "int flags" | |
52 | .Fc | 52 | .Fc | |
53 | .Sh DESCRIPTION | 53 | .Sh DESCRIPTION | |
54 | The | 54 | The | |
55 | .Fn sctp_send | 55 | .Fn sctp_send | |
56 | system call | 56 | system call | |
57 | is used to transmit a message to another SCTP endpoint. | 57 | is used to transmit a message to another SCTP endpoint. | |
58 | .Fn sctp_send | 58 | .Fn sctp_send | |
59 | may be used to send data to an existing association for both | 59 | may be used to send data to an existing association for both | |
60 | one-to-many (SOCK_SEQPACKET) and one-to-one (SOCK_STREAM) socket types. | 60 | one-to-many | |
61 | .Dv ( SOCK_SEQPACKET ) | |||
62 | and one-to-one | |||
63 | .Dv ( SOCK_STREAM ) | |||
64 | socket types. | |||
61 | The length of the message | 65 | The length of the message | |
62 | .Fa msg | 66 | .Fa msg | |
63 | is given by | 67 | is given by | |
64 | .Fa len . | 68 | .Fa len . | |
65 | If the message is too long to pass atomically through the | 69 | If the message is too long to pass atomically through the | |
66 | underlying protocol, | 70 | underlying protocol, | |
67 | .Va errno | 71 | .Va errno | |
68 | is set to | 72 | is set to | |
69 | .Er EMSGSIZE , | 73 | .Er EMSGSIZE , | |
70 | -1 is returned, and | 74 | \-1 is returned, and | |
71 | the message is not transmitted. | 75 | the message is not transmitted. | |
72 | .Pp | 76 | .Pp | |
73 | No indication of failure to deliver is implicit in a | 77 | No indication of failure to deliver is implicit in a | |
74 | .Fn sctp_send . | 78 | .Fn sctp_send . | |
75 | Locally detected errors are indicated by a return value of -1. | 79 | Locally detected errors are indicated by a return value of \-1. | |
76 | .Pp | 80 | .Pp | |
77 | If no space is available at the socket to hold | 81 | If no space is available at the socket to hold | |
78 | the message to be transmitted, then | 82 | the message to be transmitted, then | |
79 | .Fn sctp_send | 83 | .Fn sctp_send | |
80 | normally blocks, unless the socket has been placed in | 84 | normally blocks, unless the socket has been placed in | |
81 | non-blocking I/O mode. | 85 | non-blocking I/O mode. | |
82 | The | 86 | The | |
83 | .Xr select 2 | 87 | .Xr select 2 | |
84 | system call may be used to determine when it is possible to | 88 | system call may be used to determine when it is possible to | |
85 | send more data on one-to-one type (SOCK_STREAM) sockets. | 89 | send more data on one-to-one type | |
90 | .Dv ( SOCK_STREAM ) | |||
91 | sockets. | |||
86 | .Pp | 92 | .Pp | |
87 | The | 93 | The | |
88 | .Fa sinfo | 94 | .Fa sinfo | |
89 | structure is used to control various SCTP features | 95 | structure is used to control various SCTP features | |
90 | and has the following format: | 96 | and has the following format: | |
91 | .Bd -literal | 97 | .Bd -literal | |
92 | struct sctp_sndrcvinfo { | 98 | struct sctp_sndrcvinfo { | |
93 | uint16_t sinfo_stream; /* Stream sending to */ | 99 | uint16_t sinfo_stream; /* Stream sending to */ | |
94 | uint16_t sinfo_ssn; /* valid for recv only */ | 100 | uint16_t sinfo_ssn; /* valid for recv only */ | |
95 | uint16_t sinfo_flags; /* flags to control sending */ | 101 | uint16_t sinfo_flags; /* flags to control sending */ | |
96 | uint32_t sinfo_ppid; /* ppid field */ | 102 | uint32_t sinfo_ppid; /* ppid field */ | |
97 | uint32_t sinfo_context; /* context field */ | 103 | uint32_t sinfo_context; /* context field */ | |
98 | uint32_t sinfo_timetolive; /* timetolive for PR-SCTP */ | 104 | uint32_t sinfo_timetolive; /* timetolive for PR-SCTP */ | |
99 | uint32_t sinfo_tsn; /* valid for recv only */ | 105 | uint32_t sinfo_tsn; /* valid for recv only */ | |
100 | uint32_t sinfo_cumtsn; /* valid for recv only */ | 106 | uint32_t sinfo_cumtsn; /* valid for recv only */ | |
101 | sctp_assoc_t sinfo_assoc_id; /* The association id */ | 107 | sctp_assoc_t sinfo_assoc_id; /* The association id */ | |
102 | }; | 108 | }; | |
103 | .Ed | 109 | .Ed | |
104 | .Pp | 110 | .Pp | |
105 | The | 111 | The | |
106 | .Fa sinfo->sinfo_ppid | 112 | .Fa sinfo->sinfo_ppid | |
107 | argument is an opaque 32 bit value that is passed transparently | 113 | argument is an opaque 32 bit value that is passed transparently | |
108 | through the stack to the peer endpoint. It will be available on | 114 | through the stack to the peer endpoint. | |
109 | reception of a message (see | 115 | It will be available on reception of a message (see | |
110 | .Xr sctp_recvmsg 3 ) . | 116 | .Xr sctp_recvmsg 3 ) . | |
111 | Note that the stack passes this value without regard to byte | 117 | Note that the stack passes this value without regard to byte | |
112 | order. | 118 | order. | |
113 | .Pp | 119 | .Pp | |
114 | The | 120 | The | |
115 | .Fa sinfo->sinfo_flags | 121 | .Fa sinfo->sinfo_flags | |
116 | argument may include one or more of the following: | 122 | argument may include one or more of the following: | |
117 | .Bd -literal | 123 | .Bd -literal | |
118 | #define SCTP_EOF 0x0100 /* Start a shutdown procedures */ | 124 | #define SCTP_EOF 0x0100 /* Start a shutdown procedures */ | |
119 | #define SCTP_ABORT 0x0200 /* Send an ABORT to peer */ | 125 | #define SCTP_ABORT 0x0200 /* Send an ABORT to peer */ | |
120 | #define SCTP_UNORDERED 0x0400 /* Message is un-ordered */ | 126 | #define SCTP_UNORDERED 0x0400 /* Message is un-ordered */ | |
121 | #define SCTP_ADDR_OVER 0x0800 /* Override the primary-address */ | 127 | #define SCTP_ADDR_OVER 0x0800 /* Override the primary-address */ | |
122 | #define SCTP_SENDALL 0x1000 /* Send this on all associations */ | 128 | #define SCTP_SENDALL 0x1000 /* Send this on all associations */ | |
@@ -152,27 +158,29 @@ The flag | @@ -152,27 +158,29 @@ The flag | |||
152 | .Dv SCTP_ADDR_OVER | 158 | .Dv SCTP_ADDR_OVER | |
153 | is used to specify that a specific address should be used. | 159 | is used to specify that a specific address should be used. | |
154 | Normally | 160 | Normally | |
155 | SCTP will use only one of a multi-homed peers addresses as the primary | 161 | SCTP will use only one of a multi-homed peers addresses as the primary | |
156 | address to send to. | 162 | address to send to. | |
157 | By default, no matter what the | 163 | By default, no matter what the | |
158 | .Fa to | 164 | .Fa to | |
159 | argument is, this primary address is used to send data. | 165 | argument is, this primary address is used to send data. | |
160 | By specifying | 166 | By specifying | |
161 | this flag, the user is asking the stack to ignore the primary address | 167 | this flag, the user is asking the stack to ignore the primary address | |
162 | and instead use the specified address not only as a lookup mechanism | 168 | and instead use the specified address not only as a lookup mechanism | |
163 | to find the association but also as the actual address to send to. | 169 | to find the association but also as the actual address to send to. | |
164 | .Pp | 170 | .Pp | |
165 | For a one-to-many type (SOCK_SEQPACKET) socket the flag | 171 | For a one-to-many type | |
172 | .Dv ( SOCK_SEQPACKET ) | |||
173 | socket the flag | |||
166 | .Dv SCTP_SENDALL | 174 | .Dv SCTP_SENDALL | |
167 | can be used as a convenient way to make one send call and have | 175 | can be used as a convenient way to make one send call and have | |
168 | all associations that are under the socket get a copy of the message. | 176 | all associations that are under the socket get a copy of the message. | |
169 | Note that this mechanism is quite efficient and makes only one actual | 177 | Note that this mechanism is quite efficient and makes only one actual | |
170 | copy of the data which is shared by all the associations for sending. | 178 | copy of the data which is shared by all the associations for sending. | |
171 | .Pp | 179 | .Pp | |
172 | The remaining flags are used for the partial reliability extension (RFC3758) | 180 | The remaining flags are used for the partial reliability extension (RFC3758) | |
173 | and will only be effective if the peer endpoint supports this extension. | 181 | and will only be effective if the peer endpoint supports this extension. | |
174 | This option specifies what local policy the local endpoint should use | 182 | This option specifies what local policy the local endpoint should use | |
175 | in skipping data. | 183 | in skipping data. | |
176 | If none of these options are set, then data is | 184 | If none of these options are set, then data is | |
177 | never skipped over. | 185 | never skipped over. | |
178 | .Pp | 186 | .Pp | |
@@ -274,86 +282,87 @@ This allows the | @@ -274,86 +282,87 @@ This allows the | |||
274 | user the equivalent behavior as doing a | 282 | user the equivalent behavior as doing a | |
275 | .Fn sctp_connectx | 283 | .Fn sctp_connectx | |
276 | followed by a | 284 | followed by a | |
277 | .Fn sctp_send | 285 | .Fn sctp_send | |
278 | to the association. | 286 | to the association. | |
279 | Note that if the | 287 | Note that if the | |
280 | .Fa sinfo->sinfo_assoc_id | 288 | .Fa sinfo->sinfo_assoc_id | |
281 | field is 0, then the first address will be used to look up | 289 | field is 0, then the first address will be used to look up | |
282 | the association in place of the association id. | 290 | the association in place of the association id. | |
283 | If both | 291 | If both | |
284 | an address and an association id are specified, the association | 292 | an address and an association id are specified, the association | |
285 | id has priority. | 293 | id has priority. | |
286 | .Sh RETURN VALUES | 294 | .Sh RETURN VALUES | |
287 | The call returns the number of characters sent, or -1 | 295 | The call returns the number of characters sent, or \-1 | |
288 | if an error occurred. | 296 | if an error occurred. | |
289 | .Sh ERRORS | 297 | .Sh ERRORS | |
290 | The | 298 | The | |
291 | .Fn sctp_send | 299 | .Fn sctp_send | |
292 | system call | 300 | system call | |
293 | fails if: | 301 | fails if: | |
294 | .Bl -tag -width Er | 302 | .Bl -tag -width Er | |
303 | .It Bq Er EAGAIN | |||
304 | The socket is marked non-blocking and the requested operation | |||
305 | would block. | |||
295 | .It Bq Er EBADF | 306 | .It Bq Er EBADF | |
296 | An invalid descriptor was specified. | 307 | An invalid descriptor was specified. | |
297 | .It Bq Er ENOTSOCK | 308 | .It Bq Er ECONNRESET | |
298 | The argument | 309 | An abort was received by the stack while the user was | |
299 | .Fa s | 310 | attempting to send data to the peer. | |
300 | is not a socket. | |||
301 | .It Bq Er EFAULT | 311 | .It Bq Er EFAULT | |
302 | An invalid user space address was specified for an argument. | 312 | An invalid user space address was specified for an argument. | |
313 | .It Bq Er EHOSTUNREACH | |||
314 | The remote host was unreachable. | |||
303 | .It Bq Er EMSGSIZE | 315 | .It Bq Er EMSGSIZE | |
304 | The socket requires that message be sent atomically, | 316 | The socket requires that message be sent atomically, | |
305 | and the size of the message to be sent made this impossible. | 317 | and the size of the message to be sent made this impossible. | |
306 | .It Bq Er EAGAIN | |||
307 | The socket is marked non-blocking and the requested operation | |||
308 | would block. | |||
309 | .It Bq Er ENOBUFS | 318 | .It Bq Er ENOBUFS | |
310 | The system was unable to allocate an internal buffer. | 319 | The system was unable to allocate an internal buffer. | |
311 | The operation may succeed when buffers become available. | 320 | The operation may succeed when buffers become available. | |
312 | .It Bq Er ENOBUFS | 321 | This error is also returned when | |
313 | The output queue for a network interface was full. | 322 | the output queue for a network interface was full. | |
314 | This generally indicates that the interface has stopped sending, | 323 | This generally indicates that the interface has stopped sending, | |
315 | but may be caused by transient congestion. | 324 | but may be caused by transient congestion. | |
316 | .It Bq Er EHOSTUNREACH | |||
317 | The remote host was unreachable. | |||
318 | .It Bq Er ENOTCONN | |||
319 | On a one-to-one style socket no association exists. | |||
320 | .It Bq Er ECONNRESET | |||
321 | An abort was received by the stack while the user was | |||
322 | attempting to send data to the peer. | |||
323 | .It Bq Er ENOENT | 325 | .It Bq Er ENOENT | |
324 | On a one-to-many style socket no address is specified | 326 | On a one-to-many style socket no address is specified | |
325 | so that the association cannot be located or the | 327 | so that the association cannot be located or the | |
326 | SCTP_ABORT flag was specified on a non-existing association. | 328 | .Dv SCTP_ABORT | |
329 | flag was specified on a non-existing association. | |||
330 | .It Bq Er ENOTCONN | |||
331 | On a one-to-one style socket no association exists. | |||
332 | .It Bq Er ENOTSOCK | |||
333 | The argument | |||
334 | .Fa s | |||
335 | is not a socket. | |||
327 | .It Bq Er EPIPE | 336 | .It Bq Er EPIPE | |
328 | The socket is unable to send anymore data | 337 | The socket is unable to send anymore data | |
329 | .Dv ( SBS_CANTSENDMORE | 338 | .Dv ( SBS_CANTSENDMORE | |
330 | has been set on the socket). | 339 | has been set on the socket). | |
331 | This typically means that the socket | 340 | This typically means that the socket | |
332 | is not connected and is a one-to-one style socket. | 341 | is not connected and is a one-to-one style socket. | |
333 | .El | 342 | .El | |
334 | .Sh SEE ALSO | 343 | .Sh SEE ALSO | |
335 | .Xr getsockopt 2 , | 344 | .Xr getsockopt 2 , | |
336 | .Xr recv 2 , | 345 | .Xr recv 2 , | |
337 | .Xr select 2 , | 346 | .Xr select 2 , | |
338 | .Xr sendmsg 2 , | 347 | .Xr sendmsg 2 , | |
339 | .Xr socket 2 , | 348 | .Xr socket 2 , | |
340 | .Xr write 2 | 349 | .Xr write 2 , | |
341 | .Xr sctp_connectx 3 , | 350 | .Xr sctp_connectx 3 , | |
342 | .Xr sctp_recvmsg 3 , | 351 | .Xr sctp_recvmsg 3 , | |
343 | .Xr sctp_sendmsg 3 , | 352 | .Xr sctp_sendmsg 3 , | |
344 | .Xr sctp 4 | 353 | .Xr sctp 4 | |
345 | .Rs | 354 | .Rs | |
346 | .%R RFC | 355 | .%R RFC | |
347 | .%N 6458 | 356 | .%N 6458 | |
348 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 357 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
349 | .%D December 2011 | 358 | .%D December 2011 | |
350 | .Re | 359 | .Re | |
351 | .Sh HISTORY | 360 | .Sh HISTORY | |
352 | These functions first appeared in | 361 | These functions first appeared in | |
353 | .Nx 9.0 . | 362 | .Nx 9.0 . | |
354 | .Sh BUGS | 363 | .Sh BUGS | |
355 | Because | 364 | Because | |
356 | .Fn sctp_send | 365 | .Fn sctp_send | |
357 | may have multiple associations under one endpoint, a | 366 | may have multiple associations under one endpoint, a | |
358 | select on write will only work for a one-to-one style | 367 | select on write will only work for a one-to-one style | |
359 | socket. | 368 | socket. |
--- src/lib/libc/net/sctp_sendmsg.3 2018/08/02 08:40:48 1.1
+++ src/lib/libc/net/sctp_sendmsg.3 2018/08/13 06:00:21 1.2
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | .\" $NetBSD: sctp_sendmsg.3,v 1.1 2018/08/02 08:40:48 rjs Exp $ | 1 | .\" $NetBSD: sctp_sendmsg.3,v 1.2 2018/08/13 06:00:21 wiz Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 1983, 1991, 1993 | 3 | .\" Copyright (c) 1983, 1991, 1993 | |
4 | .\" The Regents of the University of California. All rights reserved. | 4 | .\" The Regents of the University of California. All rights reserved. | |
5 | .\" | 5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | 8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | 9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | 10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the University nor the names of its contributors | 14 | .\" 3. Neither the name of the University nor the names of its contributors | |
@@ -52,77 +52,82 @@ | @@ -52,77 +52,82 @@ | |||
52 | .Fo sctp_sendmsgx | 52 | .Fo sctp_sendmsgx | |
53 | .Fa "int s" "const void *msg" "size_t len" "const struct sockaddr *to" | 53 | .Fa "int s" "const void *msg" "size_t len" "const struct sockaddr *to" | |
54 | .Fa "int addrcnt" "uint32_t ppid" "uint32_t flags" "uint16_t stream_no" | 54 | .Fa "int addrcnt" "uint32_t ppid" "uint32_t flags" "uint16_t stream_no" | |
55 | .Fa "uint32_t timetolive" "uint32_t context" | 55 | .Fa "uint32_t timetolive" "uint32_t context" | |
56 | .Fc | 56 | .Fc | |
57 | .Sh DESCRIPTION | 57 | .Sh DESCRIPTION | |
58 | The | 58 | The | |
59 | .Fn sctp_sendmsg | 59 | .Fn sctp_sendmsg | |
60 | system call | 60 | system call | |
61 | is used to transmit a message to another SCTP endpoint. | 61 | is used to transmit a message to another SCTP endpoint. | |
62 | The | 62 | The | |
63 | .Fn sctp_sendmsg | 63 | .Fn sctp_sendmsg | |
64 | may be used at any time. | 64 | may be used at any time. | |
65 | If the socket is a one-to-many type (SOCK_SEQPACKET) | 65 | If the socket is a one-to-many type | |
66 | .Dv ( SOCK_SEQPACKET ) | |||
66 | socket then an attempt to send to an address that no association exists to will | 67 | socket then an attempt to send to an address that no association exists to will | |
67 | implicitly create a new association. | 68 | implicitly create a new association. | |
68 | Data sent in such an instance will result in | 69 | Data sent in such an instance will result in | |
69 | the data being sent on the third leg of the SCTP four-way handshake. | 70 | the data being sent on the third leg of the SCTP four-way handshake. | |
70 | Note that if | 71 | Note that if | |
71 | the socket is a one-to-one type (SOCK_STREAM) socket then an association must | 72 | the socket is a one-to-one type | |
73 | .Dv ( SOCK_STREAM ) | |||
74 | socket then an association must | |||
72 | be in existence (by use of the | 75 | be in existence (by use of the | |
73 | .Xr connect 2 | 76 | .Xr connect 2 | |
74 | system call). | 77 | system call). | |
75 | Calling | 78 | Calling | |
76 | .Fn sctp_sendmsg | 79 | .Fn sctp_sendmsg | |
77 | or | 80 | or | |
78 | .Fn sctp_sendmsgx | 81 | .Fn sctp_sendmsgx | |
79 | on a non-connected one-to-one socket will result in | 82 | on a non-connected one-to-one socket will result in | |
80 | .Va errno | 83 | .Va errno | |
81 | being set to | 84 | being set to | |
82 | .Er ENOTCONN , | 85 | .Er ENOTCONN , | |
83 | -1 being returned, and the message not being transmitted. | 86 | \-1 being returned, and the message not being transmitted. | |
84 | .Pp | 87 | .Pp | |
85 | The address of the target is given by | 88 | The address of the target is given by | |
86 | .Fa to | 89 | .Fa to | |
87 | with | 90 | with | |
88 | .Fa tolen | 91 | .Fa tolen | |
89 | specifying its size. | 92 | specifying its size. | |
90 | The length of the message | 93 | The length of the message | |
91 | .Fa msg | 94 | .Fa msg | |
92 | is given by | 95 | is given by | |
93 | .Fa len . | 96 | .Fa len . | |
94 | If the message is too long to pass atomically through the | 97 | If the message is too long to pass atomically through the | |
95 | underlying protocol, | 98 | underlying protocol, | |
96 | .Va errno | 99 | .Va errno | |
97 | is set to | 100 | is set to | |
98 | .Er EMSGSIZE , | 101 | .Er EMSGSIZE , | |
99 | -1 is returned, and | 102 | \-1 is returned, and | |
100 | the message is not transmitted. | 103 | the message is not transmitted. | |
101 | .Pp | 104 | .Pp | |
102 | No indication of failure to deliver is implicit in a | 105 | No indication of failure to deliver is implicit in a | |
103 | .Xr sctp_sendmsg 3 | 106 | .Fn sctp_sendmsg | |
104 | call. | 107 | call. | |
105 | Locally detected errors are indicated by a return value of -1. | 108 | Locally detected errors are indicated by a return value of -1. | |
106 | .Pp | 109 | .Pp | |
107 | If no space is available at the socket to hold | 110 | If no space is available at the socket to hold | |
108 | the message to be transmitted, then | 111 | the message to be transmitted, then | |
109 | .Xr sctp_sendmsg 3 | 112 | .Fn sctp_sendmsg | |
110 | normally blocks, unless the socket has been placed in | 113 | normally blocks, unless the socket has been placed in | |
111 | non-blocking I/O mode. | 114 | non-blocking I/O mode. | |
112 | The | 115 | The | |
113 | .Xr select 2 | 116 | .Xr select 2 | |
114 | system call may be used to determine when it is possible to | 117 | system call may be used to determine when it is possible to | |
115 | send more data on one-to-one type (SOCK_STREAM) sockets. | 118 | send more data on one-to-one type | |
119 | .Dv ( SOCK_STREAM ) | |||
120 | sockets. | |||
116 | .Pp | 121 | .Pp | |
117 | The | 122 | The | |
118 | .Fa ppid | 123 | .Fa ppid | |
119 | argument is an opaque 32 bit value that is passed transparently | 124 | argument is an opaque 32 bit value that is passed transparently | |
120 | through the stack to the peer endpoint. | 125 | through the stack to the peer endpoint. | |
121 | It will be available on | 126 | It will be available on | |
122 | reception of a message (see | 127 | reception of a message (see | |
123 | .Xr sctp_recvmsg 3 ) . | 128 | .Xr sctp_recvmsg 3 ) . | |
124 | Note that the stack passes this value without regard to byte | 129 | Note that the stack passes this value without regard to byte | |
125 | order. | 130 | order. | |
126 | .Pp | 131 | .Pp | |
127 | The | 132 | The | |
128 | .Fa flags | 133 | .Fa flags | |
@@ -165,27 +170,29 @@ The flag | @@ -165,27 +170,29 @@ The flag | |||
165 | .Dv SCTP_ADDR_OVER | 170 | .Dv SCTP_ADDR_OVER | |
166 | is used to specify that an specific address should be used. | 171 | is used to specify that an specific address should be used. | |
167 | Normally | 172 | Normally | |
168 | SCTP will use only one of a multi-homed peers addresses as the primary | 173 | SCTP will use only one of a multi-homed peers addresses as the primary | |
169 | address to send to. | 174 | address to send to. | |
170 | By default, no matter what the | 175 | By default, no matter what the | |
171 | .Fa to | 176 | .Fa to | |
172 | argument is, this primary address is used to send data. | 177 | argument is, this primary address is used to send data. | |
173 | By specifying | 178 | By specifying | |
174 | this flag, the user is asking the stack to ignore the primary address | 179 | this flag, the user is asking the stack to ignore the primary address | |
175 | and instead use the specified address not only as a lookup mechanism | 180 | and instead use the specified address not only as a lookup mechanism | |
176 | to find the association but also as the actual address to send to. | 181 | to find the association but also as the actual address to send to. | |
177 | .Pp | 182 | .Pp | |
178 | For a one-to-many type (SOCK_SEQPACKET) socket the flag | 183 | For a one-to-many type | |
184 | .Dv ( SOCK_SEQPACKET ) | |||
185 | socket the flag | |||
179 | .Dv SCTP_SENDALL | 186 | .Dv SCTP_SENDALL | |
180 | can be used as a convenient way to make one send call and have | 187 | can be used as a convenient way to make one send call and have | |
181 | all associations that are under the socket get a copy of the message. | 188 | all associations that are under the socket get a copy of the message. | |
182 | Note that this mechanism is quite efficient and makes only one actual | 189 | Note that this mechanism is quite efficient and makes only one actual | |
183 | copy of the data which is shared by all the associations for sending. | 190 | copy of the data which is shared by all the associations for sending. | |
184 | .Pp | 191 | .Pp | |
185 | The remaining flags are used for the partial reliability extension (RFC3758) | 192 | The remaining flags are used for the partial reliability extension (RFC3758) | |
186 | and will only be effective if the peer endpoint supports this extension. | 193 | and will only be effective if the peer endpoint supports this extension. | |
187 | This option specifies what local policy the local endpoint should use | 194 | This option specifies what local policy the local endpoint should use | |
188 | in skipping data. | 195 | in skipping data. | |
189 | If none of these options are set, then data is | 196 | If none of these options are set, then data is | |
190 | never skipped over. | 197 | never skipped over. | |
191 | .Pp | 198 | .Pp | |
@@ -252,88 +259,88 @@ is identical to | @@ -252,88 +259,88 @@ is identical to | |||
252 | .Fn sctp_sendmsg | 259 | .Fn sctp_sendmsg | |
253 | with the exception that it takes an array of sockaddr structures in the | 260 | with the exception that it takes an array of sockaddr structures in the | |
254 | argument | 261 | argument | |
255 | .Fa to | 262 | .Fa to | |
256 | and adds the additional argument | 263 | and adds the additional argument | |
257 | .Fa addrcnt | 264 | .Fa addrcnt | |
258 | which specifies how many addresses are in the array. | 265 | which specifies how many addresses are in the array. | |
259 | This allows a | 266 | This allows a | |
260 | caller to implicitly set up an association passing multiple addresses | 267 | caller to implicitly set up an association passing multiple addresses | |
261 | as if | 268 | as if | |
262 | .Fn sctp_connectx | 269 | .Fn sctp_connectx | |
263 | had been called to set up the association. | 270 | had been called to set up the association. | |
264 | .Sh RETURN VALUES | 271 | .Sh RETURN VALUES | |
265 | The call returns the number of characters sent, or -1 | 272 | The call returns the number of characters sent, or \-1 | |
266 | if an error occurred. | 273 | if an error occurred. | |
267 | .Sh ERRORS | 274 | .Sh ERRORS | |
268 | The | 275 | The | |
269 | .Fn sctp_sendmsg | 276 | .Fn sctp_sendmsg | |
270 | system call | 277 | system call | |
271 | fails if: | 278 | fails if: | |
272 | .Bl -tag -width Er | 279 | .Bl -tag -width Er | |
280 | .It Bq Er EAGAIN | |||
281 | The socket is marked non-blocking and the requested operation | |||
282 | would block. | |||
273 | .It Bq Er EBADF | 283 | .It Bq Er EBADF | |
274 | An invalid descriptor was specified. | 284 | An invalid descriptor was specified. | |
275 | .It Bq Er ENOTSOCK | 285 | .It Bq Er ECONNRESET | |
276 | The argument | 286 | An abort was received by the stack while the user was | |
277 | .Fa s | 287 | attempting to send data to the peer. | |
278 | is not a socket. | |||
279 | .It Bq Er EFAULT | 288 | .It Bq Er EFAULT | |
280 | An invalid user space address was specified for an argument. | 289 | An invalid user space address was specified for an argument. | |
290 | .It Bq Er EHOSTUNREACH | |||
291 | The remote host was unreachable. | |||
281 | .It Bq Er EMSGSIZE | 292 | .It Bq Er EMSGSIZE | |
282 | The socket requires that message be sent atomically, | 293 | The socket requires that message be sent atomically, | |
283 | and the size of the message to be sent made this impossible. | 294 | and the size of the message to be sent made this impossible. | |
284 | .It Bq Er EAGAIN | |||
285 | The socket is marked non-blocking and the requested operation | |||
286 | would block. | |||
287 | .It Bq Er ENOBUFS | 295 | .It Bq Er ENOBUFS | |
288 | The system was unable to allocate an internal buffer. | 296 | The system was unable to allocate an internal buffer. | |
289 | The operation may succeed when buffers become available. | 297 | The operation may succeed when buffers become available. | |
290 | .It Bq Er ENOBUFS | 298 | This error is also returned when | |
291 | The output queue for a network interface was full. | 299 | the output queue for a network interface was full. | |
292 | This generally indicates that the interface has stopped sending, | 300 | This generally indicates that the interface has stopped sending, | |
293 | but may be caused by transient congestion. | 301 | but may be caused by transient congestion. | |
294 | .It Bq Er EHOSTUNREACH | |||
295 | The remote host was unreachable. | |||
296 | .It Bq Er ENOTCONN | |||
297 | On a one-to-one style socket no association exists. | |||
298 | .It Bq Er ECONNRESET | |||
299 | An abort was received by the stack while the user was | |||
300 | attempting to send data to the peer. | |||
301 | .It Bq Er ENOENT | 302 | .It Bq Er ENOENT | |
302 | On a one-to-many style socket no address is specified | 303 | On a one-to-many style socket no address is specified | |
303 | so that the association cannot be located or the | 304 | so that the association cannot be located or the | |
304 | .Dv SCTP_ABORT | 305 | .Dv SCTP_ABORT | |
305 | flag was specified on a non-existing association. | 306 | flag was specified on a non-existing association. | |
307 | .It Bq Er ENOTCONN | |||
308 | On a one-to-one style socket no association exists. | |||
309 | .It Bq Er ENOTSOCK | |||
310 | The argument | |||
311 | .Fa s | |||
312 | is not a socket. | |||
306 | .It Bq Er EPIPE | 313 | .It Bq Er EPIPE | |
307 | The socket is unable to send anymore data | 314 | The socket is unable to send anymore data | |
308 | .Dv ( SBS_CANTSENDMORE | 315 | .Dv ( SBS_CANTSENDMORE | |
309 | has been set on the socket). | 316 | has been set on the socket). | |
310 | This typically means that the socket | 317 | This typically means that the socket | |
311 | is not connected and is a one-to-one style socket. | 318 | is not connected and is a one-to-one style socket. | |
312 | .El | 319 | .El | |
313 | .Sh SEE ALSO | 320 | .Sh SEE ALSO | |
314 | .Xr connect 2 , | 321 | .Xr connect 2 , | |
315 | .Xr getsockopt 2 , | 322 | .Xr getsockopt 2 , | |
316 | .Xr recv 2 , | 323 | .Xr recv 2 , | |
317 | .Xr select 2 , | 324 | .Xr select 2 , | |
325 | .Xr sendmsg 2 , | |||
318 | .Xr socket 2 , | 326 | .Xr socket 2 , | |
319 | .Xr write 2 , | 327 | .Xr write 2 , | |
320 | .Xr sctp_connectx 3 , | 328 | .Xr sctp_connectx 3 , | |
321 | .Xr sendmsg 2 , | |||
322 | .Xr sctp 4 | 329 | .Xr sctp 4 | |
323 | .Rs | 330 | .Rs | |
324 | .%R RFC | 331 | .%R RFC | |
325 | .%N 6458 | 332 | .%N 6458 | |
326 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | 333 | .%T "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)" | |
327 | .%D December 2011 | 334 | .%D December 2011 | |
328 | .Re | 335 | .Re | |
329 | .Sh HISTORY | 336 | .Sh HISTORY | |
330 | These functions first appeared in | 337 | These functions first appeared in | |
331 | .Nx 9.0 . | 338 | .Nx 9.0 . | |
332 | .Sh BUGS | 339 | .Sh BUGS | |
333 | Because in the one-to-many style socket | 340 | Because in the one-to-many style socket | |
334 | .Fn sctp_sendmsg | 341 | .Fn sctp_sendmsg | |
335 | or | 342 | or | |
336 | .Fn sctp_sendmsgx | 343 | .Fn sctp_sendmsgx | |
337 | may have multiple associations under one endpoint, a | 344 | may have multiple associations under one endpoint, a | |
338 | select on write will only work for a one-to-one style | 345 | select on write will only work for a one-to-one style | |
339 | socket. | 346 | socket. |