rex.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* rex - remote execution server definitions
*
* Copyright (c) 1985 Sun Microsystems, Inc.
*/
#ifndef _RPCSVC_REX_H
#define _RPCSVC_REX_H
#ident "%Z%%M% %I% %E% SMI"
/* @(#)rex.h 1.7 89/10/02 Copyr 1985 SMI */
#define REXPROG 100017
#define REXPROC_NULL 0 /* no operation */
#define REXPROC_START 1 /* start a command */
#define REXPROC_WAIT 2 /* wait for a command to complete */
#define REXPROC_MODES 3 /* send the tty modes */
#define REXPROC_WINCH 4 /* signal a window change */
#define REXPROC_SIGNAL 5 /* other signals */
#define REXVERS 1
/* flags for rst_flags field */
#define REX_INTERACTIVE 1 /* Interative mode */
struct rex_start {
/*
* Structure passed as parameter to start function
*/
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 */
u_short rst_port0; /* port for stdin */
u_short rst_port1; /* port for stdin */
u_short rst_port2; /* port for stdin */
u_long rst_flags; /* options - see #defines above */
};
bool_t xdr_rex_start();
struct rex_result {
/*
* Structure returned from the start function
*/
int rlt_stat; /* integer status code */
char *rlt_message; /* string message for human consumption */
};
bool_t xdr_rex_result();
bool_t xdr_tchars();
bool_t xdr_ltchars();
bool_t xdr_sgttyb();
/*
* sgttyb structure changed from BSD to SVR4. Since we send it over the
* protocol, we stick to the old one for compatability
*/
struct bsd_sgttyb {
char sg_ispeed; /* input speed */
char sg_ospeed; /* output speed */
char sg_erase; /* erase character */
char sg_kill; /* kill character */
short sg_flags; /* mode flags */
};
struct rex_ttymode {
/*
* Structure sent to set-up the tty modes
*/
struct bsd_sgttyb basic; /* standard unix tty flags */
struct tchars more; /* interrupt, kill characters, etc. */
struct ltchars yetmore; /* special Bezerkeley characters */
u_long andmore; /* and Berkeley modes */
};
bool_t xdr_rex_ttymode();
struct rex_ttysize {
int ts_lines;
int ts_cols;
};
typedef struct rex_ttysize rex_ttysize;
bool_t xdr_rex_ttysize();
#endif /* _RPCSVC_REX_H */