.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getnetent_r 3 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH НАИМЕНОВАНИЕ getnetent_r, getnetbyname_r, getnetbyaddr_r \- возвращают запись о сети (реентерабельные версии) .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH ОБЗОР .nf \fB#include \fP .P \fBint getnetent_r(struct netent *restrict \fP\fIresult_buf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct netent **restrict \fP\fIresult\fP\fB,\fP \fB int *restrict \fP\fIh_errnop\fP\fB);\fP \fBint getnetbyname_r(const char *restrict \fP\fIname\fP\fB,\fP \fB struct netent *restrict \fP\fIresult_buf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct netent **restrict \fP\fIresult\fP\fB,\fP \fB int *restrict \fP\fIh_errnop\fP\fB);\fP \fBint getnetbyaddr_r(uint32_t \fP\fInet\fP\fB, int \fP\fItype\fP\fB,\fP \fB struct netent *restrict \fP\fIresult_buf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct netent **restrict \fP\fIresult\fP\fB,\fP \fB int *restrict \fP\fIh_errnop\fP\fB);\fP .P .fi .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBgetnetent_r\fP(), \fBgetnetbyname_r\fP(), \fBgetnetbyaddr_r\fP(): .nf начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .fi .SH ОПИСАНИЕ Функции \fBgetnetent_r\fP(), \fBgetnetbyname_r\fP() и \fBgetnetbyaddr_r\fP() являются реентерабельными эквивалентами \fBgetnetent\fP(3), \fBgetnetbyname\fP(3) и \fBgetnetbynumber\fP(3), соответственно. Они отличаются способом возврата структуры \fInetent\fP и списком параметров и типом возвращаемого значения. В этой справочной странице описаны только различия с нереентерабельными функциями. .P Вместо возврата указателя на статически выделенную структуру \fInetent\fP в качестве результата эти функции копируют структуру в расположение, указанное \fIresult_buf\fP. .P .\" I can find no information on the required/recommended buffer size; .\" the nonreentrant functions use a 1024 byte buffer -- mtk. Массив \fIbuf\fP используется для хранения строковых полей из возвращаемой структуры \fInetent\fP (нереентерабельные функции выделяют эти строки из статического хранилища). Размер данного массива задаётся в \fIbuflen\fP. Если \fIbuf\fP слишком мал, то вызов завершается с ошибкой \fBERANGE\fP, вызывающий должен его повторить с большим буфером (для большинства приложений должно быть достаточно буфера длиной 1024 байт). .P Если вызов получил запись о сети, то \fI*result\fP указывает на \fIresult_buf\fP; в противном случае \fI*result\fP устанавливается в NULL. .P .\" getnetent.3 doesn't document any use of h_errno, but nevertheless .\" the nonreentrant functions no seem to set h_errno. Буфер, указанный \fIh_errnop\fP, используется для возврата значения, которое бы сохранилось в глобальной переменной \fIh_errno\fP нереентерабельными версиями этих функций. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении эти функции возвращают 0. При ошибке возвращается одно из положительных значений, перечисленных В разделе ОШИБКИ. .P При ошибке, отсутствии записи (\fBgetnetbyname_r\fP(), \fBgetnetbyaddr_r\fP()) или конце данных (\fBgetnetent_r\fP()) значение \fIresult\fP равно NULL. .SH ОШИБКИ .TP \fBENOENT\fP (\fBgetnetent_r\fP()) Больше нет записей в базе данных. .TP \fBERANGE\fP Размер \fIbuf\fP слишком мал. Попробуйте ещё раз с большим буфером (и увеличенным значением \fIbuflen\fP). .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBgetnetent_r\fP(), \fBgetnetbyname_r\fP(), \fBgetnetbyaddr_r\fP() T} Безвредность в нитях MT\-Safe locale .TE .SH ВЕРСИИ Функции с похожими именами есть и в других системах, хотя и с другим набором параметров. .SH СТАНДАРТЫ GNU. .SH "СМОТРИТЕ ТАКЖЕ" \fBgetnetent\fP(3), \fBnetworks\fP(5) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .