getrpcbynumber_r - возвращают запись RPC
getrpcbynumber_r(3)
возвращают запись RPC
Other Alias
getrpcent_r, getrpcbyname_r
ОБЗОР
#include <netdb.h>
int getrpcent_r(struct rpcent *result_buf, char *buf,
size_t buflen, struct rpcent **result);
int getrpcbyname_r(const char *name,
struct rpcent *result_buf, char *buf,
size_t buflen, struct rpcent **result);
int getrpcbynumber_r(int number,
struct rpcent *result_buf, char *buf,
size_t buflen, struct rpcent **result);
Требования макроса тестирования свойств для glibc
(см.
feature_test_macros(7)):
getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r():
_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. Функции с похожими именами есть и в
других системах, хотя и с другим набором параметров.