The WindNet STREAMS component defines a constant STREAMS_PROTO_INIT_RTN in configAll.h. This constant is set to the name of the user-provided protocol initialization hook routine. STREAMS-based network protocols usually consist of multiple protocol drivers and modules, linked together in a specific order to assure functioning. For example , in a STREAMS-based implementation of X.25, the X.25 protocol layer and the LAPB driver are implemented as separate drivers. The protocol initialization hook routine does the plumbing operation by opening protocol drivers and linking them in a specified order to create a stream. Figure 16 shows how protocol drivers are plumbed together to create the X.25 protocol suite.