|
Driver Entry Points | strategy(9E) |
| strategy - perform block I/O |
SYNOPSIS
|
#include <sys/types.h>
#include <sys/buf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int prefixstrategy(struct buf *bp); |
|
Architecture independent level 1 (DDI/DKI). This entry point is required
for block devices.
|
|
-
bp
- Pointer to the buf(9S) structure.
|
|
The strategy() routine is called indirectly (through cb_ops(9S))
by the kernel to read and write blocks of data on the block device. strategy() may also be called directly or indirectly to support
the raw character interface of a block device ( read(9E), write(9E) and ioctl(9E)).
The strategy() routine's responsibility is to set up
and initiate the transfer.
|
|
The strategy() routine should always return 0. On an error condition, it should call bioerror(9f) to set b_flags to the proper error code, and call biodone(9f). Note that a partial transfer
is not considered to be an error.
|
| |