blob: fa272d532a0440786c7141d716b8088df66a66c8 [file] [log] [blame]
#pragma once
#include <sys/types.h>
typedef long off_t;
enum uio_rw {
UIO_READ,
UIO_WRITE
};
/* Segment flag values. */
enum uio_seg {
UIO_USERSPACE, /* from user data space */
UIO_SYSSPACE, /* from system space */
UIO_NOCOPY /* don't copy, already in object */
};
// Straight out of bsd definition
struct iovec {
void *iov_base; /* Base address. */
size_t iov_len; /* Length. */
};
struct uio {
struct iovec *uio_iov; /* scatter/gather list */
int uio_iovcnt; /* length of scatter/gather list */
off_t uio_offset; /* offset in target object */
ssize_t uio_resid; /* remaining bytes to process */
enum uio_seg uio_segflg; /* address space */
enum uio_rw uio_rw; /* operation */
struct proc *uio_proc; /* owner */
};