Figure 16–1 shows data structures and routines that define the structure of a block device driver. Device drivers typically include the following elements:
Device-loadable driver section
Device configuration section
Device access section
The shaded device access section in the following figure illustrates entry points for block drivers.
Associated with each device driver is a dev_ops(9S) structure, which in turn refers to a cb_ops(9S) structure. See Chapter 6, Driver Autoconfiguration for details on driver data structures.
Block device drivers provide these entry points:
Some of the entry points can be replaced by nodev(9F) or nulldev(9F) as appropriate.