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 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)