* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)if_sl.c 8.6 (Berkeley) 2/1/94
+ * @(#)if_sl.c 8.9 (Berkeley) 1/9/95
*/
/*
#define TRANS_FRAME_END 0xdc /* transposed frame end */
#define TRANS_FRAME_ESCAPE 0xdd /* transposed frame esc */
-extern struct timeval time;
-
static int slinit __P((struct sl_softc *));
static struct mbuf *sl_btom __P((struct sl_softc *, int));
register struct sl_softc *sc;
register int nsl;
int error;
+ int s;
if (error = suser(p->p_ucred, &p->p_acflag))
return (error);
tp->t_sc = (caddr_t)sc;
sc->sc_ttyp = tp;
sc->sc_if.if_baudrate = tp->t_ospeed;
+ s = spltty();
+ tp->t_state |= TS_ISOPEN | TS_XCLUDE;
+ splx(s);
ttyflush(tp, FREAD | FWRITE);
return (0);
}
ttywflush(tp);
s = splimp(); /* actually, max(spltty, splnet) */
tp->t_line = 0;
+ tp->t_state = 0;
sc = (struct sl_softc *)tp->t_sc;
if (sc != NULL) {
if_down(&sc->sc_if);
int
sltioctl(tp, cmd, data, flag)
struct tty *tp;
- int cmd;
+ u_long cmd;
caddr_t data;
int flag;
{
sc = (struct sl_softc *)tp->t_sc;
if (sc == NULL)
return;
- if (c & TTY_ERRORMASK || ((tp->t_state & TS_CARR_ON) == 0 &&
+ if ((c & TTY_ERRORMASK) || ((tp->t_state & TS_CARR_ON) == 0 &&
(tp->t_cflag & CLOCAL) == 0)) {
sc->sc_flags |= SC_ERROR;
return;
int
slioctl(ifp, cmd, data)
register struct ifnet *ifp;
- int cmd;
+ u_long cmd;
caddr_t data;
{
register struct ifaddr *ifa = (struct ifaddr *)data;