strmod_add - Adds STREAMS modules and drivers
dev_t strmod_add (
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, it allows STREAMS drivers to add entry
points in character device switch tables. Modules are added to the STREAMS
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 points to a streamadm structure. The streamadm structure
provides additional information that is required under Tru64 UNIX.
The device number can be constructed from the major number through the mak-
edev macro, which is defined in /usr/include/sys/types.h.
Upon successful completion, strmod_add() returns the device number associ-
ated with the device switch table. Otherwise, it returns NODEV.
Data Structures: streamadm(4)