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

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

---- Cut Here and unpack ----
#!/bin/sh
# this is part 38 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file doc/_p_cmd.txt continued
#
CurArch=38
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/_p_cmd.txt"
sed 's/^X//' << 'SHAR_EOF' >> doc/_p_cmd.txt
X        # got neither 'y' nor 'n' ... keep trying
X    }
X    # now $i0 = 1 if yes, 0 if no
X.DE
X
XNOTE: further examples of
X.B break
Xusage may be found in the example for the
Xelse
Xcommand.
X
X.*s 3 "cd"
X
Xusage: cd <directory-path>
X
XThis command changes ECU's current working directory.
XThe string argument <directory-path> may contain any
Xdirectory pathname specification legal to be submitted to
Xthe shell csh.  Wild card characters may be used, provided
Xthe expansion produces only one pathname.
X
X.DS L
XExample:
X
X    cd '~user/bin'
X    cd %envvar('HOME')+'/bin'
X.DE
X
X.*s 3 "clrx"
X
Xusage: clrx
X
XThis command clears  the attached line's transmitter XOFF state.
XIssuing the command is the equivalent to receiving an XON from
Xthe remote system.
X
X.*s 3 "cls"
X
Xusage: cls
X
XThis command clears the screen.
X
X.*s 3 "color"
X
X.DS L
Xusage: color <normal-foreground> [<normal-background>]
Xusage: color -r <reverse-foreground> [<reverse-background>]
X.DE
X
XThis command changes the current normal or reverse video colors in a
Xmanner similar to the setcolor(C) command.  It has no effect on systems
Xusing a monochrome monitor.  If the second (background) color is
Xomitted, it is assumed to be black.
X
XThe command also forces normal video mode.  Refer to the
X.B vidnorm
Xand
X.B vidrev
Xcommands.
X
X.DS L
XColor 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.DE
X.DS L
XExample:
X
X    color lt_green  # normal video light green on black
X    color -r red white # reverse video red on white
X.DE
X
X.*s 3 "continue"
X
Xusage: continue
X
XThis command is used inside a
X.B whilei
Xor
X.B whiles
Xcompound statement to skip the remainder of any
Xcommands in the loop and continue execution at the first
Xcommand in the loop.
X.DS L
XExample:
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.DE
X
XNOTE: further examples of
X.B continue
Xusage may be found in the example for the
X.B else
Xcommand.
X
X.*s 3 "cursor"
X
Xusage: cursor <row> [<col>]
X
XThis command places the cursor at a specified position on
Xthe video screen.  The top left of the scrren is row 0, column 0.
XIf <col> is not specified, it is assumed 0 (left margin).
X.DS L
XExample:
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.DE
X
X.*s 3 "dial"
X
Xusage: dial <remote>
X
XThis command causes an outgoing call to be placed.  The string
Xargument <remote> can take one of two forms: a numeric telephone
Xnumber or an alphanumeric "logical" number or system name.
X
XA numeric phone number ('1(800)555-1212' or '2345678') must begin
Xwith a digit and must consist entirely of digits, parentheses
Xor hyphens.
XIf a telephone number is supplied, the phone number is
Xdialed; you must first have set the desired baud rate and
Xparity using the 'baud' and 'parity' commands.
X
XIf a logical name is entered, the phone directory (managed by
Xthe interactive
X.B dial
Xcommand) is searched;
Xif the entry is found, the baud rate and parity
Xis automatically set from values in the directory entry; then,
Xthe number in the directory entry is dialed.
X
XWhen the
X.B dial
Xcommand returns, integer variable $i0 is set to a status code
Xand string variable $s0 has a text message (the modem verbal
Xresult code if the ecu dialer is used, a representation of
Xthe return status code if a uucp dialer is used [see below]).
X.DS L
X.B
XDial Command $i0 Status Codes
X.R
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.DE
X.DS L
X.B
XDial Command $s0 Status Messages (uucp dialer)
X.R
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
XNote: if the ecu dialer is used, the actual modem result code
Xis 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.DE
X
X.*s 3 "do"
X
Xusage: do <procname> [<arg> ...]
X
XThis command executes a procedure whose name appears as the command's
Xfirst (string) argument.  One or more arguments (up to 19) may be passed
Xto the called procedure; an argument may consist of any valid string
Xexpression, provided, that, when expanded,  the argument does not
Xexceed 256 characters in length.
X
XThe called procedure may read its arguments using the
X.B %argv
Xstring function.  %argv(0) is the name of the procedure.
XThe quantity of arguments may be obtained using the
X.B %argc
Xinteger function.
X
X.DS L
XExample:
X
X    do 'proc' %rname %date+' '+%time %argv(0)
X
XNote: in this example, the called procedure is passed the name
Xof the calling procedure as the last argument.
X.DE
X
X.*s 3 "duplex"
X
X.DS L
Xusage: duplex full | half
X       duplex 'full' | 'half'
X.DE
X
XThis command specifies whether or not ecu is to locally echo
Xcharacters typed by you at the keyboard.  The overwhelming
Xmajority of remote systems provide the echo function, in
Xwhich case full duplex must be used.  For the rare occasions
Xwhen the remote system does not echo your keyboard input,
Xsetting half duplex will allow you to see what you are
Xtyping.
X
XWhen communicating with another terminal in a "teletype
Xconversation", setting half duplex is generally required.
XIn such cases, use of the interactive
X.B nl ,
X.B nlin
Xand
X.B nlout
Xcommands may also be required.
X.DS L
XExample:
X
X    duplex full
X    $s0 = 'full'; duplex $s0
X.DE
X
X
X.*s 3 "echo"
X
Xusage: echo [-n] <string>
X
XThis command prints the contents of the string argument <string>
Xon the screen.  If the -n switch is not present, a newline follows
Xthe output of <string>.
X.DS L
XExample:
X
X    echo 'Procedure '+%argv(0)+' executing at '+%time
X    echo -n 'Enter your first name: '; $s0 = %cgets
X.DE
X
X.*s 3 "else"
X
X.DF L
Xusage: 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.DE
X
XThis statement may follow an
X.B ifi
Xor
X.B ifs 
Xcommand to specify one or more statements to be executed if
Xthe if-type command condition is false.  Else commands may be
Xchained together in the traditional structured language manner.
X
XFor the purposes of describing this command, <statement> is
Xany single or compound statement
X.B NOT
Xcontaining a
X.B whilei
Xor
X.B whiles
Xcommand.
XIf you wish to have a while-type command executed as part of an
X.B else
Xcondition, the while must occur within braces ("{}").
X
X<if> is an
X.B ifi
Xor
X.B ifs
Xcommand followed by an <if-condition> (see the description of the
X.B ifi
Xor
X.B ifs
Xcommands below).
X.DF L
XExample:
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 '\n' 40    # swallow command
X    whilei 1==1        # forever, or until break
X    {
X        lgets 0 $itimeout 1 '\n' #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.DE
X
X.*s 3 "exit"
X
Xusage: exit [<status>]
X
XThis command causes an abrupt termination of the ecu program.
XAny existing connection with a remote system
Xis terminated immediately.
XIf no integer argument <status> is found, ecu exits
Xwith a program exit status of 0.
XIf <status> is found and the value is zero, then ecu exits
Xwith a program exit status of 0.
XIf <status> non-zero,its value must be in the range of 1 to 31,
Xand ecu exits
Xwith a program exit status of 192 plus <status>.
XThis feature allows batch executions of ecu by shell script
Xand ECU procedure to detect ECU execution status.
X
X
X.*s 3 "fchmod"
X
Xusage: fchmod <mode> <file>
X
XThis command sets the mode of <file> to <mode>.
XThe <mode> argument takes one of two forms, a nine-character
Xmode string (e.g., 'rwxr-xr-x') or an integer value (0755).
XThe <file> argument is either a string value forming a
Xfilename or an integer file number representing a file opened with the
X.B fopen
Xcommand.
X
XThe command sets $i0 = 0 if successful, else to the
X.B errno
Xfrom the associated system call (refer to the 
X.B %errstr
Xstring function and/or /usr/include/sys/errno.h).
X
X.DS L
XExample:
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
XAll of the above example result in the same result.
X.DE
X
X.*s 3 "fclose"
X
Xusage: fclose <file>
X
XThis command closes <file>.
XThe <file> argument is an
Xinteger file number representing a file opened with the
X.B fopen
Xcommand.
X
XThe command is ignored if <file> is not open.
XNo integer variable is modified by
X.I fclose .
X
X.DS L
XExample:
X
X    fclose 1
X.DE
X
X.*s 3 "fdel"
X
Xusage: fdel <file>
X
XThis command removes a file.
X
XThe command sets $i0 = 0 if successful, else to the
X.B errno
Xfrom the associated system call (refer to the 
X.B %errstr
Xstring function and/or /usr/include/sys/errno.h).
X
X.DS L
XExample:
X
X    fdel '/tmp/123'
X.DE
X
X.*s 3 "fgetc"
X
Xusage: fgetc <file> <destination>
X
XThis command reads a character from <file>.
XThe <file> argument is an
Xinteger file number representing a file opened with the
X.B fopen
Xcommand.
X
XThe argument <destination> is either a string variable
Xor an integer variable.
XIf the file has reached end of file: an integer variable
Xreceives -1; a string variable is returned null.
XOtherwise, the character's numeric value (0-255) is placed
Xin an integer variable or a string variable is returned with a
Xlength of one with the file character as its only character.
X
X.DS L
XExample:
X
X    fgetc 1 $s0
X    fgetc 1 $i_input
X.DE
X
X.*s 3 "fgets"
X
Xusage: fgets <file> <strvar>
X
XThis command reads a character from <file>.
XThe <file> argument is an
Xinteger file number representing a file opened with the
X.B fopen
Xcommand.
X
XThe argument <strvar> is a string variable
Xor an integer variable.
XIf the file has reached end of file, <strvar> is returned null.
XOtherwise, the character's numeric value (0-255) is placed
Xin an integer variable or a string variable is returned with a
Xlength of one with the file character as its only character.
X
X.DS L
XExample:
X
X    fgets 1 $s0
X.DE
X
X.*s 3 "fkey"
X
Xusage: fkey <str>
X
XThis command selects a function key definition from the ~/.ecu/keys
Xfile.
X
X.*s 3 "flush"
X
Xusage: flush
X
XThis command causes any characters received by the system
Xfrom the line, but not yet read by the procedure to be "forgotten"
Xor flushed.
X
X.*s 3 "fopen"
X
Xusage: fopen [-switches] <filenum> <filename>
X
XThis command opens a file named by the string argument <filename>
Xand associates it with the user-chosen file number <filenum> (which
Xmust be an integer value between 0 and 4, inclusive).
X
XThe argument switches govern how a file is opened and must be chosen
Xfrom this list:
X.VL 15 4
X.LI -r
XThe file is opened read-only; if it does not
Xexist, an error occurs.
X.LI -r+
XThe file is opened for reading and writing; if it does not
Xexist, an error occurs.
X.LI -w
XThe file is opened for writing (any previous contents
Xof the file are lost); if it does not
Xexist, it is created.
X.LI -w+
XThe file is opened for reading and writing (any previous contents
Xof the file are lost); if it does not
Xexist, it is created.
X.LI -a
XThe file is opened for appending (writes to the file
Xare added to the previous file contents); if it does not
Xexist, it is created.
XAll writes are appended to the file (the
X.B fseek
Xcommand has no effect).
X.LE
X
XThe switches parameter may be omitted; in such cases,
Xthe file is opened as though '-r' had been supplied.  However,
Xif procedure tracing is enabled (see the description of the
Xinteractive and procedure command
X.B ptrace ),
Xa warning message will be issued.
X
XThe command sets $i0 = 0 if successful, else to the
X.B errno
Xfrom the associated system call (refer to the 
X.B %errstr
Xstring function and/or /usr/include/sys/errno.h).
X.DS L
XExample:
X
X    fopen 0 -r '/etc/passwd'
X    fopen 1 -w+ '/tmp/123'
X    fopen 2 -a 'tranact.log'
X.DE
X
X.*s 3 "fputc"
X
Xusage: fputc <file> <char>
X
XThis command writes character <char> into <file>.
XThe <file> argument is an
Xinteger file number representing a file opened with the
X.B fopen
Xcommand.
XArgument <char> is a integer value of which the lower eight
Xbits are used or a string value of which the first character is used.
X
XIf a write error occurs, procedure execution is terminated.
X.DS L
XExample:
X
X    $s0='abc'; fputc 1 $s0        writes 'a'
X    $i0=0x30 ; fputc 1 $i0        writes '0'
X.DE
X
X.*s 3 "fputs"
X
Xusage: fputs [-n] <file> <str>
X
XThis command writes the string <str> into <file>.
XThe <file> argument is an
Xinteger file number representing a file opened with the
X.B fopen
Xcommand.
X
XIf the switch '-n' is omitted, a newline is appended after <str>
Xin the file; if present, no newline is written.
X
XIf a write error occurs, procedure execution is terminated.
X.DS L
XExample:
X
X    $s0='abc'; fputc 1 $s0        writes 'a'
X.DE
X
X.*s 3 "fseek"
X
Xusage: fseek <file> <position>
X
XThis command sets the file position of <file> to <position.
XThe corresponding integer function
X.B %ftell
Xmay be used to determine the current file position.
X
X.B Note :
Xif <file> is open for append ('-a'), then the
X.B fseek
Xcommand will have no effect.
X
X.*s 3 "goto"
X
Xusage: goto <label>
X
XThis command transfers control of procedure to a statement
Xother than the one immediately following.  The <label>
Xargument may be literal text or may be a string, allowing
Xa "computed goto" feature.
X.DS L
XExample:
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.DE
XNote: all the above examples cause transfer to the label GET_NEXT.
X
X.*s 3 "gotob"
X
Xusage: gotob <label>
X
XThis command serves the same function as the
X.B goto
Xcommand except the programmer is signifying that the label
Xis
X.B b ehind
Xthe current statement, resulting in slightly faster execution.
X(The label is not REQUIRED to be at any specific location
Xin the procedure relative to the
X.B gotob
Xstatement.)
X
X.*s 3 "hangup"
X
Xusage: hangup
X
XThis command causes Data Terminal Ready (DTR)
Xto be dropped momentarily, causing (hopefully)
Xthe termination of any current connection
Xto a remote system. 
XThis command is only effective if the attached Data Communications
XEquipment (i.e., modem or VSAT satellite terminal) is configured
Xto terminate its connection on loss of DTR.
X
X.*s 3 "hexdump"
X.DS L
Xusage: hexdump [-s] <str>
X       hexdump -t[s] <str1> <str>
X.DE
X
X<str> buf to dump
X<str1> title (if -t)
X-s short (terse) dump
X
XThis command prints a hexadecimal dump of <str> on the screen
X(and to the procedure log file, if logging enabled with the
X.B ptrace
Xcommand).
X
XThe switch '-t' signifies that <str1> is a title to be printed
X.DS L
XExample:
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 ----------------------------
X0000  54 68 65 20 71 75 69 63 6B 20 62 72 6F 77 6E 20 | The quick brown  |
X0010  66 6F 78 20 6A 75 6D 70 65 64 20 6F 76 65 72 20 | fox jumped over  |
X0020  74 68 65 20 6C 61 7A 79 20 64 6F 67 27 73 20 62 | the lazy dog's b |
X0030  61 63 6B                                        | ack              |
X.DE
X.DS L
X    hexdump %left($s0,9)
X0000  54 68 65 20 71 75 69 63 6B                      | The quick        |
X.DE
X.DS L
X    hexdump -ts 'Example hex dump' %left($s0,9)
XExample hex dump
X0000  54 68 65 20 71 75 69 63 6B | The quick |
X.DE
X.DS L
X    hexdump -s %left($s0,9)
X0000  54 68 65 20 71 75 69 63 6B | The quick |
X.DE
X
X.*s 3 "icolor"
X
Xusage: %icolor <int-colors>
X
XThis command sets the normal and reverse foreground
Xand background colors according to <int-colors>, an integer
Xvalue in the format as that returned by the
X.B %colors
Xinteger function.
X
XThis command is provided primarily to be able to save the color
Xstate, modify it temporarily and then restore it.
X.DS L
XExample:
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.DE
X
X.*s 3 "ifi"
X.DS L
Xusage: 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.DE
X
XThis command selectively executes one or more statements
Xbased on a test of two integer quantities.  See the
Xdescription of the
X.B break ,
X.B continue ,
Xand
X.B else
Xcommmands for examples of how the command is used.
X
X.*s 3 "ifs"
X.DS L
Xusage: 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.DE
X
XThis command selectively executes one or more statements
Xbased on a test of two string values.  See the
Xdescription of the
X.B break ,
X.B continue ,
Xand
X.B else
Xcommmands
Xand many other examples throughout the document,
Xfor examples of how the command is used.
X
X.*s 3 "lbreak"
X
Xusage: lbreak
X
XThis command transmits a break to the remote system.
X
X.*s 3 "lgets"
X
X.DS L
Xusage: 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.DE
X
XThis command reads a string from the attached communications
Xline.
X<t1-int> is the number of tenths of seconds before
Xtiming out waiting for the first character to be received.
X<t2-int> is the number of tenths of seconds before
Xtiming out on later characters.
X<stop-str> is an optional argument, which if received, immediately
Xterminates the read.
XInteger variable $i0 is set to the count of characters received.
X
X.*s 3 "logevent"
X.DS L
Xusage: logevent <str>
X.DE
X
XThis command writes a log item to ~/.ecu/log.
X
X.DS L
XExample:
X
X    $s0='/tmp/alm.log'
X    log 'appending alarm info to '+$s0
X
Xwrites:
X10-02-1989-17:39-01261-PROC appending alarm info to /tmp/alm.log
X.DE
X.*s 3 "lookfor"
X.DS L
Xlookfor [-e] [quiet | <str>] [<timeout-int>]
X
X-e echo to screen while "looking"
X.DE
XThis command is used to read from the attached commuications line
Xuntil one of two user-specified conditions occurs.
X
XThe 'quiet' option waits becomes quiet for the number of tenths
Xof seconds specified  by <timeout-int>.
X
XThe other option reads the line until <str> is read from the line
Xor until <timeout-int> tenths of seconds elapses.  With this option,
Xinteger variable $i0 is set to 1 if <str> is found within the
Xtimeout period or 0 if not.
X
X.DS L
XExamples:
X
X    lookfor -e quiet 20   wait for quiet line for 2 secs
X    lookfor 'word:' 50    wait for 'word:' for up to 5 secs
X.DE
X.*s 3 "mkvar"
X.DS L
Xusage: mkvar [$]i<name>
X       mkvar [$]s<name>(<size>)
X.DE
X
XThis command creates one or more named integer or string variables.
XThe variable type is determines by the first character
Xof the variable, which must be 'i' or 's'.  The size of a string
Xvariable must be specified via the <size> argument.  An optional '$'
Xmay be supplies for neatness, but may be omitted if desired.
X
XThe maximum value for <size> is 5120.  Note that most commands
Xare not capable of handling variables longer in current length
Xthan 256.  Procedures employing created string variables longer
Xthan 256 characters should be tested carefully with string lengths
Xthat exceed 256.
X
XThe scope of created variables is for the duration of the execution
Xof the creating procedure.  Procedures called
Xby the creating procedure (by 'do') can reference
Xcreated variables.  When created, integer variables are set
Xto zero and string variables are set to zero length.
XThese features differ from numbered variables
Xwhich retain their scope and values at all times, even when
Xprocedure execution terminates and ECU returns to interactive mode.
X
XThe <name> space for integer and string variables are separate.
XIt is possible to have an integer variable named '$ixyz' and a string
Xvariable named '$sxyz'.  <name> may contain any alphabetic or numeric
Xcharacter or the underscore ('_') character, but must begin with a
Xnon-numeric character.  '$s_xyz' and '$sxyz' or legal, but '$s3xyz'
Xis not (would be interpreted as '$s3' followed by the illegal
Xcommand sequence 'xyz').
X
XVariables may be created by the same name more than once.
XThe latest mkvar execution specifies the variable referenced.
XThus if proc1 declares '$ixx' and calls proc2 which also declares '$ixx',
Xproc2's variable is distinct from proc1's and disappears when proc2
Xterminates, thus making proc1's available to it again, containing
Xthe same value as it had at the time proc2 was called.
X
X.DS L
XExamples:
X
X    mkvar i_count
X    mkvar $i_count
X    mkvar s20(20),s80(80),i_timeout,$i_colors
X.DE
X
X.*s 3 "nap"
Xusage: nap <int>
X
XThis command suspends procedure execution for <int> tenths of
Xseconds.
X
X.DS L
XExamples:
X
X    nap 30
X    nap $i0*$i2
X.DE
X.*s 3 "parity"
X.DS L
Xusage: parity [even | odd | none]
X       parity <str>
X.DE
X
XThis command sets the parity for the attached communications line.
XIf <str> is supplied, the first character must be 'e', 'o' or 'n'.
XUppercase equivalents are also accepted.
X
X.DS L
XExamples:
X
X    parity even
X    parity 'e'
X    parity 'Even now as we speak'
X.DE
X
X.*s 3 "plog"
X.DS L
Xusage: plog
X       plog <str>
X       plog off
X.DE
X
XThis command controls logging to a file of the screen output during
Xprocedure execution.  With no argument, the command displays the status
Xof logging.  <str> specifies a log file pathname, while the 'off'
Xargument turns logging off.
X
XIf procedure execution terminates due to an error, procedure logging
Xis turned off.  However, if procedure execution terminates
Xnormally while logging is active, erratic and unpredictable portions
Xof interactive mode screen output will continue to be logged to
Xthe current log file.
X
XThe interactive mode command
X.b plog
Xmay also be used to control procedure logging.
X.DS L
XExample:
X
X    mkvar s_logname(128)
X    $s_logname = %dir+'logname'
X    plog $s_logname
X    echo 'Test'
X    plog off;cd 'somewhere_else';plog $s_logname
X    echo 'Test'
X.DE
X
X
X.*s 3 "prompt"
Xusage: prompt <str>
X
XThis command allows selection of an alternate prompt to the interactive
Xmode HOME command trigger.
XRefer to the section titled "ECUPROMPT"
Xfor more information on the interactive mode prompt.
X
XNote: the interactive and procedure
X.b hangup
Xcommands both cause the default prompt to be reestablished.
X
X.DS L
XExample:
X
X     prompt %rname+' >'    use remote name in prompt
X.DE
X
X.*s 3 "ptrace"
X.DS L
Xusage: ptrace [ <str> | off ]
X.DE
X
XThis command controls procedure execution tracing.  Trace
Xoutput is written to the screen and varys in its nature depending upon
Xthe command being traced.  Specifically, any change to a string or
Xinteger variable is noted.  If tracing is enabled, the output will also
Xbe written to any active procedure log file (see the
X.b plog
Xinteractive and procedure commands).
X
X.*s 3 "return"
Xusage: return [<int>]
X
XThis command causes the currently executing procedure to terminate,
Xreturning either to a calling procedure or to the interactive mode.
XIf <int> is supplied, if it nonzero, then all procedure execution is
Xterminated and the integer status is printed
Xon the screen along with the name of the executing procedure.
X
X.*s 3 "rk"
Xusage: rk [-a]
X
XThis command invokes the Kermit file receive protocol.  If switch '-a'
Xis omitted, the received files are stored as received; otherwise
Xcarriage return/linefeed pairs are converted to newlines.
XThe remote sender must have been started prior the the
Xexecution of this command.
X
X.*s 3 "rs"
Xusage: rs
X
XThis command invokes the SEAlink file receive protocol.
XThere
Xis no provision in the SEAlink protocol to convert
Xcarriage return/linefeed pairs to newlines,
Xso the received files are stored as received.
XThe remote sender must have been started prior the the
Xexecution of this command.
X
X.*s 3 "rx"
Xusage: rx [-a] <str>
X
XThis command invokes the XMODEM file receive protocol
Xto receive file <str>.  If switch '-a'
Xis omitted, the received file is stored as received; otherwise
Xcarriage return/linefeed pairs are converted to newlines.
XThe remote sender must have been started prior the the
Xexecution of this command.
X
X.*s 3 "ry"
Xusage: ry
X
XThis command invokes the YMODEM Batch (not to be confused with
XXMODEM-1K) protocol to receive files from a remote system.  The remote
Xsender must have been started prior the the execution of this command.
X
X.*s 3 "rz"
Xusage: rz
X
XThis command invokes the ZMODEM protocol to receive
Xfiles from a remote system.
XThe remote sender must have been started prior the the
Xexecution of this command.
X
X.*s 3 "scrdump"
Xusage: scrdump [<str>]
X
XThis command causes the current screen contents to be
Xstored in a file.  If <str> is supplied, it is used as a pathname.
XIf <str> is not supplied, "~/.ecu/screen.dump".
XThe actions of the interactive
X.b sdname
Xcommand have no effect on the execution of this command.
X
X.*s 3 "send"
Xusage: send [-n] <str>
X
XThis command sends <str> to the communications line.  If the '-n'
Xswitch is omitted, a carriage return (0x0D) is transmitted after <str>.
XIf '-n' is supplied, no carriage return is transmitted.
X
X.DS L
XExamples:
X
X    send 'ps -au'
X    send -n %chr(0x02)+"START'+%chr(0x03)
X.DE
X
X.*s 3 "set"
X.DS L
Xusage: set [$]i<name>=<int-expression>[, ...]
X       set [$]s<name>=<str-expression>[, ...]
X.DE
X
XThis command sets an integer or string variable
Xto an expression.  The 'set' verb may be omitted provided the
Xotherwise optional '$' is supplied.  There are many examples of
Xhow the set statement is performed throughout this document.
XThe examples here are to further clarify the statement's syntax.
X
XIf the '=<expression>' is omitted, the value of the variable is
Xdisplayed (useful when debugging).   If procedure tracing is
SHAR_EOF
echo "End of part 38"
echo "File doc/_p_cmd.txt is continued in part 39"
echo "39" > 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.