NAME
tip, cu - connect to a remote system

SYNOPSIS
tip [ -p ] [ -s ] [ -v ] [ -speed ] system-name [ page-data ]
tip [ -p ] [ -s ] [ -v ] [ -speed ] phone-number [ page-data ]
cu phone-number [ -t ] [ -s speed ] [ -a acu ] [ -l line ] [ -# ]

DESCRIPTION
Tip and cu establish a full-duplex connection to another machine,
giving the appearance of being logged in directly on the remote
cpu. It goes without saying that you must have a login on the
machine (or equivalent) to which you wish to connect. The
preferred interface is tip. The cu interface is included for those
people attached to the "call UNIX" command of version 7. This
manual page describes only tip.

The -p and -s options enable specialized code in the tip program to
process sending pager messages or to enable SLIP style dialup
network connections. These options are discussed later.

Typed characters are normally transmitted directly to the remote
machine (which does the echoing as well). A tilde (‘~’) appearing
as the first character of a line is an escape signal; the following
are recognized:

~^D ~. Drop the connection and exit (you may still be logged
in on the remote machine).

~c [name] Change directory to name (no argument implies change to
your home directory).

~! Escape to a shell (exiting the shell will return you to
tip).

~> Copy file from local to remote. Tip prompts for the
name of a local file to transmit.

~< Copy file from remote to local. Tip prompts first for
the name of the file to be sent, then for a command to
be executed on the remote machine.

~p from [ to ]
Send a file to a remote UNIX host. The put command
causes the remote UNIX system to run the command string
"cat > ’to"’, while tip sends it the "from" file.
If the "to" file isn’t specified the "from" file
name is used. This command is actually a UNIX specific
version of the "~>" command.

~t from [ to ]
Take a file from a remote UNIX host. As in the put
command the "to" file defaults to the "from" file
name if it isn’t specified. The remote host executes
the command string "cat ’from’;echo ^A" to send the
file to tip.

~| Pipe the output from a remote command to a local UNIX
process. The command string sent to the local UNIX
system is processed by the shell.

~$ Pipe the output from a local UNIX process to the remote
host. The command string sent to the local UNIX system
is processed by the shell.

~# Send a BREAK to the remote system. For systems which
don’t support the necessary ioctl call the break is
simulated by a sequence of line speed changes and DEL
characters.

~s Set a variable (see the discussion below).

~^Z Stop tip (only available with job control).

~^Y Stop only the "local side" of tip (only available
with job control); the "remote side" of tip, the side
that displays output from the remote host, is left
running.

~? Get a summary of the tilde escapes

Tip uses the file /etc/remote to find how to reach a particular
system and to find out how it should operate while talking to the
system; refer to remote(5) for a full description. Each system has
a default baud rate with which to establish a connection. If this
value is not suitable, the baud rate to be used may be specified on
the command line, e.g. "tip -300 mds".

When tip establishes a connection it sends out a connection message
to the remote system; the default value, if any, is defined in
/etc/remote.

When tip prompts for an argument (e.g. during setup of a file
transfer) the line typed may be edited with the standard erase and
kill characters. A null line in response to a prompt, or an
interrupt, will abort the dialogue and return you to the remote
machine.

Tip guards against multiple users connecting to a remote system by
opening modems and terminal lines with exclusive access, and by
honoring the locking protocol used by uucp(1).

During file transfers tip provides a running count of the number of
lines transferred. When using the ~> and ~< commands, the
"eofread" and "eofwrite" variables are used to recognize end-
of-file when reading, and specify end-of-file when writing (see
below). File transfers normally depend on tandem mode for flow
control. If the remote system does not support tandem mode,
"echocheck" may be set to indicate tip should synchronize with
the remote system on the echo of each transmitted character.

When tip must dial a phone number to connect to a system it will
print various messages indicating its actions. Tip supports the
DEC DN-11 and Racal-Vadic 831 auto-call-units; the DEC DF02 and
DF03, Ventel 212+, Racal-Vadic 3451, and Bizcomp 1031 and 1032
integral call unit/modems.

The -p option causes tip to dial the system or number specified and
then enter code designed to interact with the remote system in a
standard protocol for sending messages to dialup alphanumeric
pagers. The page-data argument specifies the service login code,
pager id(s), and the message text. Each field is separated by a
tab and the entire string must appear to tip as a single argument.
The text should not contain any control characters. Tip will
convert any non printable characters to ‘?’. The pager id field
may be further separated with commas into a list of pager ids to
receive the same message. In such a case, all the messages will be
sent in a single phone call. For example the command:

tip -p metro "12345678 20001,20002 Phone the office."

would cause the system called "metro" in /etc/remote to be
called. Tip would "login" as 12345678 to the ID prompt and then
send the message "Phone the office." to pagers 20001 and 20002.

The -s option causes tip to enable SLIP or a similar network
protocol on the line after a successful connection and potentially
a successful login if a login script is given in /etc/remote
("ls=login_script"). The entry in /etc/remote must specify the
local address ("sa="), the destination address ("da="), and the
netmask ("sm=") for the connection. The type of protocol to be
enabled can optionally be specified with the "st=" parameter.
Currently only "slip" is supported. If the boolean flage "rt"
is present, then a default route will be established on the SLIP
interface if the system currently lack a default route for IP.
This is useful for end-point systems which use SLIP to connect to a
larger gateway system which servers as their only IP path to other
systems.

VARIABLES

Tip maintains a set of variables which control its operation. Some
of these variable are read-only to normal users (root is allowed to
change anything of interest). Variables may be displayed and set
through the "s" escape. The syntax for variables is patterned
after vi(1) and Mail(1). Supplying "all" as an argument to the
set command displays all variables readable by the user.
Alternatively, the user may request display of a particular
variable by attaching a ‘?’ to the end. For example "escape?"
displays the current escape character.

Variables are numeric, string, character, or boolean values.
Boolean variables are set merely by specifying their name; they may
be reset by prepending a ‘!’ to the name. Other variable types are
set by concatenating an ‘=’ and the value. The entire assignment
must not have any blanks in it. A single set command may be used
to interrogate as well as set a number of variables. Variables may
be initialized at run time by placing set commands (without the
"~s" prefix in a file .tiprc in one’s home directory). The -v
option causes tip to display the sets as they are made. Certain
common variables have abbreviations. The following is a list of
common variables, their abbreviations, and their default values.

beautify (bool) Discard unprintable characters when a session is
being scripted; abbreviated be.

baudrate (num) The baud rate at which the connection was
established; abbreviated ba.

dialtimeout (num) When dialing a phone number, the time (in
seconds) to wait for a connection to be established;
abbreviated dial.

echocheck (bool) Synchronize with the remote host during file
transfer by waiting for the echo of the last character
transmitted; default is off.

eofread (str) The set of characters which signify and end-of-
transmission during a ~< file transfer command;
abbreviated eofr.

eofwrite (str) The string sent to indicate end-of-transmission
during a ~> file transfer command; abbreviated eofw.

eol (str) The set of characters which indicate an end-of-
line. Tip will recognize escape characters only after
an end-of-line.

escape (char) The command prefix (escape) character;
abbreviated es; default value is ‘~’.

exceptions (str) The set of characters which should not be
discarded due to the beautification switch; abbreviated
ex; default value is "0f.

force (char) The character used to force literal data
transmission; abbreviated fo; default value is ‘^P’.

framesize (num) The amount of data (in bytes) to buffer between
file system writes when receiving files; abbreviated
fr.

host (str) The name of the host to which you are connected;
abbreviated ho.

prompt (char) The character which indicates and end-of-line on
the remote host; abbreviated pr; default value is ‘0.
This value is used to synchronize during data
transfers. The count of lines transferred during a
file transfer command is based on receipt of this
character.

raise (bool) Upper case mapping mode; abbreviated ra; default
value is off. When this mode is enabled, all lower
case letters will be mapped to upper case by tip for
transmission to the remote machine.

raisechar (char) The input character used to toggle upper case
mapping mode; abbreviated rc; default value is ‘^A’.

record (str) The name of the file in which a session script is
recorded; abbreviated rec; default value is
"tip.record".

script (bool) Session scripting mode; abbreviated sc; default
is off. When script is true, tip will record
everything transmitted by the remote machine in the
script record file specified in record. If the
beautify switch is on, only printable ASCII characters
will be included in the script file (those characters
between 040 and 0177). The variable exceptions is used
to indicate characters which are an exception to the
normal beautification rules.

tabexpand (bool) Expand tabs to spaces during file transfers;
abbreviated tab; default value is false. Each tab is
expanded to 8 spaces.

verbose (bool) Verbose mode; abbreviated verb; default is true.
When verbose mode is enabled, tip prints messages while
dialing, shows the current number of lines transferred
during a file transfer operations, and more.

SHELL (str) The name of the shell to use for the ~! command;
default value is "/bin/sh", or taken from the
environment.

HOME (str) The home directory to use for the ~c command;
default value is taken from the environment.

FILES
/etc/remote global system descriptions
/etc/phones global phone number data base
${REMOTE} private system descriptions
${PHONES} private phone numbers
~/.tiprc initialization file.
/usr/spool/uucp/LCK..* lock file to avoid conflicts with uucp

DIAGNOSTICS
Diagnostics are, hopefully, self explanatory.

SEE ALSO
remote(5), phones(5)

BUGS
The full set of variables is undocumented and should, probably, be
paired down.

The guard against multiple users using the UUCP locking protocol
doesn’t work.