getrpcent_r, getrpcbyname_r, getrpcbynumber_r -
возвращают
запись RPC
(реентерабельные
версии)
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);
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 <
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Vladislav <
[email protected]>,
Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]