Lines Matching defs:uio

43 #include <sys/uio.h>
58 * of the move, and the I/O parameters are provided in "uio", which is
63 uiomove(void *p, size_t n, enum uio_rw rw, struct uio *uio)
69 while (n && uio->uio_resid) {
70 iov = uio->uio_iov;
73 uio->uio_iov++;
74 uio->uio_iovcnt--;
77 switch (uio->uio_segflg) {
83 (uio->uio_extflg & UIO_COPY_CACHED));
86 (uio->uio_extflg & UIO_COPY_CACHED));
96 (uio->uio_extflg & UIO_COPY_CACHED));
99 (uio->uio_extflg & UIO_COPY_CACHED));
106 uio->uio_resid -= cnt;
107 uio->uio_loffset += cnt;
115 * Fault in the pages of the first n bytes specified by the uio structure.
116 * 1 byte in each page is touched and the uio struct is unmodified. Any
121 uio_prefaultpages(ssize_t n, struct uio *uio)
129 iov = uio->uio_iov;
130 iovcnt = uio->uio_iovcnt;
146 switch (uio->uio_segflg) {
165 switch (uio->uio_segflg) {
182 * same as uiomove() but doesn't modify uio structure.
186 uiocopy(void *p, size_t n, enum uio_rw rw, struct uio *uio, size_t *cbytes)
193 iovcnt = uio->uio_iovcnt;
196 for (iov = uio->uio_iov; n && iovcnt; iov++, iovcnt--) {
201 switch (uio->uio_segflg) {
207 (uio->uio_extflg & UIO_COPY_CACHED));
210 (uio->uio_extflg & UIO_COPY_CACHED));
220 (uio->uio_extflg & UIO_COPY_CACHED));
223 (uio->uio_extflg & UIO_COPY_CACHED));
237 * delineated by a uio and update fields within the
238 * uio for next character. Return 0 for success, EFAULT
242 ureadc(int val, struct uio *uiop)
248 * first determine if uio is valid. uiop should be
271 * Transfer character to uio space.
293 * bump up/down iovec and uio members to reflect transfer.
304 * delineated by a uio and update fields within the
305 * uio for next character. Return the character for success,
309 uwritec(struct uio *uiop)
315 * verify we were passed a valid uio structure.
336 * Get the character from the uio address space.
355 * Adjust fields of iovec and uio appropriately.
544 /* Update iov, uio, and local pointers/counters */