10. STREAMS Drivers
This chapter describes how to write STREAMS drivers. It assumes the reader is familiar with the material presented in Chapter 9. After discussing the system entry points into drivers, we introduce the Data Link Provider Interface (DLPI), a service interface for drivers implementing data link layer services. The remainder of the chapter focuses on the design of a simple Ethernet driver.
The primary task of a hardware driver is to copy data between the kernel and an I/O device. A software driver is like a hardware driver, but instead of interacting with an I/O device, a software driver provides a service to applications. Some examples include a pseudo-terminal driver that enables one process to present a ...