Linux repositories inspector
GNU
2017-09-15
Aliases: endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), endprotoent(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobyname(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), getprotobynumber(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3), setprotoent(3)

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

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() считывает следующую запись из файла, содержащего базу протоколов (смотрите protocols(5)), и возвращает структуру protoent, содержащую поля из этой записи. При необходимости будет открыто подключение к базе.
Функция getprotobyname() возвращает структуру protoent элемента из базы данных, который совпадает с именем протокола name. При необходимости будет открыто подключение к базе.
Функция getprotobynumber() возвращает структуру protoent элемента из базы данных, который совпадает с номером протокола number. При необходимости будет открыто подключение к базе.
Функция setprotoent() открывает соединение к базе и устанавливает следующую запись к первой записи. Если stayopen не равен нулю, то подключение к базе между вызовами нескольких функций getproto*() не будет закрыто.
Функция endprotoent() закрывает подключение к базе.
Структура protoent определена в <netdb.h> таким образом:
struct protoent {
char *p_name; /* официальное имя протокола */
char **p_aliases; /* список псевдонимов */
int p_proto; /* номер протокола */ }
Члены структуры protoent:
p_name Официальное название протокола.
p_aliases
Список альтернативных имён протокола, завершающийся NULL.
p_proto
Номер протокола.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функции getprotoent(), getprotobyname() и getprotobynumber() возвращают указатель на статически выделенную структуру protoent или указатель null при ошибке или достижении конца файла.

ФАЙЛЫ

/etc/protocols
файл, содержащий базу протоколов

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
getprotoent() Безвредность в нитях MT-Unsafe race:protoent
race:protoentbuf locale
getprotobyname() Безвредность в нитях MT-Unsafe race:protobyname
locale
getprotobynumber() Безвредность в нитях MT-Unsafe race:protobynumber
locale
setprotoent(),
endprotoent()
Безвредность в нитях MT-Unsafe race:protoent
locale
В приведённой выше таблице protoent в race:protoent означает, что если в нескольких нитях программы одновременно используются функции setprotoent(), getprotoent() или endprotoent(), то может возникнуть состязательность по данным.

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

POSIX.1-2001, POSIX.1-2008, 4.3BSD.
⇧ Top