rresvport(), rresvport_af()

Получить сокет с привилегированным адресом

Прототип:

#include <unistd.h>
int rresvport( int *port );
int rresvport_af( int *port,
int af );

Аргументы:

port
Адрес в привилегированном пространстве портов. Привилегированные порты Интернета - это порты в диапазоне от 0 до 1023. Только суперпользователь может привязать этот тип адреса к сокету.
af
(только для rresvport_af()) Семейство адресов; см. <sys/socket.h>.

Библиотека:

libsocket

Описание:

Функция rresvport() возвращает дескриптор сокета с адресом в пространстве привилегированного порта. Функция rresvport_af() схожа, однако она может использоваться для семейств адресов, отличных от AF_INET.

Функция ruserok() используется серверами для аутентификации клиентов, запрашивающих услугу, с помощью rcmd(). Все три функции находятся в одном файле и используются сервером rshd (см. Справочник по Утилитам).

Функции rresvport() и rresvport_af() получают сокет с привязанным к нему привилегированным адресом. Этот сокет может использоваться rcmd() и некоторыми другими функциями.

Возвращаемое значение:

Действительный связанный дескриптор сокета.

Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.

Коды ошибок:

EAGAIN
Этот код ошибки перегружен и означает «Все сетевые порты используются».

Классификация:

Unix

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

iruserok(), iruserok_sa(), rcmd(), ruserok()




Предыдущий раздел: Описание API сетевой библиотеки