Set tchain earliest/latest on any removal
[akaros.git] / kern / include / sys / uio.h
1 #pragma once
2
3 #include <sys/types.h>
4
5 typedef long off_t;
6
7 enum uio_rw {
8         UIO_READ,
9         UIO_WRITE
10 };
11
12 /* Segment flag values. */
13 enum uio_seg {
14         UIO_USERSPACE,          /* from user data space */
15         UIO_SYSSPACE,           /* from system space */
16         UIO_NOCOPY              /* don't copy, already in object */
17 };
18
19 // Straight out of bsd definition
20 struct iovec {
21     void    *iov_base;  /* Base address. */
22     size_t   iov_len;   /* Length. */
23 };
24
25 struct uio {
26         struct  iovec *uio_iov;         /* scatter/gather list */
27         int     uio_iovcnt;             /* length of scatter/gather list */
28         off_t   uio_offset;             /* offset in target object */
29         ssize_t uio_resid;              /* remaining bytes to process */
30         enum    uio_seg uio_segflg;     /* address space */
31         enum    uio_rw uio_rw;          /* operation */
32         struct  proc *uio_proc;         /* owner */
33 };