strmod_add - Add STREAMS modules and drivers
#include <sys/stream.h>
dev_t strmod_add(
dev_t devno,
struct streamtab *streamtab,
struct streamadm *streamadm );
The device number (cdevsw slot) to use when adding a
driver. If NODEV is supplied, the first available slot is
used. This parameter is ignored for modules. A pointer to
the streamtab structure that contains the entry points.
The actual streamtab structure has to be allocated permanently
in the driver's data space (as specified by System
V Release 3.2). A pointer to the streamadm structure that
contains the administration parameters for the STREAMS
module or driver. The actual streamadm structure is needed
only for the duration of the call. It does not have to be
allocated permanently by the caller.
The strmod_add() interface is used to configure STREAMS
modules and drivers into the kernel. Specifically, the
function allows STREAMS drivers to add entry points in
character device switch tables. Modules are added to the
STREAMS modules switch.
When adding a driver only, strmod_add() takes a device
number, which is used to determine the device switch slot
for the entry points. A STREAMS driver can supply NODEV
instead of a device number. In this case, strmod_add()
finds the first available device switch slot and returns
the number actually used. If a device switch slot is
already in use or if there are no slots available, NODEV
is returned.
The streamtab parameter is a pointer to a traditional
(System V Release 3.2) streamtab structure. The structure
contains pointers to entry points for the module's read
and write queue routines.
The streamadm parameter points to a streamadm structure.
The streamadm structure provides additional information
that is required for the Tru64 UNIX operating system.
The device number can be constructed from the major number
through the makedev() macro, which is defined in
/usr/include/sys/types.h.
Upon successful completion, strmod_add() returns the
device number associated with the device switch table.
Otherwise, it returns NODEV.
Functions: strmod_del(2)
Data Structures: streamadm(4)
strmod_add(2)
[ Back ] |