X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=ultrix%2Fif_pppvar.h;h=419311159a6df62d9c26d037df23816f22a060da;hp=e1e8543f68f1187c044e84f2d4b6584a8261d1b7;hb=9d622390ee952ed05d910054182724a1cb88d9b2;hpb=9ed05e1618a9087274adb81d04939a0d016300f6 diff --git a/ultrix/if_pppvar.h b/ultrix/if_pppvar.h index e1e8543..4193111 100644 --- a/ultrix/if_pppvar.h +++ b/ultrix/if_pppvar.h @@ -1,4 +1,4 @@ -/* $Id: if_pppvar.h,v 1.1 1994/09/21 00:28:59 paulus Exp $ */ +/* $Id: if_pppvar.h,v 1.3 1994/12/13 03:26:08 paulus Exp $ */ /* * if_pppvar.h - private structures and declarations for PPP. * @@ -53,13 +53,19 @@ */ struct ppp_softc { struct ifnet sc_if; /* network-visible interface */ - u_int sc_flags; /* see below */ + u_int sc_flags; /* control/status bits; see if_ppp.h */ void *sc_devp; /* pointer to device-dep structure */ - int (*sc_start) __P((struct ppp_softc *)); /* start routine */ + void (*sc_start) __P((struct ppp_softc *)); /* start output proc */ + void (*sc_ctlp) __P((struct ppp_softc *)); /* rcvd control pkt */ + void (*sc_relinq) __P((struct ppp_softc *)); /* relinquish ifunit */ short sc_mru; /* max receive unit */ pid_t sc_xfer; /* used in transferring unit */ - struct ifqueue sc_inq; /* TTY side input queue */ - struct ifqueue sc_fastq; /* IP interactive output packet q */ + struct ifqueue sc_rawq; /* received packets */ + struct ifqueue sc_inq; /* queue of input packets for daemon */ + struct ifqueue sc_fastq; /* interactive output packet q */ + struct mbuf *sc_togo; /* output packet ready to go */ + struct mbuf *sc_npqueue; /* output packets not to be sent yet */ + struct mbuf **sc_npqtail; /* ptr to last next ptr in npqueue */ #ifdef VJC struct slcompress sc_comp; /* vjc control buffer */ #endif @@ -71,6 +77,8 @@ struct ppp_softc { void *sc_xc_state; /* transmit compressor state */ struct compressor *sc_rcomp; /* receive decompressor */ void *sc_rc_state; /* receive decompressor state */ + int sc_last_sent; /* time (secs) last NP pkt sent */ + int sc_last_recv; /* time (secs) last NP pkt rcvd */ /* Device-dependent part for async lines. */ ext_accm sc_asyncmap; /* async control character map */ @@ -86,7 +94,11 @@ struct ppp_softc { int sc_rawin_count; /* # in sc_rawin */ }; -struct ppp_softc ppp_softc[NPPP]; +struct ppp_softc ppp_softc[NPPP]; -extern int ppppktin __P((struct ppp_softc *sc, struct mbuf *m)); -struct mbuf *ppp_dequeue __P((struct ppp_softc *sc)); +struct ppp_softc *pppalloc __P((pid_t pid)); +void pppdealloc __P((struct ppp_softc *sc)); +int pppioctl __P((struct ppp_softc *sc, int cmd, caddr_t data, + int flag, struct proc *p)); +void ppppktin __P((struct ppp_softc *sc, struct mbuf *m, int lost)); +struct mbuf *ppp_dequeue __P((struct ppp_softc *sc));