Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2018 15:20:03 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r331621 - in head/sys: compat/freebsd32 dev/md kern sys
Message-ID:  <201803271520.w2RFK3Rr091228@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803271520.w2RFK3Rr091228>