.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 19:19:11 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Wed Oct 18 20:23:54 1995 by Martin Schulze .\" Modified Mon Apr 22 01:50:54 1996 by Martin Schulze .\" 2001-07-25 added a clause about NULL proto (Martin Michlmayr or David N. Welton) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getservent 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ getservent, getservbyname, getservbyport, setservent, endservent \- возвращают запись о службе .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBstruct servent *getservent(void);\fP .PP \fBstruct servent *getservbyname(const char *\fP\fIname\fP\fB, const char *\fP\fIproto\fP\fB);\fP \fBstruct servent *getservbyport(int \fP\fIport\fP\fB, const char *\fP\fIproto\fP\fB);\fP .PP \fBvoid setservent(int \fP\fIstayopen\fP\fB);\fP \fBvoid endservent(void);\fP .fi .SH ОПИСАНИЕ Функция \fBgetservent\fP() считывает следующую запись из файла, содержащего базу служб (смотрите \fBservices\fP(5)), и возвращает структуру \fIservent\fP, содержащую поля из этой записи. При необходимости будет открыто подключение к базе. .PP Функция \fBgetservbyname\fP() возвращает структуру \fIservent\fP элемента из базы данных, который совпадает со службой \fIname\fP и использующей протокол \fIproto\fP. Если значение \fIproto\fP равно NULL, то подойдёт любой протокол. При необходимости будет открыто подключение к базе. .PP Функция \fBgetservbyport\fP() возвращает структуру \fIservent\fP элемента из базы данных, который совпадает с портом \fIport\fP (значение имеет сетевой порядок байт) и использующей протокол \fIproto\fP. Если значение \fIproto\fP равно NULL, то подойдёт любой протокол. При необходимости будет открыто подключение к базе. .PP Функция \fBsetservent\fP() открывает соединение к базе и устанавливает следующую запись к первой записи. Если \fIstayopen\fP не равен нулю, то подключение к базе между вызовами нескольких функций \fBgetserv*\fP() не будет закрыто. .PP Функция \fBendservent\fP() закрывает подключение к базе. .PP Структура \fIservent\fP определена в \fI\fP таким образом: .PP .in +4n .EX struct servent { char *s_name; /* официальное имя службы */ char **s_aliases; /* список псевдонимов */ int s_port; /* номер порта */ char *s_proto; /* используемый протокол */ } .EE .in .PP Члены структуры \fIservent\fP: .TP \fIs_name\fP Официальное название службы. .TP \fIs_aliases\fP Список альтернативных имён службы, завершающийся NULL. .TP \fIs_port\fP Номер порта службы, задаваемый в сетевом порядке байт. .TP \fIs_proto\fP Имя протокола, используемого с данной службой. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" The \fBgetservent\fP(), \fBgetservbyname\fP(), and \fBgetservbyport\fP() functions return a pointer to a statically allocated \fIservent\fP structure, or NULL if an error occurs or the end of the file is reached. .SH ФАЙЛЫ .TP \fI/etc/services\fP файл базы данных служб .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Интерфейс Атрибут Значение T{ .na .nh \fBgetservent\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:servent race:serventbuf locale T} T{ .na .nh \fBgetservbyname\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:servbyname locale T} T{ .na .nh \fBgetservbyport\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:servbyport locale T} T{ .na .nh \fBsetservent\fP(), \fBendservent\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:servent locale T} .TE .sp 1 В приведённой выше таблице \fIservent\fP в \fIrace:servent\fP означает, что если в нескольких нитях программы одновременно используются функции \fBsetservent\fP(), \fBgetservent\fP() или \fBendservent\fP(), то может возникнуть состязательность по данным. .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, 4.3BSD. .SH "СМ. ТАКЖЕ" \fBgetnetent\fP(3), \fBgetprotoent\fP(3), \fBgetservent_r\fP(3), \fBservices\fP(5) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .