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.