Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       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)