Improve seperation between kernel code and userland code by requiring
authorChris Pressey <cpressey@dragonflybsd.org>
Thu, 30 Dec 2004 07:01:52 +0000 (07:01 +0000)
committerChris Pressey <cpressey@dragonflybsd.org>
Thu, 30 Dec 2004 07:01:52 +0000 (07:01 +0000)
that source files that #include kernel headers also #define _KERNEL or
_KERNEL_STRUCTURES as appropriate.

With-suggestions-from: joerg
Still-todo: systimer.h, and clean up scsi_da.c
Tested-by: cd /usr/src/nrelease && make installer_release
Approved-by: dillon
If-anything-breaks-yell-at: cpressey

19 files changed:
sys/bus/cam/scsi/scsi_da.c
sys/sys/assym.h
sys/sys/blist.h
sys/sys/bus_private.h
sys/sys/disk.h
sys/sys/eventhandler.h
sys/sys/eventvar.h
sys/sys/kern_syscall.h
sys/sys/kobj.h
sys/sys/kthread.h
sys/sys/lockf.h
sys/sys/sfbuf.h
sys/sys/socketops.h
sys/sys/systm.h
sys/sys/taskqueue.h
sys/sys/timepps.h
sys/sys/tprintf.h
sys/vfs/ufs/inode.h
usr.bin/kdump/mkioctls

index e6223e1..f3c999b 100644 (file)
@@ -26,7 +26,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.42.2.46 2003/10/21 22:18:19 thomas Exp $
- * $DragonFly: src/sys/bus/cam/scsi/scsi_da.c,v 1.20 2004/09/18 21:05:43 joerg Exp $
+ * $DragonFly: src/sys/bus/cam/scsi/scsi_da.c,v 1.21 2004/12/30 07:01:51 cpressey Exp $
  */
 
 #ifdef _KERNEL
@@ -46,9 +46,9 @@
 
 #include <sys/devicestat.h>
 #include <sys/conf.h>
+#ifdef _KERNEL
 #include <sys/disk.h>
 #include <sys/eventhandler.h>
-#ifdef _KERNEL
 #include <sys/malloc.h>
 #include <sys/cons.h>
 #include <sys/proc.h>
index ceb0df2..8a1b7c3 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/assym.h,v 1.3.2.1 2000/07/07 01:31:16 obrien Exp $
- * $DragonFly: src/sys/sys/assym.h,v 1.2 2003/06/17 04:28:58 dillon Exp $
+ * $DragonFly: src/sys/sys/assym.h,v 1.3 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_ASSYM_H_
 #define        _SYS_ASSYM_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 #define        ASSYM_ABS(value)        ((value) < 0 ? -((value) + 1) + 1ULL : (value))
 
 #define        ASSYM(name, value)                                      \
index 17d9e9e..e0fbad8 100644 (file)
  *             eats around 32 KBytes of memory. 
  *
  * $FreeBSD: src/sys/sys/blist.h,v 1.2.2.1 2003/01/12 09:23:12 dillon Exp $
- * $DragonFly: src/sys/sys/blist.h,v 1.3 2004/07/16 05:51:57 dillon Exp $
+ * $DragonFly: src/sys/sys/blist.h,v 1.4 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_BLIST_H_
 #define _SYS_BLIST_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 /*
  * blmeta and bl_bitmap_t MUST be a power of 2 in size.
  */
@@ -86,12 +90,13 @@ typedef struct blist {
 
 #define BLIST_MAX_ALLOC                BLIST_BMAP_RADIX
 
+#ifdef _KERNEL
 extern blist_t blist_create(daddr_t blocks);
 extern void blist_destroy(blist_t blist);
 extern daddr_t blist_alloc(blist_t blist, daddr_t count);
 extern void blist_free(blist_t blist, daddr_t blkno, daddr_t count);
 extern void blist_print(blist_t blist);
 extern void blist_resize(blist_t *pblist, daddr_t count, int freenew);
+#endif  /* _KERNEL */
 
 #endif /* _SYS_BLIST_H_ */
-
index 7475266..8f9fa76 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/bus_private.h,v 1.11.2.2 2000/08/03 00:25:22 peter Exp $
- * $DragonFly: src/sys/sys/bus_private.h,v 1.6 2004/04/15 13:31:41 joerg Exp $
+ * $DragonFly: src/sys/sys/bus_private.h,v 1.7 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_BUS_PRIVATE_H_
 #define _SYS_BUS_PRIVATE_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 #include <sys/bus.h>
 
 /*
index 006a1f5..07eb6d7 100644 (file)
  * ----------------------------------------------------------------------------
  *
  * $FreeBSD: src/sys/sys/disk.h,v 1.16.2.3 2001/06/20 16:11:01 scottl Exp $
- * $DragonFly: src/sys/sys/disk.h,v 1.6 2004/07/16 05:51:57 dillon Exp $
+ * $DragonFly: src/sys/sys/disk.h,v 1.7 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_DISK_H_
 #define        _SYS_DISK_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 #ifndef _SYS_DISKSLICE_H_
 #include <sys/diskslice.h>
 #endif
@@ -73,10 +77,12 @@ struct disk {
 #define DISKFLAG_LOCK          0x1
 #define DISKFLAG_WANTED                0x2
 
+#ifdef _KERNEL
 dev_t disk_create (int unit, struct disk *disk, int flags, struct cdevsw *sw);
 void disk_destroy (struct disk *disk);
 int disk_dumpcheck (dev_t dev, u_int *count, u_int *blkno, u_int *secsize);
 struct disk *disk_enumerate (struct disk *disk);
 void disk_invalidate (struct disk *disk);
+#endif /* _KERNEL */
 
 #endif /* _SYS_DISK_H_ */
index be86f76..24078fb 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/eventhandler.h,v 1.5 2000/01/16 06:11:33 bde Exp $
- * $DragonFly: src/sys/sys/eventhandler.h,v 1.5 2004/09/10 16:40:31 joerg Exp $
+ * $DragonFly: src/sys/sys/eventhandler.h,v 1.6 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #include <sys/queue.h>
 #ifndef SYS_EVENTHANDLER_H
 #define SYS_EVENTHANDLER_H
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 struct eventhandler_entry 
 {
     TAILQ_ENTRY(eventhandler_entry)    ee_link;
@@ -132,6 +136,7 @@ do {                                                        \
 } while(0)
 
 
+#ifdef _KERNEL
 extern eventhandler_tag        eventhandler_register(struct eventhandler_list *list, 
                                              char *name,
                                              void *func, 
@@ -140,6 +145,7 @@ extern eventhandler_tag     eventhandler_register(struct eventhandler_list *list,
 extern void            eventhandler_deregister(struct eventhandler_list *list,
                                                eventhandler_tag tag);
 extern struct eventhandler_list        *eventhandler_find_list(char *name);
+#endif /* _KERNEL */
 
 /*
  * Standard system event queues.
index 6a00715..3cccec1 100644 (file)
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/sys/sys/eventvar.h,v 1.1.2.2 2000/07/18 21:49:12 jlemon Exp $
- *     $DragonFly: src/sys/sys/eventvar.h,v 1.2 2003/06/17 04:28:58 dillon Exp $
+ *     $DragonFly: src/sys/sys/eventvar.h,v 1.3 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_EVENTVAR_H_
 #define _SYS_EVENTVAR_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 #define KQ_NEVENTS     8               /* minimize copy{in,out} calls */
 #define KQEXTENT       256             /* linear growth by this amount */
 
index 25d768d..0d80492 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/sys/kern_syscall.h,v 1.23 2004/12/29 02:40:03 dillon Exp $
+ * $DragonFly: src/sys/sys/kern_syscall.h,v 1.24 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_KERN_SYSCALL_H_
 #define _SYS_KERN_SYSCALL_H_
 
+#ifndef _KERNEL
+#error "This file should not be included by userland programs."
+#endif
+
 enum dup_type {DUP_FIXED, DUP_VARIABLE};
 union fcntl_dat;
 struct image_args;
index 94f83ba..1b180f5 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/kobj.h,v 1.8 2003/09/22 21:32:49 peter Exp $
- * $DragonFly: src/sys/sys/kobj.h,v 1.7 2004/04/14 18:28:29 joerg Exp $
+ * $DragonFly: src/sys/sys/kobj.h,v 1.8 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_KOBJ_H_
 #define _SYS_KOBJ_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 /*
  * Forward declarations
  */
@@ -169,6 +173,8 @@ struct kobj_class name ## _class = {                        \
        #name, methods, size, name ## _baseclasses      \
 }
 
+#ifdef _KERNEL
+
 /*
  * Compile class for the first instance and add a reference.
  */
@@ -242,4 +248,6 @@ kobj_method_t *kobj_lookup_method(kobj_class_t cls,
  */
 int kobj_error_method(void);
 
+#endif /* _KERNEL */
+
 #endif /* !_SYS_KOBJ_H_ */
index 03bb0d2..b70ae40 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/kthread.h,v 1.2 2000/01/07 08:36:44 luoqi Exp $
- * $DragonFly: src/sys/sys/kthread.h,v 1.7 2004/07/29 09:02:32 dillon Exp $
+ * $DragonFly: src/sys/sys/kthread.h,v 1.8 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_KTHREAD_H_
 #define _SYS_KTHREAD_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 struct proc;
 struct thread;
 
@@ -44,6 +48,7 @@ struct kproc_desc {
        struct thread   **global_threadpp;      /* ptr to proc ptr save area */
 };
 
+#ifdef _KERNEL
 void   kproc_start (const void *);
 
 int    suspend_kproc (struct thread *, int);
@@ -55,6 +60,6 @@ int   kthread_create (void (*)(void *), void *, struct thread **,
 int    kthread_create_stk (void (*)(void *), void *, struct thread **,
                        int, const char *, ...);
 void   kthread_exit (void) __dead2;
+#endif /* _KERNEL */
 
-
-#endif
+#endif /* _SYS_KTHREAD_H_ */
index af4e22b..f33f5b0 100644 (file)
  *
  *     @(#)lockf.h     8.1 (Berkeley) 6/11/93
  * $FreeBSD: src/sys/sys/lockf.h,v 1.10 1999/08/28 00:51:51 peter Exp $
- * $DragonFly: src/sys/sys/lockf.h,v 1.6 2004/05/07 10:09:25 joerg Exp $
+ * $DragonFly: src/sys/sys/lockf.h,v 1.7 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_LOCKF_H_
 #define        _SYS_LOCKF_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 #include <sys/queue.h>
 
 struct vop_advlock_args;
@@ -66,12 +70,11 @@ struct lockf {
        int init_done;
 };
 
+#ifdef _KERNEL
 int    lf_advlock(struct vop_advlock_args *, struct lockf *, u_quad_t);
+void   lf_count_adjust(struct proc *, int);
 
-#ifdef _KERNEL
 extern int maxposixlocksperuid;
 #endif
 
-void   lf_count_adjust(struct proc *, int);
-
 #endif /* !_SYS_LOCKF_H_ */
index b774706..54f31fb 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/sys/sfbuf.h,v 1.6 2004/08/24 21:53:41 dillon Exp $
+ * $DragonFly: src/sys/sys/sfbuf.h,v 1.7 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SFBUF_H_
 #define _SFBUF_H_
 
+#if !defined(_KERNEL) && !defined(_KERNEL_STRUCTURES)
+#error "This file should not be included by userland programs."
+#endif
+
 struct sf_buf {
        LIST_ENTRY(sf_buf) list_entry;  /* hash chain of active buffers */
        TAILQ_ENTRY(sf_buf) free_entry; /* list of free buffers */
index adacb0a..a15ac9c 100644 (file)
@@ -30,7 +30,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/sys/socketops.h,v 1.5 2004/07/08 22:07:35 hsu Exp $
+ * $DragonFly: src/sys/sys/socketops.h,v 1.6 2004/12/30 07:01:52 cpressey Exp $
  */
 
 /*
 #ifndef _SOCKETOPS_H_
 #define _SOCKETOPS_H_
 
+#ifndef _KERNEL
+#error "This file should not be included by userland programs."
+#endif
+
 #include <sys/protosw.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
index 9dcb8fb..cc68f5f 100644 (file)
  *
  *     @(#)systm.h     8.7 (Berkeley) 3/29/95
  * $FreeBSD: src/sys/sys/systm.h,v 1.111.2.18 2002/12/17 18:04:02 sam Exp $
- * $DragonFly: src/sys/sys/systm.h,v 1.24 2004/10/12 19:20:48 dillon Exp $
+ * $DragonFly: src/sys/sys/systm.h,v 1.25 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_SYSTM_H_
 #define        _SYS_SYSTM_H_
 
+#ifndef _KERNEL
+#error "This file should not be included by userland programs."
+#endif
+
 #ifndef _MACHINE_TYPES_H_
 #include <machine/types.h>
 #endif
index 07f4e50..99b03ff 100644 (file)
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/taskqueue.h,v 1.3.2.2 2003/09/10 00:40:39 ken Exp $
- * $DragonFly: src/sys/sys/taskqueue.h,v 1.4 2004/08/02 19:32:28 dillon Exp $
+ * $DragonFly: src/sys/sys/taskqueue.h,v 1.5 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_TASKQUEUE_H_
 #define _SYS_TASKQUEUE_H_
 
-#ifndef _KERNEL
-#error "no user-servicable parts inside"
+#if !defined(_KERNEL)
+#error "This file should not be included by userland programs."
 #endif
 
 #include <sys/queue.h>
index c149d25..312417a 100644 (file)
@@ -7,7 +7,7 @@
  * ----------------------------------------------------------------------------
  *
  * $FreeBSD: src/sys/sys/timepps.h,v 1.12 1999/12/29 04:24:48 peter Exp $
- * $DragonFly: src/sys/sys/timepps.h,v 1.4 2004/01/30 05:42:18 dillon Exp $
+ * $DragonFly: src/sys/sys/timepps.h,v 1.5 2004/12/30 07:01:52 cpressey Exp $
  *
  * The is a FreeBSD protype version of the "draft-mogul-pps-api-05.txt" 
  * specification for Pulse Per Second timing interfaces.  
@@ -17,7 +17,6 @@
 #define _SYS_TIMEPPS_H_
 
 #include <sys/ioccom.h>
-#include <sys/systimer.h>
 
 #define PPS_API_VERS_1 1
 
@@ -105,6 +104,9 @@ struct pps_kcbind_args {
 #define PPS_IOC_KCBIND         _IOW('1', 7, struct pps_kcbind_args)
 
 #ifdef _KERNEL
+
+#include <sys/systimer.h>
+
 struct pps_state {
        pps_params_t    ppsparam;
        pps_info_t      ppsinfo;
index d9acd55..282198d 100644 (file)
  *
  *     @(#)tprintf.h   8.1 (Berkeley) 6/2/93
  * $FreeBSD: src/sys/sys/tprintf.h,v 1.9 1999/08/28 00:52:06 peter Exp $
- * $DragonFly: src/sys/sys/tprintf.h,v 1.3 2003/08/20 07:31:21 rob Exp $
+ * $DragonFly: src/sys/sys/tprintf.h,v 1.4 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _SYS_TPRINTF_H_
 #define _SYS_TPRINTF_H_
 
+#if !defined(_KERNEL)
+#error "This file should not be included by userland programs."
+#endif
+
 typedef struct session *tpr_t;
 
 struct proc;
 
 tpr_t  tprintf_open (struct proc *);
 void   tprintf_close (tpr_t);
-
 int    tprintf (tpr_t, const char *fmt, ...) __printflike(2, 3);
 
-#endif
+#endif /* !_SYS_TPRINTF_H_ */
index e2b7013..d6f7c74 100644 (file)
  *
  *     @(#)inode.h     8.9 (Berkeley) 5/14/95
  * $FreeBSD: src/sys/ufs/ufs/inode.h,v 1.28.2.2 2001/09/29 12:52:52 iedowse Exp $
- * $DragonFly: src/sys/vfs/ufs/inode.h,v 1.8 2004/08/28 19:02:30 dillon Exp $
+ * $DragonFly: src/sys/vfs/ufs/inode.h,v 1.9 2004/12/30 07:01:52 cpressey Exp $
  */
 
 #ifndef _UFS_UFS_INODE_H_
 #define        _UFS_UFS_INODE_H_
 
+#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
+
 #ifndef _SYS_LOCK_H_
 #include <sys/lock.h>
 #endif
 #ifndef _SYS_LOCKF_H
 #include <sys/lockf.h>
 #endif
+
+#endif
+
 #ifndef _SYS_QUEUE_H_
 #include <sys/queue.h>
 #endif
index 17c80b3..ce5303e 100644 (file)
@@ -1,7 +1,7 @@
 set -e
 
 # $FreeBSD: src/usr.bin/kdump/mkioctls,v 1.15.2.5 2002/11/15 18:22:31 ru Exp $
-# $DragonFly: src/usr.bin/kdump/mkioctls,v 1.5 2004/03/21 02:09:15 dillon Exp $
+# $DragonFly: src/usr.bin/kdump/mkioctls,v 1.6 2004/12/30 07:01:52 cpressey Exp $
 
 if [ "x$1" = "x-s" ]; then
        use_switch=1
@@ -37,6 +37,7 @@ awk -v x="$ioctl_includes" 'BEGIN {print x}' |
 BEGIN {
        print "/* XXX obnoxious prerequisites. */"
        print "#define COMPAT_43"
+       print "#define _KERNEL_STRUCTURES"
        print "#include <sys/param.h>"
        print "#include <sys/devicestat.h>"
        print "#include <sys/disklabel.h>"