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

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

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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(), endservent() │ Безвредность в нитях │ MT-Unsafe race:servent locale                     │
       └────────────────────────────┴──────────────────────┴───────────────────────────────────────────────────┘

       В  приведённой  выше  таблице  servent  в  race:servent  означает,  что если в нескольких нитях программы
       одновременно используются функции  setservent(),  getservent()  или  endservent(),  то  может  возникнуть
       состязательность по данным.

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       POSIX.1-2001, 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> и 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 г.                                    getservent(3)