STREAMS(4) (i386)
STREAMS(4) FreeBSD Kernel Interfaces Manual (i386) STREAMS(4)


streamsSystem V STREAMS networking ABI support


To compile support for this ABI into the kernel, place the following line in your kernel configuration file:

device streams

Alternatively, to load the ABI as a module at boot time, place the following line in loader.conf(5):



The streams module provides limited System V Release 4 STREAMS interprocess communication ABI (application binary interface) compatibility for userland applications.

Internally, streams provides STREAMS handles by using socket creation kernel routines, and adding state-tracking information to the socket to permit manipulation by STREAMS emulation code in svr4(4). Hence, opening a stream device produces a result similar to what would be obtained by calling socket(2).

Applications should never use this interface directly: STREAMS emulation is only provided as a service to support ABI requirements in the SVR4 environment which svr4(4) needs to present to client binaries.




System V Release 4 ABI support first appeared in FreeBSD 4.0. The ABI was ported from an equivalent facility present in NetBSD 1.3 written by Christos Zoulas.


This whole interface is a crude hack to produce STREAMS semantics through emulation over sockets.

Programmers who hope to be able to use this interface to provide SVR4 STREAMS services to BSD applications will be sorely disappointed.

March 17, 2008 FreeBSD