|
|
#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 */
};