Associated with each device driver is a dev_ops(9S) structure, which in turn refers to a cb_ops(9S) structure. See Chapter 5, Autoconfiguration, for details regarding driver data structures. Table 10-1 lists the block driver entry points.
Table 10-1 Block Driver Entry Points|
Entry Point |
Description |
|---|---|
|
_init(9E) |
Initializes a loadable driver module. |
|
_info(9E) |
Returns information on a loadable driver module. |
|
_fini(9E) |
Prepares a loadable driver module for unloading. |
|
identify(9E) |
Obsolete and no longer required. Set to nulldev(9F). |
|
probe(9E) |
Determines if a device is present. |
|
attach(9E) |
Performs device-specific initialization and/or power management resume functionality.. |
|
detach(9E) |
Removes device-specific state and/or power management suspend functionality.. |
|
getinfo(9E) |
Gets device driver information. |
|
power(9E) |
Sets the power level of a device component. |
|
dump(9E) |
Dumps memory to the device during system failure. |
|
open(9E) |
Gains access to a device. |
|
close(9E) |
Relinquishes access to a device. |
|
prop_op(9E) |
Manages arbitrary driver properties. |
|
print(9E) |
Prints error message on driver failure. |
|
strategy(9E) |
I/O interface for block data. |
Some of the entry points listed in Table 10-1 can be replaced by nodev(9F) or nulldev(9F) as appropriate.