strmod_del - Delete STREAMS modules and drivers
#include <sys/stream.h>
int strmod_del(
dev_t devno,
struct streamtab *streamtab,
struct streamadm *streamadm );
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 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
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.
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.
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_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.
Functions: strmod_add(2)
Data Structures: streamadm(4)
strmod_del(2)
[ Back ] |