man Pages(9E): DDI and DKI Driver Entry Points
검색에만이 책은
PDF로 이 문서 다운로드

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)
Writing Device Drivers