Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cu(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                    cu(1)



        _________________________________________________________________
        cu                                                        Command
        call another UNIX system
        _________________________________________________________________


        SYNTAX

        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
                    /usr/lib/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



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                                    cu(1)



                    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.

        -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 -
                    /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 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.



        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                                    cu(1)



        ~!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-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 ~.

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



        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)





                                                                    cu(1)



        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 auto



        DG/UX 4.00                                                 Page 4
               Licensed material--property of copyright holder(s)





                                                                    cu(1)



        dialer:
             cu  -l  culXX  9=12015551212

        To use a system name:
             cu  systemname


        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 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.













        DG/UX 4.00                                                 Page 5
               Licensed material--property of copyright holder(s)



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