STREAMS

(redirected from Streams (networking API))

STREAMS

(operating system)
A collection of system calls, kernel resources, and kernel utility routines that can create, use, and dismantle a stream. A "stream head" provides the interface between the stream and the user processes. Its principal function is to process STREAMS-related user system calls. A "stream module" processes data that travel bewteen the stream head and driver. The "stream end" provides the services of an external input/output device or an internal software driver. The internal software driver is commonly called a pseudo-device driver.

The STREAMS concept has been formalised in Unix System V. For example, SVR4 implements sockets and pipes using STREAMS, resulting in pipe(2) openning bidirectional pipes.

[IBM AIX 3.2 Communication Programming Concepts, SC23-2206-03].

STREAMS

A feature of Unix System V that provides a standard way of dynamically building and passing messages up and down a protocol stack. STREAMS passes messages from the application "downstream" through the STREAMS modules to the network driver at the end of the stack. Messages are passed "upstream" from the driver to the application. A STREAMS module would be a transport layer protocol such as TCP and SPX or a network layer protocol such as IP and IPX.

STREAMS modules can be dynamically changed (pushed and popped) at runtime, allowing the stack to be used for multiple protocols. Two important STREAMS components are the TLI and LSL interfaces, which provide common languages to the transport and data link layers. See TLI, LSL, ODI and OSI.