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

НАИМЕНОВАНИЕ
getnetent_r, getnetbyname_r, getnetbyaddr_r - возвращают запись о сети (реентерабельные версии)
БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)
ОБЗОР
#include <netdb.h>
int getnetent_r(struct netent *restrict result_buf,
char buf[restrict .buflen], size_t buflen,
struct netent **restrict result,
int *restrict h_errnop);
int getnetbyname_r(const char *restrict name,
struct netent *restrict result_buf,
char buf[restrict .buflen], size_t buflen,
struct netent **restrict result,
int *restrict h_errnop);
int getnetbyaddr_r(uint32_t net, int type,
struct netent *restrict result_buf,
char buf[restrict .buflen], size_t buflen,
struct netent **restrict result,
int *restrict h_errnop);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
getnetent_r(), getnetbyname_r(), getnetbyaddr_r():
начиная с glibc 2.19:
_DEFAULT_SOURCE
в glibc 2.19 и старее:
_BSD_SOURCE || _SVID_SOURCE
ОПИСАНИЕ
Функции getnetent_r(), getnetbyname_r() и getnetbyaddr_r() являются реентерабельными эквивалентами
getnetent(3), getnetbyname(3) и getnetbynumber(3), соответственно. Они отличаются способом возврата
структуры netent и списком параметров и типом возвращаемого значения. В этой справочной странице описаны
только различия с нереентерабельными функциями.
Вместо возврата указателя на статически выделенную структуру netent в качестве результата эти функции
копируют структуру в расположение, указанное result_buf.
Массив buf используется для хранения строковых полей из возвращаемой структуры netent (нереентерабельные
функции выделяют эти строки из статического хранилища). Размер данного массива задаётся в buflen. Если
buf слишком мал, то вызов завершается с ошибкой ERANGE, вызывающий должен его повторить с большим буфером
(для большинства приложений должно быть достаточно буфера длиной 1024 байт).
Если вызов получил запись о сети, то *result указывает на result_buf; в противном случае *result
устанавливается в NULL.
Буфер, указанный h_errnop, используется для возврата значения, которое бы сохранилось в глобальной
переменной h_errno нереентерабельными версиями этих функций.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении эти функции возвращают 0. При ошибке возвращается одно из положительных значений,
перечисленных В разделе ОШИБКИ.
При ошибке, отсутствии записи (getnetbyname_r(), getnetbyaddr_r()) или конце данных (getnetent_r())
значение result равно NULL.
ОШИБКИ
ENOENT (getnetent_r()) Больше нет записей в базе данных.
ERANGE Размер buf слишком мал. Попробуйте ещё раз с большим буфером (и увеличенным значением buflen).
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
┌───────────────────────────────────────────────────────────────┬──────────────────────┬────────────────┐
│ Интерфейс │ Атрибут │ Значение │
├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
│ getnetent_r(), getnetbyname_r(), getnetbyaddr_r() │ Безвредность в нитях │ MT-Safe locale │
└───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘
ВЕРСИИ
Функции с похожими именами есть и в других системах, хотя и с другим набором параметров.
СТАНДАРТЫ
GNU.
СМОТРИТЕ ТАКЖЕ
getnetent(3), networks(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 г. getnetent_r(3)