BIOWAIT(9F) Kernel Functions for Drivers BIOWAIT(9F)

NAME


biowait - suspend processes pending completion of block I/O

SYNOPSIS


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


int biowait(struct buf *bp);


INTERFACE LEVEL


Architecture independent level 1 (DDI/DKI).

PARAMETERS


bp
Pointer to the buf structure describing the transfer.


DESCRIPTION


Drivers allocating their own buf structures with getrbuf(9F) can use
the biowait() function to suspend the current thread and wait for
completion of the transfer.


Drivers must call biodone(9F) when the transfer is complete to notify
the thread blocked by biowait(). biodone() is usually called in the
interrupt routine.

RETURN VALUES


0
Upon success


non-zero
Upon I/O failure. biowait() calls geterror(9F) to retrieve
the error number which it returns.


CONTEXT


biowait() can be called from user context only.

SEE ALSO


biodone(9F), geterror(9F), getrbuf(9F), buf(9S)


Writing Device Drivers

April 11, 1991 BIOWAIT(9F)