Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat(1)

ct(1)

echo(1)

stty(1)

uucp(1)

uname(1)



CU(1-SysV)          RISC/os Reference Manual           CU(1-SysV)



NAME
     cu - call another RISC/os system or UNIX system

SYNOPSIS
     cu [-sspeed] [-lline] [-h] [-t] [-d] [-o | -e] [-n] telno
     cu [ -sspeed ] [ -h ] [ -d ] [ -o | -e ] -lline
     cu [-h] [-d] [-o | -e] systemname

DESCRIPTION
     cu calls up another  RISC/os or a UNIX system, a terminal,
     or possibly a non-UNIX system.  It manages an interactive
     conversation with possible transfers of ASCII files.

     cu accepts the following options and arguments:

     -sspeed   Specifies the transmission speed (300, 1200, 2400,
               4800, 9600); The default value is "Any" speed
               which will depend on the order of the lines in the
               /usr/lib/uucp/Devices file.  Most modems are
               either 300 or 1200 baud. Directly connected lines
               may be set to a speed higher than 1200 baud.

     -lline    Specifies a device name to use as the communica-
               tion line. This can be used to override the search
               that would otherwise take place for the first
               available line having the right speed. When the -l
               option is used without the -s option, the speed of
               a line is taken from the Devices file. When the -l
               and -s options are both used together, cu will
               search the Devices file to check if the requested
               speed for the requested line is available. If so,
               the connection will be made at the requested
               speed; otherwise an error message will be printed
               and the call will not be made. The specified dev-
               ice is generally a directly connected asynchronous
               line (e.g., /dev/ttyab) in which case a telephone
               number (telno) is not required.  The specified
               device need not be in the /dev directory.  If the
               specified device is associated with an auto
               dialer, a telephone number must be provided. Use
               of this option with systemname rather than telno
               will not give the desired result (see systemname
               below).

     -h        Emulates local echo, supporting calls to other
               computer systems which expect terminals to be set
               to half-duplex mode.

     -t        Used to dial an ASCII terminal which has been set
               to auto answer.  Appropriate mapping of carriage-
               return to carriage-return-line-feed pairs is set.




                         Printed 1/15/91                   Page 1





CU(1-SysV)          RISC/os Reference Manual           CU(1-SysV)



     -d        Causes diagnostic traces to be printed.

     -o        Designates that odd parity is to be generated for
               data sent to the remote system.

     -n        For added security, will prompt the user to pro-
               vide the telephone number to be dialed rather than
               taking it from the command line.

     -e        Designates that even parity is to be generated for
               data sent to the remote system.

     telno     When using an automatic dialer, the argument is
               the telephone number with equal signs for secon-
               dary dial tone or minus signs placed appropriately
               for delays of 4 seconds.

     systemname
               A uucp system name may be used rather than a tele-
               phone number; in this case, cu will obtain an
               appropriate direct line or telephone number from -
               /usr/lib/uucp/Systems. Note: the systemname option
               should not be used in conjunction with the -l and
               -s options as cu will connect to the first avail-
               able line for the system name specified, ignoring
               the requested line and speed.

     After making the connection, cu runs as two processes:  the
     transmit process reads data from the standard input and,
     except for lines beginning with ~, passes it to the remote
     system; the receive process accepts data from the remote
     system and, except for lines beginning with ~, passes it to
     the standard output.  Normally, an automatic DC3/DC1 proto-
     col is used to control input from the remote so the buffer
     is not overrun.  Lines beginning with ~ have special mean-
     ings.

     The transmit process interprets the following user initiated
     commands:

     ~.        terminate the conversation.

     ~!        escape to an interactive shell on the local sys-
               tem.

     ~!cmd...  run cmd on the local system (via sh -c).

     ~$cmd...  run cmd locally and send its output to the remote
               system.

     ~%cd      change the directory on the local system.  Note:
               ~!cd will cause the command to be run by a sub-



 Page 2                  Printed 1/15/91





CU(1-SysV)          RISC/os Reference Manual           CU(1-SysV)



               shell, probably not what was intended.

     ~%take from [ to ]
               copy file from (on the remote system) to file to
               on the local system.  If to is omitted, the from
               argument is used in both places.

     ~%put from [ to ]
               copy file from (on local system) to file to on
               remote system.  If to is omitted, the from argu-
               ment is used in both places.

               For both ~%take and put commands, as each block of
               the file is transferred, consecutive single digits
               are printed to the terminal.

     ~~ line   send the line ~ line to the remote system.

     ~%break   transmit a BREAK to the remote system (which can
               also be specified as ~%b).

     ~%debug   toggles the -d debugging option on or off (which
               can also be specified as ~%d).

     ~t        prints the values of the termio structure vari-
               ables for the user's terminal (useful for debug-
               ging).

     ~l        prints the values of the termio structure vari-
               ables for the remote communication line (useful
               for debugging).

     ~%nostop  toggles between DC3/DC1 input control protocol and
               no input control.  This is useful in case the
               remote system is one which does not respond prop-
               erly to the DC3 and DC1 characters.

     The receive process normally copies data from the remote
     system to its standard output.  Internally the program
     accomplishes this by initiating an output diversion to a
     file when a line from the remote begins with ~.

     Data from the remote is diverted (or appended, if >> is
     used) to file on the local system.  The trailing ~> marks
     the end of the diversion.

     The use of ~%put requires stty(1) and cat(1) on the remote
     side.  It also requires that the current erase and kill
     characters on the remote system be identical to these
     current control characters on the local system.  Backslashes
     are inserted at appropriate places.




                         Printed 1/15/91                   Page 3





CU(1-SysV)          RISC/os Reference Manual           CU(1-SysV)



     The use of ~%take requires the existence of echo(1) and
     cat(1) on the remote system.  Also, tabs mode (See stty(1))
     should be set on the remote system if tabs are to be copied
     without expansion to spaces.

     When cu is used on system X to connect to system Y and sub-
     sequently used on system Y to connect to system Z, commands
     on system Y can be executed by using ~~. Executing a tilde
     command reminds the user of the local system uname.  For
     example, uname can be executed on Z, X, and Y as follows:

          uname
          Z
          ~[X]!uname
          X
          ~~[Y]!uname
          Y

     In general, ~ causes the command to be executed on the ori-
     ginal machine, ~~ causes the command to be executed on the
     next machine in the chain.

EXAMPLES
     To dial a system whose telephone number is 9 201 555 1212
     using 1200 baud (where dialtone is expected after the 9):

          cu  -s1200   9=12015551212

     If the speed is not specified, "Any" is the default value.

     To login to a system connected by a direct line:

          cu  -l  /dev/ttyXX

     or
          cu -l ttyXX

     To dial a system with the specific line and a specific
     speed:

          cu  -s1200  -l  ttyXX

     To dial a system using a specific line associated with an
     auto dialer:

          cu  -l  culXX  9=12015551212

     To use a system name:

          cu  systemname





 Page 4                  Printed 1/15/91





CU(1-SysV)          RISC/os Reference Manual           CU(1-SysV)



FILES
     /usr/lib/uucp/Systems
     /usr/lib/uucp/Devices
     /usr/spool/locks/LCK..(tty-device)

SEE ALSO
     cat(1), ct(1), echo(1), stty(1), uucp(1), uname(1).

DIAGNOSTICS
     Exit code is zero for normal exit, otherwise, one.

WARNINGS
     The cu command does not do any integrity checking on data it
     transfers.  Data fields with special cu characters may not
     be transmitted properly.  Depending on the interconnection
     hardware, it may be necessary to use a ~. to terminate the
     conversion even if stty 0 has been used.  Non-printing char-
     acters are not dependably transmitted using either the ~%put
     or ~%take commands.  cu between an IMBR1 and a penril modem
     will not return a login prompt immediately upon connection.
     A carriage return will return the prompt.

ERRORS
     There is an artificial slowing of transmission by cu during
     the ~%put operation so that loss of data is unlikely.






























                         Printed 1/15/91                   Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026