diff options
author | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-03-13 19:49:09 +0000 |
---|---|---|
committer | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-03-13 19:49:09 +0000 |
commit | 73e540a0d1cc4fa686de9bd14875cb218d6a9bb1 (patch) | |
tree | a8012ceac97f112ea73ca70c5d311a9fa5f70cc9 /include/sys/uio.h | |
parent | 36e6f86146432207789a0e2027edf8d52326bad7 (diff) |
Drop unicode support, provided in ZFS tree libport
Update uio support
git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@42 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
Diffstat (limited to 'include/sys/uio.h')
-rw-r--r-- | include/sys/uio.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/include/sys/uio.h b/include/sys/uio.h index 6da4d34ed..0ef7aab63 100644 --- a/include/sys/uio.h +++ b/include/sys/uio.h @@ -1,11 +1,46 @@ #ifndef _SPL_UIO_H #define _SPL_UIO_H +#include <linux/uio.h> +#include <asm/uaccess.h> +#include <sys/types.h> + typedef enum uio_rw { UIO_READ = 0, UIO_WRITE = 1, } uio_rw_t; -#define UIO_SYSSPACE 1 +typedef enum uio_seg { + UIO_USERSPACE = 0, + UIO_SYSSPACE = 1, + UIO_USERISPACE =2, +} uio_seg_t; + +typedef struct uio { + struct iovec *uio_iov; /* pointer to array of iovecs */ + int uio_iovcnt; /* number of iovecs */ + offset_t uio_loffset; /* file offset */ + uio_seg_t uio_segflg; /* address space (kernel or user) */ + uint16_t uio_fmode; /* file mode flags */ + uint16_t uio_extflg; /* extended flags */ + offset_t uio_limit; /* u-limit (maximum byte offset) */ + ssize_t uio_resid; /* residual count */ +} uio_t; + +typedef struct aio_req { + uio_t *aio_uio; /* UIO for this request */ + void *aio_private; +} aio_req_t; + +/* XXX: Must be fully implemented when ZVOL is needed, for reference: + * http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/move.c + */ +#if 0 +static __inline__ int +uiomove(void *p, size_t n, enum uio_rw rw, struct uio *uio) +{ + return 0; +} +#endif #endif /* SPL_UIO_H */ |