+#include "ioctl.h"
+#include "file.h"
+#include "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";
+
+int spec_lookup(),
+ spec_open(),
+ spec_read(),
+ spec_write(),
+ spec_strategy(),
+ spec_bmap(),
+ spec_ioctl(),
+ spec_select(),
+ spec_lock(),
+ spec_unlock(),
+ spec_close(),
+ spec_print(),
+ spec_advlock(),
+ spec_ebadf(),
+ spec_badop();
+
+int nullop();
+
+struct vnodeops spec_vnodeops = {
+ spec_lookup, /* lookup */
+ spec_badop, /* create */
+ spec_badop, /* mknod */
+ spec_open, /* open */
+ spec_close, /* close */
+ spec_ebadf, /* access */
+ spec_ebadf, /* getattr */
+ spec_ebadf, /* setattr */
+ spec_read, /* read */
+ spec_write, /* write */
+ spec_ioctl, /* ioctl */
+ spec_select, /* select */
+ spec_badop, /* mmap */
+ nullop, /* fsync */
+ spec_badop, /* seek */
+ spec_badop, /* remove */
+ spec_badop, /* link */
+ spec_badop, /* rename */
+ spec_badop, /* mkdir */
+ spec_badop, /* rmdir */
+ spec_badop, /* symlink */
+ spec_badop, /* readdir */
+ spec_badop, /* readlink */
+ spec_badop, /* abortop */
+ nullop, /* inactive */
+ nullop, /* reclaim */
+ spec_lock, /* lock */
+ spec_unlock, /* unlock */
+ spec_bmap, /* bmap */
+ spec_strategy, /* strategy */
+ spec_print, /* print */
+ nullop, /* islocked */
+ spec_advlock, /* advlock */