text: strategy(9e) [php man page]
  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. strat- egy()_alloc(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
  ioctl(9E), read(9E), write(9E), biodone(9F), bioerror(9F), buf(9S), cb_ops(9S), kmem_cache_alloc(9F) Writing Device Drivers SunOS 5.10 6 Nov 2003 strategy(9E)
  biodone(9F) Kernel Functions for Drivers biodone(9F) NAME
  biodone - release buffer after buffer I/O transfer and notify blocked threads SYNOPSIS
  #include <sys/types.h> #include <sys/buf.h> void biodone(struct buf *bp); INTERFACE LEVEL
  Architecture independent level 1 (DDI/DKI). PARAMETERS
  bp Pointer to a buf(9S) structure. DESCRIPTION
  biodone() buf- fer I/O request is complete. biodone(). CONTEXT
  biodone() can be called from user or interrupt context. EXAMPLES } ... SEE ALSO
  read(2), strategy(9E), biowait(9F), ddi_add_intr(9F), delay(9F), timeout(9F), untimeout(9F), buf(9S) Writing Device Drivers WARNINGS
  After calling biodone(), bp is no longer available to be referred to by the driver. If the driver makes any reference to bp after calling biodone(), a panic may result. NOTES
  Drivers that use the b_iodone field of the buf(9S) structure to specify a substitute completion routine should save the value of b_iodone before changing it, and then restore the old value before calling biodone() to release the buffer. SunOS 5.10 23 Apr 1996 biodone(9F)