X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=ultrix%2Fppp-deflate.c;h=45f8dbef995a953a1b54866ca0da0a572c5830bc;hp=1e6fa93bacb48cf062691d92e5227966ec35b129;hb=8592783058509b5493a42f3b0432fcbaab55c994;hpb=b4d3cfa4479b4e00b1469577c4761411a82ae8f0 diff --git a/ultrix/ppp-deflate.c b/ultrix/ppp-deflate.c index 1e6fa93..45f8dbe 100644 --- a/ultrix/ppp-deflate.c +++ b/ultrix/ppp-deflate.c @@ -1,4 +1,4 @@ -/* $Id: ppp-deflate.c,v 1.3 1997/04/30 06:00:45 paulus Exp $ */ +/* $Id: ppp-deflate.c,v 1.5 1998/03/25 03:11:37 paulus Exp $ */ /* * ppp_deflate.c - interface the zlib procedures for Deflate compression @@ -59,7 +59,7 @@ struct deflate_state { #define DEFLATE_OVHD 2 /* Deflate overhead/packet */ static void *zalloc __P((void *, u_int items, u_int size)); -static void zfree __P((void *, void *ptr, u_int nb)); +static void zfree __P((void *, void *ptr)); static void *z_comp_alloc __P((u_char *options, int opt_len)); static void *z_decomp_alloc __P((u_char *options, int opt_len)); static void z_comp_free __P((void *state)); @@ -97,6 +97,23 @@ struct compressor ppp_deflate = { z_comp_stats, /* decomp_stat */ }; +struct compressor ppp_deflate_draft = { + CI_DEFLATE_DRAFT, /* compress_proto */ + z_comp_alloc, /* comp_alloc */ + z_comp_free, /* comp_free */ + z_comp_init, /* comp_init */ + z_comp_reset, /* comp_reset */ + z_compress, /* compress */ + z_comp_stats, /* comp_stat */ + z_decomp_alloc, /* decomp_alloc */ + z_decomp_free, /* decomp_free */ + z_decomp_init, /* decomp_init */ + z_decomp_reset, /* decomp_reset */ + z_decompress, /* decompress */ + z_incomp, /* incomp */ + z_comp_stats, /* decomp_stat */ +}; + /* * Some useful mbuf macros not in mbuf.h. */ @@ -121,10 +138,9 @@ zalloc(notused, items, size) } void -zfree(notused, ptr, nbytes) +zfree(notused, ptr) void *notused; void *ptr; - u_int nbytes; { KM_FREE(ptr, KM_DEVBUF); } @@ -140,7 +156,8 @@ z_comp_alloc(options, opt_len) struct deflate_state *state; int w_size; - if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE + if (opt_len != CILEN_DEFLATE + || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT) || options[1] != CILEN_DEFLATE || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL || options[3] != DEFLATE_CHK_SEQUENCE) @@ -157,10 +174,9 @@ z_comp_alloc(options, opt_len) state->strm.next_in = NULL; state->strm.zalloc = (alloc_func) zalloc; - state->strm.zalloc_init = (alloc_func) zalloc; state->strm.zfree = (free_func) zfree; if (deflateInit2(&state->strm, Z_DEFAULT_COMPRESSION, DEFLATE_METHOD_VAL, - -w_size, 8, Z_DEFAULT_STRATEGY, DEFLATE_OVHD+2) != Z_OK) { + -w_size, 8, Z_DEFAULT_STRATEGY) != Z_OK) { KM_FREE(state, KM_DEVBUF); return NULL; } @@ -188,7 +204,8 @@ z_comp_init(arg, options, opt_len, unit, hdrlen, debug) { struct deflate_state *state = (struct deflate_state *) arg; - if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE + if (opt_len < CILEN_DEFLATE + || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT) || options[1] != CILEN_DEFLATE || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL || DEFLATE_SIZE(options[2]) != state->w_size @@ -376,7 +393,8 @@ z_decomp_alloc(options, opt_len) struct deflate_state *state; int w_size; - if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE + if (opt_len != CILEN_DEFLATE + || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT) || options[1] != CILEN_DEFLATE || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL || options[3] != DEFLATE_CHK_SEQUENCE) @@ -393,7 +411,6 @@ z_decomp_alloc(options, opt_len) state->strm.next_out = NULL; state->strm.zalloc = (alloc_func) zalloc; - state->strm.zalloc_init = (alloc_func) zalloc; state->strm.zfree = (free_func) zfree; if (inflateInit2(&state->strm, -w_size) != Z_OK) { KM_FREE(state, KM_DEVBUF); @@ -423,7 +440,8 @@ z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug) { struct deflate_state *state = (struct deflate_state *) arg; - if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE + if (opt_len < CILEN_DEFLATE + || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT) || options[1] != CILEN_DEFLATE || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL || DEFLATE_SIZE(options[2]) != state->w_size