[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.8 The Port Configuration File

The port files may be used to name and describe ports. By default there is a single port file, named `port' in the directory newconfigdir. This may be overridden by the portfile command in the main configuration file; see 5.6.2 Configuration File Names.

Any commands in a port file before the first port command specify defaults for all ports in the file; however, since the type command must appear before all other commands for a port, the defaults are only useful if all ports in the file are of the same type (this restriction may be lifted in a later version). All commands after a port command up to the next port command then describe that port. There are different types of ports; each type supports its own set of commands. Each command indicates which types of ports support it. There may be many ports with the same name; if a system requests a port by name then each port with that name will be tried until an unlocked one is found.

port string

Introduces and names a port.

type string

Define the type of port. The default is `modem'. If this command appears, it must immediately follow the port command. The type defines what commands are subsequently allowed. Currently the types are:

`modem'
For a modem hookup.
`stdin'
For a connection through standard input and standard output, as when uucico is run as a login shell.
`direct'
For a direct connection to another system.
`tcp'
For a connection using TCP.
`tli'
For a connection using TLI.
`pipe'
For a connection through a pipe running another program.

protocol string

Specify a list of protocols to use for this port. This is just like the corresponding command for a system (see section 5.7.5 Protocol Selection). A protocol list for a system takes precedence over a list for a port.

protocol-parameter character strings [ any type ]

The same command as the protocol-parameter command used for systems (see section 5.7.5 Protocol Selection). This one takes precedence.

seven-bit boolean [ any type ]

This is only used during protocol negotiation; if the argument is true, it forces the selection of a protocol which works across a seven-bit link. It does not prevent eight bit characters from being transmitted. The default is false.

reliable boolean [ any type ]

This is only used during protocol negotiation; if the argument is false, it forces the selection of a protocol which works across an unreliable communication link. The default is true. It would be more common to specify this for a dialer rather than a port.

half-duplex boolean [ any type ]

If the argument is true, it means that the port only supports half-duplex connections. This only affects bidirectional protocols, and causes them to not do bidirectional transfers.

device string [ modem, direct and tli only ]

Names the device associated with this port. If the device is not named, the port name is taken as the device. Device names are system dependent. On Unix, a modem or direct connection might be something like `/dev/ttyd0'; a TLI port might be `/dev/inet/tcp'.

speed number [modem and direct only ]
baud number [ modem and direct only ]

The speed this port runs at. If a system specifies a speed but no port name, then all ports which match the speed will be tried in order. If the speed is not specified here and is not specified by the system, the natural speed of the port will be used by default.

speed-range number number [ modem only ]
baud-range number number [ modem only ]

Specify a range of speeds this port can run at. The first number is the minimum speed, the second number is the maximum speed. These numbers will be used when matching a system which specifies a desired speed. The simple speed (or baud) command is still used to determine the speed to run at if the system does not specify a speed. For example, the command `speed-range 300 19200' means that the port will match any system which uses a speed from 300 to 19200 baud (and will use the speed specified by the system); this could be combined with `speed 2400', which means that when this port is used with a system that does not specify a speed, the port will be used at 2400 baud.

carrier boolean [ modem and direct only ]

The argument indicates whether the port supports carrier.

If a modem port does not support carrier, the carrier detect signal will never be required on this port, regardless of what the modem chat script indicates. The default for a modem port is true.

If a direct port supports carrier, the port will be set to expect carrier whenever it is used. The default for a direct port is false.

hardflow boolean [ modem and direct only ]

The argument indicates whether the port supports hardware flow control. If it does not, hardware flow control will not be turned on for this port. The default is true. Hardware flow control is only supported on some systems.

dial-device string [ modem only ]

Dialing instructions should be output to the named device, rather than to the normal port device. The default is to output to the normal port device.

dialer string [ modem only ]

Name a dialer to use. The information is looked up in the dial file. There is no default. Some sort of dialer information must be specified to call out on a modem.

dialer string ... [ modem only ]

If more than one string follows the dialer command, the strings are treated as a command that might appear in the dial file (see section 5.9 The Dialer Configuration File). If a dialer is named (by using the first form of this command, described just above), these commands are ignored. They may be used to specify dialer information directly in simple situations without needing to go to a separate file. There is no default. Some sort of dialer information must be specified to call out on a modem.

dialer-sequence strings [ modem or tcp or tli only ]

Name a sequence of dialers and tokens (phone numbers) to use. The first argument names a dialer, and the second argument names a token. The third argument names another dialer, and so on. If there are an odd number of arguments, the phone number specified with a phone command in the system file is used as the final token. The token is what is used for \D or \T in the dialer chat script. If the token in this string is \D, the system phone number will be used; if it is \T, the system phone number will be used after undergoing dialcodes translation. A missing final token is taken as \D.

This command currently does not work if dial-device is specified; to handle this correctly will require a more systematic notion of chat scripts. Moreover, the complete and abort chat scripts, the protocol parameters, and the carrier and dtr-toggle commands are ignored for all but the first dialer.

This command basically lets you specify a sequence of chat scripts to use. For example, the first dialer might get you to a local network and the second dialer might describe how to select a machine from the local network. This lets you break your dialing sequence into simple modules, and may make it easier to share dialer entries between machines.

This command is to only way to use a chat script with a TCP port. This can be useful when using a modem which is accessed via TCP.

When this command is used with a TLI port, then if the first dialer is `TLI' or `TLIS' the first token is used as the address to connect to. If the first dialer is something else, or if there is no token, the address given by the address command is used (see section 5.7.3.2 Placing the Call). Escape sequences in the address are expanded as they are for chat script expect strings (see section 5.5 Chat Scripts). The different between `TLI' and `TLIS' is that the latter implies the command `stream true'. These contortions are all for HDB compatibility. Any subsequent dialers are treated as they are for a TCP port.

lockname string [ modem and direct only ]

Give the name to use when locking this port. On Unix, this is the name of the file that will be created in the lock directory. It is used as is, so on Unix it should generally start with `LCK..'. For example, if a single port were named both `/dev/ttycu0' and `/dev/tty0' (perhaps with different characteristics keyed on the minor device number), then the command lockname LCK..ttycu0 could be used to force the latter to use the same lock file name as the former.

service string [ tcp only ]

Name the TCP port number to use. This may be a number. If not, it will be looked up in `/etc/services'. If this is not specified, the string `uucp' is looked up in `/etc/services'. If it is not found, port number 540 (the standard UUCP-over-TCP port number) will be used.

push strings [ tli only ]

Give a list of modules to push on to the TLI stream.

stream boolean [ tli only ]

If this is true, and the push command was not used, the `tirdwr' module is pushed on to the TLI stream.

server-address string [ tli only ]

Give the address to use when running as a TLI server. Escape sequences in the address are expanded as they are for chat script expect strings (see section 5.5 Chat Scripts).

The string is passed directly to the TLI t_bind function. The value needed may depend upon your particular TLI implementation. Check the manual pages, and, if necessary, try writing some sample programs.

For AT&T 3B2 System V Release 3 using the Wollongong TCP/IP stack, which is probably typical, the format of TLI string is `SSPPIIII', where `SS' is the service number (for TCP, this is 2), `PP' is the TCP port number, and `IIII' is the Internet address. For example, to accept a connection from on port 540 from any interface, use `server-address \x00\x02\x02\x1c\x00\x00\x00\x00'. To only accept connections from a particular interface, replace the last four digits with the network address of the interface. (Thanks to Paul Pryor for the information in this paragraph).

command strings [ pipe only ]

Give the command, with arguments, to run when using a pipe port type. When a port of this type is used, the command is executed and uucico communicates with it over a pipe. This permits uucico or cu to communicate with another system which can only be reached through some unusual means. A sample use might be `command /bin/rlogin -E -8 -l login system'. The command is run with the full privileges of UUCP; it is responsible for maintaining security.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Web user for server www.cirr.com on September, 3 2001 using texi2html