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

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

---- Cut Here and unpack ----
#!/bin/sh
# this is part 46 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file models/f.ep continued
#
CurArch=46
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 models/f.ep"
sed 's/^X//' << 'SHAR_EOF' >> models/f.ep
X#+------------------------------------------------------
X# f.eq - multi-color finger for remote system
X#-------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-30-1989-18:53-wht-creation
X
X	mkvar $icolor; $icolor = %colors
X	mkvar $itimeout; $itimeout = 50
X	send %argv(0)
X	lookfor '\n' 40
X	$s0 = ''
X	whilei 1==1
X	{
X		lgets $s00 $itimeout 5 '\n'
X		$itimeout = 20
X		color cyan
X		ifi %instr($s0,'% ') >= 0 break
X		ifi %instr($s0,'Login') == 0 color gray
X		ifi %instr($s0,' i29 ') > 0 color red
X		ifi %instr($s0,' i13 ') > 0 color green
X		ifi %instr($s0,'cma') == 0 color yellow
X		echo $s0
X	}
X	icolor $icolor
X	send ''
X
SHAR_EOF
echo "File models/f.ep is complete"
chmod 0644 models/f.ep || echo "restore of models/f.ep fails"
echo "x - extracting models/file_test.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/file_test.ep &&
X#  CHK=0xA2AF
X#------------------------------------------------------------
X#  ftst.ep - test ecu procedure file functions
X#------------------------------------------------------------
X
X ptrace off         # turn off trace mode
X fdel 'ftst.log'    # kill any previous file
X plog 'ftst.log'    # turn on logging
X
X echo ''
X echo 'ftst '+%date+' '+%time
X echo ''
X
X ptrace on                  # turn on trace mode
X
X set $s10 = '/tmp/ftst.tmp' # temp file name
X fdel $s10                  # test proc trace warning
X fopen -w 0 $s10            # open file 0 for write
X set i0=%ftell(0)           # should produce 0
X fputs 0 'abcdefghijk'      # put a line in the file
X set i0=%ftell(0)           # should produce 12
X fclose 0 n                 # close the file
X
X fopen -r 0 $s10    # open again for reading
X fgets 0 $s0        # should produce 'abcdefghijk'
X fseek 0 0          # rewind to read again
X fgets 0 $s0        # should produce 'abcdefghijk'
X fgets 0 $s0        # should produce null string
X set $i0=%fmode(0)  # test file mode function
X fclose 0           # close the file
X
X fchmod 'rw-rw-r-x' $s10 # set mode using string
X set $i0=%fmode($s10)
X
X fchmod 0777 $s10        # set mode using constant
X set $i0=%fmode($s10)
X
X ptrace off              # show file attributes
X echo ''
X echo -n $s10+' has '+%itos(%fsize($s10),06d)
X echo    ' (0x'+%itos(%fsize($s10),x  )+') bytes'
X echo 'accessed '+%edate(%fatime($s10))
X echo 'modified '+%edate(%fmtime($s10))
X echo ''
X ptrace on
X
X # demonstrate "is directory", "is character",
X # "is regular file" functions
X set i0=%isdir($s10),i1=%ischr($s10),i2=%isreg($s10)
X
X fdel $s10 # should say 'deleted'
X ptrace off
X plog off
SHAR_EOF
chmod 0644 models/file_test.ep || echo "restore of models/file_test.ep fails"
echo "x - extracting models/frame_test.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/frame_test.ep &&
X#  CHK=0xAB0B
X
X	set $i0 = 10
XLABEL
X	ifi $i0 > 0
X	{
X		set $i0,$i0=$i0-1
X		ifi $i0 = 5
X		{
X			echo 'nesting works!'
X		}
X		else ifi $i0 == 4
X		{
X			echo 'else works!'
X		}
X		goto LABEL
X	}
X
X	set $s0 = ''
X	whiles $s0 != 'aaaaa'
X	{
X		set $s0=$s0+'a'
X		ifs $s0 == 'aaaa' break
X		else echo '$s0=\''+$s0+'\''
X	}
X
X	echo 'done!'
SHAR_EOF
chmod 0644 models/frame_test.ep || echo "restore of models/frame_test.ep fails"
echo "x - extracting models/goto_test.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/goto_test.ep &&
X#  CHK=0x4C3F
X# goto_test.ep
X#+:EDITS:
X#:06-07-1989-22:31-wht-creation
X	echo '... TRY1 goto test'; goto TRY1
X	echo '... TRY1 goto failed'
X	return
X
XBACK1	echo '... gotob succeeded'
X	gotob COMP
X
XTRY1	echo '... TRY1 goto succeeded'
X	gotob BACK1
X
XCOMP	echo '... COMPuted goto test'; set $s0='COMP'+'UTED',$s0
X	goto $s0
X	echo '... COMP failed'
X	return
X
XCOMPUTED
X	echo '... computed goto worked'
X	echo '... test complete'
X	return
X
X# vi:set tabstop=8:
SHAR_EOF
chmod 0644 models/goto_test.ep || echo "restore of models/goto_test.ep fails"
echo "x - extracting models/hub.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/hub.ep &&
X#  CHK=0x5BDE
X#---------------------------------------------
X# hub.ep
X#---------------------------------------------
X#+:EDITS:
X#:09-09-1989-16:49-wht-creation
X
X	system 'vidi v80x25'
X	ptrace on
X	fkey 'stratus'
X	ptrace off
X	send 'biff n;mesg n;telnet stratus'
X	lookfor -e 'login  ' 200
X	lookfor -e '\n'
X	send 'login atl -module %tridom_hub#m2'
X	lookfor -e 'word?' 100
X	send 'notunix'
X	lookfor -e 'ready  ' 200
X	lookfor -e '\n'
X	send 'stp -terminal_type vt100'
X	lookfor -e 'ready  ' 200
X	lookfor -e '\n'
X	send 'call_thru -slave_id vt100_a1'
X	lookfor -e 'Password:' 200
X	send 'hub'
X	nap 20
X	send -n 'n'+%chr(0x1B)+'OM'
X	echo '\n'
SHAR_EOF
chmod 0644 models/hub.ep || echo "restore of models/hub.ep fails"
echo "x - extracting models/keys (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/keys &&
Xstratus
X	F1:F1:esc O q
X	F2:F2:esc O r
X	F3:F3:esc O s
X	F4:F4:esc O t
X	F5:F5:esc O u
X	F6:F6:esc O v
X	F7:F7:esc O w
X	F8:status:dc4
X	F9:no status:nl
X	F10:redisp:esc O y
X	F11:redisp:syn
X	PGDN:cancel:esc O Q
X	END:enter:esc O M
X	PGUP:dispform:esc O R
X	CUU:^:dle
X	CUD:v:so
X	CUL:<:stx
X	CUR:>:ack
Xtridom
X	PGUP:fg:f g ^M
X	PGDN:^Z:^Z
Xremecu
X	F1:Home:0xC8
X	F2:End:0xC6
SHAR_EOF
chmod 0644 models/keys || echo "restore of models/keys fails"
echo "x - extracting models/lookfortest.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/lookfortest.ep &&
X#  CHK=0xFA5C
X# lookfor_test.ep (needs a modem already attached)
X
X	send 'ate0q1'
X	nap 20
X	flush
X
X	send 'at'
X
X	lookfor 'OK'
X	ifi $i0 == 1 echo '... got false success'; return
X	ifi $i0 <> 0 echo '... got illogical result';set $i0;return
X	echo '... got good result for failure to read'
X
X	send 'ate1q0'
X
X	lookfor -e 'OK'+%chr(0x0D)+%chr(0x0A) 20
X	ifi $i0 == 0 echo '... got false failure'; return
X	ifi $i0 <> 1 echo '... got illogical result';set $i0;return
X	echo '... got good result for read'
X
X
X
X# vi: set tabstop=8:
SHAR_EOF
chmod 0644 models/lookfortest.ep || echo "restore of models/lookfortest.ep fails"
echo "x - extracting models/mkdir.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/mkdir.ep &&
X#  CHK=0x91D9
X system 'mkdir '+%argv(1)
SHAR_EOF
chmod 0644 models/mkdir.ep || echo "restore of models/mkdir.ep fails"
echo "x - extracting models/oneline.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/oneline.ep &&
X#  CHK=0xF093
X#--------------------------------------------------------------
X# oneline.ep
X#
X# send command in $s0, expecting a one line response
X# and a csh prompt ending in '% '
X#
X# returns: $s0 = one line response in $s0 if success
X#          $i0 = 1 if success, else 0
X#--------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-25-1989-13:56-wht-new do command syntax
X#:06-25-1989-12:33-wht-new if/while syntax
X#:06-22-1989-13:30-wht-creation
X
X	mkvar $icsave; $icsave = %colors
X	color gray
X	send $s0						# send command
X	lookfor -e %chr(0x0A) 50		# scan command echo
X	ifi $i0 == 0 icolor $i2;return	# if not found, return
X	lgets -e $s0 500 5 '\n'			# get one line response
X	lookfor '% ' 50					# get prompt, don't echo
X	# $i0 = 1 if prompt, else 0
X	icolor $icsave
SHAR_EOF
chmod 0644 models/oneline.ep || echo "restore of models/oneline.ep fails"
echo "x - extracting models/opuslogin.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/opuslogin.ep &&
X#  CHK=0xD695
X#+-----------------------------------------------------------------
X#  opuslogin.ep - ecu UNIX login procedure
X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X#
X# %argv(1) = remote name
X# %argv(2) = first name
X# %argv(3) = last name
X# %argv(4) = password
X#+-----------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-25-1989-13:56-wht-new do command syntax
X#:06-25-1989-12:33-wht-new if/while syntax
X#:06-23-1989-19:46-wht-improved hayes dialer reduces need to report dial fail
X#:06-19-1989-22:50-wht-use while and if statements
X#:06-14-1989-15:58-wht-add login capability when already connected
X#:06-11-1989-23:37-wht-creation
X
X	mkvar $i_csave,$i_ltimeout,$i_retries
X
X	$i_csave = %colors
X	$i_retries=3
X
X	color red;    echo -n '\nauto-logon to '
X	color yellow; echo -n %argv(1)
X	color red;    echo    ' on '+%date+' at '+%time+'\n'
X
X	ifi %argc != 5	# not enough args
X	{
X		color red
X		echo %argv(0)+' needs 5 arguments (got '+%itos(%argc)+')'
X		goto SORRY1
X	}
X
X	ifi %conn == 0 goto DIAL
X
X	ifs %rname == %argv(1)
X	{
X		color brown;  echo -n 'already connected to '
X		color yellow; echo    %rname
X		goto GET_LOGIN_PROMPT_RETRY
X	}
X
XHANGUP
X	ifi %conn <> 0 echo 'hanging up on '+%rname; hangup
X
XDIAL
X	color green
X	dial %argv(1); set $i1=$i0 #save dial result in $i1
X	ifi $i1 == 2 color red; echo 'interrupted'; goto SORRY
X	ifi $i1 != 0 goto SORRY
X
XTEST_MODEM_RESULT
X	ifs $s0 != 'CONNECT '+%itos(%baud)
X		color yellow; echo 'baud rate mismatch ... retrying'; goto HANGUP
X
X# give name to remote
X	lookfor -e 'FIRST name: ' 150
X	send %argv(2)
X	lookfor -e 'LAST name: ' 150
X	send %argv(3)
X
X	lookfor -e '[Y,n]? ' 40
X	send 'Y'
X
X	lookfor -e 'Password: ' 80
X	send %argv(4)
X	lookfor -e '\n'
X	set $i0=0
X	goto SETCOLOR_AND_RETURN_STATUS
X
X# procedure failed
XSORRY
X	echo ''
X	color red
X	echo '....... sorry'
X	set $i0=0
X	goto SETCOLOR_AND_RETURN_STATUS
X
XSORRY1
X	echo ''
X	color red
X	echo '....... sorry'
X	set $i0=1
X
XSETCOLOR_AND_RETURN_STATUS
X	icolor $i_csave
X	return $i0
X
X# vi:set tabstop=4 shiftwidth=4:
SHAR_EOF
chmod 0644 models/opuslogin.ep || echo "restore of models/opuslogin.ep fails"
echo "x - extracting models/phone (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/phone &&
X#navobs:1(202)653-0351::1200:N:Naval Observatory Time
Xalpha1:1(714)821-9671::2400:N:alphacm rotary 1
Xalpha2:1(714)821-9672::2400:N:alphacm rotary 2
Xkermit:1(419)537-4411::1200:E:Kermit
Xsco:1(408)426-9495::2400:N:SCO Tech Services (SOS)
Xsco2:1(408)425-3502::2400:N:sosco uucp?
SHAR_EOF
chmod 0644 models/phone || echo "restore of models/phone fails"
echo "x - extracting models/phrases (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/phrases &&
Xsane:source ~wht/.cshrc^r
Xstty:stty intr ^C kill ^U erase ^H^r
Xls:login lab^r
Xpw:notunix^r
Xstp:stp -terminal_type vt100^r
Xcncs:cncs^r
SHAR_EOF
chmod 0604 models/phrases || echo "restore of models/phrases fails"
echo "x - extracting models/ps.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/ps.ep &&
X#  CHK=0xDA50
X#+------------------------------------------------------
X# p.eq
X#-------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-30-1989-18:53-wht-creation
X
X	mkvar $icolor; $icolor = %colors
X	send %argv(0)+' '+%argv(1)+' '+%argv(2)
X	lookfor '\n' 40
X	$s0 = ''
X	whilei 1==1
X	{
X		lgets $s0 60 60 '\n'
X		color cyan
X		ifi %instr($s0,'(getty)' >= 0 continue
X		else ifi %instr($s0,'(tcsh)' >= 0 continue
X		else ifi %instr($s0,'(csh)' >= 0 continue
X		else ifi %instr($s0,'(sh)' >= 0 continue
X		else ifi %instr($s0,'/etc/init' >= 0 continue
X		else ifi %instr($s0,'% ') >= 0 break
X		else ifi %instr($s0,'USER') == 0 color gray
X		else ifi %instr($s0,' i29 ') > 0 color red
X		else ifi %instr($s0,' i13 ') > 0 color green
X		else ifi %instr($s0,'cma') == 0 color yellow
X		echo $s0
X	}
X	icolor $icolor
X	send ''
X
SHAR_EOF
chmod 0644 models/ps.ep || echo "restore of models/ps.ep fails"
echo "x - extracting models/put_ecu.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/put_ecu.ep &&
X#  CHK=0x6289
X#--------------------------------------------------------------
X# put_ecu.ep - update remote copy of ecu sources
X#--------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-25-1989-14:28-wht-use rz_update
X
X	$s10 = %rname
X	ifi %instr($s10,'tridom') == 0
X		$s10 = 'tridom'
X
X	ifs $s10 == 'tridom'
X	{
X		$s0 = '/u3/sd/wht/src/ecu'
X		$s1 = '/u1/src/ecu' 
X		$s2 = '`ff \'*.c\' \'*.h\' Makefile \'*.ep\' \'.mi\' \'*.txt\' \'*.man\'` xsel386/*'
X		$s3 = 'wht'
X		goto CALL_SZ_UPDATE
X	}
X	else ifs $s10== 'ki4xo'
X	{
X		$s0 = '/user/wht/src/ecu'
X		$s1 = '/u1/src/ecu' 
X		$s2 = '{.,z}/{Makefile,*.{c,h}} `ff \'*.ep\' \'.mi\' \'*.man\'` xsel386/*'
X		$s3 = 'wht'
X		goto CALL_SZ_UPDATE
X	}
X	else ifs $s10== 'coke-jsm'
X	{
X		$i39=%colors
X		color red; echo '\n\nHAVE YOU MADE A NO-SELECT VERSION???????\n\n'
X		mkvar $s_rpwd(20)
X		echo -n 'root password? ' ; $s_rpwd = %cgets
X		icolor $i39
X		$s0 = '/usr/wht/bin'
X		$s1 = '/u1/src/ecu'
X		$s2 = 'ecu'
X		$s3 = 'wht'
X		do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
X		lookfor '% ' 40
X		$s0 = '/usr/wht/bin'
X		$s1 = '/usr/wht/bin'
X		$s2 = 'ecusz ecurz ecusea'
X		$s3 = 'wht'
X		do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
X		lookfor '% ' 40
X		$s0 = '/usr/wht'
X		$s1 = '/u1/src/ecu/doc'
X		$s2 = '*.man'
X		$s3 = 'wht'
X		do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
X		lookfor '% ' 40
X		$s0 = '/usr/wht/.ecu'
X		$s1 = '/u1/src/ecu/models'
X		$s2 = '*'
X		$s3 = 'wht'
X		do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
X		lookfor '% ' 40
X		$s0 = '/usr/lib/ecu'
X		$s1 = $s0
X		$s2 = '*'
X		$s3 = ''
X		do 'su-csh' 'root' $s_rpwd
X		do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
X		send -e 'chmod u+s /usr/lib/ecu/ecuungetty'
X		send %chr(0x04)
X		return
X	}
X	else echo 'not to '+$s10+' you don\'t'
X
X# $s0 = remote directory
X# $s1 = local directory
X# $s2 = file list
X# $s3 = necessary username on remote system
XCALL_SZ_UPDATE
X	do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
SHAR_EOF
chmod 0644 models/put_ecu.ep || echo "restore of models/put_ecu.ep fails"
echo "x - extracting models/rz_update.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/rz_update.ep &&
X#  CHK=0x3514
X#--------------------------------------------------------------
X# rz_update.ep - update local directory
X#
X# parameters:
X# %argv(1) = remote directory to copy from
X# %argv(2) = local directory to copy to
X# %argv(3) = file list to get
X# %argv(4) = remote username needed, if any, else null
X#            if %argv(4) not null, 'su_'+%argv(4)+".ep" must
X#            exist to su to remote
X# %argv(5)   name of superior procedure
X#
X#--------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-25-1989-13:56-wht-new do command syntax
X#:06-25-1989-12:33-wht-new if/while syntax
X#:06-22-1989-13:30-wht-creation
X
X# variable usage
X	mkvar $i_csave			# color settings at entry to procedure
X	mkvar $i_rtnval			# return code
X	mkvar $i_suflag			# true if su occurred
X	mkvar $s_origdir(128)	# original working directory
X	mkvar $s_rdir(128)		# remote directory we started with
X	mkvar $s_ruser(16)		# remote username we started with before su
X	mkvar $s_xtitle(64)		# title for xfer
X
X	$i_csave=%colors # get colors at entry
X
X	$s_xtitle = 'Connected to '+%rname
X	ifs %argv(5) != ''
X		$s_xtitle = $s_xtitle+' - procedure '+%argv(5)
X
X# check to make sure we are connected
X	ifi %conn == 0
X	{
X		color red; echo 'not connected to anyone!'
X		goto SORRY
X	}
X	color lt_blue;  echo 'Connected to '+%rname
X
X# save local current directory and change to target
X	$s_origdir=%dir
X	color brown
X	ifs $s_origdir == %argv(2)
X		echo -n 'local directory already '
X	else 
X	{
X		cd %argv(2)
X		echo -n 'local directory set to '
X	}
X	color yellow; echo %dir
X
X# make sure remote username ok
X	ifs %argv(4) == '' goto REMOTE_CD # if any remote username
X	do 'bsd_uname'			# get $s0=username
X	ifi $i0 == 0 goto SORRY	# test failure
X	$s_ruser = $s0			# save original remote username
X	ifs $s0 != %argv(4)
X	{						# need to su
X		color brown
X		echo -n 'remote username '
X		color yellow
X		echo -n $s0
X		color brown
X		echo ' ... su to '+%argv(4)+' now'
X		color gray
X		do 'su_'+%argv(4)	# call proc, which calls su.ep
X		lookfor '% ' 50		# su leaves prompt in buffer: swallow
X		do 'bsd_uname'		# make sure we su'd
X		ifi $i0 == 0 goto SORRY
X		ifs $s0 != %argv(4)	# failed to su?
X		{
X			color red;echo 'su to '+%argv(4)+' failed'
X			goto SORRY
X		}
X		$i_suflag = 1		# remember we su'd
X	}	# now we are proper username on remote
X
X# establish proper remote working directory
XREMOTE_CD
X	color gray
X	$s0 = 'pwd';do 'oneline'	# save old remote ...
X	$s_rdir = $s0				# ... directory in $s_rdir
X	ifs $s_rdir != %argv(1)		# if cd needed, do it
X	{
X		send 'cd '+%argv(1)		# remote cd
X		lookfor -e '\n' 50		# echo command
X		lookfor '% ' 50			# swallow prompt
X		$s0 = 'pwd'
X		do 'oneline'			# make sure we got there
X		ifs $s0 != %argv(1)		# dir change failed
X		{
X			color red;echo 'remote cd failed'
X			goto SORRY;
X		}
X	}
X	color brown;  echo -n 'remote directory '
X	color yellow; echo -n %argv(1)
X	color brown;  echo    ' ... starting transfer now'
X
X# transfer files
X	color lt_blue
X	send 'sz -n -f '+%argv(3)
X	lookfor -e '\n' 50	# echo remote command
X	ifi $i0 == 0		# command failed?
X	{
X		color red; echo 'sz command failed or garbled echo'
X		goto SORRY
X	}
X	color brown
X	echo 'waiting for sz to start'
X	nap 10
X	color gray
X#	$s5 = '**'+%chr(0x18)+'B'	# ZMODEM header
X	lgets $s0 150 10 '\n'		# wait 15 secs for start
X	ifi %instr($s0,'rz') < 0	# check for 'rz' startup from remote
X	{
X		color white;
X		echo '\n'+$s0+'\n'
X		color red
X		echo 'sz protocol failure or trigger garbled'
X		goto SORRY
X	}
X	icolor $i_csave				# restore colors at entry
X	rz -l $s_xtitle
X	ifi $i0 != 0	# whoops
X	{
X		color red; echo -n '\nTRANSFER FAILED ... '
X		ifi $i0 == 0x100 echo 'interrupt'
X		ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d)
X		goto SORRY
X	}
X	lookfor '% ' 50				# swallow prompt
X	goto RETURN
X
XSORRY # whoops
X	color red;echo 'rz_update failed ... sorry'
X	$i_rtnval = 1				# return error
X
XRETURN
X	echo ''
X	color brown;  echo -n 'remote user name '
X	color yellow
X	ifi $i_suflag != 0			# we su'd
X	{
X		send -n %chr(0x04)  	# will force a new prompt from remote
X		echo -n $s_ruser
X		color brown;  echo ' restored (sent ^D to '+%argv(4)+' shell)'
X		lookfor '% ' 50			# swallow prompt
X	}
X	else
X		color brown;  echo 'unchanged'
X
X	ifs $s_rdir != %argv(1)		# if we did a remote cd
X	{
X		send 'cd '+$s_rdir		# restore original
X		lookfor '\n'
X		color brown;  echo -n 'remote working directory '
X		color yellow; echo -n $s_rdir
X		color brown;  echo    ' restored'
X	}
X	else
X	{
X		send ''				# spark a prompt
X		color brown;  echo -n 'remote working directory '
X		color yellow; echo -n $s_rdir
X		color brown;  echo    ' unchanged'
X	}
X
X	ifs $s_origdir != %dir	# restore original directory
X	{
X		cd $s_origdir
X		color brown;  echo -n 'local working directory '
X		color yellow; echo -n $s_origdir
X		color brown;  echo    ' restored'
X	}
X
X	icolor $i_csave		# restore colors at entry
X	echo ''
X	return $i_rtnval	# return selected error code (bomb procedure if error)
SHAR_EOF
chmod 0644 models/rz_update.ep || echo "restore of models/rz_update.ep fails"
echo "x - extracting models/scm.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/scm.ep &&
X#  CHK=0x01CA
X#+------------------------------------------------------------
X# scm.ep - goto scm and use wht .cshrc
X#-------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-26-1989-19:25-wht-working with su.ep - no longer secret
X
X	mkvar icsave; $icsave = %colors
X	do 'su' 'scm' 'newtools'
X	lookfor '% ' 70		# swallow prompt left by su.ep
X	color gray
X	send 'source ~wht/.cshrc'
X	lookfor -e '\n' 70
X	ifs %argv(1) != '.'
X	{
X		lookfor '% ' 70		# swallow prompt
X		send 'cd'
X		lookfor -e '\n' 50	# send 'cd', swallow echo
X	}
X	icolor $icsave
SHAR_EOF
chmod 0644 models/scm.ep || echo "restore of models/scm.ep fails"
echo "x - extracting models/senddate.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/senddate.ep &&
X#  CHK=0x067D
X#+----------------------------------------------
X# senddate.ep
X#-----------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-27-1989-17:02-wht-working
X
X	mkvar icsave;$icsave = %colors
X	color blue
X	echo -n 'remote root password? '
X	color black
X	$s0 = %cgets
X	icolor $icsave
X	do 'su' 'root' $s0
X	$s0 = ''		# forget password
X	lookfor '% ' 50 # swallow prompt
X	send 'date'
X	lookfor -e '% ' 50
X	system -l 'senddate'
X	lookfor -e quiet 20
X	send -n %chr(0x04)
SHAR_EOF
chmod 0644 models/senddate.ep || echo "restore of models/senddate.ep fails"
echo "x - extracting models/su.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/su.ep &&
X#  CHK=0x4626
X#+---------------------------------------------------------
X# su.ep - switch user at remote
X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X#
X# do su 'username' 'password' ['.']
X#
X# expects new user to be running csh
X#----------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-27-1989-12:43-wht-"get prompt" message was wrong
X#:06-25-1989-13:56-wht-new do command syntax
X#:06-25-1989-12:33-wht-new if/while syntax
X#:06-16-1989-18:12-wht-creation
X
X	mkvar icsave; $icsave = %colors
X
X	color gray
X	send 'su '+%argv(1)
X	lookfor -e 'word:' 70
X	ifi $i0 == 0
X	{
X		color red;echo 'su: failed to get password prompt'
X		icolor $icsave; return 1
X	}
X	send %argv(2); lookfor '\n' 50	# send password
X	echo ''
X	lgets $s0 70 5 '\n'
X	ifi %instr($s0,'Sorry') >= 0
X	{
X		color red;echo 'su: remote said "Sorry"'
X		icolor $icsave; return 1
X	}
X	nap 5						# wait .5 sec
X	send 'set prompt="% "'		# set '% ' as prompt
X	lookfor '\n' 20				# swallow echo of set command
X	lookfor '% ' 60				# look for new prompt
X	ifi $i0 == 0
X	{
X		color lt_red
X		echo 'timeout on prompt ... system may be slow ... waiting 5 more secs'
X		color gray
X		lookfor '% ' 50				# look for new prompt
X	}
X	ifi $i0 == 0
X	{
X		color red;echo 'su: failed to "get prompt" echo'
X		icolor $icsave; return 2
X	}
X	ifs %argv(3) == '.'
X		send 'source ~wht/.cshrc'
X	else
X		send ''; lookfor '\n' 50	# kick off another prompt
X	icolor $icsave
SHAR_EOF
chmod 0644 models/su.ep || echo "restore of models/su.ep fails"
echo "x - extracting models/sz_update.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/sz_update.ep &&
X#  CHK=0x4068
X#--------------------------------------------------------------
X# sz_update.ep - update local directory
X#
X# parameters:
X# %argv(1) = remote directory to copy to
X# %argv(2) = local directory to copy from
X# %argv(3) = file list to send
X# %argv(4) = remote username needed, if any, else null
X#            if %argv(4) not null, 'su_'+%argv(4)+".ep" must
X#            exist to su to remote
X# %argv(5)   name of superior procedure
X#
X#--------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
X#:06-28-1989-19:36-wht-use named variables
X#:06-25-1989-13:56-wht-new do command syntax
X#:06-25-1989-12:33-wht-new if/while syntax
X#:06-22-1989-13:30-wht-creation
X
X# variable usage
X	mkvar $i_csave			# color settings at entry to procedure
X	mkvar $i_suflag			# true if su occurred
X	mkvar $i_rtnflag		# return code
X	mkvar $s_origdir(128)	# original working directory
X	mkvar $s_ruser(16)		# remote username we started with before su
X	mkvar $s_rdir(128)		# remote directory we started with
X	mkvar $s_xtitle(64)		# title for xfer
X
X	$i_csave=%colors # get colors at entry
X
X	$s_xtitle = 'Connected to '+%rname
X	ifs %argv(5) != ''
X		$s_xtitle = $s_xtitle+' - procedure '+%argv(5)
X
X# check to make sure we are connected
X	ifi %conn == 0
X	{
X		color red; echo 'not connected to anyone!'
X		goto SORRY
X	}
X	color lt_blue;  echo 'Connected to '+%rname
X
X# save local current directory and change to target
X	$s_origdir=%dir
X	color brown
X	ifs $s_origdir == %argv(2)
X		echo -n 'local directory already '
X	else 
X	{
X		cd %argv(2)
X		echo -n 'local directory set to '
X	}
X	color yellow; echo %dir
X
X# make sure remote username ok
X	ifs %argv(4) == '' goto REMOTE_CD # if any remote username
X	do 'bsd_uname'			# get $s0=username
X	ifi $i0 == 0 goto SORRY	# test failure
X	$s_ruser = $s0			# save original remote username
X	ifs $s0 != %argv(4)
X	{						# need to su
X		color brown
X		echo -n 'remote username '
X		color yellow
X		echo -n $s0
X		color brown
X		echo ' ... su to '+%argv(4)+' now'
X		color gray
X		do 'su_'+%argv(4)	# call proc, which calls su.ep
X		lookfor '% ' 50		# su leaves prompt in buffer: swallow
X		do 'bsd_uname'		# make sure we su'd
X		ifi $i0 == 0 goto SORRY
X		ifs $s0 != %argv(4)	# failed to su?
X		{
X			color red;echo 'su to '+%argv(4)+' failed'
X			goto SORRY
X		}
X		$i_suflag = 1		#remember we su'd
X	}	# now we are proper username on remote
X
X# establish proper remote working directory
XREMOTE_CD
X	color gray
X	$s0 = 'pwd';do 'oneline'	# save old remote ...
X	$s_rdir = $s0				# ... directory in $s_rdir
X	ifs $s_rdir != %argv(1)		# if cd needed, do it
X	{
X		send 'cd '+%argv(1)		# remote cd
X		lookfor -e '\n' 50		# echo command
X		lookfor '% ' 50			# swallow prompt
X		$s0 = 'pwd'
X		do 'oneline'			# make sure we got there
X		ifs $s0 != %argv(1)		# dir change failed
X		{
X			color red;echo 'remote cd failed'
X			goto SORRY;
X		}
X	}
X	color brown;  echo -n 'remote directory '
X	color yellow; echo    %argv(1)
X
X# transfer files
X	color lt_blue
X	echo 'sz -n -f '+%argv(3)
X	icolor $i_csave				# restore colors at entry
X	sz -nfl $s_xtitle %argv(3)
X	ifi $i0 != 0				# whoops
X	{
X		color red; echo -n '\nTRANSFER FAILED ... '
X		ifi $i0 == 0x100 echo 'interrupt'
X		ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d)
X		goto SORRY
X	}
X	lookfor '% ' 50				# swallow prompt
X	goto RETURN
X
XSORRY # whoops
X	color red;echo 'sz_update failed ... sorry'
X	$i_rtnflag = 1	# return error
X
XRETURN
X	echo ''
X	color brown;  echo -n 'remote user name '
X	color yellow
X	ifi $i_suflag != 0			# we su'd
X	{
X		send -n %chr(0x04)		# will force a new prompt from remote
X		echo -n $s_ruser
X		color brown;  echo ' restored (sent ^D to '+%argv(4)+' shell)'
X		lookfor '% ' 50			# swallow prompt
X	}
X	else
X		color brown;  echo 'unchanged'
X
X	ifs $s_rdir != %argv(1)		# if we did a remote cd
X	{
X		send 'cd '+$s_rdir		# restore original
X		lookfor '\n'
X		color brown;  echo -n 'remote working directory '
X		color yellow; echo -n $s_rdir
X		color brown;  echo    ' restored'
X	}
X	else
X	{
X		send ''	# spark a prompt
X		color brown;  echo -n 'remote working directory '
X		color yellow; echo -n $s_rdir
X		color brown;  echo    ' unchanged'
X	}
X
X	color brown;  echo -n 'local working directory '
X	color yellow; echo -n $s_origdir
X	color brown
X	ifs $s_origdir != %dir	# restore original directory
X	{
X		cd $s_origdir
X		echo    ' restored'
X	}
X	else
X		echo ' unchanged'
X
X	icolor $i_csave		# restore colors at entry
X	echo ''
X	return $i_rtnflag	# return selected error code (bomb procedure if error)
SHAR_EOF
chmod 0644 models/sz_update.ep || echo "restore of models/sz_update.ep fails"
echo "x - extracting models/szall.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/szall.ep &&
X#  CHK=0xE67C
X
X	do 'put_mpad1'
X	lookfor '% ' 40
X	do 'put_kdir12'
X	lookfor '% ' 40
X	do 'put_sim'
X	lookfor '% ' 40
X	do 'put_ecu'
SHAR_EOF
chmod 0644 models/szall.ep || echo "restore of models/szall.ep fails"
echo "x - extracting models/tty1a.mi (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/tty1a.mi &&
X#  CHK=0xF537
X#+-----------------------------------------------------------------
X#  tty1a.mi - Microcom AX/9624c
X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X#------------------------------------------------------------------
X#+:EDITS:
X#:07-02-1989-20:51-wht-beef up init
X#:06-17-1989-22:02-wht-creation
X
Xinit_>2400:atq0e1v1x4s0=0s2=43s7=30\q1\x1\n3
Xinit_default:atq0e1v1x4s0=0s2=43s7=30\q0\x0\n0
Xdial_default:atdt
Xautoanswer:atq1s0=1
SHAR_EOF
chmod 0644 models/tty1a.mi || echo "restore of models/tty1a.mi fails"
echo "x - extracting models/tty2d.mi (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/tty2d.mi &&
X#  CHK=0x61EF
X#+-----------------------------------------------------------------
X#  tty2d.mi - USR Courier 2400
X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X#------------------------------------------------------------------
X#+:EDITS:
X#:07-02-1989-20:51-wht-beef up init
X#:06-17-1989-22:02-wht-creation
X
Xinit_default:atq0e1v1x4s0=0s2=43s7=30s11=47
Xdial_default:atdt
Xautoanswer:atq1s0=1
SHAR_EOF
chmod 0644 models/tty2d.mi || echo "restore of models/tty2d.mi fails"
echo "x - extracting models/unixlogin.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/unixlogin.ep &&
X#  CHK=0x8ADC
X#+-----------------------------------------------------------------
X#  unixlogin.ep - ecu UNIX login procedure
X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
X#
X# %argv(1) = remote name
X# %argv(2) = user name
X# %argv(3) = password
X# %argv(4) = term type
X# %argv(5) = optional number of breaks needed
X#+-----------------------------------------------------------------
X#+:EDITS:*/
X#:07-11-1989-16:55-wht-get cmd became lgets
SHAR_EOF
echo "End of part 46"
echo "File models/unixlogin.ep is continued in part 47"
echo "47" > 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.