diff --git a/include/rpc/des.h b/include/rpc/des.h
index e2c1531..93e8e1b 100644
--- a/include/rpc/des.h
+++ b/include/rpc/des.h
@@ -35,6 +35,8 @@
  * Copyright (c) 1986 by Sun Microsystems, Inc.
  */
 
+#include <sys/ioccom.h>
+
 #define DES_MAXLEN 	65536	/* maximum # of bytes to encrypt  */
 #define DES_QUICKLEN	16	/* maximum # of bytes to encrypt quickly */
 
diff --git a/share/examples/isdn/v21/v21modem.c b/share/examples/isdn/v21/v21modem.c
index fdd4d8b..435bd07 100644
--- a/share/examples/isdn/v21/v21modem.c
+++ b/share/examples/isdn/v21/v21modem.c
@@ -18,15 +18,15 @@
 #include <stdlib.h>
 #include <fcntl.h>
 #include <err.h>
-#include <sys/ioccom.h>
 #include <errno.h>
 #include <syslog.h>
 #include <sys/types.h>
 #include <sys/ioctl.h>
+#include <sys/select.h>
 #include <termios.h>
 #include <libutil.h>
 
-#include <machine/i4b_tel_ioctl.h>
+#include <i4b_machine/i4b_tel_ioctl.h>
 
 static void create_session(void);
 static void input_byte(int byte, int stopbit);
diff --git a/sys/bus/cam/scsi/scsi_ses.c b/sys/bus/cam/scsi/scsi_ses.c
index 8ea6875..c2cd980 100644
--- a/sys/bus/cam/scsi/scsi_ses.c
+++ b/sys/bus/cam/scsi/scsi_ses.c
@@ -50,7 +50,6 @@
 
 #include "scsi_all.h"
 #include "scsi_message.h"
-#include <sys/ioccom.h>
 #include "scsi_ses.h"
 
 #include <opt_ses.h>
diff --git a/sys/bus/cam/scsi/scsi_ses.h b/sys/bus/cam/scsi/scsi_ses.h
index eed3e92..c4768ee 100644
--- a/sys/bus/cam/scsi/scsi_ses.h
+++ b/sys/bus/cam/scsi/scsi_ses.h
@@ -30,6 +30,8 @@
  *
  */
 
+#include <sys/ioccom.h>
+
 #define	SESIOC			('s' - 040)
 #define	SESIOC_GETNOBJ		_IO(SESIOC, 1)
 #define	SESIOC_GETOBJMAP	_IO(SESIOC, 2)
diff --git a/sys/bus/firewire/firewire.h b/sys/bus/firewire/firewire.h
index bb45984..14a6991 100644
--- a/sys/bus/firewire/firewire.h
+++ b/sys/bus/firewire/firewire.h
@@ -39,6 +39,8 @@
 #ifndef _FIREWIRE_H
 #define _FIREWIRE_H 1
 
+#include <sys/ioccom.h>
+
 #define	DEV_DEF  0
 #define	DEV_DV   2
 
diff --git a/sys/bus/firewire/fwdev.c b/sys/bus/firewire/fwdev.c
index 93be76e..49da43a 100644
--- a/sys/bus/firewire/fwdev.c
+++ b/sys/bus/firewire/fwdev.c
@@ -54,7 +54,6 @@
 #include <sys/bus.h>
 #include <sys/ctype.h>
 
-#include <sys/ioccom.h>
 #include <sys/thread2.h>
 
 #ifdef __DragonFly__
diff --git a/sys/bus/firewire/fwmem.c b/sys/bus/firewire/fwmem.c
index 99b1aea..ba39b0f 100644
--- a/sys/bus/firewire/fwmem.c
+++ b/sys/bus/firewire/fwmem.c
@@ -56,7 +56,6 @@ __FBSDID("$FreeBSD: src/sys/dev/firewire/fwmem.c,v 1.26 2004/01/05 14:21:18 simo
 
 #include <sys/signal.h>
 #include <sys/mman.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/thread2.h>
 
diff --git a/sys/bus/usb/usb.h b/sys/bus/usb/usb.h
index d67dc9f..2089669 100644
--- a/sys/bus/usb/usb.h
+++ b/sys/bus/usb/usb.h
@@ -45,6 +45,7 @@
 
 #include <sys/types.h>
 #include <sys/time.h>
+#include <sys/ioccom.h>
 
 #if defined(_KERNEL)
 #include "opt_usb.h"
diff --git a/sys/contrib/ipfilter/netinet/ip_fil.h b/sys/contrib/ipfilter/netinet/ip_fil.h
index 9befc68..633cecf 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil.h
+++ b/sys/contrib/ipfilter/netinet/ip_fil.h
@@ -12,6 +12,8 @@
 #ifndef	__IP_FIL_H__
 #define	__IP_FIL_H__
 
+#include <sys/ioccom.h>
+
 #if defined(__DragonFly__)
 #include <sys/device.h>
 #endif
diff --git a/sys/contrib/ipfilter/netinet/ip_nat.h b/sys/contrib/ipfilter/netinet/ip_nat.h
index b39adc1..4c1b14d 100644
--- a/sys/contrib/ipfilter/netinet/ip_nat.h
+++ b/sys/contrib/ipfilter/netinet/ip_nat.h
@@ -12,6 +12,8 @@
 #ifndef	__IP_NAT_H__
 #define	__IP_NAT_H__
 
+#include <sys/ioccom.h>
+
 #ifndef SOLARIS
 #define SOLARIS (defined(sun) && (defined(__svr4__) || defined(__SVR4)))
 #endif
diff --git a/sys/contrib/ipfilter/netinet/ip_state.h b/sys/contrib/ipfilter/netinet/ip_state.h
index 0bf7992..8c5931f 100644
--- a/sys/contrib/ipfilter/netinet/ip_state.h
+++ b/sys/contrib/ipfilter/netinet/ip_state.h
@@ -11,6 +11,8 @@
 #ifndef	__IP_STATE_H__
 #define	__IP_STATE_H__
 
+#include <sys/ioccom.h>
+
 #if defined(__STDC__) || defined(__GNUC__)
 # define	SIOCDELST	_IOW('r', 61, struct ipstate *)
 #else
diff --git a/sys/dev/acpica5/acpi.c b/sys/dev/acpica5/acpi.c
index 16bb416..f86d43f 100644
--- a/sys/dev/acpica5/acpi.c
+++ b/sys/dev/acpica5/acpi.c
@@ -39,7 +39,6 @@
 #include <sys/bus.h>
 #include <sys/conf.h>
 #include <sys/device.h>
-#include <sys/ioccom.h>
 #include <sys/reboot.h>
 #include <sys/sysctl.h>
 #include <sys/ctype.h>
diff --git a/sys/dev/acpica5/acpi_acad.c b/sys/dev/acpica5/acpi_acad.c
index 3ecba02..7327309 100644
--- a/sys/dev/acpica5/acpi_acad.c
+++ b/sys/dev/acpica5/acpi_acad.c
@@ -32,7 +32,6 @@
 #include <sys/kernel.h>
 #include <sys/bus.h>
 #include <sys/rman.h>
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/conf.h>
diff --git a/sys/dev/acpica5/acpi_battery.c b/sys/dev/acpica5/acpi_battery.c
index c436065..0122c81 100644
--- a/sys/dev/acpica5/acpi_battery.c
+++ b/sys/dev/acpica5/acpi_battery.c
@@ -33,7 +33,6 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/sysctl.h>
 #include <sys/thread2.h>
 
diff --git a/sys/dev/acpica5/acpi_cmbat.c b/sys/dev/acpica5/acpi_cmbat.c
index 5905438..cf2ffce 100644
--- a/sys/dev/acpica5/acpi_cmbat.c
+++ b/sys/dev/acpica5/acpi_cmbat.c
@@ -35,7 +35,6 @@
 #include <sys/kernel.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/rman.h>
 #include <sys/malloc.h>
 #include <sys/thread2.h>
diff --git a/sys/dev/acpica5/acpiio.h b/sys/dev/acpica5/acpiio.h
index d9b7cc5..a213c6a 100644
--- a/sys/dev/acpica5/acpiio.h
+++ b/sys/dev/acpica5/acpiio.h
@@ -28,6 +28,8 @@
  *	$DragonFly: src/sys/dev/acpica5/acpiio.h,v 1.2 2008/09/29 06:59:45 hasso Exp $
  */
 
+#include <sys/ioccom.h>
+
 /*
  * Core ACPI subsystem ioctls
  */
diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c
index 04308c1..32d809b 100644
--- a/sys/dev/agp/agp.c
+++ b/sys/dev/agp/agp.c
@@ -37,7 +37,6 @@
 #include <sys/malloc.h>
 #include <sys/kernel.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/agpio.h>
 #include <sys/lock.h>
 #include <sys/proc.h>
diff --git a/sys/dev/disk/isp/isp_freebsd.c b/sys/dev/disk/isp/isp_freebsd.c
index 08a3611..b2eb054 100644
--- a/sys/dev/disk/isp/isp_freebsd.c
+++ b/sys/dev/disk/isp/isp_freebsd.c
@@ -30,7 +30,6 @@
 #include <sys/kthread.h>
 #include <sys/conf.h>
 #include <sys/device.h>
-#include <sys/ioccom.h>
 #include <machine/stdarg.h>	/* for use by isp_prt below */
 
 #include "isp_ioctl.h"
diff --git a/sys/dev/disk/isp/isp_ioctl.h b/sys/dev/disk/isp/isp_ioctl.h
index 7d87b63..ca4421f 100644
--- a/sys/dev/disk/isp/isp_ioctl.h
+++ b/sys/dev/disk/isp/isp_ioctl.h
@@ -31,6 +31,9 @@
  * Matthew Jacob <mjacob@feral.com)
  *
  */
+
+#include <sys/ioccom.h>
+
 /*
  * ioctl definitions for Qlogic FC/SCSI HBA driver
  */
diff --git a/sys/dev/netif/ath/ath/if_athioctl.h b/sys/dev/netif/ath/ath/if_athioctl.h
index 6d52424..ec45bb5 100644
--- a/sys/dev/netif/ath/ath/if_athioctl.h
+++ b/sys/dev/netif/ath/ath/if_athioctl.h
@@ -43,6 +43,8 @@
 #ifndef _DEV_ATH_ATHIOCTL_H
 #define _DEV_ATH_ATHIOCTL_H
 
+#include <sys/ioccom.h>
+
 struct ath_stats {
 	uint32_t	ast_watchdog;	/* device reset by watchdog */
 	uint32_t	ast_hardware;	/* fatal hardware error interrupts */
diff --git a/sys/dev/netif/sbni/if_sbnivar.h b/sys/dev/netif/sbni/if_sbnivar.h
index f2a461a..219ac4a 100644
--- a/sys/dev/netif/sbni/if_sbnivar.h
+++ b/sys/dev/netif/sbni/if_sbnivar.h
@@ -32,6 +32,8 @@
  * SBNI12 definitions
  */
 
+#include <sys/ioccom.h>
+
 /*
  * CONFIGURATION PARAMETER:
  *
diff --git a/sys/dev/raid/aac/aac_ioctl.h b/sys/dev/raid/aac/aac_ioctl.h
index d25add7..a2456ea 100644
--- a/sys/dev/raid/aac/aac_ioctl.h
+++ b/sys/dev/raid/aac/aac_ioctl.h
@@ -29,6 +29,8 @@
  *	$DragonFly: src/sys/dev/raid/aac/aac_ioctl.h,v 1.2 2003/06/17 04:28:21 dillon Exp $
  */
 
+#include <sys/ioccom.h>
+
 /*
  * Command queue statistics
  */
diff --git a/sys/dev/raid/aac/aac_linux.c b/sys/dev/raid/aac/aac_linux.c
index f87aa06..1c5ba18 100644
--- a/sys/dev/raid/aac/aac_linux.c
+++ b/sys/dev/raid/aac/aac_linux.c
@@ -36,7 +36,6 @@
 #include <sys/kernel.h>
 #include <sys/module.h>
 #include <sys/file.h>
-#include <sys/ioccom.h>
 #include <sys/mapped_ioctl.h>
 #include <sys/proc.h>
 #include <sys/file2.h>
diff --git a/sys/dev/raid/asr/asr.c b/sys/dev/raid/asr/asr.c
index 2bb9d6a..f17dc92 100644
--- a/sys/dev/raid/asr/asr.c
+++ b/sys/dev/raid/asr/asr.c
@@ -222,7 +222,6 @@ static dpt_sig_S ASR_sig = {
 #include <sys/stat.h>
 #include <sys/device.h>
 #include <sys/thread2.h>
-#include <sys/ioccom.h>
 
 #include <bus/cam/cam.h>
 #include <bus/cam/cam_ccb.h>
diff --git a/sys/dev/raid/asr/osd_unix.h b/sys/dev/raid/asr/osd_unix.h
index c2767db..4ab329a 100644
--- a/sys/dev/raid/asr/osd_unix.h
+++ b/sys/dev/raid/asr/osd_unix.h
@@ -25,6 +25,8 @@
 #ifndef         __OSD_UNIX_H
 #define         __OSD_UNIX_H
 
+#include <sys/ioccom.h>
+
 /*File - OSD_UNIX.H */
 /*****************************************************************************/
 /*                                                                           */
diff --git a/sys/dev/raid/iir/iir.h b/sys/dev/raid/iir/iir.h
index 2f354ee..bb2629d 100644
--- a/sys/dev/raid/iir/iir.h
+++ b/sys/dev/raid/iir/iir.h
@@ -48,6 +48,8 @@
 #ifndef _IIR_H
 #define _IIR_H
 
+#include <sys/ioccom.h>
+
 #define IIR_DRIVER_VERSION      1
 #define IIR_DRIVER_SUBVERSION   5
 
diff --git a/sys/dev/raid/iir/iir_ctrl.c b/sys/dev/raid/iir/iir_ctrl.c
index 0038701..269ab81 100644
--- a/sys/dev/raid/iir/iir_ctrl.c
+++ b/sys/dev/raid/iir/iir_ctrl.c
@@ -51,7 +51,6 @@
 #include <sys/conf.h>
 #include <sys/stat.h>
 #include <sys/device.h>
-#include <sys/ioccom.h>
 #include <sys/thread2.h>
 
 #include <vm/vm.h>
diff --git a/sys/dev/raid/mly/mly.c b/sys/dev/raid/mly/mly.c
index 41e1a02..2cb1c07 100644
--- a/sys/dev/raid/mly/mly.c
+++ b/sys/dev/raid/mly/mly.c
@@ -36,7 +36,6 @@
 #include <sys/conf.h>
 #include <sys/device.h>
 #include <sys/ctype.h>
-#include <sys/ioccom.h>
 #include <sys/stat.h>
 #include <sys/rman.h>
 #include <sys/thread2.h>
diff --git a/sys/dev/raid/mly/mlyio.h b/sys/dev/raid/mly/mlyio.h
index d6d9a11..e29fbcd 100644
--- a/sys/dev/raid/mly/mlyio.h
+++ b/sys/dev/raid/mly/mlyio.h
@@ -27,6 +27,8 @@
  *	$DragonFly: src/sys/dev/raid/mly/mlyio.h,v 1.3 2008/01/21 02:27:37 pavalos Exp $
  */
 
+#include <sys/ioccom.h>
+
 /********************************************************************************
  * Control structures exchanged through the GAM interface with userland
  * management tools.
diff --git a/sys/dev/raid/twa/twa_ioctl.h b/sys/dev/raid/twa/twa_ioctl.h
index 9dbe429..e7fc618 100644
--- a/sys/dev/raid/twa/twa_ioctl.h
+++ b/sys/dev/raid/twa/twa_ioctl.h
@@ -33,6 +33,7 @@
  * Author: Vinod Kashyap
  */
 
+#include <sys/ioccom.h>
 
 #define TWA_AEN_NOT_RETRIEVED	0x1
 #define TWA_AEN_RETRIEVED	0x2
diff --git a/sys/dev/raid/twe/tweio.h b/sys/dev/raid/twe/tweio.h
index 6ec5b43..8706257 100644
--- a/sys/dev/raid/twe/tweio.h
+++ b/sys/dev/raid/twe/tweio.h
@@ -30,6 +30,7 @@
  *	$DragonFly: src/sys/dev/raid/twe/tweio.h,v 1.4 2005/08/22 21:16:20 hmp Exp $
  */
 
+#include <sys/ioccom.h>
 
 /*
  * User-space command
diff --git a/sys/dev/raid/vinum/vinumio.h b/sys/dev/raid/vinum/vinumio.h
index 6f1ea36..5da349b 100644
--- a/sys/dev/raid/vinum/vinumio.h
+++ b/sys/dev/raid/vinum/vinumio.h
@@ -38,6 +38,8 @@
  * $DragonFly: src/sys/dev/raid/vinum/vinumio.h,v 1.2 2003/06/17 04:28:33 dillon Exp $
  */
 
+#include <sys/ioccom.h>
+
 #define L 'F'						    /* ID letter of our ioctls */
 
 #ifdef VINUMDEBUG
diff --git a/sys/dev/serial/digi/digiio.h b/sys/dev/serial/digi/digiio.h
index f40e757..7b8b8f3 100644
--- a/sys/dev/serial/digi/digiio.h
+++ b/sys/dev/serial/digi/digiio.h
@@ -30,6 +30,8 @@
  * $DragonFly: src/sys/dev/serial/digi/digiio.h,v 1.1 2004/12/22 08:42:47 joerg Exp $
  */
 
+#include <sys/ioccom.h>
+
 /*
  * A very small subset of cards.
  */
diff --git a/sys/dev/serial/si/si.h b/sys/dev/serial/si/si.h
index 4287b7d..bad04f4 100644
--- a/sys/dev/serial/si/si.h
+++ b/sys/dev/serial/si/si.h
@@ -35,6 +35,7 @@
  */
 
 #include <sys/callout.h>
+#include <sys/ioccom.h>
 
 /*
  * Macro to turn a device number into various parameters, and test for
diff --git a/sys/dev/sound/pci/gnu/emu10k1-alsa.h b/sys/dev/sound/pci/gnu/emu10k1-alsa.h
index b63b783..0b1488e 100644
--- a/sys/dev/sound/pci/gnu/emu10k1-alsa.h
+++ b/sys/dev/sound/pci/gnu/emu10k1-alsa.h
@@ -26,6 +26,8 @@
 /* $FreeBSD: src/sys/gnu/dev/sound/pci/emu10k1-alsa.h,v 1.2 2005/01/06 18:26:37 imp Exp $ */
 /* $DragonFly: src/sys/dev/sound/pci/gnu/emu10k1-alsa.h,v 1.2 2007/06/16 20:07:20 dillon Exp $ */
 
+#include <sys/ioccom.h>
+
 #ifdef __KERNEL__
 
 #include <sound/pcm.h>
diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h
index a58e96e..8e371e2 100644
--- a/sys/dev/sound/pcm/sound.h
+++ b/sys/dev/sound/pcm/sound.h
@@ -38,7 +38,6 @@
 #ifdef _KERNEL
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/ioccom.h>
 #include <sys/filio.h>
 #include <sys/sockio.h>
 #include <sys/fcntl.h>
diff --git a/sys/dev/usbmisc/ubsa/ubsa.c b/sys/dev/usbmisc/ubsa/ubsa.c
index 81c3843..9b3d411 100644
--- a/sys/dev/usbmisc/ubsa/ubsa.c
+++ b/sys/dev/usbmisc/ubsa/ubsa.c
@@ -68,7 +68,6 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/interrupt.h>
 #include <sys/conf.h>
diff --git a/sys/dev/usbmisc/ucom/ucom.c b/sys/dev/usbmisc/ucom/ucom.c
index 3016b1f..cbc7ed3 100644
--- a/sys/dev/usbmisc/ucom/ucom.c
+++ b/sys/dev/usbmisc/ucom/ucom.c
@@ -72,7 +72,6 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
diff --git a/sys/dev/usbmisc/ufm/ufm.c b/sys/dev/usbmisc/ufm/ufm.c
index 12e4c3d..02d4460 100644
--- a/sys/dev/usbmisc/ufm/ufm.c
+++ b/sys/dev/usbmisc/ufm/ufm.c
@@ -39,7 +39,6 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/filio.h>
 #include <sys/conf.h>
diff --git a/sys/dev/usbmisc/uftdi/uftdi.c b/sys/dev/usbmisc/uftdi/uftdi.c
index 666def3..1775159 100644
--- a/sys/dev/usbmisc/uftdi/uftdi.c
+++ b/sys/dev/usbmisc/uftdi/uftdi.c
@@ -52,7 +52,6 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
diff --git a/sys/dev/usbmisc/ugen/ugen.c b/sys/dev/usbmisc/ugen/ugen.c
index 3734e00..0adadf4 100644
--- a/sys/dev/usbmisc/ugen/ugen.c
+++ b/sys/dev/usbmisc/ugen/ugen.c
@@ -56,7 +56,6 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/conf.h>
 #include <sys/fcntl.h>
 #include <sys/filio.h>
diff --git a/sys/dev/usbmisc/uhid/uhid.c b/sys/dev/usbmisc/uhid/uhid.c
index d9296f5..81d9b73 100644
--- a/sys/dev/usbmisc/uhid/uhid.c
+++ b/sys/dev/usbmisc/uhid/uhid.c
@@ -55,11 +55,9 @@
 #include <sys/lock.h>
 #include <sys/malloc.h>
 #include <sys/signalvar.h>
-#include <sys/ioccom.h>
 #include <sys/filio.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
 #include <sys/select.h>
diff --git a/sys/dev/usbmisc/ukbd/ukbd.c b/sys/dev/usbmisc/ukbd/ukbd.c
index 82df85e..b9731e7 100644
--- a/sys/dev/usbmisc/ukbd/ukbd.c
+++ b/sys/dev/usbmisc/ukbd/ukbd.c
@@ -50,7 +50,6 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/ioccom.h>
 #include <sys/module.h>
 #include <sys/bus.h>
 #include <sys/file.h>
diff --git a/sys/dev/usbmisc/ulpt/ulpt.c b/sys/dev/usbmisc/ulpt/ulpt.c
index aeb6e3e..5380f4c 100644
--- a/sys/dev/usbmisc/ulpt/ulpt.c
+++ b/sys/dev/usbmisc/ulpt/ulpt.c
@@ -49,7 +49,6 @@
 #include <sys/systm.h>
 #include <sys/proc.h>
 #include <sys/kernel.h>
-#include <sys/ioccom.h>
 #include <sys/module.h>
 #include <sys/bus.h>
 #include <sys/uio.h>
diff --git a/sys/dev/usbmisc/umodem/umodem.c b/sys/dev/usbmisc/umodem/umodem.c
index 8812025..458647d 100644
--- a/sys/dev/usbmisc/umodem/umodem.c
+++ b/sys/dev/usbmisc/umodem/umodem.c
@@ -83,7 +83,6 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/ioccom.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
 #include <sys/file.h>
diff --git a/sys/dev/usbmisc/ums/ums.c b/sys/dev/usbmisc/ums/ums.c
index af01edd..b6d0af7 100644
--- a/sys/dev/usbmisc/ums/ums.c
+++ b/sys/dev/usbmisc/ums/ums.c
@@ -50,7 +50,6 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
 #include <sys/file.h>
diff --git a/sys/dev/usbmisc/uplcom/uplcom.c b/sys/dev/usbmisc/uplcom/uplcom.c
index cc33843..3db8150 100644
--- a/sys/dev/usbmisc/uplcom/uplcom.c
+++ b/sys/dev/usbmisc/uplcom/uplcom.c
@@ -89,7 +89,6 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
diff --git a/sys/dev/usbmisc/urio/urio.c b/sys/dev/usbmisc/urio/urio.c
index 10fa331..6d93d0b 100644
--- a/sys/dev/usbmisc/urio/urio.c
+++ b/sys/dev/usbmisc/urio/urio.c
@@ -51,7 +51,6 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/filio.h>
 #include <sys/conf.h>
diff --git a/sys/dev/usbmisc/uticom/uticom.c b/sys/dev/usbmisc/uticom/uticom.c
index 0e3d6d7..2f18909 100644
--- a/sys/dev/usbmisc/uticom/uticom.c
+++ b/sys/dev/usbmisc/uticom/uticom.c
@@ -31,7 +31,6 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/fcntl.h>
 #include <sys/conf.h>
 #include <sys/tty.h>
diff --git a/sys/dev/usbmisc/uvscom/uvscom.c b/sys/dev/usbmisc/uvscom/uvscom.c
index 88157b7..be43c8d 100644
--- a/sys/dev/usbmisc/uvscom/uvscom.c
+++ b/sys/dev/usbmisc/uvscom/uvscom.c
@@ -44,7 +44,6 @@
 #include <sys/tty.h>
 #include <sys/file.h>
 #include <sys/bus.h>
-#include <sys/ioccom.h>
 #include <sys/select.h>
 #include <sys/proc.h>
 #include <sys/poll.h>
diff --git a/sys/dev/video/bktr/ioctl_bt848.h b/sys/dev/video/bktr/ioctl_bt848.h
index 6378d80..b38ce56 100644
--- a/sys/dev/video/bktr/ioctl_bt848.h
+++ b/sys/dev/video/bktr/ioctl_bt848.h
@@ -8,6 +8,8 @@
 #ifndef  _DEV_BKTR_IOCTL_BT848_H_
 #define  _DEV_BKTR_IOCTL_BT848_H_
 
+#include <sys/ioccom.h>
+
 /*
  * frequency sets
  */
diff --git a/sys/dev/virtual/net/if_vke.c b/sys/dev/virtual/net/if_vke.c
index b9425da..360f56b 100644
--- a/sys/dev/virtual/net/if_vke.c
+++ b/sys/dev/virtual/net/if_vke.c
@@ -55,7 +55,6 @@
 #include <netinet/in_var.h>
 
 #include <sys/stat.h>
-#include <sys/ioccom.h>
 #include <net/tap/if_tap.h>
 #include <errno.h>
 #include <stdio.h>
diff --git a/sys/emulation/linux/linux_ioctl.c b/sys/emulation/linux/linux_ioctl.c
index 7846e28..39aea77 100644
--- a/sys/emulation/linux/linux_ioctl.c
+++ b/sys/emulation/linux/linux_ioctl.c
@@ -41,7 +41,6 @@
 #include <sys/file.h>
 #include <sys/filedesc.h>
 #include <sys/filio.h>
-#include <sys/ioccom.h>
 #include <sys/kbio.h>
 #include <sys/kernel.h>
 #include <sys/linker_set.h>
diff --git a/sys/kern/kern_memio.c b/sys/kern/kern_memio.c
index d345d90..6883778 100644
--- a/sys/kern/kern_memio.c
+++ b/sys/kern/kern_memio.c
@@ -52,7 +52,6 @@
 #include <sys/conf.h>
 #include <sys/fcntl.h>
 #include <sys/filio.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/memrange.h>
diff --git a/sys/net/bpf.h b/sys/net/bpf.h
index 69e1480..90dac02 100644
--- a/sys/net/bpf.h
+++ b/sys/net/bpf.h
@@ -51,6 +51,9 @@
 #ifndef _SYS_TIME_H_
 #include <sys/time.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 __BEGIN_DECLS
 
diff --git a/sys/net/i4b/driver/i4b_ctl.c b/sys/net/i4b/driver/i4b_ctl.c
index fb06ae6..4205e46 100644
--- a/sys/net/i4b/driver/i4b_ctl.c
+++ b/sys/net/i4b/driver/i4b_ctl.c
@@ -50,7 +50,6 @@
 #include <sys/systm.h>
 #include <sys/conf.h>
 #include <sys/device.h>
-#include <sys/ioccom.h>
 #include <sys/socket.h>
 #include <net/if.h>
 
diff --git a/sys/net/i4b/driver/i4b_ing.c b/sys/net/i4b/driver/i4b_ing.c
index e0f434a..53b363a 100644
--- a/sys/net/i4b/driver/i4b_ing.c
+++ b/sys/net/i4b/driver/i4b_ing.c
@@ -47,7 +47,6 @@
 #include <sys/socket.h>
 #include <sys/errno.h>
 #include <sys/ctype.h>
-#include <sys/ioccom.h>
 #include <sys/syslog.h>
 #include <sys/malloc.h>
 #include <sys/thread2.h>
diff --git a/sys/net/i4b/driver/i4b_ipr.c b/sys/net/i4b/driver/i4b_ipr.c
index 4e248f7..cd100ea 100644
--- a/sys/net/i4b/driver/i4b_ipr.c
+++ b/sys/net/i4b/driver/i4b_ipr.c
@@ -69,7 +69,6 @@
 #include <sys/socket.h>
 #include <sys/errno.h>
 
-#include <sys/ioccom.h>
 #include <sys/sockio.h>
 #ifdef IPR_VJ
 #include <sys/malloc.h>
diff --git a/sys/net/i4b/driver/i4b_isppp.c b/sys/net/i4b/driver/i4b_isppp.c
index 43a3af4..cd824e9 100644
--- a/sys/net/i4b/driver/i4b_isppp.c
+++ b/sys/net/i4b/driver/i4b_isppp.c
@@ -55,7 +55,6 @@
 #include <sys/mbuf.h>
 #include <sys/socket.h>
 #include <sys/errno.h>
-#include <sys/ioccom.h>
 #include <sys/sockio.h>
 #include <sys/kernel.h>
 #include <sys/thread2.h>
diff --git a/sys/net/i4b/driver/i4b_rbch.c b/sys/net/i4b/driver/i4b_rbch.c
index 67ea726..503c793 100644
--- a/sys/net/i4b/driver/i4b_rbch.c
+++ b/sys/net/i4b/driver/i4b_rbch.c
@@ -60,7 +60,6 @@
 #include "../include/i4b_l3l4.h"
 #include "../layer4/i4b_l4.h"
 
-#include <sys/ioccom.h>
 #include <sys/poll.h>
 #include <sys/filio.h>
 
diff --git a/sys/net/i4b/driver/i4b_tel.c b/sys/net/i4b/driver/i4b_tel.c
index 33ae303..b9fc1b7 100644
--- a/sys/net/i4b/driver/i4b_tel.c
+++ b/sys/net/i4b/driver/i4b_tel.c
@@ -43,7 +43,6 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 
-#include <sys/ioccom.h>
 #include <sys/poll.h>
 
 #include <sys/conf.h>
diff --git a/sys/net/i4b/driver/i4b_trace.c b/sys/net/i4b/driver/i4b_trace.c
index d61349d..83fb2d6 100644
--- a/sys/net/i4b/driver/i4b_trace.c
+++ b/sys/net/i4b/driver/i4b_trace.c
@@ -40,7 +40,6 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/ioccom.h>
 #include <sys/conf.h>
 #include <sys/uio.h>
 #include <sys/kernel.h>
diff --git a/sys/net/i4b/include/i386/i4b_debug.h b/sys/net/i4b/include/i386/i4b_debug.h
index ea9303d..aa58760 100644
--- a/sys/net/i4b/include/i386/i4b_debug.h
+++ b/sys/net/i4b/include/i386/i4b_debug.h
@@ -37,6 +37,8 @@
 #ifndef _I4B_DEBUG_H_
 #define _I4B_DEBUG_H_
 
+#include <sys/ioccom.h>
+
 #if !defined DO_I4B_DEBUG
 # define DO_I4B_DEBUG 1		/* default = include debugging code */
 #elif DO_I4B_DEBUG != 0
diff --git a/sys/net/i4b/include/i386/i4b_ioctl.h b/sys/net/i4b/include/i386/i4b_ioctl.h
index 97da937..9e1d45e 100644
--- a/sys/net/i4b/include/i386/i4b_ioctl.h
+++ b/sys/net/i4b/include/i386/i4b_ioctl.h
@@ -40,6 +40,9 @@
 #ifndef _MACHINE_TYPES_H_
 #include <machine/types.h>
 #endif /* _MACHINE_TYPES_H_ */
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif /* _SYS_IOCCOM_H_ */
 
 /*---------------------------------------------------------------------------*
  *	version and release number for isdn4bsd package
diff --git a/sys/net/i4b/include/i386/i4b_isppp.h b/sys/net/i4b/include/i386/i4b_isppp.h
index 2ec8989..655b886 100644
--- a/sys/net/i4b/include/i386/i4b_isppp.h
+++ b/sys/net/i4b/include/i386/i4b_isppp.h
@@ -27,6 +27,8 @@
 #ifndef _I4B_ISPPP_H_
 #define _I4B_ISPPP_H_
 
+#include <sys/ioccom.h>
+
 #define SPPP_VJ			/* use VJ compression */
 
 
diff --git a/sys/net/i4b/include/i386/i4b_rbch_ioctl.h b/sys/net/i4b/include/i386/i4b_rbch_ioctl.h
index e7a3996..4e6952f 100644
--- a/sys/net/i4b/include/i386/i4b_rbch_ioctl.h
+++ b/sys/net/i4b/include/i386/i4b_rbch_ioctl.h
@@ -39,6 +39,8 @@
 #ifndef _I4B_RBCH_IOCTL_H_
 #define _I4B_RBCH_IOCTL_H_
 
+#include <sys/ioccom.h>
+
 /*---------------------------------------------------------------------------*
  *	instruct the rbch device to dial the given number
  *---------------------------------------------------------------------------*/
diff --git a/sys/net/i4b/include/i386/i4b_tel_ioctl.h b/sys/net/i4b/include/i386/i4b_tel_ioctl.h
index b5c822b..deb0761 100644
--- a/sys/net/i4b/include/i386/i4b_tel_ioctl.h
+++ b/sys/net/i4b/include/i386/i4b_tel_ioctl.h
@@ -39,6 +39,8 @@
 #ifndef _I4B_TEL_IOCTL_H_
 #define _I4B_TEL_IOCTL_H_
 
+#include <sys/ioccom.h>
+
 /*===========================================================================*
  *	/dev/i4btel<n> devices (audio data)
  *===========================================================================*/
diff --git a/sys/net/i4b/include/i386/i4b_trace.h b/sys/net/i4b/include/i386/i4b_trace.h
index 1dcc22a..bb508de 100644
--- a/sys/net/i4b/include/i386/i4b_trace.h
+++ b/sys/net/i4b/include/i386/i4b_trace.h
@@ -39,6 +39,8 @@
 #ifndef _I4B_TRACE_H_
 #define _I4B_TRACE_H_
 
+#include <sys/ioccom.h>
+
 /*---------------------------------------------------------------------------*
  *	structure of the header at the beginning of every trace mbuf
  *---------------------------------------------------------------------------*/
diff --git a/sys/net/i4b/layer4/i4b_i4bdrv.c b/sys/net/i4b/layer4/i4b_i4bdrv.c
index eea71f4..ee4576b 100644
--- a/sys/net/i4b/layer4/i4b_i4bdrv.c
+++ b/sys/net/i4b/layer4/i4b_i4bdrv.c
@@ -46,7 +46,6 @@
 
 #include <sys/param.h>
 
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/uio.h>
 #include <sys/kernel.h>
diff --git a/sys/net/if_atm.h b/sys/net/if_atm.h
index 71876b9..d6d5465 100644
--- a/sys/net/if_atm.h
+++ b/sys/net/if_atm.h
@@ -44,6 +44,9 @@
 #ifndef _SYS_TYPES_H_
 #include <sys/types.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 #ifndef _NET_IF_H_
 #include <net/if.h>
 #endif
diff --git a/sys/net/pf/if_pfsync.h b/sys/net/pf/if_pfsync.h
index ce04d59..c9b86a6 100644
--- a/sys/net/pf/if_pfsync.h
+++ b/sys/net/pf/if_pfsync.h
@@ -33,6 +33,8 @@
 #ifndef _NET_IF_PFSYNC_H_
 #define _NET_IF_PFSYNC_H_
 
+#include <sys/ioccom.h>
+
 /*
  * pfvar.h is required to get struct pf_addr.  Also kdump and other utilities
  * blindly include header files to try to get all the ioctl constants and
diff --git a/sys/net/pf/pfvar.h b/sys/net/pf/pfvar.h
index 3cb10ef..01a1229 100644
--- a/sys/net/pf/pfvar.h
+++ b/sys/net/pf/pfvar.h
@@ -39,6 +39,7 @@
 #define _NET_PFVAR_H_
 
 #include <sys/types.h>
+#include <sys/ioccom.h>
 #include <sys/queue.h>
 #include <sys/tree.h>
 
diff --git a/sys/net/ppp/if_ppp.h b/sys/net/ppp/if_ppp.h
index 282bbe5..6a4e620 100644
--- a/sys/net/ppp/if_ppp.h
+++ b/sys/net/ppp/if_ppp.h
@@ -26,6 +26,7 @@
 /* XXX this used to be self-contained. */
 #include <net/ppp_layer/ppp_defs.h>
 #include <net/if.h>
+#include <sys/ioccom.h>
 
 /*
  * Packet sizes
diff --git a/sys/net/slip.h b/sys/net/slip.h
index 3dae0a5..2c87e4a 100644
--- a/sys/net/slip.h
+++ b/sys/net/slip.h
@@ -38,6 +38,8 @@
 #ifndef _NET_SLIP_H_
 #define	_NET_SLIP_H_
 
+#include <sys/ioccom.h>
+
 /* Ioctls operating on SLIP ttys. */
 #define	SLIOCGUNIT	_IOR('t', 88, int)	/* get slip unit number */
 #define	SLIOCSKEEPAL	_IOW('t', 84, int)	/* set keepalive */
diff --git a/sys/net/tap/if_tap.h b/sys/net/tap/if_tap.h
index 220c560..745119b 100644
--- a/sys/net/tap/if_tap.h
+++ b/sys/net/tap/if_tap.h
@@ -39,6 +39,8 @@
 #ifndef _NET_IF_TAP_H_
 #define _NET_IF_TAP_H_
 
+#include <sys/ioccom.h>
+
 /* refer to if_tapvar.h for the softc stuff */
 
 /* maximum receive packet size (hard limit) */
diff --git a/sys/net/tun/if_tun.h b/sys/net/tun/if_tun.h
index 9104c9b..fe1f046 100644
--- a/sys/net/tun/if_tun.h
+++ b/sys/net/tun/if_tun.h
@@ -20,6 +20,8 @@
 #ifndef _NET_IF_TUN_H_
 #define _NET_IF_TUN_H_
 
+#include <sys/ioccom.h>
+
 /* Refer to if_tunvar.h for the softc stuff */
 
 /* Maximum transmit packet size (default) */
diff --git a/sys/netbt/hci.h b/sys/netbt/hci.h
index 5885400..0535d29 100644
--- a/sys/netbt/hci.h
+++ b/sys/netbt/hci.h
@@ -78,6 +78,7 @@
 
 #include <netbt/bluetooth.h>
 
+#include <sys/ioccom.h>
 #include <sys/lock.h>
 
 /**************************************************************************
diff --git a/sys/netbt/hci_ioctl.c b/sys/netbt/hci_ioctl.c
index 0c75541..1292c9f 100644
--- a/sys/netbt/hci_ioctl.c
+++ b/sys/netbt/hci_ioctl.c
@@ -34,7 +34,6 @@
 
 #include <sys/param.h>
 #include <sys/domain.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/mbuf.h>
 #include <sys/proc.h>
diff --git a/sys/netgraph/ng_device.c b/sys/netgraph/ng_device.c
index 4abf9c0..120776e 100644
--- a/sys/netgraph/ng_device.c
+++ b/sys/netgraph/ng_device.c
@@ -42,7 +42,6 @@
 #include <sys/malloc.h>
 #include <sys/conf.h>
 #include <sys/poll.h>
-#include <sys/ioccom.h>
 
 #include <netgraph/ng_message.h>
 #include <netgraph/netgraph.h>
diff --git a/sys/netgraph/ng_message.h b/sys/netgraph/ng_message.h
index 45ef0cc..1eb9407 100644
--- a/sys/netgraph/ng_message.h
+++ b/sys/netgraph/ng_message.h
@@ -47,6 +47,9 @@
 #ifndef _SYS_TYPES_H_
 #include <sys/types.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 /* ASCII string size limits */
 #define NG_TYPESIZ	32	/* max type name len (including null) */
@@ -259,8 +262,6 @@ struct typelist {
  * (e.g., a device that has a /dev entry and is also a netgraph node),
  * we define a generic ioctl for requesting the corresponding nodeinfo
  * structure and for assigning a name (if there isn't one already).
- *
- * For these to you need to also #include <sys/ioccom.h>.
  */
 
 #define NGIOCGINFO	_IOR('N', 40, struct nodeinfo)	/* get node info */
diff --git a/sys/netgraph/tty/ng_tty.c b/sys/netgraph/tty/ng_tty.c
index c457645..6a7666c 100644
--- a/sys/netgraph/tty/ng_tty.c
+++ b/sys/netgraph/tty/ng_tty.c
@@ -72,7 +72,6 @@
 #include <sys/ttycom.h>
 #include <sys/syslog.h>
 #include <sys/errno.h>
-#include <sys/ioccom.h>
 #include <sys/thread2.h>
 
 #include <netgraph/ng_message.h>
diff --git a/sys/netgraph7/atm/ng_atm.c b/sys/netgraph7/atm/ng_atm.c
index 53009c5..11c1ce0 100644
--- a/sys/netgraph7/atm/ng_atm.c
+++ b/sys/netgraph7/atm/ng_atm.c
@@ -44,7 +44,6 @@
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/sbuf.h>
-#include <sys/ioccom.h>
 #include <sys/sysctl.h>
 
 #include <net/if.h>
diff --git a/sys/netgraph7/bluetooth/drivers/h4/ng_h4.c b/sys/netgraph7/bluetooth/drivers/h4/ng_h4.c
index 96568ab..37bb0c5 100644
--- a/sys/netgraph7/bluetooth/drivers/h4/ng_h4.c
+++ b/sys/netgraph7/bluetooth/drivers/h4/ng_h4.c
@@ -47,7 +47,6 @@
 #include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/fcntl.h>
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/mbuf.h>
 #include <sys/priv.h>
diff --git a/sys/netgraph7/bluetooth/include/ng_btsocket.h b/sys/netgraph7/bluetooth/include/ng_btsocket.h
index 965758b..a14afe8 100644
--- a/sys/netgraph7/bluetooth/include/ng_btsocket.h
+++ b/sys/netgraph7/bluetooth/include/ng_btsocket.h
@@ -35,6 +35,8 @@
 #ifndef _NETGRAPH_BTSOCKET_H_
 #define _NETGRAPH_BTSOCKET_H_
 
+#include <sys/ioccom.h>
+
 /*
  * Bluetooth protocols
  */
diff --git a/sys/netgraph7/bluetooth/socket/ng_btsocket_hci_raw.c b/sys/netgraph7/bluetooth/socket/ng_btsocket_hci_raw.c
index cc8bc69..ac8619d 100644
--- a/sys/netgraph7/bluetooth/socket/ng_btsocket_hci_raw.c
+++ b/sys/netgraph7/bluetooth/socket/ng_btsocket_hci_raw.c
@@ -39,7 +39,6 @@
 #include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/filedesc.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
diff --git a/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap.c b/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap.c
index 874a9ed..a691b9d 100644
--- a/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap.c
+++ b/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap.c
@@ -39,7 +39,6 @@
 #include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/filedesc.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
diff --git a/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap_raw.c b/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap_raw.c
index 2bb4234..7b2bb07 100644
--- a/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap_raw.c
+++ b/sys/netgraph7/bluetooth/socket/ng_btsocket_l2cap_raw.c
@@ -38,7 +38,6 @@
 #include <sys/domain.h>
 #include <sys/errno.h>
 #include <sys/filedesc.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
diff --git a/sys/netgraph7/bluetooth/socket/ng_btsocket_rfcomm.c b/sys/netgraph7/bluetooth/socket/ng_btsocket_rfcomm.c
index d37ff5f..0f43a2d 100644
--- a/sys/netgraph7/bluetooth/socket/ng_btsocket_rfcomm.c
+++ b/sys/netgraph7/bluetooth/socket/ng_btsocket_rfcomm.c
@@ -39,7 +39,6 @@
 #include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/filedesc.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
diff --git a/sys/netgraph7/ng_device.c b/sys/netgraph7/ng_device.c
index bda3221..3705d8f 100644
--- a/sys/netgraph7/ng_device.c
+++ b/sys/netgraph7/ng_device.c
@@ -40,7 +40,6 @@
 
 #include <sys/param.h>
 #include <sys/conf.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/mbuf.h>
diff --git a/sys/netgraph7/ng_message.h b/sys/netgraph7/ng_message.h
index 7796d5f..c8fadba 100644
--- a/sys/netgraph7/ng_message.h
+++ b/sys/netgraph7/ng_message.h
@@ -45,6 +45,8 @@
 #ifndef _NETGRAPH_NG_MESSAGE_H_
 #define _NETGRAPH_NG_MESSAGE_H_
 
+#include <sys/ioccom.h>
+
 /* ASCII string size limits */
 #define	NG_TYPESIZ	32	/* max type name len (including null) */
 #define	NG_HOOKSIZ	32	/* max hook name len (including null) */
@@ -374,8 +376,6 @@ struct flow_manager {
  * (e.g., a device that has a /dev entry and is also a netgraph node),
  * we define a generic ioctl for requesting the corresponding nodeinfo
  * structure and for assigning a name (if there isn't one already).
- *
- * For these to you need to also #include <sys/ioccom.h>.
  */
 
 #define NGIOCGINFO	_IOR('N', 40, struct nodeinfo)	/* get node info */
diff --git a/sys/netgraph7/ng_tty.c b/sys/netgraph7/ng_tty.c
index 01e2d61..d6884ba 100644
--- a/sys/netgraph7/ng_tty.c
+++ b/sys/netgraph7/ng_tty.c
@@ -63,7 +63,6 @@
 #include <sys/conf.h>
 #include <sys/errno.h>
 #include <sys/fcntl.h>
-#include <sys/ioccom.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/mbuf.h>
diff --git a/sys/netinet/ip_carp.h b/sys/netinet/ip_carp.h
index 2560ab6..4b5517b 100644
--- a/sys/netinet/ip_carp.h
+++ b/sys/netinet/ip_carp.h
@@ -33,6 +33,8 @@
 #ifndef _IP_CARP_H
 #define	_IP_CARP_H
 
+#include <sys/ioccom.h>
+
 /*
  * The CARP header layout is as follows:
  *
diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h
index 91342b3..58cc994 100644
--- a/sys/netinet6/in6_var.h
+++ b/sys/netinet6/in6_var.h
@@ -72,6 +72,9 @@
 #ifndef _SYS_TYPES_H_
 #include <sys/types.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 #ifndef _SYS_TIME_H_
 #include <sys/time.h>
 #endif
diff --git a/sys/netproto/802_11/ieee80211_ioctl.h b/sys/netproto/802_11/ieee80211_ioctl.h
index 011ca65..ce63d5b 100644
--- a/sys/netproto/802_11/ieee80211_ioctl.h
+++ b/sys/netproto/802_11/ieee80211_ioctl.h
@@ -35,6 +35,8 @@
 #ifndef _NET80211_IEEE80211_IOCTL_H_
 #define _NET80211_IEEE80211_IOCTL_H_
 
+#include <sys/ioccom.h>
+
 /*
  * IEEE 802.11 ioctls.
  */
diff --git a/sys/netproto/802_11/if_wavelan_ieee.h b/sys/netproto/802_11/if_wavelan_ieee.h
index 7aa0fea..d941271 100644
--- a/sys/netproto/802_11/if_wavelan_ieee.h
+++ b/sys/netproto/802_11/if_wavelan_ieee.h
@@ -36,6 +36,8 @@
 #ifndef _NETPROTO_802_11_IF_WAVELAN_IEEE_H 
 #define	_NETPROTO_802_11_IF_WAVELAN_IEEE_H 
 
+#include <sys/ioccom.h>
+
 /*
  * This header defines a simple command interface to the FreeBSD
  * WaveLAN/IEEE driver (wi) driver, which is used to set certain
diff --git a/sys/netproto/atalk/phase2.h b/sys/netproto/atalk/phase2.h
index 112c062..bc8203b 100644
--- a/sys/netproto/atalk/phase2.h
+++ b/sys/netproto/atalk/phase2.h
@@ -3,6 +3,7 @@
  * All Rights Reserved.
  */
 
+#include <sys/ioccom.h>
 #include <net/if_llc.h>
 
 #define llc_org_code llc_un.type_snap.org_code
diff --git a/sys/netproto/atm/atm_ioctl.h b/sys/netproto/atm/atm_ioctl.h
index d7c6e96..730cbc0 100644
--- a/sys/netproto/atm/atm_ioctl.h
+++ b/sys/netproto/atm/atm_ioctl.h
@@ -39,6 +39,7 @@
 #ifndef _NETATM_ATM_IOCTL_H
 #define _NETATM_ATM_IOCTL_H
 
+#include <sys/ioccom.h>
 
 /*
  * Structure for PF_ATM configure (AIOCCFG) socket ioctls
diff --git a/sys/netproto/natm/natm.h b/sys/netproto/natm/natm.h
index 92b63f0..d97532d 100644
--- a/sys/netproto/natm/natm.h
+++ b/sys/netproto/natm/natm.h
@@ -38,6 +38,7 @@
  * natm.h: native mode atm
  */
 
+#include <sys/ioccom.h>
 
 /*
  * supported protocols
diff --git a/sys/netproto/smb/smb_dev.c b/sys/netproto/smb/smb_dev.c
index 823289b..ca4cfed 100644
--- a/sys/netproto/smb/smb_dev.c
+++ b/sys/netproto/smb/smb_dev.c
@@ -38,7 +38,6 @@
 #include <sys/conf.h>
 #include <sys/device.h>
 #include <sys/fcntl.h>
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/file.h>		/* Must come after sys/malloc.h */
 #include <sys/poll.h>
diff --git a/sys/platform/pc32/i386/k6_mem.c b/sys/platform/pc32/i386/k6_mem.c
index 47b7183..6174da6 100644
--- a/sys/platform/pc32/i386/k6_mem.c
+++ b/sys/platform/pc32/i386/k6_mem.c
@@ -31,7 +31,6 @@
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/memrange.h>
 #include <sys/proc.h>
diff --git a/sys/platform/pc32/include/cdk.h b/sys/platform/pc32/include/cdk.h
index df0988f..31d4824 100644
--- a/sys/platform/pc32/include/cdk.h
+++ b/sys/platform/pc32/include/cdk.h
@@ -40,6 +40,8 @@
 #ifndef	_CDK_H_
 #define	_CDK_H_
 
+#include <sys/ioccom.h>
+
 #pragma	pack(2)
 
 /*
diff --git a/sys/platform/pc32/include/comstats.h b/sys/platform/pc32/include/comstats.h
index 008ab41..cce5f32 100644
--- a/sys/platform/pc32/include/comstats.h
+++ b/sys/platform/pc32/include/comstats.h
@@ -40,6 +40,8 @@
 #ifndef	_COMSTATS_H_
 #define	_COMSTATS_H_
 
+#include <sys/ioccom.h>
+
 /*
  *	Serial port stats structure. The structure itself is UART
  *	independent, but some fields may be UART/driver specific (for
diff --git a/sys/platform/pc32/include/if_wl_wavelan.h b/sys/platform/pc32/include/if_wl_wavelan.h
index c2d4f5a..143a046 100644
--- a/sys/platform/pc32/include/if_wl_wavelan.h
+++ b/sys/platform/pc32/include/if_wl_wavelan.h
@@ -24,6 +24,8 @@
 #ifndef	_CHIPS_WAVELAN_H_
 #define _CHIPS_WAVELAN_H_
 
+#include <sys/ioccom.h>
+
 /* This file contains definitions that are common for all versions of
  * the NCR WaveLAN
  */
diff --git a/sys/sys/agpio.h b/sys/sys/agpio.h
index 7d5a43f..e3bf9b3 100644
--- a/sys/sys/agpio.h
+++ b/sys/sys/agpio.h
@@ -34,6 +34,10 @@
 #include <sys/types.h>
 #endif
 
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
+
 /*
  * The AGP gatt uses 4k pages irrespective of the host page size.
  */
diff --git a/sys/sys/ccdvar.h b/sys/sys/ccdvar.h
index 230377f..b16273a 100644
--- a/sys/sys/ccdvar.h
+++ b/sys/sys/ccdvar.h
@@ -104,6 +104,9 @@
 #ifndef _SYS_DISKSLICE_H_
 #include <sys/diskslice.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 /*
  * A concatenated disk is described at initialization time by this structure.
diff --git a/sys/sys/dvdio.h b/sys/sys/dvdio.h
index 041ab2a..e6c1c02 100644
--- a/sys/sys/dvdio.h
+++ b/sys/sys/dvdio.h
@@ -35,6 +35,9 @@
 #ifndef _SYS_TYPES_H_
 #include <sys/types.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 struct dvd_layer {
 	u_int8_t book_type	:4;
diff --git a/sys/sys/ioctl.h b/sys/sys/ioctl.h
index 9d531de..50b21f5 100644
--- a/sys/sys/ioctl.h
+++ b/sys/sys/ioctl.h
@@ -63,8 +63,6 @@ struct ttysize {
 #define	TIOCGSIZE	TIOCGWINSZ
 #define	TIOCSSIZE	TIOCSWINSZ
 
-#include <sys/ioccom.h>
-
 #include <sys/filio.h>
 #include <sys/sockio.h>
 
diff --git a/sys/sys/ioctl_compat.h b/sys/sys/ioctl_compat.h
index bdc0299..7ed17fa 100644
--- a/sys/sys/ioctl_compat.h
+++ b/sys/sys/ioctl_compat.h
@@ -43,6 +43,7 @@
 #ifndef _SYS_IOCTL_COMPAT_H_
 #define	_SYS_IOCTL_COMPAT_H_
 
+#include <sys/ioccom.h>
 #include <sys/ttychars.h>
 #include <sys/ttydev.h>
 
diff --git a/sys/sys/mapped_ioctl.h b/sys/sys/mapped_ioctl.h
index 810e6a5..b4a3fe2 100644
--- a/sys/sys/mapped_ioctl.h
+++ b/sys/sys/mapped_ioctl.h
@@ -42,6 +42,9 @@
 #ifndef _SYS_QUEUE_H_
 #include <sys/queue.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 struct file;
 struct thread;
diff --git a/sys/sys/memrange.h b/sys/sys/memrange.h
index 5c53211..86d9f73 100644
--- a/sys/sys/memrange.h
+++ b/sys/sys/memrange.h
@@ -12,6 +12,9 @@
 #ifndef _SYS_TYPES_H_
 #include <sys/types.h>
 #endif
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 
 #ifdef _KERNEL
 
diff --git a/sys/sys/posix4.h b/sys/sys/posix4.h
index 5d2c572..8ff7984 100644
--- a/sys/sys/posix4.h
+++ b/sys/sys/posix4.h
@@ -38,7 +38,6 @@
 #include "opt_posix.h"
 
 #include <sys/param.h>
-#include <sys/ioccom.h>
 #include <sys/malloc.h>
 #include <sys/sched.h>
 
diff --git a/sys/sys/vnioctl.h b/sys/sys/vnioctl.h
index 9995052..3e93e4b 100644
--- a/sys/sys/vnioctl.h
+++ b/sys/sys/vnioctl.h
@@ -46,6 +46,9 @@
 #ifndef _SYS_VNIOCTL_H_
 #define _SYS_VNIOCTL_H_
 
+#ifndef _SYS_IOCCOM_H_
+#include <sys/ioccom.h>
+#endif
 #ifndef _SYS_PARAMH_H_
 #include <sys/param.h>		/* PATH_MAX */
 #endif
diff --git a/sys/vfs/gnu/ext2fs/ext2_fs.h b/sys/vfs/gnu/ext2fs/ext2_fs.h
index 9570457..a5e9cd2 100644
--- a/sys/vfs/gnu/ext2fs/ext2_fs.h
+++ b/sys/vfs/gnu/ext2fs/ext2_fs.h
@@ -26,6 +26,7 @@
 #define _LINUX_EXT2_FS_H
 
 #include <sys/types.h>
+#include <sys/ioccom.h>
 
 #define __u32 u_int32_t
 #define u32   u_int32_t
diff --git a/sys/vfs/nwfs/nwfs.h b/sys/vfs/nwfs/nwfs.h
index bf67875..22321c2 100644
--- a/sys/vfs/nwfs/nwfs.h
+++ b/sys/vfs/nwfs/nwfs.h
@@ -37,6 +37,7 @@
 #define _NWFS_H_
 
 #include <netproto/ncp/ncp.h>
+#include <sys/ioccom.h>
 #include "nwfs_mount.h"
 
 #define NR_OPEN 0
diff --git a/sys/vfs/nwfs/nwfs_ioctl.c b/sys/vfs/nwfs/nwfs_ioctl.c
index c739967..5410ce5 100644
--- a/sys/vfs/nwfs/nwfs_ioctl.c
+++ b/sys/vfs/nwfs/nwfs_ioctl.c
@@ -37,7 +37,6 @@
 #include <sys/kernel.h>
 #include <sys/mount.h>
 #include <sys/vnode.h>
-#include <sys/ioccom.h>
 #include <sys/globaldata.h>
 #include <sys/thread.h>
 
diff --git a/sys/vfs/smbfs/smbfs_io.c b/sys/vfs/smbfs/smbfs_io.c
index 361f563..e72c050 100644
--- a/sys/vfs/smbfs/smbfs_io.c
+++ b/sys/vfs/smbfs/smbfs_io.c
@@ -54,9 +54,7 @@
 #include <vm/vm_object.h>
 #include <vm/vm_pager.h>
 #include <vm/vnode_pager.h>
-/*
-#include <sys/ioccom.h>
-*/
+
 #include <netproto/smb/smb.h>
 #include <netproto/smb/smb_conn.h>
 #include <netproto/smb/smb_subr.h>
diff --git a/tools/tools/netrate/pktgen/pktgen.c b/tools/tools/netrate/pktgen/pktgen.c
index df03484..b93e915 100644
--- a/tools/tools/netrate/pktgen/pktgen.c
+++ b/tools/tools/netrate/pktgen/pktgen.c
@@ -39,7 +39,6 @@
 #include <sys/param.h>
 #include <sys/conf.h>
 #include <sys/device.h>
-#include <sys/ioccom.h>
 #include <sys/in_cksum.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
diff --git a/tools/tools/netrate/pktgen/pktgen.h b/tools/tools/netrate/pktgen/pktgen.h
index cb8bc0c..6707c9b 100644
--- a/tools/tools/netrate/pktgen/pktgen.h
+++ b/tools/tools/netrate/pktgen/pktgen.h
@@ -37,6 +37,8 @@
 #ifndef _NET_PKTGEN_H
 #define _NET_PKTGEN_H
 
+#include <sys/ioccom.h>
+
 #define PKTGEN_YIELD_DEFAULT	8
 
 struct pktgen_conf {
diff --git a/usr.sbin/802_11/wpa_supplicant/Packet32.h b/usr.sbin/802_11/wpa_supplicant/Packet32.h
index 9b57c30..17e2535 100644
--- a/usr.sbin/802_11/wpa_supplicant/Packet32.h
+++ b/usr.sbin/802_11/wpa_supplicant/Packet32.h
@@ -37,6 +37,7 @@
 #define _PACKET32_H_
 
 #include <sys/types.h>
+#include <sys/ioccom.h>
 #include <ntddndis.h>
 
 struct PACKET_OID_DATA {
diff --git a/usr.sbin/dconschat/dconschat.c b/usr.sbin/dconschat/dconschat.c
index ac12e04..c07338a 100644
--- a/usr.sbin/dconschat/dconschat.c
+++ b/usr.sbin/dconschat/dconschat.c
@@ -55,7 +55,6 @@
 #include <sys/time.h>
 #include <arpa/telnet.h>
 
-#include <sys/ioccom.h>
 #ifdef __DragonFly__
 #include <dev/misc/dcons/dcons.h>
 #include <bus/firewire/firewire.h>
diff --git a/usr.sbin/inetd/builtins.c b/usr.sbin/inetd/builtins.c
index 6ff8df0..85a86ff 100644
--- a/usr.sbin/inetd/builtins.c
+++ b/usr.sbin/inetd/builtins.c
@@ -29,7 +29,6 @@
  */
 
 #include <sys/filio.h>
-#include <sys/ioccom.h>
 #include <sys/param.h>
 #include <sys/stat.h>
 #include <sys/socket.h>
