.TH ioreq() "" "" "Internal Kernel Routine"
.PC "Re-queue I/O request through block routine"
.B "#include <sys/io.h>"
\fBvoid ioreq(\fIbp\^\fB, \fIiop\^\fB, \fIdev\^\fB, \fIreq\^\fB, \fIf\^\fB)\fR
\fBBUF *\fIbp\^\fB; IO *\fIiop\^\fB; dev_t \fIdev\^\fB;\fR
.PP
.B ioreq()
queues a request through the
.I block
routine of the driver.
If a request is already pending on the IO structure referenced by
.IR iop ,
queuing will not occur until the previous request is completed.
.I req
should be
.B BREAD
or
.BR BWRITE .
.I f
should be
.B BFIOC|BFRAW
under normal circumstances.
.B ioreq()
normally is called from the read/write routines of a block device
that does not support DMA.
.SH "See Also"
.B
dmareq(),
internal kernel routines
.R
