[alt.sources] ecu - SCO XENIX V/{2,3}86 Extended CU part 21/47

wht@tridom.uucp (Warren Tucker) (10/10/89)

---- Cut Here and unpack ----
#!/bin/sh
# this is part 21 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file ecu.h continued
#
CurArch=21
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
echo "x - Continuing file ecu.h"
sed 's/^X//' << 'SHAR_EOF' >> ecu.h
Xint Lparity;				/* 0==NONE, 'e' == even, 'o' == odd */
Xchar LLCKname[128];			/* lock file name */
Xuint Lbaud;					/* baud rate */
Xchar Ldescr[64];				/* description of remote */
Xchar Lline[64];				/* /dev/ttyname for outgoing line */
Xchar Llogical[64];			/* logical name of remote */
Xstruct termio Ltermio;			/* attributes for the line to remote */
Xuchar Lmodem_sreg[20];		/* allow for more later */
Xlong Loff_hook_time;			/* time() at connect */
Xchar Ltelno[20];				/* telephone number for remote or null */
X#else
Xextern char LLCKname[];
Xextern int Ladd_nl_incoming;
Xextern int Ladd_nl_outgoing;
Xextern uint Lbaud;
Xextern char Ldescr[];
Xextern int Lfull_duplex;
Xextern int Liofd;
Xextern char Lline[];
Xextern char Llogical[];
X#if !defined(OMIT_TERMIO_REFERENCES)
Xextern struct termio Ltermio;
X#endif
Xextern int Lmodem_already_init;
Xextern int Lmodem_off_hook;
Xextern uchar Lmodem_sreg[];
Xextern long Loff_hook_time;
Xextern int Lparity;
Xextern char Ltelno[];
X#endif
X
Xtypedef struct lrwt /* param to lgets_timeout in eculine.c */
X{
X	ulong to1;		/* timeout for 1st character (granularity 20) */
X	ulong to2;		/* timeout for each next char (granularity 20) */
X	int raw_flag;	/* !=0, rtn full buffer, ==0, rtn filtered hayes result */
X	char *buffer;	/* buffer to fill */
X	int bufsize;	/* size of buffer */
X	int count;		/* from proc, count rcvd */
X	char *delim;	/* ending string for lgets_timeout_or_delim */
X	int echo;		/* echo incdoming chars to screen */
X}	LRWT;
X
X#include "stdio_lint.h"
X#include "lint_args.h"
X#include "smap.h"
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
echo "File ecu.h is complete"
chmod 0644 ecu.h || echo "restore of ecu.h fails"
echo "x - extracting ecucmd.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecucmd.h &&
X/* CHK=0x40DB */
X/*+-------------------------------------------------------------------------
X	ecucmd.h -- command definitions
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X/* interactive command tokens */
X
X#define CTansi          1
X#define CTax            2
X#define CTbaud          3
X#define CTbn            4
X#define CTbreak         5
X#define CTcd            6
X#define CTclrx          7
X#define CTda            8
X#define CTdial          9
X#define CTdo           10
X#define CTduplex       11
X#define CTexit         12
X#define CTfi           13
X#define CTfkey         14
X#define CThangup       15
X#define CThelp         16
X#define CTllp          17
X#define CTloff         18
X#define CTlog          19
X#define CTnl           20
X#define CTnlin         21
X#define CTnlout        22
X#define CToa           23
X#define CTparity       24
X#define CTpcmd         25
X#define CTpid          26
X#define CTplog         27
X#define CTptrace       28
X#define CTpwd          29
X#define CTredial       30
X#define CTrev          31
X#define CTrk           32
X#define CTrs           33
X#define CTrx           34
X#define CTry           35
X#define CTrz           36
X#define CTsgr          37
X#define CTshell        38
X#define CTsk           39
X#define CTss           40
X#define CTstat         41
X#define CTsx           42
X#define CTsy           43
X#define CTsz           44
X#define CTte           45
X#define CTtime         46
X#define CTts           47
X#define CTtty          48
X#define CTxa           49
X#define CTxlog         50
X/* #define CTmkdir        51 */
X#define CTmdump        52 /* _malloc_dump */
X#define CTsdname       53
X
X#define TOKEN_QUAN	128		/* for help package */
X
Xtypedef int (*PFI)();
X
X#if defined(HELPGEN)
X#define Z {;}
X#else
X#define Z ;
X#endif
X
Xint cmd_baud() Z
Xint cmd_break() Z
Xint cmd_cd() Z
Xint cmd_clrx() Z
Xint cmd_cls() Z
Xint cmd_color() Z
Xint cmd_continue() Z
Xint cmd_cursor() Z
Xint cmd_dial() Z
Xint cmd_do() Z
Xint cmd_duplex() Z
Xint cmd_echo() Z
Xint cmd_else() Z
Xint cmd_exit() Z
Xint cmd_fchmod() Z
Xint cmd_fclose() Z
Xint cmd_fgetc() Z
Xint cmd_fgets() Z
Xint cmd_fkey() Z
Xint cmd_flush() Z
Xint cmd_fopen() Z
Xint cmd_fputc() Z
Xint cmd_fputs() Z
Xint cmd_fread() Z
Xint cmd_fseek() Z
Xint cmd_fdel() Z
Xint cmd_fwrite() Z
Xint cmd_goto() Z
Xint cmd_gotob() Z
Xint cmd_hangup() Z
Xint cmd_hexdump() Z
Xint cmd_icolor() Z
Xint cmd_ifi() Z
Xint cmd_ifs() Z
Xint cmd_lbreak() Z
Xint cmd_lgets() Z
Xint cmd_logevent() Z
Xint cmd_lookfor() Z
X/* int cmd_mkdir() Z */
Xint cmd_mkvar() Z
Xint cmd_nap() Z
Xint cmd_parity() Z
Xint cmd_plog() Z
Xint cmd_prompt() Z
Xint cmd_ptrace() Z
Xint cmd_return() Z
Xint cmd_rk() Z
Xint cmd_rs() Z
Xint cmd_rx() Z
Xint cmd_ry() Z
Xint cmd_rz() Z
Xint cmd_scrdump() Z
Xint cmd_send() Z
Xint cmd_set() Z
Xint cmd_sk() Z
Xint cmd_ss() Z
Xint cmd_sx() Z
Xint cmd_sy() Z
Xint cmd_system() Z
Xint cmd_sz() Z
Xint cmd_vidnorm() Z
Xint cmd_vidrev() Z
Xint cmd_whilei() Z
Xint cmd_whiles() Z
X
Xtypedef struct p_cmd
X{ 
X	char *cmd;		/* command string */
X	int min;		/* min chars required for match */
X	int token;		/* command number */
X	char *descr;	/* command description */
X	PFI proc;		/* do cmd handler */
X}	P_CMD;
X
X#if !defined(DECLARE_P_CMD)
X#if defined(NEED_P_CMD)
Xextern P_CMD icmd_cmds[];
X#endif
X#else
XP_CMD icmd_cmds[] =
X{
X	{ "ansi",	2,CTansi,	"",	0 },
X	{ "ax",		2,CTax,		"ascii char to hex/oct/dec",	0 },
X	{ "baud",	2,CTbaud,	"set/display line baud rate",	cmd_baud },
X	{ "bn",		2,CTbn,		"all console event alarm",		0 },
X	{ "break",	2,CTbreak,	"send break to remote",			cmd_break },
X	{ "cd",		2,CTcd,		"change current directory",		cmd_cd },
X	{ "clrx",	2,CTclrx,	"simulate XON from remote",		cmd_clrx },
X	{ "cls",	0,0,		"",								cmd_cls },
X	{ "color",	0,0,		"",								cmd_color },
X	{ "continue",0,0,		"",								cmd_continue },
X	{ "cursor",	0,0,		"",								cmd_cursor },
X	{ "da",		2,CTda,		"decimal to ascii char",		0 },
X	{ "dial",	1,CTdial,	"dial remote destination",		cmd_dial },
X	{ "do",		2,CTdo,		"perform procedure",			cmd_do },
X	{ "duplex",	2,CTduplex,	"set/display duplex",			cmd_duplex },
X	{ "echo",	0,0,		"",								cmd_echo },
X	{ "else",	0,0,		"",								cmd_else },
X	{ "esc",	2,CTte,		"set command escape",			0 },
X	{ "exit",	2,CTexit,	"drop carrier, exit program",	cmd_exit },
X	{ "fchmod",	0,0,		"",								cmd_fchmod },
X	{ "fclose",	0,0,		"",								cmd_fclose },
X	{ "fdel",	0,0,		"",								cmd_fdel },
X	{ "fgetc",	0,0,		"",								cmd_fgetc },
X	{ "fgets",	0,0,		"",								cmd_fgets },
X	{ "fi",		2,CTfi,		"send text file to line",		0 },
X	{ "fkey",	2,CTfkey,	"function key definition",		cmd_fkey },
X	{ "flush",	0,0,		"",								cmd_flush },
X	{ "fopen",	0,0,		"",								cmd_fopen },
X	{ "fputc",	0,0,		"",								cmd_fputc },
X	{ "fputs",	0,0,		"",								cmd_fputs },
X	{ "fread",	0,0,		"",								cmd_fread },
X	{ "fseek",	0,0,		"",								cmd_fseek },
X	{ "fwrite",	0,0,		"",								cmd_fwrite },
X	{ "goto",	0,0,		"",								cmd_goto },
X	{ "gotob",	0,0,		"",								cmd_gotob },
X	{ "hangup",	2,CThangup,	"hang up modem",				cmd_hangup },
X	{ "help",	2,CThelp,	"invoke help",					0 },
X	{ "hexdump",0,0,		"",								cmd_hexdump },
X	{ "icolor",	0,0,		"",								cmd_icolor },
X	{ "ifi",	0,0,		"",								cmd_ifi },
X	{ "ifs",	0,0,		"",								cmd_ifs },
X	{ "lbreak",	0,0,		"",								cmd_lbreak },
X	{ "llp",	2,CTllp,	"set session log to /dev/lp",	0 },
X	{ "lgets",	0,0,		"",								cmd_lgets },
X	{ "loff",	3,CTloff,	"turn off session logging",		0 },
X	{ "log",	3,CTlog,	"session logging control",		0 },
X	{ "logevent",0,0,		"",								cmd_logevent },
X	{ "lookfor",0,0,		"",								cmd_lookfor },
X	{ "mdump",	5,CTmdump,	"",								0 },
X/*	{ "mkdir",	3,CTmkdir,	"mkdir <dirname>",				cmd_mkdir }, */
X	{ "mkvar",	0,0,		"",								cmd_mkvar },
X	{ "nap",	0,0,		"",								cmd_nap },
X	{ "nl",		2,CTnl,		"display CR/LF mapping",		0 },
X	{ "nlin",	3,CTnlin,	"set receive CR/LF mapping",	0 },
X	{ "nlout",	3,CTnlout,	"set transmit CR/LF mapping",	0 },
X	{ "oa",		2,CToa,		"octal to ascii char",			0 },
X	{ "parity",	3,CTparity,	"set/display line parity",		cmd_parity },
X	{ "pcmd",	2,CTpcmd,	"execute a procedure command",	0 },
X	{ "pid",	2,CTpid,	"display process ids",			0 },
X	{ "plog",	2,CTplog,	"control procedure logging",	cmd_plog },
X	{ "prompt",	0,0,		"",								cmd_prompt },
X	{ "ptrace",	2,CTptrace,	"control procedure trace",		cmd_ptrace },
X	{ "pwd",	2,CTpwd,	"print working directory",		0 },
X	{ "redial",	3,CTredial,	"redial last number",			0 },
X	{ "return",	0,0,		"",								cmd_return },
X	{ "rev",	3,CTrev,	"ecu revision/make date",		0 },
X	{ "rk",		2,CTrk,		"receive via C-Kermit",			cmd_rk },
X	{ "rs",		2,CTrs,		"receive via SEAlink",			cmd_rs },
X	{ "rx",		2,CTrx,		"receive via XMODEM/CRC",		cmd_rx },
X	{ "ry",		2,CTry,		"receive via YMODEM Batch",		cmd_ry },
X	{ "rz",		2,CTrz,		"receive via ZMODEM/CRC32",		cmd_rz },
X	{ "scrdump",0,0,		"",								cmd_scrdump },
X	{ "sdname",	3,CTsdname,	"select screen dump name",		0 },
X	{ "send",	0,0,		"",								cmd_send },
X	{ "set",	0,0,		"",								cmd_set },
X	{ "sgr",	2,CTsgr,	"",								0 },
X	{ "sk",		2,CTsk,		"send via C-Kermit",			cmd_sk },
X	{ "ss",		2,CTss,		"send via SEAlink",				cmd_ss },
X	{ "stat",	2,CTstat,	"connection status",			0 },
X	{ "sx",		2,CTsx,		"send via XMODEM/CRC",			cmd_sx },
X	{ "sy",		2,CTsy,		"send via YMODEM Batch",		cmd_sy },
X	{ "system",	0,CTsy,		"",								cmd_system },
X	{ "sz",		2,CTsz,		"send via ZMODEM/CRC32",		cmd_sz },
X	{ "time",	2,CTtime,	"time of day",					0 },
X	{ "ts",		2,CTts,		"termio display",				0 },
X	{ "tty",	2,CTtty,	"console tty name",				0 },
X	{ "vidnorm",0,0,		"",								cmd_vidnorm },
X	{ "vidrev",	0,0,		"",								cmd_vidrev },
X	{ "whilei",	0,0,		"",								cmd_whilei },
X	{ "whiles",	0,0,		"",								cmd_whiles },
X	{ "xa",		2,CTxa,		"hex to ascii char",			0 },
X	{ "xlog",	2,CTxlog,	"",								0 },
X	{ "!",		1,CTshell,	"execute shell",				0 },
X	{ "",		0,-1,"",	0 },		/* list ends with token value of -1 */
X};
X#endif
X
X/* end of ecucmd.h */
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecucmd.h || echo "restore of ecucmd.h fails"
echo "x - extracting ecuerror.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecuerror.h &&
X/* CHK=0xD955 */
X/*+-------------------------------------------------------------------------
X	ecuerror.h
X	Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X
Xe_... values must not be changed without careful looking through code
Xerror numbers should be <= 0x7FFF to avoid problems with M_I286 versions
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define e_USER				0x1000	/* user error differentiation */
X
X/* warning errors - do not stop proc execution */
X#define e_WARNING			0x3000
X#define eProcEmpty			0x3001  /* empty procedure */
X#define eWARNING_ALREADY	0x3002  /* warning already printed */
X#define eConnectFailed		0x3003	/* failed to connect */
X#define eNoSwitches			0x3004	/* no switches to command */
X
X/* fatal errors - stop proc execution */
X#define e_FATAL				0x4000
X#define eIllegalCommand		0x4003  /* invalid command */
X#define eNoMemory			0x4004  /* no more memory available */
X#define eSyntaxError		0x4005  /* syntax error */
X#define eIllegalVarNumber	0x4006  /* variable number is invalid or out of range */
X#define eIllegalVarType		0x4007  /* unrecognized variable type */
X#define eNotInteger			0x4008  /* integer expected and not found */
X#define eFATAL_ALREADY		0x4011  /* fatal to proc, info already printed */
X#define eCONINT				0x4012  /* abort due to interrupt */
X#define eInvalidFunction	0x4013  /* invalid function name */
X#define eMissingLeftParen	0x4014  /* did not find expected left paren */
X#define eMissingRightParen	0x4015  /* did not find expected right paren */
X#define eCommaExpected		0x4016  /* expected comma not found */
X#define eProcStackTooDeep	0x4017  /* procedure stack depth exceeded */
X#define eInvalidRelOp		0x4018  /* invalid relational operator */
X#define eInvalidIntOp		0x4019  /* invalid integer operator */
X#define eInvalidStrOp		0x4020  /* invalid string operator */
X#define eNotExecutingProc	0x4022  /* not executing DO at this time */
X#define eInvalidLabel		0x4023  /* invalid label */
X#define eInternalLogicError	0x4025  /* internal logic error ... whoops */
X#define eEOF				0x4026  /* end of file or read error */
X#define eBufferTooSmall		0x4027  /* string too long */
X#define eNoParameter		0x4028  /* expected parameter not found */
X#define eBadParameter		0x4029  /* inappropriate parameter */
X#define eInvalidHexNumber	0x402A	/* invalid hexadecimal digit */
X#define eInvalidDecNumber	0x402B	/* invalid decimal digit */
X#define eInvalidOctNumber	0x402C	/* invalid octal digit */
X#define eInteractiveCmd		0x402E	/* interactive command */
X#define eNoLineAttached		0x402F	/* no line (modem) attached */
X#define eBadFileNumber		0x4030	/* file number out of range */
X#define eNotImplemented		0x4031	/* not implemented */
X#define eDuplicateMatch		0x4032	/* more than one condition matches */
X#define eColonExpected		0x4033  /* expected colon not found */
X#define eLabelInvalidHere	0x4034  /* label not allowed on this statement */
X#define eNoCloseFrame		0x4035  /* missing '}' for '{' */
X#define eNoFrame			0x4036  /* missing command or command group after 'while' or 'if' */
X#define eMissingCommand		0x4037  /* expected command not found */
X#define eBreakCommand		0x4038  /* 'break' outside 'while' */
X#define eContinueCommand	0x4039  /* 'continue' outside 'while' */
X#define eElseCommand		0x403A  /* 'else' without matching 'if' */
X#define eInvalidVarName		0x403B  /* invalid variable name */
X#define eNoSuchVariable		0x403C  /* variable by this name not defined */
X
X/* DO attention getter */
X#define e_ProcAttn			0x7000
X#define eProcAttn_GOTO		0x7000  /* GOTO detected */
X#define eProcAttn_GOTOB		0x7001  /* GOTOB detected */
X#define eProcAttn_RETURN	0x7002  /* RETURN detected */
X#define eProcAttn_ESCAPE	0x7003  /* ESCAPE detected */
X#define eProcAttn_Interrupt	0x7004  /* procedure interrupted */
X
SHAR_EOF
chmod 0644 ecuerror.h || echo "restore of ecuerror.h fails"
echo "x - extracting ecufkey.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecufkey.h &&
X/* CHK=0x2E0D */
X/*+-------------------------------------------------------------------------
X	ecufkey.h -- XENIX function key phrases
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define KDE_F1		0
X#define KDE_F2		1
X#define KDE_F3		2
X#define KDE_F4		3
X#define KDE_F5		4
X#define KDE_F6		5
X#define KDE_F7		6
X#define KDE_F8		7
X#define KDE_F9		8
X#define KDE_F10		9
X#define KDE_F11		10
X#define KDE_F12		11
X#define KDE_CUU		12
X#define KDE_CUD		13
X#define KDE_CUL		14
X#define KDE_CUR		15
X#define KDE_CU5		16
X#define KDE_PGUP	17
X#define KDE_PGDN	18
X#define KDE_END		19
X#define KDE_INS		20
X#define KDE_BKTAB	21
X#define KDE_HOME	22
X
X#define KDE_COUNT	23
X
X#define KDE_LOGICAL_MAX		12
X#define KDE_OUTSTR_MAX		10
X
Xtypedef struct kde
X{
X	char logical[KDE_LOGICAL_MAX];
X	uchar keyid;
X	char outcount;
X	char outstr[KDE_OUTSTR_MAX];
X}	KDE;
X
X/* when an outcount is not a count but an action: */
X#define KACT_COMMAND			-1
X#define KACT_LOCAL_SHELL		-2
X
Xtypedef struct XF_KDE_NAME
X{
X	uchar xf;
X	char kde;
X	char *name;
X}	XF_KDE_NAME;
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of ecufkey.h */
SHAR_EOF
chmod 0644 ecufkey.h || echo "restore of ecufkey.h fails"
echo "x - extracting ecufork.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecufork.h &&
X/* CHK=0x1250 */
X/*+-------------------------------------------------------------------------
X	ecufork.h 
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X
Xfor now just vehicle for deciding whether or not to debug fork/waits
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X/* #define FORK_DEBUG */
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecufork.h || echo "restore of ecufork.h fails"
echo "x - extracting ecuhangup.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecuhangup.h &&
X/* CHK=0x556D */
X/*+-------------------------------------------------------------------------
X	ecuhangup.h -- hangup codes
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X/* HANGUP codes for supplying to hangup(): 1 - 64 reserved for signals */
X#define HANGUP_OK					0
X#define HANGUP_LINE_READ_ERROR		129
X#define HANGUP_XMTR_WRITE_ERROR		130
X#define HANGUP_XMTR_LOGIC_ERROR		131
X#define HANGUP_BSD4_IOCTL			132
X#define HANGUP_SHM_ABL				133
X#define HANGUP_SHM_RTL				134
X#define HANGUP_NO_FORK_FOR_RCVR		135
X#define HANGUP_TTYIN_READ_ERROR		136
X#define HANGUP_LINE_OPEN_ERROR		137
X#define HANGUP_INIT_PROC_ERROR		192
X/* 193 - 224 reserved for procedure 'exit' codes */
X
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecuhangup.h || echo "restore of ecuhangup.h fails"
echo "x - extracting ecukey.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecukey.h &&
X/* CHK=0xC7DE */
X/*+-------------------------------------------------------------------------
X	ecukey.h -- single key (ASCII) defines
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define CTL_B		0x02
X#define CTL_C		0x03
X#define CTL_D		0x04
X#define BS			0x08
X#define NL			0x0A
X#define TAB			0x09
X#define CTL_L		0x0C
X#define CR			0x0D
X#define XON			0x11
X#define CTL_R		0x12
X#define XOFF		0x13
X#define CTL_U		0x15
X#define ESC			0x1B
X#define CTL_BSLASH	0x1C
X#define CTL_Z		0x1A
X#define SPACE		0x20
X#define DEL			0x7F
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecukey.h || echo "restore of ecukey.h fails"
echo "x - extracting ecupde.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecupde.h &&
X/* CHK=0xC069 */
X/*+-----------------------------------------------------------------------
X	ecupde.h
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
Xtypedef struct phone_directory_entry
X{
X	struct phone_directory_entry *next;
X	struct phone_directory_entry *prev;
X	char descr[64];		/* description of remote */
X	char logical[64];	/* logical name of remote */
X	char telno[20];		/* telephone number for remote or null */
X	char tty[4];			/* ttyname for access */
X	int parity;			/* 0,'e','o', maybe 'm','s' */
X	uint baud;				
X}	PDE;
X
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecupde.h || echo "restore of ecupde.h fails"
echo "x - extracting ecushm.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecushm.h &&
X/* CHK=0x9DAA */
X/*+-------------------------------------------------------------------------
X	ecushm.h -- ecu XENIX shared data segment
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define SHM_STRLEN	256
Xtypedef struct ecu_sds
X{
X	int xcmd;			/* signal from xmtr to rcvr SIGUSR2 */
X	int xi1;
X	int xi2;
X	int xi3;
X	char xs1[SHM_STRLEN];
X	int rcmd;			/* signal from rcvr to xmtr SIGUSR2 */
X	int ri1;
X	int ri2;
X	char rs1[SHM_STRLEN];
X	ulong rcvd_chars;		/* rcvr char count */
X	ulong rcvd_chars_this_connect;	/* count since last connect */
X} ECU_SDS;
X
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecushm.h || echo "restore of ecushm.h fails"
echo "x - extracting ecuungetty.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecuungetty.h &&
X/* CHK=0x1231 */
X/*+-------------------------------------------------------------------------
X	ecuungetty.h
X	Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-29-1989-18:00-wht-creation */
X
X/* ungetty definitions */
X#define	UG_NOTENAB		0	/* on no-switch exec, line not enabled */
X#define	UG_ENAB			1	/* on no-switch exec, -r needed */
X#define	UG_RESTART		1	/* on -t exec, restart needed */
X#define	UG_FAIL			2	/* on no switch exec, line in use */
X
X/* extended ecuungetty codes */
X#define UGE_BADSWITCH	240
X#define UGE_BADARGC		241
X#define UGE_NOTROOT		242
X#define UGE_CALLER		243	/* caller is not ecu or root */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of ecuungetty.h */
SHAR_EOF
chmod 0644 ecuungetty.h || echo "restore of ecuungetty.h fails"
echo "x - extracting ecuvmin.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecuvmin.h &&
X/* CHK=0x3DD7 */
X/*+-------------------------------------------------------------------------
X	xenixvmin.h  --  set line default VMIN
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#if defined(M_XENIX)
X#if defined(BUILDING_LINT_ARGS	/* if building lint_args.h ... */)
X#define XENIX_VMIN		2	/* ... include vmin handling routines */
X#else
X#define XENIX_VMIN		1	/* this is the real value for vmin */
X#endif
X#endif
X/* vi: set tabstop=4 shiftwidth=4: */
SHAR_EOF
chmod 0644 ecuvmin.h || echo "restore of ecuvmin.h fails"
echo "x - extracting ecuxkey.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > ecuxkey.h &&
X/* CHK=0x5655 */
X/*+-------------------------------------------------------------------------
X	ecuxkey.h -- XENIX function key single char value mapping
X	Copyright 1986,1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define XFcurup	(0x80 | 'A')	/* 0xC1 */
X#define XFcurdn	(0x80 | 'B')	/* 0xC2 */
X#define XFcurrt	(0x80 | 'C')	/* 0xC3 */
X#define XFcurlf	(0x80 | 'D')	/* 0xC4 */
X#define XFcur5	(0x80 | 'E')	/* 0xC5 */
X#define XFend	(0x80 | 'F')	/* 0xC6 */
X#define XFpgdn	(0x80 | 'G')	/* 0xC7 */
X#define XFhome	(0x80 | 'H')	/* 0xC8 */
X#define XFpgup	(0x80 | 'I')	/* 0xC9 */
X#define XFins	(0x80 | 'L')	/* 0xCA */
X#define XF1		(0x80 | 'M')	/* 0xCB */
X#define XF2		(0x80 | 'N')	/* 0xCC */
X#define XF3		(0x80 | 'O')	/* 0xCD */
X#define XF4		(0x80 | 'P')	/* 0xCE */
X#define XF5		(0x80 | 'Q')	/* 0xCF */
X#define XF6		(0x80 | 'R')	/* 0xD0 */
X#define XF7		(0x80 | 'S')	/* 0xD1 */
X#define XF8		(0x80 | 'T')	/* 0xD2 */
X#define XF9		(0x80 | 'U')	/* 0xD3 */
X#define XF10	(0x80 | 'V')	/* 0xD4 */
X#define XF11	(0x80 | 'W')	/* 0xD5 */
X#define XF12	(0x80 | 'X')	/* 0xD6 */
X#define XFbktab	(0x80 | 'Z')	/* 0xD7 */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of ecuxkey.h */
SHAR_EOF
chmod 0644 ecuxkey.h || echo "restore of ecuxkey.h fails"
echo "x - extracting esd.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > esd.h &&
X/* CHK=0x51D3 */
X/*+-----------------------------------------------------------------------
X	esd.h -- support header for users of esdutil.c
X	...!gatech!emory!tridom!wht
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
Xtypedef struct esd
X{
X	char	*pb;		/* full pointer to esd strings */
X	short	cb;			/* count of bytes */
X	short	maxcb;		/* maximum bytes allowed */
X	short	index;		/* next character of significance */
X	short	old_index;	/* last token (backup or error reporting) */
X}	ESD;
X
Xtypedef struct keyword_table_type	/* table terminated with null key_word */
X{
X    char    *key_word;          /* 12 char max key word */
X    int     key_token;          /* token returned on match */
X} KEYTAB;
X
XESD *make_esd();
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of esd.h */
SHAR_EOF
chmod 0644 esd.h || echo "restore of esd.h fails"
echo "x - extracting feval.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > feval.h &&
X/* CHK=0x2CEB */
X/*+-------------------------------------------------------------------------
X	feval.h
X	Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:07-03-1989-22:57-wht------------- ecu 2.00 ---------------- */
X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
X
X#define FIinstr		1
X#define FIlen		2
X#define FIstoi		3
X#define FIctoi		4
X#define FIbaud		5
X#define FIconn		6
X#define FIcsec		7
X#define FIpid		8
X#define FIrchr		9
X#define FIrchrc		10
X#define FIxchr		11
X#define FIxchrc		12
X#define FIlgetc		13
X#define FIargc		14
X#define FIftell		15
X#define FIfmode		16
X#define FIisdir		17
X#define FIisreg		18
X#define FIischr		19
X#define FIfatime	20
X#define FIfmtime	21
X#define FIfsize		22
X#define FIcolors	23
X
X
XKEYTAB feval_int_tbl[] =
X{
X	{"argc",FIargc},
X	{"baud",FIbaud},
X	{"colors",FIcolors},
X	{"conn",FIconn},
X	{"csec",FIcsec},
X	{"ctoi",FIctoi},
X	{"fatime",FIfatime},
X	{"fmode",FIfmode},
X	{"fmtime",FIfmtime},
X	{"fsize",FIfsize},
X	{"ftell",FIftell},
X	{"instr",FIinstr},
X	{"ischr",FIischr},
X	{"isdir",FIisdir},
X	{"isreg",FIisreg},
X	{"len",FIlen},
X	{"lgetc",FIlgetc},
X	{"pid",FIpid},
X	{"rchr",FIrchr},
X	{"rchrc",FIrchrc},
X	{"stoi",FIstoi},
X	{"xchr",FIxchr},
X	{"xchrc",FIxchrc},
X	{(char *)0,0}
X};
X
X#define FSleft		2
X#define FSright		3
X#define FSmid		4
X#define FSdate		5
X#define FSmonth		6
X#define FSday		7
X#define FScgets		9
X#define FScgetc		10
X#define FSitos		11
X#define FSchr		12
X#define FSdir		13
X#define FStty		14
X#define FSrdesc		15
X#define FSrname		16
X#define FSline		17
X#define FSrtel		18
X#define FSargv		19
X#define FStime		20
X#define FStimes		21
X#define FSedate		22
X#define FSetime		23
X#define FSgetenv	24
X#define FSgetlogin	25
X
X
XKEYTAB feval_str_tbl[] =
X{
X	{"argv",FSargv},
X	{"cgetc",FScgetc},
X	{"cgets",FScgets},
X	{"chr",FSchr},
X	{"date",FSdate},
X	{"day",FSday},
X	{"dir",FSdir},
X	{"edate",FSedate},
X	{"etime",FSetime},
X	{"getenv",FSgetenv},
X	{"getlogin",FSgetlogin},
X	{"itos",FSitos},
X	{"left",FSleft},
X	{"line",FSline},
X	{"mid",FSmid},
X	{"month",FSmonth},
X	{"rdesc",FSrdesc},
X	{"right",FSright},
X	{"rname",FSrname},
X	{"rtelno",FSrtel},
X	{"time",FStime},
X	{"times",FStimes},
X	{"tty",FStty},
X	{(char *)0,0}
X};
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of feval.h */
SHAR_EOF
chmod 0644 feval.h || echo "restore of feval.h fails"
echo "x - extracting lint_args.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > lint_args.h &&
X/* CHK=0xCAD2 */
X/*+-----------------------------------------------------------------------
X	lint_args.h
X------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:10-07-1989-17:21-afterlint-creation */
X
X#ifndef BUILDING_LINT_ARGS
X#ifdef LINT_ARGS
X
X/* bamboozle.c */
Xchar *bamboozle(int );
X/* cmdtbl.c */
X/* ecu.c */
Xint main(int ,char * *,char * *);
Xint xmtr(void);
X/* ecuLCK.c */
Xchar *other_lock_name(char *);
Xint check_utmp(void);
Xint create_lock_file(char *);
Xint line_locked(char *);
Xint lock_tty(void);
Xint make_lock_name(char *,char *);
Xvoid unlock_tty(void);
X/* ecuchdir.c */
Xint cd_array_delete(char * *,int );
Xint cd_array_init(void);
Xint change_directory(char *,int );
Xint expand_dirname(char *,int );
Xvoid cd_array_delete_usage(void);
Xvoid cd_array_read(char * *,int );
Xvoid cd_array_save(char * *,int );
X/* ecudump.c */
Xvoid hex_dump(char *,int ,char *,int );
Xvoid hex_dump16(unsigned short );
Xvoid hex_dump32(unsigned long );
Xvoid hex_dump4(unsigned char );
Xvoid hex_dump8(unsigned char );
Xvoid hex_dump_fp(struct _iobuf *,char *,int ,char *,int );
X/* ecufinsert.c */
Xint expand_filename(char *,int );
Xint file_insert_to_line(int ,char * *);
X/* ecufkey.c */
Xchar *keyset_idstr(int );
Xint keyset_define_key(char *);
Xint keyset_idnum(char *);
Xint keyset_read(char *);
Xint xf_to_keyid(unsigned char );
Xvoid ffso(char *);
Xvoid keyset_display(void);
Xvoid keyset_init(void);
X/* ecufork.c */
Xchar *find_executable(char *);
Xint exec_cmd(char *);
Xint expand_cmd_with_wildlist(char *,char * *);
Xint is_executable(char *);
SHAR_EOF
echo "End of part 21"
echo "File lint_args.h is continued in part 22"
echo "22" > s2_seq_.tmp
exit 0
-- 
-------------------------------------------------------------------
Warren Tucker, Tridom Corporation       ...!gatech!emory!tridom!wht 
Ker-au'-lo-phon.  An 8-foot partial flue-stop, having metal pipes
surmounted by adjustable rings, and with a hole bored near the top
of each pipe, producing a soft and "reedy" tone.