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

ИМЯ
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)