NAME
pcf — port configuration file used by DDFA software
Description
A port configuration file is used by the
Datacommunications and Terminal Controller
Device File Access
(DDFA)
software to configure individual
terminal server ports.
The generic name of the template file is
pcf.
In practice, it is renamed for each port
that needs different configuration values
and the values are altered appropriately for the device
attached to the port.
A port configuration file
is referenced by an entry in the
Dedicated Ports file
(dp).
The Dedicated Port Parser
(dpp)
parses the
dp
file and spawns an Outbound Connection Daemon
(ocd)
for each valid entry in the
dp
file.
A valid entry is one
in which the fourth field is the name of a
port configuration file.
The master
port configuration file is
/usr/examples/ddfa/pcf
and it should only be referenced in the
dp
file if the default values it contains are correct for the ports.
If different values are needed,
/usr/examples/ddfa/pcf
should be copied to another directory
and the copy should be modified and referenced in the
dp
file.
The recommended procedure is to create a directory
to hold the port configuration files and the modified
dp
file.
See
ddfa(7)
for more information on how to configure the
DDFA
software.
A port configuration file consists of the names of variables and their values.
The variables are shown terminated by a colon
(:),
but this is not mandatory.
A variable and its value can be separated by spaces or tabs.
Only one variable-value pair is allowed per line.
Only the value should be altered.
The variable name should not be changed.
A file contains the following information:
- telnet_mode:
This can have the value
disable
or
enable.
When it is enabled,
data transfer over the network uses the Telnet protocol.
This option
must
be enabled for a
DTC.
- timing_mark:
This can have the value
disable
or
enable.
When it is enabled, a telnet timing mark negotiation
is sent to the
terminal server after all user data has been transferred.
ocd
waits for a reply to the timing mark negotiation
before closing the connection.
This ensures that all data has been output from the
terminal server to the device before the buffers are flushed.
It should be enabled for a
DTC.
- telnet_timer:
This defines the time in seconds
during which the software waits for a response
to the telnet timing mark and binary negotiation.
If the timer expires, an error message is logged to
/var/adm/syslog
and the error is transmitted to the user application.
- binary_mode:
This can have the value
disable
or
enable.
When it is enabled, data transfer over the network
is in binary mode and treatment of special characters
(such as XON/XOFF) is disabled.
Due to the absence of flow control,
data integrity cannot be guaranteed when
binary_mode
is enabled.
Note that even if
binary_mode
is disabled, it can be negotiated at any time
by the application setting
IXON
to
0
in the
termio
data structure.
- open_tries:
This defines the number of times the software
tries to open a connection before giving up.
If the value is
0
the software tries ``forever'' (approximately 68 years).
If the retry process fails, an error message is logged to
/var/adm/syslog
and the error is transmitted to the user application.
The retry process can be interrupted by sending the
SIGUSR2
signal to the
ocd
process using
kill -17 pid.
Note that if the application exits after asking
ocd
to open the connection to the terminal server,
ocd
continues trying to open until the combination of the
open_tries
and
open_timer
are exceeded.
- open_timer:
This defines the time in seconds between open tries.
If the value is
0,
ocd
uses an exponential retry period algorithm up to 32 seconds
(i.e., 1 2 4 8 16 32 32 32 ...).
- close_timer:
This defines the time in seconds
between the close call made by the application on the pty slave
and the moment when the connection is actually closed.
Setting this value to, for example, 5 seconds
avoids the overhead of opening and closing the connection
when a spooler spools several files at a time.
Setting a sufficiently high value
effectively leaves the connection permanently open.
- status_request:
This can have the value
disable
or
enable.
When it is enabled,
the software sends a status request to the device
attached to the terminal server and processes the reply as follows:
- LP_OK (0x30)
ocd
continues processing.
- LP_NO_PAPER (0x31)
ocd
retries within the limits of the status timer.
- LP_BUSY (0x32)
ocd
retries within the limits of the status timer.
- LP_OFF_LINE (0x34)
ocd
retries within the limits of the status timer.
- LP_DATA_ERROR (0x38)
ocd
retries within the limits of the status timer.
- status_timer:
This defines the time in seconds
during which the software waits
for the reply to the status request.
If the timer expires, an error message is logged to
/var/adm/syslog
and the error is transmitted to the user application.
- eight_bit:
This can have the value
disable
or
enable.
Normally, data bytes processed by the pty have bit 7 stripped.
If
eight_bit
is enabled, the stripping is disabled.
If
eight_bit
is disabled, stripping is enabled and bit 7 is stripped.
This can also be achieved by changing the termio
structure of the pseudonym using ioctl() commands.
- tcp_nodelay:
This can have the value
disable
or
enable.
When it is enabled, data is sent to the
LAN
as it is received.
It can be disabled if the software is sending packets
faster than the server can accept them.
The default values are:
telnet_mode enable
timing_mark enable
telnet_timer 120
binary_mode disable
open_tries 1500
open_timer 30
close_timer 5
status_request disable
status_timer 30
eight_bit disable
tcp_nodelay enable
WARNINGS
In order to ensure that commands (such as
ps)
display the correct device file name (that is, the
pseudonym),
all pseudonyms should be placed into the directory
/dev/telnet.
If pseudonyms are not specified for placement in this directory,
the correct display of device file names with many commands is not guaranteed.
In addition, in order to ensure that commands (such as
w,
passwd,
finger,
and
wall)
work correctly,
each pseudonym must be unique in its first 17 characters
(including the directory prefix
/dev/telnet/).
If pseudonyms are not unique in their first 17 characters,
the correct functioning of many commands is not guaranteed.
FILES
/usr/sbin/dpp
/usr/sbin/ocd
/usr/sbin/ocdebug
/var/adm/dpp_login.bin
/var/adm/utmp.dfa
/usr/examples/ddfa/dp
/usr/examples/ddfa/pcf