.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" based on glibc infopages .\" polished - aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setnetgrent 3 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH ИМЯ setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \- работа с элементами групп сетей .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint setnetgrent(const char *\fP\fInetgroup\fP\fB);\fP \fBvoid endnetgrent(void);\fP .P \fBint getnetgrent(char **restrict \fP\fIhost\fP\fB,\fP \fB char **restrict \fP\fIuser\fP\fB, char **restrict \fP\fIdomain\fP\fB);\fP \fBint getnetgrent_r(char **restrict \fP\fIhost\fP\fB,\fP \fB char **restrict \fP\fIuser\fP\fB, char **restrict \fP\fIdomain\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB);\fP .P \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 .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fB\%setnetgrent\fP(), \fB\%endnetgrent\fP(), \fB\%getnetgrent\fP(), \fB\%getnetgrent_r\fP(), \fB\%innetgr\fP(): .nf начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .fi .SH ОПИСАНИЕ Файл \fInetgroup\fP впервые появился в SunOS. База данных netgroup представляет собой список строк с тремя элементами (\fIhostname\fP, \fIusername\fP, \fIdomainname\fP) или с другими именами netgroup. Любой из элементов тройки может быть пустым, то есть совпадает с любым значением. Описываемые здесь функции предоставляют доступ к базам данных netgroup. В файле \fI/etc/nsswitch.conf\fP задаётся какая база данных будет использована при поиске. .P Вызов \fBsetnetgrent\fP() настраивает netgroup, которая будет использована при поиске в последующих вызовах \fBgetnetgrent\fP(). Функция \fBgetnetgrent\fP() выбирает следующий элемент netgroup и возвращает указатели в \fIhost\fP, \fIuser\fP, \fIdomain\fP. Указатель null означает, что соответствующая запись совпадает с любой строкой. Значения указателей корректны до тех пор, пока не произойдёт других вызовов функций работы с netgroup. Чтобы избежать этой проблемы вы можете использовать функцию GNU \fBgetnetgrent_r\fP(), которая хранит строки в переданной ей буфере. Чтобы освободить все выделенные буферы используйте \fBendnetgrent\fP(). .P В большинстве случаев чаще всего проверяется присутствие тройки (\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; lb lb lbx l l l. Интерфейс Атрибут Значение T{ .na .nh \fBsetnetgrent\fP(), \fBgetnetgrent_r\fP(), \fBinnetgr\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:netgrent locale T} T{ .na .nh \fBendnetgrent\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:netgrent T} T{ .na .nh \fBgetnetgrent\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:netgrent race:netgrentbuf locale T} .TE .P В приведённой выше таблице \fInetgrent\fP в \fIrace:netgrent\fP означает, что если в нескольких нитях программы одновременно используются функции \fBsetnetgrent\fP(), \fBgetnetgrent_r\fP(), \fBinnetgr\fP(), \fBgetnetgrent\fP() или \fBendnetgrent\fP(), то может возникнуть состязательность по данным. .SH ВЕРСИИ В реализации BSD функция \fBsetnetgrent\fP() возвращает void. .SH СТАНДАРТЫ None. .SH ИСТОРИЯ .\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs. \fBsetnetgrent\fP(), \fBendnetgrent\fP(), \fBgetnetgrent\fP(), and \fBinnetgr\fP() are available on most UNIX systems. \fBgetnetgrent_r\fP() is not widely available on other systems. .SH "СМОТРИТЕ ТАКЖЕ" \fBsethostent\fP(3), \fBsetprotoent\fP(3), \fBsetservent\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .