|
|
#include <rpcsvc/rex.h>
xdr routines:
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 ttysize *size;procs:
struct B_sgttyb { char bsg_ispeed; /* input speed */ char bsg_ospeed; /* output speed */ char bsg_erase; /* erase character */ char bsg_kill; /* kill character */ short bsg_flags; };
struct tchars { char t_intrc; /* interrupt */ char t_quitc; /* quit */ char t_startc; /* start output */ char t_stopc; /* stop output */ char t_eofc; /* end-of-file */ char t_brkc; /* input delimiter (like nl) */ };
struct ltchars { char t_suspc; /* stop process signal */ char t_dsuspc; /* delayed stop process signal */ char t_rprntc; /* reprint line */ char t_flushc; /* flush output (toggles) */ char t_werasc; /* word erase */ char t_lnextc; /* literal next character */ };
#define REX_INTERACTIVE 1 /* Interactive mode */struct rex_start { char **rst_cmd; /* list of command and args */ char *rst_host; /* working directory host name */ char *rst_fsname; /* working directory file system name */ char *rst_dirwithin; /* working directory within file system */ char **rst_env; /* list of environment */ ushort rst_port0; /* port for stdin */ ushort rst_port1; /* port for stdin */ ushort rst_port2; /* port for stdin */ ulong rst_flags; /* options - see #defines above */ };
struct rex_result { int rlt_stat; /* integer status code */ char *rlt_message; /* string message for human consumption */ };
struct rex_ttymode { struct B_sgttyb basic; /* Berkeley unix tty flags */ struct tchars more; /* interrupt, kill characters, etc. */ struct ltchars yetmore; /* special Berkeley characters */ ulong andmore; /* and Berkeley modes */ };
struct ttysize { int ts_lines; /* number of lines on terminal */ int ts_cols; /* number of columns on terminal */ };