BINDRESVPORT(3)

NAME
bindresvport

SYNOPSIS
#include <sys/types.h>
#include <netinet/in.h>
int
bindresvport(int sd, struct sockaddr_in **sin);

DESCRIPTION
Bindresvport is used to bind a socket descriptor to a privileged IP port, that is, a port number in the range 0-1023. The routine returns 0 if it is successful, otherwise -1 is returned and errno set to reflect the cause of the error.

Only root can bind to a privileged port; this call will fail for any other users.

If the value of sin->sin_port is non-zero bindresvport() will attempt to use that specific port. If it fails, it chooses another privileged port automatically.