GETPROTOENT(3)

НАЗВАНИЕ
getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - получают запись из файла протоколов

СИНТАКСИС
#include <netdb.h>

struct protoent *getprotoent(void);

struct protoent *getprotobyname(const char *name);

struct protoent *getprotobynumber(int proto);

void setprotoent(int stayopen);

void endprotoent(void);

ОПИСАНИЕ
Функция 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, если произошла ошибка или достигнут конец файла.

ФАЙЛЫ
/etc/protocols
    (файл базы данных протоколов).

СООТВЕТСТВИЕ СТАНДАРТАМ
BSD 4.3

СМ. ТАКЖЕ
getservent(3), getnetent(3), protocols(5)