Функция
getprotoent()
считывает следующую строку из файла
/etc/protocols
и возвращает структуру
protoent,
содержащую поля этой строки. Если необходимо, файл
/etc/protocols
открывается.
Функция
getprotobyname()
возвращает структуру
protoent
для строки из
/etc/protocols,
совпадающую с именем протокола
name.
Функция
getprotobynumber()
возвращает структуру
protoent
для строки, совпадающей с номером протокола
number.
Функция
setprotoent()
открывает файл
/etc/protocols
и переходит в его начало. Если
stayopen
является true (1) (истинным), то файл не будет закрываться между вызовами
getprotobyname()
или
getprotobynumber().
Функция
endprotoent()
закрывает файл
/etc/protocols.
Структура
protoent
определена в
<netdb.h>
следующим образом:
struct protoent {
char *p_name; /* официальное имя протокола */
char **p_aliases; /* список псевдонимов */
int p_proto; /* номер протокола */
}
Полями структуры
protoent
являются:
p_name
(официальное имя протокола);
p_aliases
(оканчивающийся нулем список альтернативных имен для протокола);
p_proto
(номер протокола).
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функции
getprotoent(),
getprotobyname()
и
getprotobynumber()
возвращают структуру
protoent
или NULL, если произошла ошибка или достигнут конец файла.