NIO CommKit Host Interface Installation and System Administration Manual

6-7
Porting CommKit Applications To Release 4.x
Programmer-Level Compatibility
Programmer-Level Compatibility
The architectural changes of this release of the CommKit software impact all
applications that access the library and system call interface.
In particular, this release of the CommKit software does not support an ioctl
interface. All ioctl calls are reserved for use by the interface library and their
calling sequences are not guaranteed.
Porting old applications to the new release will, however, yield simpler,
more robust code. The sections that follow discuss the changes and show
examples of the new library routines and system calls. Many of the
examples are taken from the CommKit user-level commands.
STREAMS
You should be familiar with the characteristics of STREAMS I/O and the
information in STREAMS/UX for the HP 9000 Reference Manual. In
general, you do not need to change applications that use the standard I/O
library function calls, except to account for STREAMS errors.
One aspect of STREAMS that you should be aware of is the handoff nature
and internal buffering of writing data. A write system call to a stream will
return immediately from the stream head and the data will be queued to the
downstream modules and drivers. If the network is very busy or the driver
cannot transmit the data, the stream will eventually exert flow control, but
only after multiple write system calls complete. For more information, refer
to the section describing write(2) later in this chapter.
TTY Interface
This release of the CommKit software, unlike previous releases, does not
reimplement the HP-UX TTY interface. Instead, it uses the standard TTY
STREAMS modules, ldterm and ptem.