summaryrefslogtreecommitdiffstats
path: root/man3/bindresvport.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/bindresvport.3')
-rw-r--r--man3/bindresvport.3116
1 files changed, 0 insertions, 116 deletions
diff --git a/man3/bindresvport.3 b/man3/bindresvport.3
deleted file mode 100644
index 89cd5d0..0000000
--- a/man3/bindresvport.3
+++ /dev/null
@@ -1,116 +0,0 @@
-'\" t
-.\" Copyright (C) 2007, Michael Kerrisk <mtk.manpages@gmail.com>
-.\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
-.\" <mtk.manpages@gmail.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.\" 2007-05-31, mtk: Rewrite and substantial additional text.
-.\" 2008-12-03, mtk: Rewrote some pieces and fixed some errors
-.\"
-.TH bindresvport 3 2023-10-31 "Linux man-pages 6.7"
-.SH NAME
-bindresvport \- bind a socket to a privileged IP port
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <sys/types.h>
-.B #include <netinet/in.h>
-.P
-.BI "int bindresvport(int " sockfd ", struct sockaddr_in *" sin );
-.fi
-.SH DESCRIPTION
-.BR bindresvport ()
-is used to bind the socket referred to by the
-file descriptor
-.I sockfd
-to a privileged anonymous IP port,
-that is, a port number arbitrarily selected from the range 512 to 1023.
-.\" glibc actually starts searching with a port # in the range 600 to 1023
-.P
-If the
-.BR bind (2)
-performed by
-.BR bindresvport ()
-is successful, and
-.I sin
-is not NULL, then
-.I sin\->sin_port
-returns the port number actually allocated.
-.P
-.I sin
-can be NULL, in which case
-.I sin\->sin_family
-is implicitly taken to be
-.BR AF_INET .
-However, in this case,
-.BR bindresvport ()
-has no way to return the port number actually allocated.
-(This information can later be obtained using
-.BR getsockname (2).)
-.SH RETURN VALUE
-.BR bindresvport ()
-returns 0 on success; otherwise \-1 is returned and
-.I errno
-is set to indicate the error.
-.SH ERRORS
-.BR bindresvport ()
-can fail for any of the same reasons as
-.BR bind (2).
-In addition, the following errors may occur:
-.TP
-.B EACCES
-The calling process was not privileged
-(on Linux: the calling process did not have the
-.B CAP_NET_BIND_SERVICE
-capability in the user namespace governing its network namespace).
-.TP
-.B EADDRINUSE
-All privileged ports are in use.
-.TP
-.BR EAFNOSUPPORT " (" EPFNOSUPPORT " in glibc 2.7 and earlier)"
-.I sin
-is not NULL and
-.I sin\->sin_family
-is not
-.BR AF_INET .
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.TS
-allbox;
-lb lb lbx
-l l l.
-Interface Attribute Value
-T{
-.na
-.nh
-.BR bindresvport ()
-T} Thread safety T{
-.na
-.nh
-glibc\ >=\ 2.17: MT-Safe;
-.\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5
-glibc\ <\ 2.17: MT-Unsafe
-T}
-.TE
-.P
-The
-.BR bindresvport ()
-function uses a static variable that was not protected by a lock
-before glibc 2.17, rendering the function MT-Unsafe.
-.SH VERSIONS
-Present on the BSDs, Solaris, and many other systems.
-.SH NOTES
-Unlike some
-.BR bindresvport ()
-implementations,
-the glibc implementation ignores any value that the caller supplies in
-.IR sin\->sin_port .
-.SH STANDARDS
-BSD.
-.SH SEE ALSO
-.BR bind (2),
-.BR getsockname (2)