United States-English |
|
|
HP-UX Reference > Dddfa(7)HP-UX 11i Version 3: February 2007 |
|
NAMEddfa — Data Communications and Terminal Controller (DTC) Device File Access (DDFA) software DESCRIPTIONThe Data Communications and Terminal Controller (DTC) Device File Access (DDFA) software allows access from HP-UX system utilities and user applications to terminal servers using standard HP-UX structures. DDFA provides an interface to remote LAN-connected terminal server ports that is similar to the interface for local directly-connected ports. The basic principle is that a daemon is created for each configured terminal server port based on information in a configuration file (a Dedicated Ports file). When the daemon is spawned, it takes a pty from the pool and creates a device file with the same major and minor number as the pty slave. The device file is known as the "pseudonym" and utilities and applications use the pseudonym to access the terminal server port by exercising standard HP-UX system functions (open(), close(), read(), write(), and ioctl()). The daemon listens on the pty until an application does an open() on the pseudonym. It then sets up and manages the connection to the terminal server port until the application does a close() on the pseudonym. The end result is that the terminal server port is addressed via a device file, but the mechanism that makes it happen is transparent to the user. A second configuration file (a port configuration file) contains information to profile the terminal server port. DDFA consists of the following items:
CONFIGURATIONThere are two basic steps to configuring the DDFA software:
Configuring the dp FileThe dp file contains one line for each outbound connection that is to be established and one line for each incoming connection request. A default file /usr/examples/ddfa/dp should be copied to a new file and the copy edited as needed. It is recommended that a directory be created to hold the dp file and the port configuration files. Each line of the dp file must contain the location of the terminal server port and the location of the pseudonym. In addition, for an outbound connection, the port configuration file must be specified and a logging level may be specified. Configuring the Port Configuration FilesA port configuration file is used to configure individual terminal server ports. A master port configuration file is /usr/examples/ddfa/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. It is recommended that a directory be created to hold the port configuration files and the dp file. Each line of a port configuration file must consist of a name of a variable and its value. The variable-value pairs contain information on how to open a connection to a terminal server port, how to close a connection to a terminal server port, and how to manage the data transfer to a terminal server port. KILLING DAEMONSNote that ocd should be killed using kill -15. Do not use kill -9 for this purpose as it does not remove the device file. ocd verifies the validity of an existing pseudonym before trying to use it. dpp and ocd use data stored in the file /var/adm/utmp.dfa to verify whether a process still owns a pseudonym before taking it over. If ocd finds an unowned pseudonym, it uses it. ERROR HANDLINGWhen ocd receives a serious error condition, such as when the LAN goes down, it transmits the error condition to the application by closing the pty. Any open(), close(), read(), or write() to the pseudonym returns the error condition 0 bytes read. If the pseudonym is the controlling terminal for the group to which the application belongs, SIGHUP is sent to all the processes in the group, including the application. ioctl() LIMITATIONSNot all ioctl() functionality is available, due to the lack of a protocol that allows the transmission of such commands over the LAN to the remote port. termio Attribute LimitationsThe main restrictions on termio attributes (see termio(7)) include modem signal control and parity checking. The following are not available:
ioctl() Request LimitationsThe following ioctl() request limitations apply:
ioctl() System Call RequestsThe following ioctl() system call limitations apply:
WARNINGSIn 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. Also, in order to reliably handle timing mark negotiations (and ensure that files printing on a printer attached to a terminal server have been completely flushed to that printer), the following line must be added near the end of each printer interface script for printers attached to a terminal server: stty exta <&1 2>/dev/null The printer interface scripts reside in the directory /etc/lp/interface. The line must be added just prior to the final exit command in each printer interface script. If this line is not added as specified, the printing reliability of printers attached to a terminal server is not guaranteed. |
Printable version | ||
|