strategy(9e) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3