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

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

---- Cut Here and unpack ----
#!/bin/sh
# this is part 45 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file doc/ecu.man continued
#
CurArch=45
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 doc/ecu.man"
sed 's/^X//' << 'SHAR_EOF' >> doc/ecu.man
X
X    usage: %stoi(str0)
X
X    This function converts the contents	of str0	to an  integer	and  returns
X    the	value.
X
X
X    6.3.23  %_x_c_h_r
X
X    This function returns the number of	characters transmitted by ECU  since
X    the	program	starrted.
X
X
X    6.3.24  %_x_c_h_r_c
X
X    This function returns the number of	characters transmitted by ECU during
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      64
X
X
X
X    the	current	connection.
X
X
X
X
X    6.4	 _S_t_r_i_n_g	_F_u_n_c_t_i_o_n_s
X
X
X
X    6.4.1  %_a_r_g_v
X
X    usage: %argv(int0)
X
X    This function returns the string value of  an  argument  passed  to	 the
X    procedure  by the 'do' command.  Argument 0	is the name of the procedure
X    itself.  The integer function %argc	may be used to determine the  number
X    of	arguments  passed  to  the procedure.  Specifying an argument number
X    greater than the number of arguments passed	returns	a  null	 string	 (if
X    procedure tracing is enabled with the 'ptrace' comand, a warning will be
X    displayed in this case).
X
X	 Example:
X	     invocation	from shell:
X	     ecu -p test Quick Brown Fox
X
X	     invocation	from interactive command line:
X	     do	test Quick Brown Fox
X
X	     invocation	from procedure:
X	     do	'test' 'Quick' 'Brown' 'Fox'
X
X	     results in:
X	     %argv(0) =	'test'
X	     %argv(1) =	'Quick'
X	     %argv(2) =	'Brown'
X	     %argv(3) =	'Fox'
X	     %argv(4) =	''
X
X
X    NNNNOOOOTTTTEEEE:::: the interactive ddddiiiiaaaallll command,	the dialing directory menu  and	 the
X    initial  setup  menu  all  can  automatically  execute a procedure which
X    matches a dialed llllooooggggiiiiccccaaaallll tttteeeelllleeeepppphhhhoooonnnneeee nnnnuuuummmmbbbbeeeerrrr....	There two  arguments  passed
X    to	these  procedures,  %argv(0)  being  the  procedure  name as always.
X    %argv(1) is	set according to the following table:
X
X	  invoker	       %argv(1)
X	 -------------------  -------------
X	 initial setup menu   !INITIAL
X	 interactive dial     !INTERACTIVE
X	 dialing menu	      !MENU
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      65
X
X
X
X    Thus it is possible	for the	invoked	procedure to determine that  it	 has
X    been  automatically	 executed  by  testing	%argv(1)  for an exclamation
X    point, or possibly the entire argument.
X
X
X    6.4.2  %_c_g_e_t_c
X
X    usage: %cgetc
X
X    This  function reads one character from the	console	keyboard and returns
X    it.	 The character is not echoed.
X
X
X    6.4.3  %_c_g_e_t_s
X
X    usage: %cgets
X
X    This function reads	a string from the console keyboard and	returns	 it.
X    Each  character is echoed as it is typed and the user's normal erase and
X    kill character is available	to edit	the  input  before  terminating	 the
X    read with ENTER.
X
X
X    6.4.4  %_c_h_r
X
X    usage: %chr(int0)
X
X    This function returns the character	value whose ASCII value	is  supplied
X    in int0.
X
X
X    Example:
X
X	set $s0	= %chr(4)  places a ^D (EOT) character into $s0
X
X
X
X    6.4.5  %_d_a_t_e
X
X    usage: %date
X
X    This function returns the current date in the form 'mm-dd-yyyy'.
X
X
X    6.4.6  %_d_a_y
X
X    usage: %day
X
X    This function returns the current day of the week as a  three  character
X    abbreviation: 'Sun', 'Mon',	'Tue', 'Wed', 'Thu', 'Fri', 'Sat'.
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      66
X
X
X
X    6.4.7  %_d_i_r
X
X    usage: %dir
X
X    This  function  returns  the  full	pathname  of  the  current   working
X    directory.
X
X
X    6.4.8  %_e_d_a_t_e
X
X    usage: %edate(int0)
X
X    The	value in int0 is expected to be	a number of seconds since January 1,
X    1970  00:00	 UTC (Universal	Coordinated Time) as returned by the integer
X    functions %fatime and %fmtime.  This function converts the value into  a
X    string  representing  the  equivalent local	time in	the form 'mm-dd-yyyy
X    hh:mm:ss'.
X
X    Example:
X
X    set	$i0=%fmtime('/xenix')
X    $i00 = 601178971 (0x23d5435b,04365241533)
X
X    set	$s0=%edate($i0)
X    $s00 = '01-18-1989 21:09:31'
X
X
X
X    6.4.9  %_e_n_v_v_a_r
X
X    usage: %envvar()
X
X    This function returns the string value of an environment variable.
X
X
X    Example:
X
X	set $s0=%envvar('HOME')	might set $s0 '/usr/user'
X
X
X
X    6.4.10  %_e_r_r_s_t_r
X
X    usage: %errstr(int0)
X
X    This function returns the system error message, given int0 as  an  eeeerrrrrrrrnnnnoooo
X    as returned	by a file-related command.  ffffooooppppeeeennnn....
X
X
X
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      67
X
X
X
X    Typical Environment	Variables:
X
X	HOME	      pathname of home directory
X	EDITOR	      user's preferred editor
X	PATH	      program execution	searchlist
X	TERM	      terminal type
X	SHELL	      user's preferred shell
X	MAIL	      user's mail box file
X	ECUPROMPT     ECU interactive command prompt
X		      at beginning of execution
X
X    Example:
X
X	echo %errstr(1)
X	Not owner
X
X
X
X    6.4.11  %_e_t_i_m_e
X
X    usage: %etime(int0)
X
X    This function returns a string representation of  elapsed  time  in	 the
X    format 'hh:mm:ss' for the integer parameter	int0, a	number of seconds.
X
X
X    Example:
X
X	echo %etime(62)
X	00:01:02
X
X
X
X    6.4.12  %_f_m_o_d_e_s_t_r
X
X    usage: %fmodestr(int0)
X
X    This function returns a string representation of the familiar file	mode
X    string given the file mode integer int0.
X
X
X    Example:
X
X	echo %fmodestr(0100755)
X	-rwxr-xr-x
X
X	echo %fmodestr(%fmode('/usr/lib'))
X	drwxr-xr-x
X
X
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      68
X
X
X
X    6.4.13  %_i_t_o_s
X
X    usage: %itos(int0[,format])
X
X    This function converts integer int0	to a string, optionally	 controlling
X    the	format of the conversion.
X
X    If the format parameter is missing,	 the  conversion  is  to  a  minimum
X    number of decimal characters necessary to hold the result.
X
X    If the format parameter is present,	it must	of  consist  of	 a  non-null
X    string made	of one or both optional	parts:
X
X	decimal	number of digits to be part of result string
X	(a leading zero	indicates leading zeroes are to
X	appear in the string; no leading zero pads with
X	leading	spaces
X
X	a lower	case letter from the following list:
X	    d -	decimal	conversion
X	    x -	hexadecimal conversion
X	    o -	octal conversion
X
X    Example:
X
X	%itos(33)	    '33'
X	%itos(33,d)	    '33'
X	%itos(33,x)	    '21'
X	%itos(33,5d)	    '	33'
X	%itos(33,010d)	    '0000000033'
X	%itos(33,10d)	    '	     33'
X	%itos(33,x)	    '21'
X	%itos(33,04x)	    '0021'
X	%itos(33,4x)	    '  21'
X	%itos(33,o)	    '41'
X	%itos(33,4o)	    '	 41'
X
X
X
X    6.4.14  %_l_e_f_t
X
X    usage: %left(str0,int0)
X
X    This function returns the leftmost int0  characters	 of  str0.   If	 the
X    length of the string is less than int0, the	entire str0 is returned.
X
X    Example:
X
X	if $s0 == 'abcdefg'
X	%left($s0,3) returns 'abc'
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      69
X
X
X
X    6.4.15  %_l_i_n_e
X
X    usage: %line
X
X    This function returns the name of the attached  communications  line  in
X    the	 form  "/dev/ttyxx".  If no line is currently attached,	the function
X    returns null.
X
X
X    6.4.16  %_l_o_g_n_a_m_e
X
X    usage: %logname
X
X    This function returns the login name of the	user executing	ECU.   Note:
X    the	 name  returned	 is  the  name	supplied  to a login prompt, not any
X    current su(C) username that	may be in effect.
X
X
X    6.4.17  %_m_i_d
X
X    usage: %mid(str0,int0[,int1])
X
X    This function returns the middle portion of	a string str0 beginning	with
X    the	 character at position int0 and	for a length of	int1 characters.  If
X    int0 is greater than or equal to the length	of stro, a  null  string  is
X    returned.	If  the	 optional  argument  int1 is not supplied, or if the
X    length of the string is less than int1, the	entire str0 is returned.
X
X    Example:
X
X	if $s0 == '0123456789abc'
X	%mid($s0,3,4)  returns '3456'
X	%mid($s0,3)    returns '3456789abc'
X	%mid($s0,10,2) returns 'ab'
X	%mid($s0,10,5) returns 'abc'
X
X
X
X    6.4.18  %_m_o_n_t_h
X
X    usage: %month
X
X    This  function  returns  the  current  month  as   a   three   character
X    abbreviation:  'Jan',  'Feb',  'Mar', 'Apr', 'May',	'Jun', 'Jul', 'Aug',
X    'Sep', 'Oct', 'Nov', 'Dec'.
X
X
X    6.4.19  %_r_d_e_s_c
X
X    usage: %rdesc
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      70
X
X
X
X    This function returns the description portion of the  dialing  directory
X    entry  for the currently connected remote.	If no connection exists, the
X    function returns null.
X
X
X    6.4.20  %_r_i_g_h_t
X
X    usage: %right(str0,int0)
X
X    This function returns the rightmost	int0 characters	 of  str0.   If	 the
X    length of the string is less than int0, the	entire str0 is returned.
X
X    Example:
X
X	if $s0 == 'abcdefg'
X	%right($s0,3) returns 'efg'
X
X
X
X    6.4.21  %_r_n_a_m_e
X
X    usage: %rname
X
X    This function returns the logical name portion of the dialing  directory
X    entry  for the currently connected remote.	If no connection exists, the
X    function returns null.
X
X
X    6.4.22  %_r_t_e_l_n_o
X
X    usage: %rtelno
X
X    This function returns  the	telephone  number  portion  of	the  dialing
X    directory  entry  for  the currently connected remote.  If no connection
X    exists, the	function returns null.
X
X
X    6.4.23  %_t_i_m_e
X
X    usage: %time
X
X    This function returns the current time in the form 'hh:mm'.
X
X
X    6.4.24  %_t_i_m_e_s
X
X    usage: %times
X
X    This function returns the current time in the form 'hh:mm:ss'.
X
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      71
X
X
X
X    6.4.25  %_t_t_y
X
X    usage: %tty
X
X    This function returns the console tty name in the form "/dev/ttynn".
X
X
X
X
X    6.5	 _H_o_n_e_y_D_a_n_B_e_r _U_U_C_P _I_n_t_e_r_f_a_c_e
X
X
X
X    6.5.1  _U_U_C_P	_C_o_n_t_r_o_l	_F_i_l_e_s
X
X
X    6.5.1.1  /_u_s_r/_l_i_b/_u_u_c_p/_D_e_v_i_c_e_s
X
X    ECU	reads this file	to determine what  tty	devices	 are  available	 for
X    outgoing  calls.  For more information, see	"UUCP Dialers" and "Choosing
X    a Dialout Line" below.
X
X
X    6.5.1.2  /_u_s_r/_l_i_b/_u_u_c_p/_D_i_a_l_e_r_s
X
X    No use is made of the DDDDiiiiaaaalllleeeerrrrssss file at this	time.	ECU  is	 capable  of
X    calling  a	modem  dial program, but not of	using the HDB dialer strings
X    found in DDDDiiiiaaaalllleeeerrrrssss.
X
X
X    6.5.1.3  /_u_s_r/_l_i_b/_u_u_c_p/_S_y_s_t_e_m_s
X
X    No use is made of the SSSSyyyysssstttteeeemmmmssss file	at  this  time.	  ECU  provides	 the
X    equivalent function	with its dialing directory.
X
X
X    6.5.2  _C_h_o_o_s_i_n_g _a _D_i_a_l_o_u_t _L_i_n_e
X
X    When using the interactive	ddddiiiiaaaallll  command,	or  when  dialing  from	 the
X    initial  menu,  if	a logical or system name is specified, the directory
X    entry is fetched and examined.  If the tty field specifies a value other
X    than  "Any",  the  specific	 line requested	is opened, if available, and
X    dialing commences. If the specified	line  is  not  available,  the	dial
X    attemptfails.
X
X    If "Any" is	found in the dialing directory	entry,	then  ECU  finds  an
X    avaialable	line which matches the baud rate specified in the entry.  It
X    does so by reading the DDDDiiiiaaaalllleeeerrrrssss file.
X
X    If a line matching the  necessary  baud  rate  is  found  (by  searching
X    /etc/utmp)	to be a	line enabled for login,	but which is currently idle,
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      72
X
X
X
X    the	getty interface, described below, is used to acquire  the  line	 for
X    outgoing use.
X
X
X    6.5.3  _G_e_t_t_y _I_n_t_e_r_f_a_c_e
X
X    When an idle dialin	(enabled) line is chosen for dialout, ECU makes	 use
X    of	////uuuussssrrrr////lllliiiibbbb////eeeeccccuuuu////eeeeccccuuuuuuuunnnnggggeeeettttttttyyyy	 to  signal  the line's	getty to release the
X    line.  EEEEccccuuuuuuuunnnnggggeeeettttttttyyyy is again employed	to signal the getty to reacquire the
X    line when outgoing communication is	complete.
X
X    Ecuungetty is a privileged program,	which must be owned by root and	have
X    the	 setuid-on-execute  bit	 set.	A  encrypted  id is passed by ecu to
X    ecuungetty to validate requests and	to prevent abuse  of  ecuungetty  by
X    hackers, malcontents and other twentieth-century phenomena.
X
X
X    6.5.4  _U_U_C_P	_D_i_a_l_e_r_s
X
X    If the DDDDeeeevvvviiiicccceeeessss file	can be found in	/usr/lib/uucp, and a valid entry for
X    the	 attached  line	 can  be  found,  ECU  will  use  the dialer program
X    specified in the DDDDeeeevvvviiiicccceeeessss entry.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      73
X
X
X
X    7.	_T_e_c_h_n_i_c_a_l _N_o_t_e_s
X
X
X    ECU	is written in Microsoft/SCO XENIX System V C.  Full use	is  made  of
X    function  prototyping  for ECU functions and external library functions.
X    The	source consists	of 32,000 lines	of source files	(731000	 bytes)	 and
X    2500  lines	 of  header files (73000 bytes).  The output of	"size" for a
X    -M3	version:
X
X
X	 text	  data	  bss	  dec	   hex
X	 136500	+ 33824	+ 62800	= 233124 = 0x38ea4
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X
X
X
X
X				    CONTENTS
X
X
X    1.	Introduction........................................   2
X
X    2.	Basic Organization..................................   3
X	2.1   Transmitter Process (XMTR)....................   3
X	      2.1.1   Keyboard Interface....................   3
X	      2.1.2   ECU Command Assembly..................   3
X	      2.1.3   Function Key Mapping..................   4
X	      2.1.4   Auxiliary	Operation Control...........   4
X	2.2   Receiver Process (RCVR).......................   4
X	      2.2.1   ANSI Filter...........................   4
X	      2.2.2   Session Logging.......................   5
X
X    3.	Features............................................   6
X	3.1   Dialing Directory.............................   6
X	3.2   Online Command Dictionary.....................   6
X	3.3   Multiscreen Event	Alarm.......................   6
X	3.4   Function Key Mapping..........................   6
X	3.5   Built-in Modem Dialer.........................   7
X	3.6   File Transfer.................................   7
X	3.7   Procedures (Scripts)..........................   8
X	3.8   Initial (Startup)	Procedure...................   9
X	3.9   Home Directory Files..........................   9
X	3.10  Lock Files....................................   9
X	3.11  Dial-In/Dial-Out Line Support.................   9
X	3.12  Tools.........................................   9
X
X    4.	Starting the Program................................  10
X	4.1   Simple Startup - Initial Setup Menu...........  10
X	      4.1.1   Name/Phone Number	Field...............  10
X	      4.1.2   Other Fields..........................  11
X	      4.1.3   Special Characters....................  11
X	4.2   Command Line Arguments and Switches...........  12
X	      4.2.1   -l....................................  12
X	      4.2.2   -f....................................  12
X	      4.2.3   -e, -o................................  12
X	      4.2.4   -p <procname>.........................  13
X	      4.2.5   -d....................................  13
X	      4.2.6   -t....................................  13
X	4.3   Environment Variables.........................  13
X	      4.3.1   ECUPROMPT.............................  13
X	      4.3.2   ECUHELP...............................  14
X
X    5.	Interactive Mode Commands...........................  15
X	5.1   ANsi..........................................  15
X	5.2   AX : ascii char to hex/oct/dec................  15
X	5.3   BAud : set/display line baud rate.............  15
X	5.4   BN : all console event alarm..................  16
X	5.5   BReak : send break to remote..................  16
X
X
X
X			       - i -
X
X
X
X
X
X
X
X
X
X
X
X	5.6   CD : change current directory.................  16
X	5.7   DA : decimal to ascii char....................  17
X	5.8   Dial : dial remote destination................  17
X	5.9   DO : perform procedure........................  18
X	5.10  DUplex : set/display duplex...................  18
X	5.11  EXit : drop carrier, exit	program.............  18
X	5.12  FI : send	text file to line...................  19
X	5.13  FKey : function key definition................  19
X	5.14  HAngup : hang up modem........................  20
X	5.15  HElp : invoke help............................  20
X	5.16  LLp : set	session	log to /dev/lp..............  20
X	5.17  LOFf : turn off session logging...............  20
X	5.18  LOG : session logging control.................  20
X	5.19  NL : display CR/LF mapping....................  21
X	5.20  NLIn : set receive CR/LF mapping..............  21
X	5.21  NLOut : set transmit CR/LF mapping............  21
X	5.22  OA : octal to ascii char......................  22
X	5.23  PARity : set/display line	parity..............  22
X	5.24  PId : display process ids.....................  22
X	5.25  PLog : procedure logging......................  22
X	5.26  PTrace : control procedure trace..............  22
X	5.27  PWd : print working directory.................  23
X	5.28  REDial : redial last number...................  23
X	5.29  REV : ECU	revision/make date..................  23
X	5.30  RK : receive via C-Kermit.....................  24
X	5.31  RS : receive via SEAlink......................  24
X	5.32  RX : receive via XMODEM/CRC...................  24
X	5.33  RY : receive via YMODEM Batch.................  24
X	5.34  RZ : receive via ZMODEM/CRC32.................  25
X	5.35  SDNAME : select screen dump file name.........  25
X	5.36  SK : send	via C-Kermit........................  25
X	5.37  SS : send	via SEAlink.........................  26
X	5.38  STat : connection	status......................  26
X	5.39  SX : send	via XMODEM/CRC......................  26
X	5.40  SY : send	via YMODEM Batch....................  27
X	5.41  SZ : send	via ZMODEM/CRC32....................  27
X	5.42  TIme : time of day............................  28
X	5.43  TTy : console tty	name........................  28
X	5.44  XA : hex to ascii	char........................  28
X	5.45  !	: execute shell.............................  29
X
X    6.	Procedure Language..................................  30
X	6.1   Arguments.....................................  30
X	      6.1.1   Switches..............................  30
X	      6.1.2   Alphabetic Tokens.....................  30
X	      6.1.3   Integers..............................  30
X		      6.1.3.1  Constants  31
X		      6.1.3.2  Variables  31
X		      6.1.3.3  Functions  31
X		      6.1.3.4  Expressions  31
X		      6.1.3.5  Relational Operators  32
X
X
X
X			       - ii -
X
X
X
X
X
X
X
X
X
X
X
X	      6.1.4   Strings...............................  32
X		      6.1.4.1  Constants  32
X		      6.1.4.2  Variables  32
X		      6.1.4.3  Functions  33
X		      6.1.4.4  Expressions  33
X		      6.1.4.5  Relational Operators  33
X	6.2   Commands......................................  33
X	      6.2.1   baud..................................  33
X	      6.2.2   break.................................  33
X	      6.2.3   cd....................................  34
X	      6.2.4   clrx..................................  34
X	      6.2.5   cls...................................  34
X	      6.2.6   color.................................  35
X	      6.2.7   continue..............................  35
X	      6.2.8   cursor................................  36
X	      6.2.9   dial..................................  37
X	      6.2.10  do....................................  38
X	      6.2.11  duplex................................  38
X	      6.2.12  echo..................................  39
X	      6.2.13  else..................................  39
X	      6.2.14  exit..................................  40
X	      6.2.15  fchmod................................  40
X	      6.2.16  fclose................................  41
X	      6.2.17  fdel..................................  42
X	      6.2.18  fgetc.................................  42
X	      6.2.19  fgets.................................  43
X	      6.2.20  fkey..................................  43
X	      6.2.21  flush.................................  43
X	      6.2.22  fopen.................................  43
X	      6.2.23  fputc.................................  44
X	      6.2.24  fputs.................................  45
X	      6.2.25  fseek.................................  45
X	      6.2.26  goto..................................  45
X	      6.2.27  gotob.................................  46
X	      6.2.28  hangup................................  46
X	      6.2.29  hexdump...............................  46
X	      6.2.30  icolor................................  47
X	      6.2.31  ifi...................................  47
X	      6.2.32  ifs...................................  47
X	      6.2.33  lbreak................................  48
X	      6.2.34  lgets.................................  48
X	      6.2.35  logevent..............................  48
X	      6.2.36  lookfor...............................  49
X	      6.2.37  mkvar.................................  49
X	      6.2.38  nap...................................  50
X	      6.2.39  parity................................  50
X	      6.2.40  plog..................................  51
X	      6.2.41  prompt................................  51
X	      6.2.42  ptrace................................  52
X	      6.2.43  return................................  52
X	      6.2.44  rk....................................  52
X
X
X
X			      -	iii -
X
X
X
X
X
X
X
X
X
X
X
X	      6.2.45  rs....................................  52
X	      6.2.46  rx....................................  52
X	      6.2.47  ry....................................  53
X	      6.2.48  rz....................................  53
X	      6.2.49  scrdump...............................  53
X	      6.2.50  send..................................  53
X	      6.2.51  set...................................  53
X	      6.2.52  sk....................................  54
X	      6.2.53  ss....................................  54
X	      6.2.54  sx....................................  55
X	      6.2.55  sy....................................  55
X	      6.2.56  system................................  55
X	      6.2.57  sz....................................  56
X	      6.2.58  vidnorm...............................  56
X	      6.2.59  vidrev................................  56
X	      6.2.60  whilei................................  57
X	      6.2.61  whiles................................  57
X	6.3   Integer Functions.............................  57
X	      6.3.1   %argc.................................  57
X	      6.3.2   %baud.................................  57
X	      6.3.3   %colors...............................  58
X	      6.3.4   %conn.................................  59
X	      6.3.5   %csec.................................  59
X	      6.3.6   %ctoi.................................  59
X	      6.3.7   %fatime...............................  59
X	      6.3.8   %fmode................................  60
X	      6.3.9   %fmtime...............................  60
X	      6.3.10  %fmode................................  60
X	      6.3.11  %ftell................................  61
X	      6.3.12  %instr................................  61
X	      6.3.13  %ischr................................  61
X	      6.3.14  %isdir................................  62
X	      6.3.15  %isreg................................  62
X	      6.3.16  %len..................................  63
X	      6.3.17  %lgetc................................  63
X	      6.3.18  %pid..................................  63
X	      6.3.19  %match................................  63
X	      6.3.20  %rchr.................................  64
X	      6.3.21  %rchrc................................  64
X	      6.3.22  %stoi.................................  64
X	      6.3.23  %xchr.................................  64
X	      6.3.24  %xchrc................................  64
X	6.4   String Functions..............................  65
X	      6.4.1   %argv.................................  65
X	      6.4.2   %cgetc................................  66
X	      6.4.3   %cgets................................  66
X	      6.4.4   %chr..................................  66
X	      6.4.5   %date.................................  66
X	      6.4.6   %day..................................  66
X	      6.4.7   %dir..................................  67
X	      6.4.8   %edate................................  67
X
X
X
X			       - iv -
X
X
X
X
X
X
X
X
X
X
X
X	      6.4.9   %envvar...............................  67
X	      6.4.10  %errstr...............................  67
X	      6.4.11  %etime................................  68
X	      6.4.12  %fmodestr.............................  68
X	      6.4.13  %itos.................................  69
X	      6.4.14  %left.................................  69
X	      6.4.15  %line.................................  70
X	      6.4.16  %logname..............................  70
X	      6.4.17  %mid..................................  70
X	      6.4.18  %month................................  70
X	      6.4.19  %rdesc................................  70
X	      6.4.20  %right................................  71
X	      6.4.21  %rname................................  71
X	      6.4.22  %rtelno...............................  71
X	      6.4.23  %time.................................  71
X	      6.4.24  %times................................  71
X	      6.4.25  %tty..................................  72
X	6.5   HoneyDanBer UUCP Interface....................  72
X	      6.5.1   UUCP Control Files....................  72
X		      6.5.1.1  /usr/lib/uucp/Devices  72
X		      6.5.1.2  /usr/lib/uucp/Dialers  72
X		      6.5.1.3  /usr/lib/uucp/Systems  72
X	      6.5.2   Choosing a Dialout Line...............  72
X	      6.5.3   Getty Interface.......................  73
X	      6.5.4   UUCP Dialers..........................  73
X
X    7.	Technical Notes.....................................  74
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X			       - v -
X
X
X
X
SHAR_EOF
echo "File doc/ecu.man is complete"
chmod 0644 doc/ecu.man || echo "restore of doc/ecu.man fails"
echo "x - extracting doc/runoff (Text)"
sed 's/^X//' << 'SHAR_EOF' > doc/runoff &&
X#!/bin/csh
Xecho 'nroff -mm '$1'.txt | col > '$1'.man'
Xexpand -4 $1.txt > $1.tmp
Xnroff -mm $1.tmp |& col > $1.man
Xrm $1.tmp
X
SHAR_EOF
chmod 0755 doc/runoff || echo "restore of doc/runoff fails"
echo "x - extracting models/bsd_uname.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/bsd_uname.ep &&
X#  CHK=0xFD46
X#--------------------------------------------------------------
X# bsd_uname.ep - get remote username from bsd system
X# return: $s0 = username
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	set $s0='whoami'	# send command
X	do 'oneline'		# get $s0=username
X	ifi $i0 == 0 		# we bombed?
X	{
X		set $i0=%colors; color red
X		echo 'bsd_uname: get user name failed'
X		icolor $i0
X		$i0 = 0
X	}
X
SHAR_EOF
chmod 0644 models/bsd_uname.ep || echo "restore of models/bsd_uname.ep fails"
echo "x - extracting models/dir (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/dir &&
X/tmp
SHAR_EOF
chmod 0644 models/dir || echo "restore of models/dir fails"
echo "x - extracting models/f.ep (Text)"
sed 's/^X//' << 'SHAR_EOF' > models/f.ep &&
X#  CHK=0x8F8D
SHAR_EOF
echo "End of part 45"
echo "File models/f.ep is continued in part 46"
echo "46" > 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.