/* * Copyright 1989 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ #pragma ident "%Z%%M% %I% %E% SMI" #ifndef _sys_uio_h #define _sys_uio_h struct iovec { caddr_t iov_base; int iov_len; }; /* * The uio_seg define below is obsolete and is included only * for compatibility with previous releases. New code should * use the uio_segflg field. */ struct uio { struct iovec *uio_iov; int uio_iovcnt; off_t uio_offset; short uio_segflg; #define uio_seg uio_segflg /* obsolete */ short uio_fmode; /* careful what you put here, the file * bits that fill this are an int. */ int uio_resid; }; enum uio_rw { UIO_READ, UIO_WRITE }; /* * Segment flag values (should be enum). * * The UIOSEG_* defines are obsolete and are included only * for compatibility with previous releases. New code should * use the UIO_* definitions. */ #define UIO_USERSPACE 0 /* from user data space */ #define UIO_SYSSPACE 1 /* from system space */ #define UIO_USERISPACE 2 /* from user I space */ #define UIOSEG_USER 0 /* obsolete */ #define UIOSEG_KERNEL 1 /* obsolete */ #endif /*!_sys_uio_h*/