|
НАЗВАНИЕ
rex - Протокол удаленного выполнения
СИНТАКСИС
#include <rpcsvc/rex.h>
ОПИСАНИЕ
Сервер удаленного исполнения команд. Допускается указание рабочего каталога и параметров среды выполнения команды, а также
переопределение стандартного ввода и вывода команды. Возможно
осуществление интерактивного ввода-вывода для тех программ, которые запускаются с терминалов. Работает только с протоколом TCP.
Информация о RPC:
Код (номер) программы:
REXPROGподпрограммы xdr:
int xdr_rex_start(xdrs, start); XDR *xdrs; struct rex_start *start; int xdr_rex_result(xdrs, result); XDR *xdrs; struct rex_result *result; int xdr_rex_ttymode(xdrs, mode); XDR *xdrs; struct rex_ttymode *mode; int xdr_rex_ttysize(xdrs, size); XDR *xdrs; struct rex_ttysize *size;процессы:
struct B_sgttyb {
char bsg_ispeed; /* скорость ввода */
char bsg_ospeed; /* скорость вывода */
char bsg_erase; /* символ стирания */
char bsg_kill; /* символ удаления */
short bsg_flags;
};
struct tchars {
char t_intrc; /* прерывание */
char t_quitc; /* выход */
char t_startc; /* запуск вывода */
char t_stopc; /* останов вывода */
char t_eofc; /* конец файла */
char t_brkc; /* разделитель ввода */
};
struct ltchars {
char t_suspc; /* сигнал остановки
процесса */
char t_dsuspc; /* отложенный сигнал
остановки процесса */
char t_rprntc; /* повторный вывод строки */
char t_flushc; /* вывод потоком (ключи) */
char t_werasc; /* стирание слова */
char t_lnextc; /* следующий символ */
};
#define REX_INTERACTIVE 1 /* интерактивный режим */
struct rex_start {
char **rst_cmd; /* список команд и аргумен-
тов */
char *rst_host; /* имя рабочего каталога
host'а */
char *rst_fsname; /* имя каталога файловой
системы */
char *rst_dirwithin; /* каталог внутри файловой
системы */
char **rst_env; /* список параметров выполне-
ния */
ushort rst_port0; /* порт для stdin */
ushort rst_port1; /* порт для stdin */
ushort rst_port2; /* порт для stdin */
ulong rst_flags; /* опции - см. #define выше */
};
struct rex_result {
int rlt_stat; /* целочисленный код состоя-
ния */
char *rlt_message; /* строка сообщения */
};
struct rex_ttymode {
struct B_sgttyb basic; /* флаги для терминала в UNIX
версии Berkeley */
struct tchars more; /* прерывание, удаление и
т.д. */
struct ltchars yetmore; /* специальные символы в
Berkeley */
ulong andmore; /* режимы Berkeley */
};
struct ttysize {
int ts_lines; /* количество строк на экране
терминала */
int ts_cols; /* количество столбцов на экране
терминала */
};
СМ. ТАКЖЕ
rexd(8)
|