+#include <sys/param.h>
+#include <sys/proc.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/conf.h>
+#include <sys/buf.h>
+#include <sys/mount.h>
+#include <sys/namei.h>
+#include <sys/vnode.h>
+#include <sys/specdev.h>
+#include <sys/stat.h>
+#include <sys/errno.h>
+#include <sys/ioctl.h>
+#include <sys/file.h>
+#include <sys/disklabel.h>
+
+/* symbolic sleep message strings for devices */
+char devopn[] = "devopn";
+char devio[] = "devio";
+char devwait[] = "devwait";
+char devin[] = "devin";
+char devout[] = "devout";
+char devioc[] = "devioc";
+char devcls[] = "devcls";
+
+struct vnodeops spec_vnodeops = {
+ spec_lookup, /* lookup */
+ spec_create, /* create */
+ spec_mknod, /* mknod */
+ spec_open, /* open */
+ spec_close, /* close */
+ spec_access, /* access */
+ spec_getattr, /* getattr */
+ spec_setattr, /* setattr */
+ spec_read, /* read */
+ spec_write, /* write */
+ spec_ioctl, /* ioctl */
+ spec_select, /* select */
+ spec_mmap, /* mmap */
+ spec_fsync, /* fsync */
+ spec_seek, /* seek */
+ spec_remove, /* remove */
+ spec_link, /* link */
+ spec_rename, /* rename */
+ spec_mkdir, /* mkdir */
+ spec_rmdir, /* rmdir */
+ spec_symlink, /* symlink */
+ spec_readdir, /* readdir */
+ spec_readlink, /* readlink */
+ spec_abortop, /* abortop */
+ spec_inactive, /* inactive */
+ spec_reclaim, /* reclaim */
+ spec_lock, /* lock */
+ spec_unlock, /* unlock */
+ spec_bmap, /* bmap */
+ spec_strategy, /* strategy */
+ spec_print, /* print */
+ spec_islocked, /* islocked */
+ spec_advlock, /* advlock */