strmod_add(2)strmod_add(2)NAMEstrmod_add - Add STREAMS modules and drivers
SYNOPSIS
#include <sys/stream.h>
dev_t strmod_add(
dev_t devno,
struct streamtab *streamtab,
struct streamadm *streamadm );
PARAMETERS
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 con‐
tains the entry points. The actual streamtab structure has to be allo‐
cated 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.
DESCRIPTION
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.
NOTES
The device number can be constructed from the major number through the
makedev() macro, which is defined in /usr/include/sys/types.h.
RETURN VALUES
Upon successful completion, strmod_add() returns the device number
associated with the device switch table. Otherwise, it returns NODEV.
SEE ALSO
Functions: strmod_del(2)
Data Structures: streamadm(4)strmod_add(2)