svn commit: r331621 - in head/sys: compat/freebsd32 dev/md kern sys
Brooks Davis
brooks at FreeBSD.org
Tue Mar 27 15:20:05 UTC 2018
Author: brooks
Date: Tue Mar 27 15:20:03 2018
New Revision: 331621
URL: https://svnweb.freebsd.org/changeset/base/331621
Log:
Move uio enums to sys/_uio.h.
Include _uio.h instead of uio.h in several headers to reduce header
polution.
Fix a few places that relied on header polution to get the uio.h header.
I have not moved struct uio as many more things that use it rely on
header polution to get other definitions from uio.h.
Reviewed by: cem, kib, markj
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14811
Added:
head/sys/sys/_uio.h (contents, props changed)
Modified:
head/sys/compat/freebsd32/freebsd32_ioctl.c
head/sys/dev/md/md.c
head/sys/kern/tty_pts.c
head/sys/kern/uipc_syscalls.c
head/sys/sys/imgact.h
head/sys/sys/namei.h
head/sys/sys/syscallsubr.h
head/sys/sys/uio.h
Modified: head/sys/compat/freebsd32/freebsd32_ioctl.c
==============================================================================
--- head/sys/compat/freebsd32/freebsd32_ioctl.c Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/compat/freebsd32/freebsd32_ioctl.c Tue Mar 27 15:20:03 2018 (r331621)
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <sys/systm.h>
+#include <sys/uio.h>
#include <compat/freebsd32/freebsd32.h>
#include <compat/freebsd32/freebsd32_ioctl.h>
Modified: head/sys/dev/md/md.c
==============================================================================
--- head/sys/dev/md/md.c Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/dev/md/md.c Tue Mar 27 15:20:03 2018 (r331621)
@@ -89,6 +89,7 @@
#include <sys/sched.h>
#include <sys/sf_buf.h>
#include <sys/sysctl.h>
+#include <sys/uio.h>
#include <sys/vnode.h>
#include <sys/disk.h>
Modified: head/sys/kern/tty_pts.c
==============================================================================
--- head/sys/kern/tty_pts.c Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/kern/tty_pts.c Tue Mar 27 15:20:03 2018 (r331621)
@@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/tty.h>
#include <sys/ttycom.h>
+#include <sys/uio.h>
#include <sys/user.h>
#include <machine/stdarg.h>
Modified: head/sys/kern/uipc_syscalls.c
==============================================================================
--- head/sys/kern/uipc_syscalls.c Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/kern/uipc_syscalls.c Tue Mar 27 15:20:03 2018 (r331621)
@@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$");
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/syscallsubr.h>
+#include <sys/uio.h>
#ifdef KTRACE
#include <sys/ktrace.h>
#endif
Added: head/sys/sys/_uio.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/sys/_uio.h Tue Mar 27 15:20:03 2018 (r331621)
@@ -0,0 +1,52 @@
+/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (c) 1982, 1986, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)uio.h 8.5 (Berkeley) 2/22/94
+ * $FreeBSD$
+ */
+
+#ifndef _SYS__UIO_H_
+#define _SYS__UIO_H_
+
+#if __BSD_VISIBLE
+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 */
+};
+#endif /* __BSD_VISIBLE */
+
+#endif /* !_SYS__UIO_H_ */
Modified: head/sys/sys/imgact.h
==============================================================================
--- head/sys/sys/imgact.h Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/sys/imgact.h Tue Mar 27 15:20:03 2018 (r331621)
@@ -34,7 +34,7 @@
#ifndef _SYS_IMGACT_H_
#define _SYS_IMGACT_H_
-#include <sys/uio.h>
+#include <sys/_uio.h>
#include <vm/vm.h>
Modified: head/sys/sys/namei.h
==============================================================================
--- head/sys/sys/namei.h Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/sys/namei.h Tue Mar 27 15:20:03 2018 (r331621)
@@ -38,7 +38,7 @@
#include <sys/caprights.h>
#include <sys/filedesc.h>
#include <sys/queue.h>
-#include <sys/uio.h>
+#include <sys/_uio.h>
struct componentname {
/*
Modified: head/sys/sys/syscallsubr.h
==============================================================================
--- head/sys/sys/syscallsubr.h Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/sys/syscallsubr.h Tue Mar 27 15:20:03 2018 (r331621)
@@ -31,13 +31,14 @@
#define _SYS_SYSCALLSUBR_H_
#include <sys/signal.h>
-#include <sys/uio.h>
#include <sys/socket.h>
#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/_cpuset.h>
#include <sys/_domainset.h>
+#include <sys/_uio.h>
+struct __wrusage;
struct file;
struct filecaps;
enum idtype;
@@ -55,12 +56,12 @@ struct pollfd;
struct ogetdirentries_args;
struct rlimit;
struct rusage;
+struct sched_param;
union semun;
struct sockaddr;
struct stat;
struct thr_param;
-struct sched_param;
-struct __wrusage;
+struct uio;
int kern___getcwd(struct thread *td, char *buf, enum uio_seg bufseg,
size_t buflen, size_t path_max);
Modified: head/sys/sys/uio.h
==============================================================================
--- head/sys/sys/uio.h Tue Mar 27 14:55:01 2018 (r331620)
+++ head/sys/sys/uio.h Tue Mar 27 15:20:03 2018 (r331621)
@@ -38,6 +38,7 @@
#include <sys/cdefs.h>
#include <sys/_types.h>
#include <sys/_iovec.h>
+#include <sys/_uio.h>
#ifndef _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
@@ -47,17 +48,6 @@ typedef __ssize_t ssize_t;
#ifndef _OFF_T_DECLARED
typedef __off_t off_t;
#define _OFF_T_DECLARED
-#endif
-
-#if __BSD_VISIBLE
-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 */
-};
#endif
#ifdef _KERNEL
More information about the svn-src-all
mailing list