• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asus-wl-520gu-7.0.1.45/src/router/pppd.mppe/pppdump/

Lines Matching refs:db

175 bsd_clear(db)
176 struct bsd_db *db;
178 db->clear_count++;
179 db->max_ent = FIRST-1;
180 db->n_bits = BSD_INIT_BITS;
181 db->ratio = 0;
182 db->bytes_out = 0;
183 db->in_count = 0;
184 db->checkpoint = CHECK_GAP;
201 bsd_check(db)
202 struct bsd_db *db;
206 if (db->in_count >= db->checkpoint) {
208 if (db->in_count >= RATIO_MAX
209 || db->bytes_out >= RATIO_MAX) {
210 db->in_count -= db->in_count/4;
211 db->bytes_out -= db->bytes_out/4;
214 db->checkpoint = db->in_count + CHECK_GAP;
216 if (db->max_ent >= db->maxmaxcode) {
222 * db->in_count <= RATIO_MAX.
224 new_ratio = db->in_count << RATIO_SCALE_LOG;
225 if (db->bytes_out != 0)
226 new_ratio /= db->bytes_out;
228 if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
229 bsd_clear(db);
232 db->ratio = new_ratio;
246 struct bsd_db *db = (struct bsd_db *) state;
249 stats->unc_bytes = db->uncomp_bytes;
250 stats->unc_packets = db->uncomp_count;
251 stats->comp_bytes = db->comp_bytes;
252 stats->comp_packets = db->comp_count;
253 stats->inc_bytes = db->incomp_bytes;
254 stats->inc_packets = db->incomp_count;
255 stats->ratio = db->in_count;
256 out = db->bytes_out;
272 struct bsd_db *db = (struct bsd_db *) state;
274 db->seqno = 0;
275 bsd_clear(db);
276 db->clear_count = 0;
289 struct bsd_db *db;
325 newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
326 db = (struct bsd_db *) malloc(newlen);
327 if (!db)
329 memset(db, 0, sizeof(*db) - sizeof(db->dict));
332 db->lens = NULL;
334 db->lens = (u_short *) malloc((maxmaxcode+1) * sizeof(db->lens[0]));
335 if (!db->lens) {
336 free(db);
341 db->totlen = newlen;
342 db->hsize = hsize;
343 db->hshift = hshift;
344 db->maxmaxcode = maxmaxcode;
345 db->maxbits = bits;
347 return (void *) db;
354 struct bsd_db *db = (struct bsd_db *) state;
356 if (db->lens)
357 free(db->lens);
358 free(db);
373 bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
374 struct bsd_db *db;
383 || BSD_NBITS(options[2]) != db->maxbits
384 || decomp && db->lens == NULL)
390 db->lens[--i] = 1;
392 i = db->hsize;
394 db->dict[--i].codem1 = BADCODEM1;
395 db->dict[i].cptr = 0;
398 db->unit = unit;
399 db->hdrlen = hdrlen;
400 db->mru = mru;
402 db->debug = 1;
404 bsd_reset(db);
430 struct bsd_db *db = (struct bsd_db *) state;
431 u_int hshift = db->hshift;
432 u_int max_ent = db->max_ent;
433 u_int n_bits = db->n_bits;
453 db->seqno++;
462 dictp = &db->dict[hval];
476 if (hval >= db->hsize)
477 hval -= db->hsize;
478 dictp = &db->dict[hval];
489 if (max_ent < db->maxmaxcode) {
493 db->n_bits = ++n_bits;
498 dictp2 = &db->dict[max_ent+1];
499 if (db->dict[dictp2->cptr].codem1 == max_ent)
500 db->dict[dictp2->cptr].codem1 = BADCODEM1;
505 db->max_ent = ++max_ent;
506 db->lens[max_ent] = db->lens[ent]+1;
511 db->bytes_out += bitno/8;
512 db->in_count += ilen;
513 (void)bsd_check(db);
515 ++db->incomp_count;
516 db->incomp_bytes += ilen;
517 ++db->uncomp_count;
518 db->uncomp_bytes += ilen;
523 if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
524 db->n_bits++;
550 struct bsd_db *db = (struct bsd_db *) state;
551 u_int max_ent = db->max_ent;
554 u_int n_bits = db->n_bits;
574 if (seq != db->seqno++) {
575 if (db->debug)
577 db->unit, seq, db->seqno - 1);
581 wptr = dmp + db->hdrlen;
607 if (db->debug)
608 printf("bsd_decomp%d: bad CLEAR\n", db->unit);
611 bsd_clear(db);
616 if (incode > max_ent + 2 || incode > db->maxmaxcode
618 if (db->debug) {
620 db->unit, incode, oldcode);
622 max_ent, dlen, db->seqno);
636 codelen = db->lens[finchar];
638 if (explen > db->mru + 1) {
639 if (db->debug)
640 printf("bsd_decomp%d: ran out of mru\n", db->unit);
649 dictp = &db->dict[db->dict[finchar].cptr];
653 printf("bsd_decomp%d: fell off end of chain ", db->unit);
655 incode, finchar, db->dict[finchar].cptr, max_ent);
660 db->unit, incode, finchar);
662 db->dict[finchar].cptr, dictp->codem1);
674 db->unit, codelen, incode, max_ent);
687 if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
693 hval = BSD_HASH(oldcode,finchar,db->hshift);
694 dictp = &db->dict[hval];
701 if (hval >= db->hsize)
702 hval -= db->hsize;
703 dictp = &db->dict[hval];
711 dictp2 = &db->dict[max_ent+1];
712 if (db->dict[dictp2->cptr].codem1 == max_ent) {
713 db->dict[dictp2->cptr].codem1 = BADCODEM1;
719 db->max_ent = ++max_ent;
720 db->lens[max_ent] = db->lens[oldcode]+1;
723 if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
724 db->n_bits = ++n_bits;
730 *outlenp = wptr - (dmp + db->hdrlen);
736 db->bytes_out += ilen;
737 db->in_count += explen;
738 if (bsd_check(db) && db->debug) {
740 db->unit);
743 ++db->comp_count;
744 db->comp_bytes += ilen + BSD_OVHD;
745 ++db->uncomp_count;
746 db->uncomp_bytes += explen;