Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   getrpcbyname - возвращают

getrpcbyname(3) возвращают

Other Alias

getrpcent, getrpcbynumber, setrpcent, endrpcent


ОБЗОР

#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 и многих других системах.

ДЕФЕКТЫ

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