diff options
author | brian <brian@FreeBSD.org> | 1997-12-03 10:23:54 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1997-12-03 10:23:54 +0000 |
commit | 4c9568e05af003a85ca40c896b5041fc8286221f (patch) | |
tree | 86301631e3a842883c7e61e9c2f1feab23a39e23 /usr.sbin/ppp/ccp.h | |
parent | 185fb48052f903a80b31786784cbb82fb059c35c (diff) | |
download | FreeBSD-src-4c9568e05af003a85ca40c896b5041fc8286221f.zip FreeBSD-src-4c9568e05af003a85ca40c896b5041fc8286221f.tar.gz |
Abstract the CCP layer a level.
Add DEFLATE support.
Diffstat (limited to 'usr.sbin/ppp/ccp.h')
-rw-r--r-- | usr.sbin/ppp/ccp.h | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/usr.sbin/ppp/ccp.h b/usr.sbin/ppp/ccp.h index 8585f17..a9e7e8f 100644 --- a/usr.sbin/ppp/ccp.h +++ b/usr.sbin/ppp/ccp.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ccp.h,v 1.8 1997/10/26 01:02:12 brian Exp $ + * $Id: ccp.h,v 1.9 1997/11/22 03:37:25 brian Exp $ * * TODO: */ @@ -32,19 +32,44 @@ #define TY_GAND 19 /* Gandalf FZA */ #define TY_V42BIS 20 /* V.42bis compression */ #define TY_BSD 21 /* BSD LZW Compress */ +#define TY_DEFLATE 24 /* Deflate (gzip) */ struct ccpstate { u_long his_proto; /* peer's compression protocol */ - u_long want_proto; /* my compression protocol */ + u_long my_proto; /* our compression protocol */ u_long his_reject; /* Request codes rejected by peer */ u_long my_reject; /* Request codes I have rejected */ - u_long orgout, compout; - u_long orgin, compin; + u_long uncompout, compout; + u_long uncompin, compin; }; extern struct ccpstate CcpInfo; + +struct ccp_algorithm { + int id; + int Conf; /* A Conf value from vars.h */ + const char *(*Disp)(struct lcp_opt *); + struct { + void (*Get)(struct lcp_opt *); + int (*Set)(struct lcp_opt *); + int (*Init)(void); + void (*Term)(void); + void (*Reset)(void); + struct mbuf *(*Read)(u_short *, struct mbuf *); + void (*DictSetup)(u_short, struct mbuf *); + } i; + struct { + void (*Get)(struct lcp_opt *); + int (*Set)(struct lcp_opt *); + int (*Init)(void); + void (*Term)(void); + void (*Reset)(void); + int (*Write)(int, u_short, struct mbuf *); + } o; +}; + extern struct fsm CcpFsm; extern void CcpRecvResetReq(struct fsm *); @@ -54,3 +79,7 @@ extern void CcpUp(void); extern void CcpOpen(void); extern void CcpInit(void); extern int ReportCcpStatus(struct cmdargs const *); +extern void CcpResetInput(void); +extern int CcpOutput(int, u_short, struct mbuf *); +extern struct mbuf *CompdInput(u_short *, struct mbuf *); +extern void CcpDictSetup(u_short, struct mbuf *); |