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
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