NIO CommKit Host Interface Installation and System Administration Manual

DKDIAL(3X) DKDIAL(3X)
E-42 CommKit Host Interface, Release 4.0
dkdial, dkndial, dktdial, and dkntdial obtain an available data switch channel, and place a call to the
destination specified by dialstring. For dkdial and dktdial, a specific hardware interface is chosen if the
environment variable DKINTF is set. (See the section below on "Multiple Interfaces" for more information.)
The interface number is taken from intf for dkndial and dkntdial. The dktdial and dkntdial calls
automatically push the dkty, ldterm, and ttcompat STREAMS modules in anticipation that the connection
will be used for a terminal session. The routines are otherwise identical.
All calls return the file descriptor of the open circuit when the connection to the destination has been
established or a negative number if the connection cannot be made. The dktdial and dkntdial calls fail if the
dkty or ldterm STREAMS module cannot be pushed [See I_PUSH in streamio(7)]. The calls will succeed
if the ttcompat STREAMS module cannot be pushed, as its functions are generally optional.
The circuit is cleared automatically when the last open file descriptor associated with this channel is closed.
MULTIPLE INTERFACES
The CommKit Host Interface software supports multiple interface boards, allowing connectivity to multiple
data switch networks or redundant connectivity to a single network. The use of multiple interfaces may be
controlled by choosing the dial function and its options in conjunction with the environment variable DKINTF.
The following commands: dk(1C), dkcat(1C), dkcu(1C), dkdo(1C), dkload(1M), pull(1C), and push(1C) all
initiate connections through the network and use the default interface processing to make connections. The
default processing and its exceptions are described below.
Default Processing The default processing will alternate the outgoing connections through every
active interface board unless the DKINTF environment variable is set (i.e., the
interfaces are selected in a round robin fashion starting with interface 0 and
progressing through the highest configured interface.) If DKINTF is set, then its
value will be used as the interface(s) for the outgoing call.
DKINTF can be a comma-separated list of interfaces. The dial-out attempts are
made in the order defined in the list, until the call is successful or the end of the
list is reached. This syntax allows lists in which one interface is preferred over
others. For example, ’DKINTF=0,0,1’ will dial over interface 0 twice before
dialing over interface 1.
dkitdial() If the DK_SELINTF flag is set, then the interface number supplied in the dkit_dial
structure is used. If the DK_SELINTF and DK_USEENV flags are not set, the default
processing is used.
dkdial() The default processing is always used.
dkndial() The supplied interface argument is always used, the default processing is never
used.
dktdial() The default processing is always used.
dkntdial() The supplied interface argument is always used, the default processing is never
used.
Caveats As stated above, the commands that initiate connections through the network will,
unless DKINTF is set, alternate the outgoing connections through every active
interface board. If the interfaces reside in different data switch Originating
Groups, an authorization [see authorize(1M)] made from one interface will not be
valid for calls established through one of the other interfaces. Users must
explicitly authorize through each interface or must restrict their connections to a
single outgoing interface. See the authorize(1M) manual page for more
information.
FILES
/usr/lib/libdk.so host interface subroutine library
/dev/dk/dial default dialer device
/dev/dk/dialX dialer device for interface X