X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=include%2Fnet%2Fppp-comp.h;h=7a5246437a7d467cf989c5799c545e40eed5b3d9;hp=aa158ed16b4b2326d97ede05786443e89ccdca04;hb=ea95caea5a62d95bcc68c116a483d13e24c74f54;hpb=29660ed161d1aeafa4cb9ca3528419dedefd7170 diff --git a/include/net/ppp-comp.h b/include/net/ppp-comp.h index aa158ed..7a52464 100644 --- a/include/net/ppp-comp.h +++ b/include/net/ppp-comp.h @@ -24,7 +24,7 @@ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * - * $Id: ppp-comp.h,v 1.1 1994/08/31 23:55:58 paulus Exp $ + * $Id: ppp-comp.h,v 1.3 1994/09/19 04:23:58 paulus Exp $ */ /* @@ -45,6 +45,8 @@ struct compressor { /* Compress a packet */ int (*compress) __P((void *state, PACKET **mret, PACKET *mp, int orig_len, int max_len)); + /* Return compression statistics */ + void (*comp_stat) __P((void *state, struct compstat *stats)); /* Allocate space for a decompressor (receive side) */ void *(*decomp_alloc) __P((u_char *options, int opt_len)); @@ -56,12 +58,25 @@ struct compressor { /* Reset a decompressor */ void (*decomp_reset) __P((void *state)); /* Decompress a packet. */ - PACKET *(*decompress) __P((void *state, PACKET *mp, - int hdroff)); + int (*decompress) __P((void *state, PACKET *mp, PACKET **dmpp)); /* Update state for an incompressible packet received */ void (*incomp) __P((void *state, PACKET *mp)); + /* Return decompression statistics */ + void (*decomp_stat) __P((void *state, struct compstat *stats)); }; +/* + * Return values for decompress routine. + * We need to make these distinctions so that we can disable certain + * useful functionality, namely sending a CCP reset-request as a result + * of an error detected after decompression. This is to avoid infringing + * a patent held by Motorola. + * Don't you just lurve software patents. + */ +#define DECOMP_OK 0 /* everything went OK */ +#define DECOMP_ERROR 1 /* error detected before decomp. */ +#define DECOMP_FATALERROR 2 /* error detected after decomp. */ + /* * CCP codes. */