getrpcent(3)

GETRPCENT(3) Руководство программиста Linux GETRPCENT(3)

ИМЯ

getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent - возвращают запись RPC

ОБЗОР

#include <netdb.h>
struct rpcent *getrpcent(void);
struct rpcent *getrpcbyname(const char *name);
struct rpcent *getrpcbynumber(int number);
void setrpcent(int stayopen);
void endrpcent(void);

ОПИСАНИЕ

Функции getrpcent(), getrpcbyname() и getrpcbynumber() возвращают указатель на объект с описанной ниже структурой, содержащую разделённую на поля запись из базы данных номеров программы RPC.


struct rpcent {

char *r_name; /* имя сервера для этой программы RPC */
char **r_aliases; /* список псевдонимов */
long r_number; /* номер программы RPC */ };

Члены структуры:

r_name
Имя сервера для этой программы RPC.
r_aliases
Список альтернативных имён программы RPC, завершающийся NULL.
r_number
Номер программы RPC для этой службы.

Функция getrpcent() считывает следующую запись из базы данных. При необходимости будет открыто подключение к базе.

Функция setrpcent() открывает соединение к базе и устанавливает следующую запись к первой записи. Если stayopen не равен нулю, то подключение к базе между вызовами нескольких функций getrpc*() не будет закрыто.

Функция endrpcent() закрывает подключение к базе.

Функции getrpcbyname() и getrpcbynumber() выполняют последовательный поиск от начала файла до нахождения имени программы RPC, её номера или конца файла.

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

При успешном выполнении getrpcent(), getrpcbyname() и getrpcbynumber() возвращают указатель на статически выделенную структуру rpcent. При ошибке или EOF возвращается NULL.

ФАЙЛЫ

/etc/rpc
база данных программных номеров RPC

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
getrpcent(), getrpcbyname(), getrpcbynumber() Безвредность в нитях MT-Unsafe
setrpcent(), endrpcent() Безвредность в нитях MT-Safe locale

СООТВЕТСТВИЕ СТАНДАРТАМ

Нет в POSIX.1. Присутствует в BSD, Solaris и многих других системах.

ДЕФЕКТЫ

Вся информация располагается в статической области, поэтому для сохранения должна быть скопирована.

СМОТРИТЕ ТАКЖЕ

getrpcent_r(3), rpc(5), rpcinfo(8), ypserv(8)

2017-09-15