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

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

---- Cut Here and unpack ----
#!/bin/sh
# this is part 43 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file doc/ecu.man continued
#
CurArch=43
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    section.
X
X
X    6.1.3.4  _E_x_p_r_e_s_s_i_o_n_s
X
X    In almost any place	an integer argument is allowed,	an expression may be
X    supplied.	Expressions are	composed of two	or more	integer	constants or
X    variables separated	by operators from the group:
X
X	+     addition
X	-     subtraction
X	*     multiplication
X	/     division
X	|     OR
X	@     MOD
X	^     XOR
X	&     AND
X
X    Evaluation	of  expressions	 is  left-to-right.   Parentheses  are	 not
X    allowed.
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				      31
X
X
X
X    6.1.3.5  _R_e_l_a_t_i_o_n_a_l	_O_p_e_r_a_t_o_r_s
X
X    Integer relational operators are chosen from the following group:
X
X	 =	 "is equal to"
X	 ==	 "is equal to"
X	 !=	 "is not equal to"
X	 <>	 "is not equal to"
X	 >	 "is greater than"
X	 <	 "is greater than"
X	 >=	 "is greater than or equal to"
X	 <=	 "is less than or equal	to"
X
X
X
X    6.1.4  _S_t_r_i_n_g_s
X
X    Strings are	classic	concatenations of zero or more eight-bit characters.
X    In general,	the maximum size of a string used by ECU is 256	characters.
X
X
X    6.1.4.1  _C_o_n_s_t_a_n_t_s
X
X    String constants are formed	by placing alphanumeric	 characters  between
X    single quote characters (apostrophes).  The	backslash ('\')	character is
X    used to "escape" certains characters:
X
X	'\'    one backslash
X	'0   newline
X	''   tab
X	'''   apostrophe
X
X
X
X    6.1.4.2  _V_a_r_i_a_b_l_e_s
X
X    There are 50 numbered, permanent  string  variables	 referenced  by	 the
X    terms  '$s0'  through  '$s49',  each  possessing a maximum length of 256
X    characters When ECU	is started, the	value of each variable is null (zero
X    length).   Variables  retain  their	 value	until  changed,	even between
X    procedure executions.  The string variable number may be expressed as an
X    expression by enclosing an string expression in brackets.  For instance:
X
X	 $s[4+5]      refers to	$s9
X
X	 $s2=5
X	 $s[20+$s2]   refers to	$s25
X
X
X    String variables may be created for	 use  as  "local"  variables  or  to
X    promote code readability.  Refer to	the mmmmkkkkvvvvaaaarrrr command.
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      32
X
X
X
X    6.1.4.3  _F_u_n_c_t_i_o_n_s
X
X    ECU	has many built-in functions  which  return  the	 value	of  ecu-  or
X    system-related  information.  A list of the	functions appears in a later
X    section.
X
X
X    6.1.4.4  _E_x_p_r_e_s_s_i_o_n_s
X
X    String expressions are formed by the concatenation of string  constants,
X    variables and function return values using the '+' operator:
X
X    Example:
X       'The quick brown	fox jumped over	the '+$s0'+' dog at '+%time
X
X
X
X    6.1.4.5  _R_e_l_a_t_i_o_n_a_l	_O_p_e_r_a_t_o_r_s
X
X    String relational operators	are chosen from	the following group:
X
X	 =	 "is equal to"
X	 ==	 "is equal to"
X	 !=	 "is not equal to"
X	 <>	 "is not equal to"
X
X
X
X
X    6.2	 _C_o_m_m_a_n_d_s
X
X
X
X    6.2.1  _b_a_u_d
X
X    usage: baud	<baud-int>
X
X    This command sets the baud rate for	 the  attached	line.	The  integer
X    argument  <baud-int>  must	be  one	 of 110, 300, 600, 1200, 2400, 4800,
X    9600, 19200	and 38400.
X
X    Example:
X	baud 9600
X	set $i0=2400; baud $i0
X
X
X
X    6.2.2  _b_r_e_a_k
X
X    usage: break
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				      33
X
X
X
X    This command is used inside	a wwwwhhhhiiiilllleeeeiiii or  wwwwhhhhiiiilllleeeessss  compound  statement  to
X    exit the loop.
X
X    Example:
X
X	whilei 1=1 #forever unless break command executed
X	{
X	    echo -n 'Answer yes	or no: '
X	    set	$s0=%cgets # get answer
X	    ifi	%instr($s0,'y')	== 0 set $i0 = 1; break
X	    ifi	%instr($s0,'n')	== 0 set $i0 = 0; break
X	    # got neither 'y' nor 'n' ... keep trying
X	}
X	# now $i0 = 1 if yes, 0	if no
X
X
X    NOTE: further examples of bbbbrrrreeeeaaaakkkk usage may be found in  the	example	 for
X    the	else command.
X
X
X    6.2.3  _c_d
X
X    usage: cd <directory-path>
X
X    This command  changes  ECU's  current  working  directory.	 The  string
X    argument   <directory-path>	  may	contain	  any	directory   pathname
X    specification legal	to  be	submitted  to  the  shell  csh.	  Wild	card
X    characters	may  be	 used,	provided  the  expansion  produces  only one
X    pathname.
X
X
X    Example:
X
X	cd '~user/bin'
X	cd %envvar('HOME')+'/bin'
X
X
X
X    6.2.4  _c_l_r_x
X
X    usage: clrx
X
X    This  command  clears   the	 attached  line's  transmitter	XOFF  state.
X    Issuing  the  command  is  the  equivalent	to receiving an	XON from the
X    remote system.
X
X
X    6.2.5  _c_l_s
X
X    usage: cls
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				      34
X
X
X
X    This command clears	the screen.
X
X
X    6.2.6  _c_o_l_o_r
X
X
X    usage: color <normal-foreground> [<normal-background>]
X    usage: color -r <reverse-foreground> [<reverse-background>]
X
X
X    This command changes the current normal or reverse	video  colors  in  a
X    manner  similar to the setcolor(C) command.	 It has	no effect on systems
X    using a  monochrome	 monitor.   If	the  second  (background)  color  is
X    omitted, it	is assumed to be black.
X
X    The	command	also forces normal video mode.	Refer  to  the	vvvviiiiddddnnnnoooorrrrmmmm	 and
X    vvvviiiiddddrrrreeeevvvv commands.
X
X
X    Color names
X       blue	 magenta      brown	 black
X       lt_blue	 lt_magenta   yellow	 gray
X       cyan	 white	      green	 red
X       lt_cyan	 hi_white     lt_green	 lt_red
X
X    Example:
X
X	color lt_green	# normal video light green on black
X	color -r red white # reverse video red on white
X
X
X
X    6.2.7  _c_o_n_t_i_n_u_e
X
X    usage: continue
X
X    This command is used inside	a wwwwhhhhiiiilllleeeeiiii or  wwwwhhhhiiiilllleeeessss  compound  statement  to
X    skip the remainder of any commands in the loop and continue	execution at
X    the	first command in the loop.
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				      35
X
X
X
X    Example:
X
X	send ''	# send ENTER to	get prompt
X	whilei 1=1 # forever unless break command executed
X	{
X	    lookfor -e 'login: ' # look	for login prompt
X	    ifi	$i0 == 0	 # if we dont get prompt ...
X	    {
X		send ''		 # send	ENTER again
X		continue	 # and look for	login prompt
X	    }
X	    send $s_name	 # send	username
X	    lookfor -e 'Password:'
X	    send $s_password
X	    get	-e 0 50		 # wait	10 seconds for response
X
X	    # if incorrect not found in	response, ...
X	    if %instr($s0,'incorrect') < 0 # ... must have won
X		break
X
X	    # garbled line?: system will send another 'login: '
X	}
X
X
X
X    NOTE: further examples of ccccoooonnnnttttiiiinnnnuuuueeee usage may be found in the example for
X    the	eeeellllsssseeee command.
X
X
X    6.2.8  _c_u_r_s_o_r
X
X    usage: cursor <row>	[<col>]
X
X    This command places	the cursor at a	 specified  position  on  the  video
X    screen.  The top left of the scrren	is row 0, column 0.  If	<col> is not
X    specified, it is assumed 0 (left margin).
X
X    Example:
X
X	cls
X	$i0 = 5
X	whilei $i5 < 12
X	{
X	    cursor $i5
X	    echo 'This is line '+%itos($i5,2d)+' of the	display'
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				      36
X
X
X
X    6.2.9  _d_i_a_l
X
X    usage: dial	<remote>
X
X    This command causes	an outgoing call to be placed.	The string  argument
X    <remote>  can  take	 one  of two forms: a numeric telephone	number or an
X    alphanumeric "logical" number or system name.
X
X    A numeric phone number ('1(800)555-1212' or	'2345678') must	begin with a
X    digit and must consist entirely of digits, parentheses or hyphens.	If a
X    telephone number is	supplied, the phone number is dialed; you must first
X    have  set the desired baud rate and	parity using the 'baud'	and 'parity'
X    commands.
X
X    If a logical name is  entered,  the	 phone	directory  (managed  by	 the
X    interactive	 ddddiiiiaaaallll  command)	is searched; if	the entry is found, the	baud
X    rate and parity is automatically set from values in	the directory entry;
X    then, the number in	the directory entry is dialed.
X
X    When the ddddiiiiaaaallll command returns, integer variable $i0	is set to  a  status
X    code and string variable $s0 has a text message (the modem verbal result
X    code if the	ecu dialer is used, a representation of	 the  return  status
X    code if a uucp dialer is used [see below]).
X
X    DDDDiiiiaaaallll CCCCoooommmmmmmmaaaannnndddd $$$$iiii0000 SSSSttttaaaattttuuuussss CCCCooooddddeeeessss
X
X	0  successful connect
X	1  failed to connect (call progress)
X	2  dial	interrupted by signal
X	3  modem error (non responsive or commands rejected)
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				      37
X
X
X
X    DDDDiiiiaaaallll CCCCoooommmmmmmmaaaannnndddd $$$$ssss0000 SSSSttttaaaattttuuuussss MMMMeeeessssssssaaaaggggeeeessss ((((uuuuuuuuccccpppp ddddiiiiaaaalllleeeerrrr))))
X
X	CONNECT	####	       #### = baud rate
X	BUSY		       only some modems
X	NO ANSWER	       only some modems
X	NO CARRIER	       most generic "fail to connect"
X	NO DIAL	TONE	       only some modems
X	!Connect bad baud rate modem reported different	rate
X	!Interrupted	       call interrupted	by signal
X	!Invalid arguments     ecu error
X	!Invalid phone number  too long	or bad characters
X	!Ioctl error	       should not be reported here
X	!Line in use	       should not be reported here
X	!Line open error       should not be reported here
X	!Modem Error	       modem did not respond
X
X    Note: if the ecu dialer is used, the actual	modem result code
X    is returned	in $s0 or one of the following two strings:
X
X	!Interrupted	       call interrupted	by signal
X	!Modem Error	       modem did not respond
X
X
X
X    6.2.10  _d_o
X
X    usage: do <procname> [<arg>	...]
X
X    This command executes a procedure whose name appears  as  the  command's
X    first (string) argument.  One or more arguments (up	to 19) may be passed
X    to the called procedure; an	argument may consist  of  any  valid  string
X    expression,	provided, that,	when expanded,	the argument does not exceed
X    256	characters in length.
X
X    The	called procedure may read  its	arguments  using  the  %%%%aaaarrrrggggvvvv  string
X    function.	%argv(0)  is  the  name	 of  the procedure.  The quantity of
X    arguments may be obtained using the	%%%%aaaarrrrggggcccc integer function.
X
X
X    Example:
X
X	do 'proc' %rname %date+' '+%time %argv(0)
X
X    Note: in this example, the called procedure	is passed the name
X    of the calling procedure as	the last argument.
X
X
X
X    6.2.11  _d_u_p_l_e_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				      38
X
X
X
X    usage: duplex full | half
X	   duplex 'full' | 'half'
X
X
X    This command specifies whether or not ecu is to locally echo  characters
X    typed  by  you  at	the  keyboard.	 The overwhelming majority of remote
X    systems provide the	echo function, in which	case  full  duplex  must  be
X    used.   For	the rare occasions when	the remote system does not echo	your
X    keyboard input, setting half duplex	will allow you to see what  you	 are
X    typing.
X
X    When communicating with another terminal in	a  "teletype  conversation",
X    setting  half  duplex  is generally	required.  In such cases, use of the
X    interactive	nnnnllll, nnnnlllliiiinnnn and nnnnlllloooouuuutttt commands may	also be	required.
X
X    Example:
X
X	duplex full
X	$s0 = 'full'; duplex $s0
X
X
X
X
X    6.2.12  _e_c_h_o
X
X    usage: echo	[-n] <string>
X
X    This command prints	the contents of	the string argument <string> on	 the
X    screen.   If  the -n switch	is not present,	a newline follows the output
X    of <string>.
X
X    Example:
X
X	echo 'Procedure	'+%argv(0)+' executing at '+%time
X	echo -n	'Enter your first name:	'; $s0 = %cgets
X
X
X
X    6.2.13  _e_l_s_e
X
X
X    This statement may follow an iiiiffffiiii or	iiiiffffssss command to specify one  or	more
X    statements	to  be	executed  if the if-type command condition is false.
X    Else commands may be chained  together  in	the  traditional  structured
X    language manner.
X
X    For	the purposes of	describing this	command, <statement> is	 any  single
X    or compound	statement NNNNOOOOTTTT containing a wwwwhhhhiiiilllleeeeiiii or wwwwhhhhiiiilllleeeessss command.  If you
X    wish to have a while-type command executed as part of an eeeellllsssseeee condition,
X    the	while must occur within	braces ("{}").
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				      39
X
X
X
X    usage: else	<statement>
X
X	   else
X	       <statement>
X
X	   else
X	   {
X		any kind and number of statements
X	   }
X
X	   else	<if> <statement>
X
X	   else	<if>
X	   {
X		any kind and number of statements
X	   }
X
X
X    <if> is an iiiiffffiiii or iiiiffffssss command followed by  an  <if-condition>  (see	 the
X    description	of the iiiiffffiiii or iiiiffffssss commands below).
X
X
X    6.2.14  _e_x_i_t
X
X    usage: exit	[<status>]
X
X    This command causes	an abrupt  termination	of  the	 ecu  program.	 Any
X    existing  connection with a	remote system is terminated immediately.  If
X    no integer argument	<status> is found, ecu exits  with  a  program	exit
X    status of 0.  If <status> is found and the value is	zero, then ecu exits
X    with a program exit	status of 0.  If <status> non-zero,its value must be
X    in the range of 1 to 31, and ecu exits with	a program exit status of 192
X    plus <status>.  This feature allows	batch executions  of  ecu  by  shell
X    script and ECU procedure to	detect ECU execution status.
X
X
X
X    6.2.15  _f_c_h_m_o_d
X
X    usage: fchmod <mode> <file>
X
X    This command sets the mode of <file> to  <mode>.   The  <mode>  argument
X    takes one of two forms, a nine-character mode string (e.g.,	'rwxr-xr-x')
X    or an integer value	(0755).	 The <file>  argument  is  either  a  string
X    value  forming  a filename or an integer file number representing a	file
X    opened with	the ffffooooppppeeeennnn command.
X
X    The	command	sets $i0 = 0 if	successful,  else  to  the  eeeerrrrrrrrnnnnoooo  from	 the
X    associated	system	call  (refer  to  the %%%%eeeerrrrrrrrssssttttrrrr string function and/or
X    /usr/include/sys/errno.h).
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				      40
X
X
X
X    Example:
X
X    #+------------------------------------------------------
X    # finger.ep	- procedure to send 'finger' to	remote
X    # System V Unix system; print resulting lines in
X    # different	colors:	uucp logins green, root	red,
X    # other cyan
X    #-------------------------------------------------------
X    #+:EDITS:
X    #:06-30-1989-18:53-wht-creation
X
X	mkvar $icolor; $icolor = %colors
X	mkvar $itimeout
X	$itimeout = 50	   # timeout for first line 5 secs
X	send 'ps -aux'	   # send command, but do not echo
X	lookfor	'0 40	 # swallow command
X	whilei 1==1	   # forever, or until break
X	{
X	    lgets 0 $itimeout 1	'0 #get	a line
X	    ifi	$i0 = 0	break #if no chaacters read
X	    $itimeout =	10 #wait 1 sec for later lines
X
X	    ifi	%instr($s0,'% ') >= 0 #	if csh prompt seen
X		break		      #	exit while loop
X	    else ifi %instr($s0,'Login') >= 0
X		color gray
X	    else ifi %instr($s0,'root')	>= 0
X		color red
X	    else ifi %instr($s0,'uucp')	>= 0
X		color green
X	    else color cyan
X	    echo $s0
X	}
X	icolor $icolor #restore	entry colors
X	send ''	       #force a	new prompt from	remote
X
X
X    Example:
X
X	fopen 1	'/tmp/123'; fchmod 'rwxrwxrwx' 1
X	fchmod 'rwxrwxrwx' '/tmp/123'
X	fopen 1	'/tmp/123'; fchmod 0777	1
X	$i0 = 0777; fchmod $i0 '/tmp/123'
X
X    All	of the above example result in the same	result.
X
X
X
X    6.2.16  _f_c_l_o_s_e
X
X    usage: fclose <file>
X
X
X
X    Copyright (C) 1989,	Warren H. Tucker		 10/8/89
X
X
X
X
X
X
X
X    ECU	Technical Description				      41
X
X
X
X    This command closes	<file>.	 The <file>  argument  is  an  integer	file
X    number representing	a file opened with the ffffooooppppeeeennnn command.
X
X    The	command	is ignored if <file> is	not open.  No  integer	variable  is
X    modified by	_f_c_l_o_s_e.
X
X
X    Example:
X
X	fclose 1
X
X
X
X    6.2.17  _f_d_e_l
X
X    usage: fdel	<file>
X
X    This command removes a file.
X
X    The	command	sets $i0 = 0 if	successful,  else  to  the  eeeerrrrrrrrnnnnoooo  from	 the
X    associated	system	call  (refer  to  the %%%%eeeerrrrrrrrssssttttrrrr string function and/or
X    /usr/include/sys/errno.h).
X
X
X    Example:
X
X	fdel '/tmp/123'
X
X
X
X    6.2.18  _f_g_e_t_c
X
X    usage: fgetc <file>	<destination>
X
X    This command reads a character from	<file>.	 The <file> argument  is  an
X    integer file number	representing a file opened with	the ffffooooppppeeeennnn command.
X
X    The	argument <destination> is either a string  variable  or	 an  integer
X    variable.	If  the	 file  has  reached end	of file: an integer variable
X    receives -1;  a  string  variable  is  returned  null.   Otherwise,	 the
X    character's	 numeric value (0-255) is placed in an integer variable	or a
X    string variable is returned	with a length of one with the file character
X    as its only	character.
X
X
X    Example:
X
X	fgetc 1	$s0
X	fgetc 1	$i_input
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				      42
X
X
X
X    6.2.19  _f_g_e_t_s
X
X    usage: fgets <file>	<strvar>
X
X    This command reads a character from	<file>.	 The <file> argument  is  an
X    integer file number	representing a file opened with	the ffffooooppppeeeennnn command.
X
X    The	argument <strvar> is a string variable or an integer  variable.	  If
X    the	file has reached end of	file, <strvar> is returned null.  Otherwise,
X    the	character's numeric value (0-255) is placed in an  integer  variable
X    or	a  string  variable  is	 returned with a length	of one with the	file
X    character as its only character.
X
X
X    Example:
X
X	fgets 1	$s0
X
X
X
X    6.2.20  _f_k_e_y
X
X    usage: fkey	<str>
X
X    This command selects a function  key  definition  from  the	 ~/.ecu/keys
X    file.
X
X
X    6.2.21  _f_l_u_s_h
X
X    usage: flush
X
X    This command causes	any characters received	by the system from the line,
X    but	not yet	read by	the procedure to be "forgotten"	or flushed.
X
X
X    6.2.22  _f_o_p_e_n
X
X    usage: fopen [-switches] <filenum> <filename>
X
X    This command opens a file named by the string  argument  <filename>	 and
X    associates	it with	the user-chosen	file number <filenum> (which must be
X    an integer value between 0 and 4, inclusive).
X
X    The	argument switches govern how a file is opened  and  must  be  chosen
X    from this list:
X
X	-r	   The file is opened read-only; if it does  not  exist,  an
X		   error occurs.
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				      43
X
X
X
X	-r+	   The file is opened for reading and writing;	if  it	does
X		   not exist, an error occurs.
X
X	-w	   The file is opened for writing (any previous	contents  of
X		   the file are	lost); if it does not exist, it	is created.
X
X	-w+	   The file is opened for reading and writing (any  previous
X		   contents  of	the file are lost); if it does not exist, it
X		   is created.
X
X	-a	   The file is opened for appending (writes to the file	 are
X		   added  to  the  previous  file  contents); if it does not
X		   exist, it is	created.  All writes  are  appended  to	 the
X		   file	(the ffffsssseeeeeeeekkkk command has no effect).
X
X    The	switches parameter may be omitted; in such cases, the file is opened
X    as	though	'-r'  had  been	 supplied.  However, if	procedure tracing is
X    enabled (see the description of the	interactive  and  procedure  command
X    ppppttttrrrraaaacccceeee), a warning message will be issued.
X
X    The	command	sets $i0 = 0 if	successful,  else  to  the  eeeerrrrrrrrnnnnoooo  from	 the
X    associated	system	call  (refer  to  the %%%%eeeerrrrrrrrssssttttrrrr string function and/or
X    /usr/include/sys/errno.h).
X
X    Example:
X
X	fopen 0	-r '/etc/passwd'
X	fopen 1	-w+ '/tmp/123'
X	fopen 2	-a 'tranact.log'
X
X
X
X    6.2.23  _f_p_u_t_c
X
X    usage: fputc <file>	<char>
X
X    This command writes	character <char> into <file>.  The  <file>  argument
X    is	an  integer  file  number  representing	a file opened with the ffffooooppppeeeennnn
X    command.  Argument <char> is a integer value of which  the	lower  eight
X    bits are used or a string value of which the first character is used.
X
X    If a write error occurs, procedure execution is terminated.
X
X    Example:
X
X	$s0='abc'; fputc 1 $s0	      writes 'a'
X	$i0=0x30 ; fputc 1 $i0	      writes '0'
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				      44
X
X
X
X    6.2.24  _f_p_u_t_s
X
X    usage: fputs [-n] <file> <str>
X
X    This command writes	the string <str> into <file>.  The  <file>  argument
X    is	an  integer  file  number  representing	a file opened with the ffffooooppppeeeennnn
X    command.
X
X    If the switch '-n' is omitted, a newline is	appended after <str> in	 the
X    file; if present, no newline is written.
X
X    If a write error occurs, procedure execution is terminated.
X
X    Example:
X
X	$s0='abc'; fputc 1 $s0	      writes 'a'
X
X
X
X    6.2.25  _f_s_e_e_k
X
X    usage: fseek <file>	<position>
X
X    This command sets  the  file  position  of	<file>	to  <position.	 The
X    corresponding  integer  function  %%%%fffftttteeeellllllll  may  be  used to determine the
X    current file position.
X
X    NNNNooootttteeee: if <file> is open for	append ('-a'), then the	ffffsssseeeeeeeekkkk  command	will
X    have no effect.
X
X
X    6.2.26  _g_o_t_o
X
X    usage: goto	<label>
X
X    This command transfers control of procedure	to a  statement	 other	than
X    the	one immediately	following.  The	<label>	argument may be	literal	text
X    or may be a	string,	allowing a "computed goto" feature.
X
X    Example:
X
X	goto GET_NEXT
X	goto 'GET_NEXT'
X	goto 'GET'+'_NEXT'
X	$s0 = 'GET_NEXT'; goto $s0
X	$s0 = 'NEXT'; goto 'GET_'+$s0
X
X    Note: all the above	examples cause transfer	to the label GET_NEXT.
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				      45
X
X
X
X    6.2.27  _g_o_t_o_b
X
X    usage: gotob <label>
X
X    This command serves	the same function as the  ggggoooottttoooo	command	 except	 the
X    programmer is signifying that the label is bbbbehind the current statement,
X    resulting in slightly faster execution.  (The label	is not	REQUIRED  to
X    be	at  any	 specific  location  in	 the procedure relative	to the ggggoooottttoooobbbb
X    statement.)
X
X
X    6.2.28  _h_a_n_g_u_p
X
X    usage: hangup
X
X    This command causes	Data Terminal Ready (DTR) to be	dropped	momentarily,
X    causing  (hopefully)  the  termination  of	any  current connection	to a
X    remote system. This	command	is  only  effective  if	 the  attached	Data
X    Communications  Equipment  (i.e.,  modem  or VSAT satellite	terminal) is
X    configured to terminate its	connection on loss of DTR.
X
X
X    6.2.29  _h_e_x_d_u_m_p
X
X    usage: hexdump [-s]	<str>
X	   hexdump -t[s] <str1>	<str>
X
X
X    <str> buf to dump <str1> title (if -t) -s short (terse) dump
X
X    This command prints	a hexadecimal dump of <str> on the  screen  (and  to
X    the	procedure log file, if logging enabled with the	ppppttttrrrraaaacccceeee command).
X
X    The	switch '-t' signifies that <str1> is a title to	be printed
X
X    Example:
X
X	$s0='The quick brown fox jumped	over the lazy dog's back'
X	hexdump	-t 'Example hex	dump' $s0
X    ---------------------------- Example hex dump ----------------------------
X    0000  54 68	65 20 71 75 69 63 6B 20	62 72 6F 77 6E 20 | The	quick brown  |
X    0010  66 6F	78 20 6A 75 6D 70 65 64	20 6F 76 65 72 20 | fox	jumped over  |
X    0020  74 68	65 20 6C 61 7A 79 20 64	6F 67 27 73 20 62 | the	lazy dog's b |
X    0030  61 63	6B					  | ack		     |
X
X	hexdump	%left($s0,9)
X    0000  54 68	65 20 71 75 69 63 6B			  | The	quick	     |
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				      46
X
X
X
X	hexdump	-ts 'Example hex dump' %left($s0,9)
X    Example hex	dump
X    0000  54 68	65 20 71 75 69 63 6B | The quick |
X
X	hexdump	-s %left($s0,9)
X    0000  54 68	65 20 71 75 69 63 6B | The quick |
X
X
X
X    6.2.30  _i_c_o_l_o_r
X
X    usage: %icolor <int-colors>
X
X    This command sets the  normal  and	reverse	 foreground  and  background
X    colors according to	<int-colors>, an integer value in the format as	that
X    returned by	the %%%%ccccoooolllloooorrrrssss integer function.
X
X    This command is provided primarily to be able to save the  color  state,
X    modify it temporarily and then restore it.
X
X    Example:
X
X	mkvar $icolor_save; $icolor_save = %colors
X	color red; echo	'Connection seems to be	dead'
X	icolor $icolor_save # restore previous colors
X
X
X
X    6.2.31  _i_f_i
X
X    usage: ifi <int> <rel-op> <int> <statement>
X	   ifi <int> <rel-op> <int>
X	       <statement>
X	   ifi <int> <rel-op> <int>
X	   {
X	       any kind	or number of statements
X	   }
X
X
X    This command selectively executes one or more statements based on a	test
X    of	two integer quantities.	 See the description of	the bbbbrrrreeeeaaaakkkk, ccccoooonnnnttttiiiinnnnuuuueeee,
X    and	eeeellllsssseeee commmands for examples of how the command is used.
X
X
X    6.2.32  _i_f_s
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				      47
X
X
X
X    usage: ifs <str> <rel-op> <str> <statement>
X	   ifs <int> <rel-op> <int>
X	       <statement>
X	   ifs <int> <rel-op> <int>
X	   {
X	       any kind	or number of statements
X	   }
X
X
X    This command selectively executes one or more statements based on a	test
X    of	two  string values.  See the description of the	bbbbrrrreeeeaaaakkkk, ccccoooonnnnttttiiiinnnnuuuueeee, and
X    eeeellllsssseeee commmands and many other  examples  throughout	 the  document,	 for
X    examples of	how the	command	is used.
X
X
X    6.2.33  _l_b_r_e_a_k
X
X    usage: lbreak
X
X    This command transmits a break to the remote system.
X
X
X    6.2.34  _l_g_e_t_s
X
X
X    usage: lgets [-er] <strvar>	<t1-int> <t2-int> [<stop-str>]
X
X    -e echo received characters	to screen
X    -r raw read	(retain	carriage returns)
X
X
X    This command reads a  string  from	the  attached  communications  line.
X    <t1-int>  is  the  number of tenths	of seconds before timing out waiting
X    for	the first character to be  received.   <t2-int>	 is  the  number  of
SHAR_EOF
echo "End of part 43"
echo "File doc/ecu.man is continued in part 44"
echo "44" > 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.