getprotobynumber()

Получить запись протокола по числу

Прототип:

#include <netdb.h>
struct protoent * getprotobynumber( int proto );

Аргументы:

proto
Номер протокола, запись которого требуется получить.

Библиотека:

libsocket

Описание:

Функция getprotobynumber() получает запись протокола для заданного числа. Функция возвращает указатель на структуру struct protoent, содержащую определенные поля в строке в файле базы данных имен протоколов, /etc/protocols.

Функция setprotoent() открывает и перематывает файл. При передаче ненулевого аргумента stayopen в setprotoent(), база данных протоколов не закрывается после каждого вызова getprotobyname() или getprotobynumber().

Функции getprotobyname() и getprotobynumber() последовательно выполняют поиск от начала файла до тех пор, пока не будет найдено совпадающее имя протокола или номер протокола, или пока не будет обнаружен EOF.

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

Указатель не корректную структуру struct protoent или NULL в случае ошибки.

Файлы:

/etc/protocols
Файл базы данных имен протоколов.

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

POSIX 1003.1

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

Предостережения:

Данная функция использует статические данные; в случае, если данные будут необходимы для использования в будущем, необходимо скопировать их, прежде чем любые последующие вызовы перезапишут эти данные.

В настоящее время поддерживаются только Интернет-протоколы.

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

endprotoent(), getprotobyname(), getprotoent(), struct protoent, setprotoent()

/etc/protocols в Справочнике по Утилитам




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