strategy(9E) manual page
Table of Contents
strategy - perform block I/O
#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 OR
the b_flags
member of the buf(9S)
structure with B_ERROR
, set the b_error member
to the appropriate error value, and call biodone(9F)
. Note that a partial
transfer is not considered to be an error.
ioctl(9E)
, read(9E)
,
write(9E)
, biodone(9F)
, buf(9S)
, cb_ops(9S)
Table of Contents