char c;
u_char c;
clputc(sc, unit, c)	struct clsoftc *sc;	int unit;	char c;{	int s;	u_char schar;	u_char oldchannel;	volatile struct clreg *cl_reg;	if (0 == sc) {		/* output on console */		cl_reg = cl_cons.cl_vaddr;	} else {		cl_reg = sc->cl_reg;	}#ifdef NEW_CLCD_STRUCT	/* should we disable, flush and all that goo? */	cl->car = unit;	schar = cl->schr3;	cl->schr3 = c;	cl->stcr = 0x08 | 0x03; /* send special char, char 3 */	while (0 != cl->stcr) {		/* wait until cl notices the command		 * otherwise it may not notice the character		 * if we send characters too fast.		 */	}	cl->schr3 = schar;#elseif (unit == 0) {	s = splhigh();	oldchannel = cl_reg->cl_car;	cl_reg->cl_car = unit;	schar = cl_reg->cl_schr3;	cl_reg->cl_schr3 = c;	cl_reg->cl_stcr = 0x08 | 0x03; /* send special char, char 3 */	while (0 != cl_reg->cl_stcr) {		/* wait until cl notices the command		 * otherwise it may not notice the character		 * if we send characters too fast.		 */	}	DELAY(5);	cl_reg->cl_schr3 = schar;	cl_reg->cl_car = oldchannel;	splx(s);} else {	s = splhigh();	oldchannel = cl_reg->cl_car;	cl_reg->cl_car = unit;	if (cl_reg->cl_tftc > 0) {		cl_reg->cl_tdr = c;	}	cl_reg->cl_car = oldchannel;	splx(s);}#endif	return;}