ecu - SCO XENIX V/{2,3}86 Extended CU part 45/47
Warren Tucker
wht at tridom.uucp
Thu Oct 12 05:21:31 AEST 1989
---- 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.
More information about the Alt.sources
mailing list