bioerror(D3DK) —
NAME
bioerror − manipulate error field within a buffer header .IX \f4bioerror\fP(D3DK)
SYNOPSIS
#include <sys/types.h>
#include <sys/buf.h>
void bioerror(buf_t ∗bp, int errno);
ARGUMENTS
bpPointer to the buffer header.
errnoError number to be set, or zero to indicate that the error field within the buffer header should be cleared.
DESCRIPTION
bioerror is used to manipulate the error field within a buffer header (buf(D4DK) structure). Driver code (for example, a strategy(D2DK) routine) that wishes to report an I/O error condition associated with the buffer pointed to by bp should call bioerror with errno set to the appropriate error number. This will set the appropriate field within the buffer header so that higher level code can detect the error and retrieve the error number using geterror(D3DK).
The error field within the buffer header can be cleared by calling bioerror with errno set to zero.
RETURN VALUE
None.
LEVEL
Base or Interrupt.
NOTES
Does not sleep.
Driver defined basic locks, read/write locks, and sleep locks may be held across calls to this function.
DDI/DKI conforming drivers are no longer permitted to manipulate the error field of the buf structure directly. bioerror must be used for this purpose.
SEE ALSO
strategy(D2DK), geteblk(D3DK), geterror(D3DK), getrbuf(D3DK), ngeteblk(D3DK), buf(D4DK), errnos(D5DK)
DDI/DKI