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

НАИМЕНОВАНИЕ
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)