.\" -*- coding: UTF-8 -*- .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL .\" %%%LICENSE_END .\" .\" based on glibc infopages .\" polished - aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SETNETGRENT 3 "15 сентября 2017 г." GNU "Руководство программиста Linux" .SH ИМЯ setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \- работа с элементами групп сетей .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint setnetgrent(const char *\fP\fInetgroup\fP\fB);\fP .PP \fBvoid endnetgrent(void);\fP .PP \fBint getnetgrent(char **\fP\fIhost\fP\fB, char **\fP\fIuser\fP\fB, char **\fP\fIdomain\fP\fB);\fP .PP \fBint getnetgrent_r(char **\fP\fIhost\fP\fB, char **\fP\fIuser\fP\fB,\fP \fB char **\fP\fIdomain\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB);\fP .PP \fBint innetgr(const char *\fP\fInetgroup\fP\fB, const char *\fP\fIhost\fP\fB,\fP \fB const char *\fP\fIuser\fP\fB, const char *\fP\fIdomain\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP .ad l \fBsetnetgrent\fP(), \fBendnetgrent\fP(), \fBgetnetgrent\fP(), \fBgetnetgrent_r\fP(), \fBinnetgr\fP(): начиная с glibc 2.19: _DEFAULT_SOURCE glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .ad b .SH ОПИСАНИЕ Файл \fInetgroup\fP впервые появился в SunOS. База данных netgroup представляет собой список строк с тремя элементами (\fIhostname\fP, \fIusername\fP, \fIdomainname\fP) или с другими именами netgroup. Любой из элементов тройки может быть пустым, то есть совпадает с любым значением. Описываемые здесь функции предоставляют доступ к базам данных netgroup. В файле \fI/etc/nsswitch.conf\fP задаётся какая база данных будет использована при поиске. .PP Вызов \fBsetnetgrent\fP() настраивает netgroup, которая будет использована при поиске в последующих вызовах \fBgetnetgrent\fP(). Функция \fBgetnetgrent\fP() выбирает следующий элемент netgroup и возвращает указатели в \fIhost\fP, \fIuser\fP, \fIdomain\fP. Указатель null означает, что соответствующая запись совпадает с любой строкой. Значения указателей корректны до тех пор, пока не произойдёт других вызовов функций работы с netgroup. Чтобы избежать этой проблемы вы можете использовать функцию GNU \fBgetnetgrent_r\fP(), которая хранит строки в переданной ей буфере. Чтобы освободить все выделенные буферы используйте \fBendnetgrent\fP(). .PP В большинстве случаев чаще всего проверяется присутствие тройки (\fIhostname\fP, \fIusername\fP, \fIdomainname\fP) в netgroup. Для этого можно использовать функцию \fBinnetgr\fP() и не вызывать остальные три функции. Не забудьте, что указатель null — универсальный символ и совпадает с любой строкой. Функцию можно безопасно использовать в нитях. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении эти функции возвращают 1 и 0 при ошибке. .SH ФАЙЛЫ \fI/etc/netgroup\fP .br \fI/etc/nsswitch.conf\fP .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbw16 lb lbw23 l l l. Интерфейс Атрибут Значение T{ \fBsetnetgrent\fP(), .br \fBgetnetgrent_r\fP(), .br \fBinnetgr\fP() T} Безвредность в нитях T{ MT\-Unsafe race:netgrent .br locale T} T{ \fBendnetgrent\fP() T} Безвредность в нитях MT\-Unsafe race:netgrent T{ \fBgetnetgrent\fP() T} Безвредность в нитях T{ MT\-Unsafe race:netgrent .br race:netgrentbuf locale T} .TE .sp 1 В приведённой выше таблице \fInetgrent\fP в \fIrace:netgrent\fP означает, что если в нескольких нитях программы одновременно используются функции \fBsetnetgrent\fP(), \fBgetnetgrent_r\fP(), \fBinnetgr\fP(), \fBgetnetgrent\fP() или \fBendnetgrent\fP(), то может возникнуть состязательность по данным. .SH "СООТВЕТСТВИЕ СТАНДАРТАМ" .\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs. Эти функции отсутствуют в POSIX.1, но \fBsetnetgrent\fP(), \fBendnetgrent\fP(), \fBgetnetgrent\fP() и \fBinnetgr\fP() доступны в большинстве систем UNIX. Функция \fBgetnetgrent_r\fP() не так широко распространена в других системах. .SH ЗАМЕЧАНИЯ В реализации BSD функция \fBsetnetgrent\fP() возвращает void. .SH "СМ. ТАКЖЕ" \fBsethostent\fP(3), \fBsetprotoent\fP(3), \fBsetservent\fP(3) .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , 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 .