[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    strategy(9E) manual page Table of Contents

Name

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);

Interface Level

Architecture independent level 1 (DDI/DKI). This entry point is required for block devices.

Arguments

bp
Pointer to the buf(9S) structure.

Description

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.

Return Values

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.

See Also

ioctl(9E) , read(9E) , write(9E) , biodone(9F) , buf(9S) , cb_ops(9S)


Table of Contents