Stream End
A stream end is a module in which the module processing procedures are the driver routines.
The procedures in the stream end are different from those in other modules because they are accessible from an external device and because the STREAMS mechanism allows multiple streams to be connected to the same driver.
The driver can be a device driver, providing an interface between kernel space and an external communications device, or an internal pseudo-device driver. A pseudo-device driver is not directly related to any external device, and it performs functions internal to the kernel.
Device drivers must transform all data and status or control information between STREAMS message formats and their external representation. For more information on the differences between STREAMS and character device drivers, see STREAMS Drivers and Modules.