*** conf/files.orig	Thu Sep 21 01:16:47 1989
--- conf/files	Thu Sep 21 01:24:21 1989
***************
*** 2,7 ****
--- 2,8 ----
  net/if.c		standard
  net/if_loop.c		optional loop
  net/if_sl.c		optional sl
+ net/if_ppp.c		optional ppp
  net/raw_cb.c		standard
  net/raw_usrreq.c	standard
  net/route.c		standard
*** h/ioctl.h.orig	Thu Sep 21 00:55:07 1989
--- h/ioctl.h	Thu Sep 21 01:02:43 1989
***************
*** 229,234 ****
--- 229,235 ----
  #define	NTTYDISC	2		/* new tty discipline */
  #define	TABLDISC	3		/* tablet discipline */
  #define	SLIPDISC	4		/* serial IP discipline */
+ #define	PPPDISC		5		/* Point-to-Point Protocol */
  
  #define	FIOCLEX		_IO(f, 1)		/* set exclusive use on fd */
  #define	FIONCLEX	_IO(f, 2)		/* remove exclusive use */
***************
*** 268,272 ****
--- 269,278 ----
  #define	SIOCSARP	_IOW(i, 30, struct arpreq)	/* set arp entry */
  #define	SIOCGARP	_IOWR(i,31, struct arpreq)	/* get arp entry */
  #define	SIOCDARP	_IOW(i, 32, struct arpreq)	/* delete arp entry */
+ 
+ #define	SIOCSIFMTU	_IOW(i, 127, struct ifreq)	/* set ifnet mtu */
+ #define	SIOCGIFMTU	_IOWR(i,126, struct ifreq)	/* get ifnet mtu */
+ #define	SIOCSIFASYNCMAP	_IOW(i, 125, struct ifreq)	/* set ppp asyncmap */
+ #define	SIOCGIFASYNCMAP	_IOWR(i,124, struct ifreq)	/* get ppp asyncmap */
  
  #endif
No differences encountered
*** net/if.c.orig	Mon Sep 25 01:20:25 1989
--- net/if.c	Mon Sep 25 01:21:31 1989
***************
*** 326,331 ****
--- 326,340 ----
  		ifp->if_metric = ifr->ifr_metric;
  		break;
  
+ 	case SIOCSIFMTU:
+ 	case SIOCGIFMTU:
+ 	case SIOCSIFASYNCMAP:
+ 	case SIOCGIFASYNCMAP:
+ 		if (!ifp->if_ioctl)
+ 			return (EOPNOTSUPP);
+ 		return ((*ifp->if_ioctl)(ifp, cmd, data));
+ 		break;
+ 
  	default:
  		if (so->so_proto == 0)
  			return (EOPNOTSUPP);
*** sys/init_main.c.orig	Thu Sep 21 00:55:41 1989
--- sys/init_main.c	Thu Sep 21 01:08:24 1989
***************
*** 111,116 ****
--- 111,120 ----
  #if NSL > 0
  	slattach();			/* XXX */
  #endif
+ #include "ppp.h"
+ #if NPPP > 0
+ 	pppattach();			/* XXX */
+ #endif
  #if NLOOP > 0
  	loattach();			/* XXX */
  #endif
*** sys/tty_conf.c.orig	Thu Sep 21 00:55:49 1989
--- sys/tty_conf.c	Thu Sep 21 01:09:50 1989
***************
*** 32,39 ****
--- 32,45 ----
  #if NSL > 0
  int	slopen(),slclose(),slinput(),sltioctl(),slstart();
  #endif
+ #include "ppp.h"
+ #if NPPP > 0
+ int	pppopen(),pppclose(),pppread(),pppwrite(),pppinput();
+ int	ppptioctl(),pppstart(),pppselect();
+ #endif
  
  
+ 
  struct	linesw linesw[] =
  {
  	ttyopen, ttylclose, ttread, ttwrite, nullioctl,	/* 0- OTTYDISC */
***************
*** 60,65 ****
--- 66,84 ----
  #else
  	nodev, nodev, nodev, nodev, nodev,
  	nodev, nodev, nodev, nodev, nodev,
+ #endif
+ #if NPPP > 0
+ 	{
+ 	pppopen, pppclose, pppread, pppwrite, ppptioctl,
+ 	pppinput, nodev, nulldev, pppstart, ttymodem,	/* 5- PPPDISC */
+ 	pppselect
+ 	},
+ #else
+ 	{
+ 	nodev, nodev, nodev, nodev, nodev,
+ 	nodev, nodev, nodev, nodev, nodev,
+ 	nodev,
+ 	},
  #endif
  };
  
*** sys/tty_pty.c.orig	Thu Sep 21 00:55:56 1989
--- sys/tty_pty.c	Thu Sep 21 01:13:21 1989
***************
*** 478,483 ****
--- 478,491 ----
  	register struct pt_ioctl *pti = &pt_ioctl[minor(dev)];
  	int stop, error;
  	extern ttyinput();
+ #include "sl.h"
+ #if NSL > 0
+ 	extern slinput();
+ #endif
+ #include "ppp.h"
+ #if NPPP > 0
+ 	extern pppinput();
+ #endif
  
  	/*
  	 * IF CONTROLLER STTY THEN MUST FLUSH TO PREVENT A HANG.
***************
*** 526,531 ****
--- 534,542 ----
  				;
  			break;
  		}
+ 	error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag);
+ 	if (error >= 0)
+ 	    return (error);
  	error = ttioctl(tp, cmd, data, flag);
  	/*
  	 * Since we use the tty queues internally,
***************
*** 533,539 ****
  	 * the queues.  We can't tell anything about the discipline
  	 * from here...
  	 */
! 	if (linesw[tp->t_line].l_rint != ttyinput) {
  		(*linesw[tp->t_line].l_close)(tp);
  		tp->t_line = 0;
  		(void)(*linesw[tp->t_line].l_open)(dev, tp);
--- 544,557 ----
  	 * the queues.  We can't tell anything about the discipline
  	 * from here...
  	 */
! 	if (linesw[tp->t_line].l_rint != ttyinput
! #if NSL > 0
! 	    && linesw[tp->t_line].l_rint != slinput
! #endif
! #if NPPP > 0
! 	    && linesw[tp->t_line].l_rint != pppinput
! #endif
! 	    ) {
  		(*linesw[tp->t_line].l_close)(tp);
  		tp->t_line = 0;
  		(void)(*linesw[tp->t_line].l_open)(dev, tp);
