summaryrefslogtreecommitdiffstats
path: root/cpukit/include/sys/uio.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2013-01-23 13:09:18 -0600
committerJoel Sherrill <joel.sherrill@oarcorp.com>2013-01-23 13:38:04 -0600
commitbb679b31119f59a0c27609f606967b4ba326dae4 (patch)
tree0399d7023685910e5b697ea6aa7fc40fbcf957ec /cpukit/include/sys/uio.h
parentbsp/gen83xx: Disable caches in bsp_restart() (diff)
downloadrtems-bb679b31119f59a0c27609f606967b4ba326dae4.tar.bz2
Move <memory.h> and <sys/uio.h> to non-networking directory
These two header files were installed from libnetworking even when networking was disabled. This patch moves them to a non-networking location and updates uio.h to match the FreeBSD 8.x source being used for the USB stack and TCP/IP stack upgrade. - cpukit/include/memory.h Move from cpukit/libnetworking/memory.h. No changes - cpukit/include/sys/uio.h Move from cpukit/libnetworking/sys/uio.h. Replace with FreeBSD 8.x version. - cpukit/include/sys/_iovec.h New. FreeBSD 8.x file supporting <sys/uio.h>. - cpukit/Makefile.am Reflect movement of <memory.h> and <sys/uio.h>. - cpukit/preinstall.am Regenerate - cpukit/libnetworking/nfs/bootp_subr.c Eliminate use of uio_procp field no longer in FreeBSD structure. This field was set and never read so eliminating the set has no impact.
Diffstat (limited to '')
-rw-r--r--cpukit/include/sys/uio.h (renamed from cpukit/libnetworking/sys/uio.h)59
1 files changed, 42 insertions, 17 deletions
diff --git a/cpukit/libnetworking/sys/uio.h b/cpukit/include/sys/uio.h
index 71e09a2792..56956f0150 100644
--- a/cpukit/libnetworking/sys/uio.h
+++ b/cpukit/include/sys/uio.h
@@ -1,4 +1,4 @@
-/*
+/*-
* Copyright (c) 1982, 1986, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
@@ -27,23 +27,30 @@
* SUCH DAMAGE.
*
* @(#)uio.h 8.5 (Berkeley) 2/22/94
- * $FreeBSD: src/sys/sys/uio.h,v 1.40 2006/11/29 19:08:45 alfred Exp $
+ * $FreeBSD$
*/
-
-#ifndef _SYS_UIO_H_
-#define _SYS_UIO_H_
+#ifndef _SYS_UIO_HH_
+#define _SYS_UIO_HH_
#include <sys/cdefs.h>
+#ifdef __rtems__
#include <sys/types.h>
+#endif /* __rtems__ */
+#include <sys/_types.h>
+#include <sys/_iovec.h>
-/*
- * POSIX compliant iovec definition
- */
-struct iovec {
- void *iov_base; /* pointer to data to be written */
- size_t iov_len; /* length of this data block */
-};
+#ifndef __rtems__
+#ifndef _SSIZE_T_DECLARED
+typedef __ssize_t ssize_t;
+#define _SSIZE_T_DECLARED
+#endif
+
+#ifndef _OFF_T_DECLARED
+typedef __off_t off_t;
+#define _OFF_T_DECLARED
+#endif
+#endif /* !__rtems__ */
#if __BSD_VISIBLE
enum uio_rw { UIO_READ, UIO_WRITE };
@@ -65,11 +72,7 @@ struct uio {
ssize_t uio_resid; /* remaining bytes to process */
enum uio_seg uio_segflg; /* address space */
enum uio_rw uio_rw; /* operation */
-#if !defined(__rtems__)
struct thread *uio_td; /* owner */
-#else
- struct proc *uio_procp;
-#endif /* !__rtems__ */
};
/*
@@ -85,15 +88,37 @@ struct uio {
*/
#define UIO_MAXIOV 1024 /* max 1K of iov's */
+struct vm_object;
+struct vm_page;
+
+struct uio *cloneuio(struct uio *uiop);
+int copyinfrom(const void * __restrict src, void * __restrict dst,
+ size_t len, int seg);
+int copyiniov(struct iovec *iovp, u_int iovcnt, struct iovec **iov,
+ int error);
+int copyinstrfrom(const void * __restrict src, void * __restrict dst,
+ size_t len, size_t * __restrict copied, int seg);
+int copyinuio(struct iovec *iovp, u_int iovcnt, struct uio **uiop);
+void uio_yield(void);
int uiomove(void *cp, int n, struct uio *uio);
+int uiomove_frombuf(void *buf, int buflen, struct uio *uio);
+#ifndef __rtems__
+int uiomove_fromphys(struct vm_page *ma[], vm_offset_t offset, int n,
+ struct uio *uio);
+#endif /* !__rtems__ */
+int uiomoveco(void *cp, int n, struct uio *uio, int disposable);
#else /* !_KERNEL */
__BEGIN_DECLS
ssize_t readv(int, const struct iovec *, int);
ssize_t writev(int, const struct iovec *, int);
+#if __BSD_VISIBLE
+ssize_t preadv(int, const struct iovec *, int, off_t);
+ssize_t pwritev(int, const struct iovec *, int, off_t);
+#endif
__END_DECLS
#endif /* _KERNEL */
-#endif /* !_SYS_UIO_H_ */
+#endif /* !_SYS_UIO_HH_ */