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

ИМЯ

       getservent,  getservbyname,  getservbyport,  setservent,  endservent - возвращают запись о
       службе

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <netdb.h>

       struct servent *getservent(void);

       struct servent *getservbyname(const char *name, const char *proto);
       struct servent *getservbyport(int port, const char *proto);

       void setservent(int stayopen);
       void endservent(void);

ОПИСАНИЕ

       Функция getservent() считывает следующую запись из файла, содержащего базу служб (смотрите
       services(5)),  и  возвращает  структуру  servent,  содержащую  поля  из  этой  записи. При
       необходимости будет открыто подключение к базе.

       Функция getservbyname() возвращает структуру servent  элемента  из  базы  данных,  который
       совпадает  со  службой name и использующей протокол proto. Если значение proto равно NULL,
       то подойдёт любой протокол. При необходимости будет открыто подключение к базе.

       Функция getservbyport() возвращает структуру servent  элемента  из  базы  данных,  который
       совпадает  с  портом  port  (значение  имеет сетевой порядок байт) и использующей протокол
       proto. Если значение proto равно NULL, то подойдёт любой протокол. При необходимости будет
       открыто подключение к базе.

       Функция setservent() открывает соединение к базе и устанавливает следующую запись к первой
       записи. Если stayopen не равен нулю, то  подключение  к  базе  между  вызовами  нескольких
       функций getserv*() не будет закрыто.

       Функция endservent() закрывает подключение к базе.

       Структура servent определена в <netdb.h> таким образом:

           struct servent {
               char  *s_name;       /* официальное имя службы */
               char **s_aliases;    /* список псевдонимов */
               int    s_port;       /* номер порта */
               char  *s_proto;      /* используемый протокол */
           }

       Члены структуры servent:

       s_name Официальное название службы.

       s_aliases
              Список альтернативных имён службы, завершающийся NULL.

       s_port Номер порта службы, задаваемый в сетевом порядке байт.

       s_proto
              Имя протокола, используемого с данной службой.

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

       The  getservent(),  getservbyname(),  and getservbyport()  functions return a pointer to a
       statically allocated servent structure, or NULL if an error occurs or the end of the  file
       is reached.

ФАЙЛЫ

       /etc/services
              файл базы данных служб

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌────────────────┬──────────────────────┬─────────────────────────────────────────────────┐
       │ИнтерфейсАтрибутЗначение                                        │
       ├────────────────┼──────────────────────┼─────────────────────────────────────────────────┤
       │getservent()    │ Безвредность в нитях │ MT-Unsafe race:servent race:serventbuf locale   │
       ├────────────────┼──────────────────────┼─────────────────────────────────────────────────┤
       │getservbyname() │ Безвредность в нитях │ MT-Unsafe race:servbyname locale                │
       ├────────────────┼──────────────────────┼─────────────────────────────────────────────────┤
       │getservbyport() │ Безвредность в нитях │ MT-Unsafe race:servbyport locale                │
       ├────────────────┼──────────────────────┼─────────────────────────────────────────────────┤
       │setservent(),   │ Безвредность в нитях │ MT-Unsafe race:servent locale                   │
       │endservent()    │                      │                                                 │
       └────────────────┴──────────────────────┴─────────────────────────────────────────────────┘
       В приведённой выше таблице servent в race:servent означает, что если  в  нескольких  нитях
       программы  одновременно  используются функции setservent(), getservent() или endservent(),
       то может возникнуть состязательность по данным.

СТАНДАРТЫ

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

СМ. ТАКЖЕ

       getnetent(3), getprotoent(3), getservent_r(3), services(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⟩.