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 |
