strmod_del(2)strmod_del(2)NAMEstrmod_del - Delete STREAMS modules and drivers
SYNOPSIS
#include <sys/stream.h>
int strmod_del(
dev_t devno,
struct streamtab *streamtab,
struct streamadm *streamadm );
PARAMETERS
The device number (cdevsw slot) to use when removing a STREAMS driver.
This parameter is ignored for modules. A pointer to the streamtab
structure that contains the entry points. The actual streamtab struc‐
ture has to be allocated permanently in the driver's data space (as
specified by System V Release 3.2). A pointer to the streamadm struc‐
ture that contains the administration parameters for the STREAMS module
or driver. The actual streamadm structure is needed only for the dura‐
tion of the call. It does not have to be allocated permanently by the
caller. The sa_version field must be either OSF_STREAMS_10 or
OSF_STREAMS_11, and the sa_flags field must be either STR_IS_DEVICE or
STR_IS_MODULE.
DESCRIPTION
The strmod_del() interface is used to remove configured STREAMS modules
and drivers from the kernel. Specifically, it allows STREAMS drivers
to remove entry points in character device switch tables. Modules are
removed from the STREAMS modules switch.
When removing a driver only, strmod_del() takes a device number, which
is used to determine the device switch slot for the entry points.
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 by 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_del() returns 0. Otherwise, it
returns one of the following values: The sa_version or sa_flags fields
in the streamadm structure are not set correctly. The entry is in use
and cannot be removed. The entry to be removed is not found. The
devno value is out of range, or the cdevsw entry was not in use.
SEE ALSO
Functions: strmod_add(2)
Data Structures: streamadm(4)strmod_del(2)