Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                   getprotoent(3)