Obtain a socket with a privileged address
#include <unistd.h> int rresvport( int * port ); int rresvport_af( int * port, int af );
The rresvport() function returns a descriptor to a socket with an address in the privileged port space. The rresvport_af() function is similar, but you can use it for address families other than AF_INET.
The ruserok() function is used by servers to authenticate clients requesting service with rcmd(). All three functions are present in the same file and are used by the rshd server (see the Utilities Reference), among others.
The rresvport() and rresvport_af() functions obtain a socket with a privileged address bound to it. This socket can be used by rcmd() and several other functions.
A valid, bound socket descriptor, or -1 if an error occurs (errno is set).
The error code EAGAIN is overloaded to mean All network ports in use.
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |