-/*
- * Openi called to allow handler
- * of special files to initialize and
- * validate before actual IO.
- */
-openi(ip, mode)
- register struct inode *ip;
-{
- dev_t dev = (dev_t)ip->i_rdev;
- register u_int maj = major(dev);
-
- switch (ip->i_mode&IFMT) {
-
- case IFCHR:
- if (maj >= nchrdev)
- return (ENXIO);
- return ((*cdevsw[maj].d_open)(dev, mode));
-
- case IFBLK:
- if (maj >= nblkdev)
- return (ENXIO);
- return ((*bdevsw[maj].d_open)(dev, mode));
- }
- return (0);
-}
-