svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
strategy(9e)
strategy(9E) Driver Entry Points strategy(9E)
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.
PARAMETERS
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.
In general, strategy() should not block. It can, however, perform a
kmem_cache_create(9F) with both the KM_PUSHPAGE and KM_SLEEP flags set,
which might block, without causing deadlock in low memory situations.
RETURN VALUES
The strategy() function must 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.
SEE ALSO
write(9E), ioctl(9E), read(9E), bioerror(9F), biodone(9F),
kmem_cache_create(9F), cb_ops(9S), buf(9S)
Writing Device Drivers in Oracle Solaris 11.4
Oracle Solaris 11.4 6 Nov 2003 strategy(9E)