bioerror, bioxerror - indicate error in buffer header
#include <sys/types.h> #include <sys/buf.h> #include <sys/ddi.h> void bioerror(struct buf *bp, int error); void bioxerror(struct buf *bp, int error, b_xerror_t xerror);
Solaris DDI specific (Solaris DDI)
Pointer to the buf(9S) structure describing the transfer.
Error number to be set, or zero to clear an error indication.
If error is non-zero, extended error number to be set. If error is zero, the xerror extended error number value should be B_XERR_RECOVERED or B_XERR_UNDEFINED.
For bioerror(), a non-zero error value indicates that an error has occurred while processing the bp transfer. The error indication in bp is set. A subsequent call to geterror(9F) will return error.
For bioxerror(), a non-zero error value indicates that an error has occurred, with xerror as the extended error, while processing the bp transfer. The error indication in bp is set. A subsequent call to geterror(9F) will return error, and a subsequent call to getxerror(9F) will return xerror.
If error is 0, the error indication in bp is cleared. If the error indication is cleared, a subsequent call to geterror(9F) will return 0, and a subsequent call to getxerror(9F) will return either B_XERR_RECOVERED or B_XERR_UNDEFINED.
bioerror() can be called from any context.
bioxerror() can be called from any context.
strategy(9E), geterror(9F), getxerror(9F), getrbuf(9F), buf(9S)