Lines Matching defs:uio
29 #include <sys/uio.h>
35 physio(struct cdev *dev, struct uio *uio, int ioflag)
62 (uio->uio_resid > dev->si_iosize_max || uio->uio_resid > MAXPHYS ||
63 uio->uio_iovcnt > 1)) {
67 if (uio->uio_resid > dev->si_iosize_max)
70 uio->uio_resid, dev->si_iosize_max);
71 if (uio->uio_resid > MAXPHYS)
74 uio->uio_resid, MAXPHYS);
75 if (uio->uio_iovcnt > 1)
78 uio->uio_iovcnt);
84 for (i = 0; i < uio->uio_iovcnt; i++) {
85 while (uio->uio_iov[i].iov_len) {
87 if (uio->uio_rw == UIO_READ) {
95 bp->b_data = uio->uio_iov[i].iov_base;
96 bp->b_bcount = uio->uio_iov[i].iov_len;
97 bp->b_offset = uio->uio_offset;
98 bp->b_iooffset = uio->uio_offset;
133 if (uio->uio_segflg == UIO_USERSPACE) {
145 if (uio->uio_rw == UIO_READ)
150 if (uio->uio_segflg == UIO_USERSPACE)
155 uio->uio_iov[i].iov_len -= iolen;
156 uio->uio_iov[i].iov_base =
157 (char *)uio->uio_iov[i].iov_base + iolen;
158 uio->uio_resid -= iolen;
159 uio->uio_offset += iolen;