Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       getrpcent_r, getrpcbyname_r, getrpcbynumber_r - возвращают запись RPC (реентерабельные версии)

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <netdb.h>

       int getrpcent_r(struct rpcent *result_buf, char buf[.buflen],
                       size_t buflen, struct rpcent **result);
       int getrpcbyname_r(const char *name,
                       struct rpcent *result_buf, char buf[.buflen],
                       size_t buflen, struct rpcent **result);
       int getrpcbynumber_r(int number,
                       struct rpcent *result_buf, char buf[.buflen],
                       size_t buflen, struct rpcent **result);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r():
           начиная с glibc 2.19:
               _DEFAULT_SOURCE
           в glibc 2.19 и старее:
               _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

       Функции  getrpcent_r(),  getrpcbyname_r()  и  getrpcbynumber_r()  являются реентерабельными эквивалентами
       getrpcent(3), getrpcbyname(3) и  getrpcbynumber(3),  соответственно.  Они  отличаются  способом  возврата
       структуры  rpcent,  списком параметров и типом возвращаемого значения. В этой справочной странице описаны
       только различия с нереентерабельными функциями.

       Вместо возврата указателя на статически выделенную структуру rpcent в  качестве  результата  эти  функции
       копируют структуру в расположение, указанное result_buf.

       Массив  buf используется для хранения строковых полей из возвращаемой структуры rpcent (нереентерабельные
       функции выделяют эти строки из статического хранилища). Размер данного массива задаётся  в  buflen.  Если
       buf слишком мал, то вызов завершается с ошибкой ERANGE, вызывающий должен его повторить с большим буфером
       (для большинства приложений должно быть достаточно буфера длиной 1024 байт).

       Если  вызов  получил  запись  RPC,  то   *result  указывает  на  result_buf;  в  противном случае *result
       устанавливается в NULL.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении эти функции возвращают 0. При ошибке возвращается одно из положительных значений,
       перечисленных В разделе ОШИБКИ.

       При ошибке, отсутствии записи (getrpcbyname_r(), getrpcbynumber_r())  или  конце  данных  (getrpcent_r())
       значение result равно NULL.

ОШИБКИ

       ENOENT (getrpcent_r()) Больше нет записей в базе данных.

       ERANGE Размер buf слишком мал. Попробуйте ещё раз с большим буфером (и увеличенным значением buflen).

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ ИнтерфейсАтрибутЗначение       │
       ├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │ getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r()           │ Безвредность в нитях │ MT-Safe locale │
       └───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       Эти  функции  являются  расширениями  GNU.  Функции с похожими именами есть и в других системах, хотя и с
       другим набором параметров.

СМ. ТАКЖЕ

       getrpcent(3), rpc(5)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>,  Dmitry
       Bolkhovskikh     <d20052005@yandex.ru>,     Vladislav     <ivladislavefimov@gmail.com>,    Yuri    Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное  письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                            5 февраля 2023 г.                                 getrpcent_r(3)