Section: Linux Programmer's Manual (3)
Return to Main Contents
bindresvport - bind a socket to a privileged IP port
int bindresvport(int sockfd, struct sockaddr_in *sin);
is used to bind a socket descriptor to a privileged anonymous IP port,
that is, a port number arbitrarily selected from the range 512 to 1023.
is successful, and
is not NULL, then
returns the port number actually allocated.
can be NULL, in which case
is implicitly taken to be
However, in this case,
has no way to return the port number actually allocated.
(This information can later be obtained using
returns 0 on success; otherwise -1 is returned and
set to indicate the cause of the error.
can fail for any of the same reasons as
In addition, the following errors may occur:
The caller did not have superuser privilege (to be precise: the
capability is required).
All privileged ports are in use.
- EAFNOSUPPORT (EPFNOSUPPORT in glibc 2.7 and earlier)
is not NULL and
Multithreading (see pthreads(7))
Before glibc 2.17, the
function uses a static variable that is not protected,
so it is not thread-safe.
Since glibc 2.17,
function uses a lock to protect static variable, so it is thread-safe.
Not in POSIX.1-2001.
Present on the BSDs, Solaris, and many other systems.
the glibc implementation ignores any value that the caller supplies in
This page is part of release 3.54 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- RETURN VALUE
- Multithreading (see pthreads(7))
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.
Time: 12:23:04 GMT, January 22, 2018