Lines Matching refs:uio
29 #include <sys/uio.h>
40 physio(struct cdev *dev, struct uio *uio, int ioflag)
70 (uio->uio_resid > dev->si_iosize_max || uio->uio_resid > maxphys ||
71 uio->uio_iovcnt > 1)) {
75 if (uio->uio_resid > dev->si_iosize_max)
78 uio->uio_resid, dev->si_iosize_max);
79 if (uio->uio_resid > maxphys)
82 uio->uio_resid, maxphys);
83 if (uio->uio_iovcnt > 1)
86 uio->uio_iovcnt);
97 if (uio->uio_segflg != UIO_USERSPACE) {
102 maxpages = btoc(MIN(uio->uio_resid, maxphys)) + 1;
112 if (uio->uio_rw == UIO_READ)
115 for (i = 0; i < uio->uio_iovcnt; i++) {
119 switch (uio->uio_rw) {
122 uio->uio_iov[i].iov_len);
127 uio->uio_iov[i].iov_len);
135 while (uio->uio_iov[i].iov_len) {
137 switch (uio->uio_rw) {
147 bp->bio_offset = uio->uio_offset;
148 base = uio->uio_iov[i].iov_base;
149 bp->bio_length = uio->uio_iov[i].iov_len;
181 if (uio->uio_rw == UIO_READ)
195 uio->uio_iov[i].iov_len -= iolen;
196 uio->uio_iov[i].iov_base =
197 (char *)uio->uio_iov[i].iov_base + iolen;
198 uio->uio_resid -= iolen;
199 uio->uio_offset += iolen;