1 /* 2 * Copyright (c) 1982 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)uio.h 6.4 (Berkeley) 02/23/86 7 */ 8 9 #ifndef _UIO_ 10 #define _UIO_ 11 12 struct iovec { 13 caddr_t iov_base; 14 int iov_len; 15 }; 16 17 struct uio { 18 struct iovec *uio_iov; 19 int uio_iovcnt; 20 off_t uio_offset; 21 int uio_segflg; 22 int uio_resid; 23 }; 24 25 enum uio_rw { UIO_READ, UIO_WRITE }; 26 27 /* 28 * Segment flag values (should be enum). 29 */ 30 #define UIO_USERSPACE 0 /* from user data space */ 31 #define UIO_SYSSPACE 1 /* from system space */ 32 #define UIO_USERISPACE 2 /* from user I space */ 33 #endif 34