getprotoent

GETPROTOENT(3)           Руководство программиста Linux           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() считывает следующую запись из файла, содержащего
       базу протоколов (смотрите 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(),     │ Безвредность в нитях │ MT-Unsafe race:protoent      │
       │endprotoent()      │                      │ locale                       │
       └───────────────────┴──────────────────────┴──────────────────────────────┘
       В приведённой выше таблице protoent в race:protoent означает, что если в
       нескольких нитях программы одновременно используются функции
       setprotoent(), getprotoent() или endprotoent(), то может возникнуть
       состязательность по данным.

СООТВЕТСТВИЕ СТАНДАРТАМ
       POSIX.1-2001, POSIX.1-2008, 4.3BSD.

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



GNU                                2015-07-23                     GETPROTOENT(3)