The Stream head is created when a user process opens a STREAMS device. It translates the interface calls of the user process into STREAMS messages, which it sends to the Stream. The Stream head also translates messages originating from the Stream into a form that the application can process. The Stream head contains a pair of queues; one queue passes messages upstream from the driver, and the other passes messages to the driver. The queues are the pipelines of the Stream, passing data between the Stream head, modules, and driver.