man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

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 for Oracle Solaris 11.2