bindresvport()
is used to bind a socket descriptor to a privileged
IP
port, that is, a
port number in the range 0-1023.
If
in->sin_port
is 0 then an anonymous port in the range 600 to 1023
be chosen.
If the
bind(2)
performed by
bindresvport()
is successful, then
sin->sin_port
returns the port number actually allocated.
sin
can be NULL, in which case
sin->sin_family
is implicitly taken to be
AF_INET,
and an anonymous port is allocated (as above).
However, in this case,
bindresvport()
has no way to return the port number actually allocated.
RETURN VALUE
bindresvport()
returns 0 if it is successful, otherwise -1 is returned and
errno
set to indicate the cause of the error.
ERRORS
bindresvport()
can fail for any of the same reasons as
bind(2).
CONFORMING TO
Not in POSIX.1-2001.
Present on the BSDs, Solaris, and many other systems.
NOTES
Only root can bind to a privileged port; this call will fail for any
other users.
In addition, the following error may occur:
EAFNOSUPPORT (EPFNOSUPPORT in glibc 2.7 and earlier)
sin
is not NULL and
sin->sin_family
is not
AF_INET.
This page is part of release 3.14 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.