Index Index for
Section 2
Index Alphabetical
listing for S
Bottom of page Bottom of
page

strmod_del(2)

NAME

strmod_del - Delete STREAMS modules and drivers

SYNOPSIS

#include <sys/stream.h> int strmod_del( dev_t devno, struct streamtab *streamtab, struct streamadm *streamadm );

PARAMETERS

devno The device number (cdevsw slot) to use when removing a STREAMS driver. This parameter is ignored for modules. streamtab 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). streamadm 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.

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: [EINVAL] The sa_version or sa_flags fields in the streamadm structure are not set correctly. [EBUSY] The entry is in use and cannot be removed. [ENOENT] The entry to be removed is not found. -1 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)

Index Index for
Section 2
Index Alphabetical
listing for S
Top of page Top of
page