return (ENXIO);
return ENXIO;
clioctl(dev, cmd, data, flag, p)	dev_t dev;	int cmd;	caddr_t data;	int flag;	struct proc *p;{	int error;	int unit, channel;	struct tty *tp;	struct cl_info *cl;	struct clsoftc *sc;	unit = CL_UNIT(dev);	if (unit >= clcd.cd_ndevs || 	    (sc = (struct clsoftc *) clcd.cd_devs[unit]) == NULL) {		return (ENODEV);	}	channel = CL_CHANNEL(dev);	cl = &sc->sc_cl[channel];	tp = cl->tty;	if (!tp)		return (ENXIO);	error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p);	if (error >= 0)		return (error);	error = ttioctl(tp, cmd, data, flag, p);	if (error >= 0)		return (error);	switch (cmd) {	case TIOCSBRK:		/* */		break;	case TIOCCBRK:		/* */		break;	case TIOCSDTR:		(void) clmctl(dev, TIOCM_DTR | TIOCM_RTS, DMBIS);		break;	case TIOCCDTR:		(void) clmctl(dev, TIOCM_DTR | TIOCM_RTS, DMBIC);		break;	case TIOCMSET:		(void) clmctl(dev, *(int *) data, DMSET);		break;	case TIOCMBIS:		(void) clmctl(dev, *(int *) data, DMBIS);		break;	case TIOCMBIC:		(void) clmctl(dev, *(int *) data, DMBIC);		break;	case TIOCMGET:		*(int *)data = clmctl(dev, 0, DMGET);		break;	case TIOCGFLAGS:		*(int *)data = cl->cl_swflags;		break;	case TIOCSFLAGS:		error = suser(p->p_ucred, &p->p_acflag); 		if (error != 0)			return (EPERM); 		cl->cl_swflags = *(int *)data;		cl->cl_swflags &= /* only allow valid flags */			(TIOCFLAG_SOFTCAR | TIOCFLAG_CLOCAL | TIOCFLAG_CRTSCTS);		break;	default:		return (ENOTTY);	}	return (0);}