DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

do_biostart(D3)


do_biostart -- invoke another driver's biostart(D2) entry point routine

Synopsis

   #include <sys/types.h>
   #include <sys/ddi.h>
   

void do_biostart(chan_handle_t chan_handle, buf_t *bp);

Description

do_biostart( ) calls the biostart(D2) entry point routine of another driver for which this driver has previously gotten a channel handle with the drv_open(D3) function.

Arguments


chan_handle
Channel handle for the other driver returned by the drv_open(D3) function.

bp
Pointer to a buf(D4) buffer header structure, used as an argument to the biostart( ) entry point.

Return values

None. Errors are returned by using the bioerror(D3) function to mark the buffer as being in error and extracted from the buffer with the geterror(D3) function. For DDI versions in which the bioerror( ) function is not available, errors can be returned by setting the B_ERROR flag in the b_flags member and setting the appropriate errno value in the b_error member of the buf(D4) structure.

Usage

do_biostart( ) is used to pass I/O requests to another driver. It will ensure that the buf_breakup(D3) function is called to adapt the buffer to the needs of the underlying driver; the caller does not need to call the buf_breakup( ) function itself.

If a driver wants to call its own biostart( ) entry point routine, it must do so using buf_breakup( ) rather than do_biostart( ).

Context and synchronization

User or blockable context.

Hardware applicability

All

Version applicability

ddi: 8, 8mp

References

biostart(D2), drv_attach(D3), drv_open(D3), drv_detach(D3)

``Layered device drivers'' in HDK Technical Reference


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005