">
НАЗВАНИЕ
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)