getprotoent(3)

ИМЯ
getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - возвращают запись о протоколе

LIBRARY
Standard C library (libc, -lc)

СИНТАКСИС
#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
    Номер протокола.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
The getprotoent(), getprotobyname(), and getprotobynumber() functions return a pointer to a statically allocated protoent structure, or a null pointer if an error occurs or the end of the file is reached.

ФАЙЛЫ
/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-2008.

ИСТОРИЯ
POSIX.1-2001, 4.3BSD.

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

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.