Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cu(1) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat(1)

ct(1)

echo(1)

stty(1)

uucp(1)

uname(1)



     cu(1)                      DG/UX 4.30                       cu(1)



     NAME
          cu - call another UNIX system

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

     DESCRIPTION
          cu calls up another 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 /etc/uucp/Devices file.  Most
                      modems are either 300 or 1200 baud; however,
                      newer models may be 2400.  Directly connected
                      lines may be set to a speed higher than 1200
                      baud.

          -lline      Specifies a device name to use as the
                      communication 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 device
                      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



     Licensed material--property of copyright holder(s)         Page 1





     cu(1)                      DG/UX 4.30                       cu(1)



                      set to auto answer.  Appropriate mapping of
                      carriage-return to carriage-return-line-feed
                      pairs is set.

          -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
                      provide 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
                      secondary dial tone or minus signs placed
                      appropriately for delays of 4 seconds.

          systemname  A uucp system name may be used rather than a
                      telephone number; in this case, cu will obtain
                      an appropriate direct line or telephone number
                      from /etc/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 available line for the system name
                      specified, ignoring the requested line and
                      speed.  If the systems file contains a login for
                      a specific user, cu will log you in as that
                      user.

          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
          protocol (^s/^q) is used to control input from the remote so
          the buffer is not overrun.  Lines beginning with ~ have
          special meanings as described below:

          The transmit process interprets the following user initiated
          commands:

          ~.                  terminate the conversation.

          ~!                  escape to an interactive shell on the
                              local system.

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



     Licensed material--property of copyright holder(s)         Page 2





     cu(1)                      DG/UX 4.30                       cu(1)



          ~$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-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 argument 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(7)
                              structure variables for the user's
                              terminal (useful for debugging).

          ~l                  prints the values of the termio(7)
                              structure variables for the remote
                              communication line (useful for
                              debugging).

          ~%nostop            toggles between DC3/DC1 (^s/^q) input
                              control protocol and no input control.
                              This is useful in case the remote system
                              is one which does not respond properly
                              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 redirection to a
          file when a line from the remote begins with ~.



     Licensed material--property of copyright holder(s)         Page 3





     cu(1)                      DG/UX 4.30                       cu(1)



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

          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.

          The use of ~%take requires the existence of echo(1), cat(1)
          and test(1) on the remote system.  ~%Take will not work if
          you are logged in to a C shell on the remote system; the C
          shell does not support the test command.  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
          subsequently 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
          original machine, ~~ causes the command to be executed on
          the next machine in the chain.

     EXAMPLES
          To dial a system whose telephone number is 9 1201 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 a specific line and a specific speed:
               cu  -s1200  -l  ttyXX

          To dial a system using a specific line associated with an



     Licensed material--property of copyright holder(s)         Page 4





     cu(1)                      DG/UX 4.30                       cu(1)



          auto dialer:
               cu  -l  culXX  9=12015551212

          To use a system name:
               cu  systemname

     FILES
          /etc/uucp/Systems
          /etc/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
          characters 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.

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
























     Licensed material--property of copyright holder(s)         Page 5



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