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

biowait - suspend processes pending completion of block I/O

#include <sys/types.h>
#include <sys/buf.h>
int biowait(struct buf *bp);

Architecture independent level 1 (DDI/DKI).

bp
Pointer to the buf structure describing the transfer.

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.

0
Upon success

non-zero

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

biowait() can be called from user context only.

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

Writing Device Drivers

April 11, 1991 OmniOS