1 /* 2 * Copyright (c) 1982, 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms are permitted 6 * provided that the above copyright notice and this paragraph are 7 * duplicated in all such forms and that any documentation, 8 * advertising materials, and other materials related to such 9 * distribution and use acknowledge that the software was developed 10 * by the University of California, Berkeley. The name of the 11 * University may not be used to endorse or promote products derived 12 * from this software without specific prior written permission. 13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16 * 17 * @(#)uio.h 7.2 (Berkeley) 01/17/89 18 */ 19 20 #ifndef _UIO_ 21 #define _UIO_ 22 23 struct iovec { 24 caddr_t iov_base; 25 int iov_len; 26 }; 27 28 struct uio { 29 struct iovec *uio_iov; 30 int uio_iovcnt; 31 off_t uio_offset; 32 int uio_segflg; 33 int uio_resid; 34 }; 35 36 enum uio_rw { UIO_READ, UIO_WRITE }; 37 38 /* 39 * Segment flag values (should be enum). 40 */ 41 #define UIO_USERSPACE 0 /* from user data space */ 42 #define UIO_SYSSPACE 1 /* from system space */ 43 #define UIO_USERISPACE 2 /* from user I space */ 44 45 #endif /* !_UIO_ */ 46