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(),                 │ Безвредность в нитях │ MT-Safe locale │
       │getrpcbynumber_r()                               │                      │                │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       Эти функции являются расширениями  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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