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

Lines Matching refs:db

209 bsd_clear(db)
210 struct bsd_db *db;
212 db->clear_count++;
213 db->max_ent = FIRST-1;
214 db->n_bits = BSD_INIT_BITS;
215 db->ratio = 0;
216 db->bytes_out = 0;
217 db->in_count = 0;
218 db->checkpoint = CHECK_GAP;
235 bsd_check(db)
236 struct bsd_db *db;
240 if (db->in_count >= db->checkpoint) {
242 if (db->in_count >= RATIO_MAX
243 || db->bytes_out >= RATIO_MAX) {
244 db->in_count -= db->in_count/4;
245 db->bytes_out -= db->bytes_out/4;
248 db->checkpoint = db->in_count + CHECK_GAP;
250 if (db->max_ent >= db->maxmaxcode) {
256 * db->in_count <= RATIO_MAX.
258 new_ratio = db->in_count << RATIO_SCALE_LOG;
259 if (db->bytes_out != 0)
260 new_ratio /= db->bytes_out;
262 if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
263 bsd_clear(db);
266 db->ratio = new_ratio;
280 struct bsd_db *db = (struct bsd_db *) state;
283 stats->unc_bytes = db->uncomp_bytes;
284 stats->unc_packets = db->uncomp_count;
285 stats->comp_bytes = db->comp_bytes;
286 stats->comp_packets = db->comp_count;
287 stats->inc_bytes = db->incomp_bytes;
288 stats->inc_packets = db->incomp_count;
289 stats->ratio = db->in_count;
290 out = db->bytes_out;
306 struct bsd_db *db = (struct bsd_db *) state;
308 db->seqno = 0;
309 bsd_clear(db);
310 db->clear_count = 0;
323 struct bsd_db *db;
359 newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
361 db = (struct bsd_db *) ALLOC_SLEEP(newlen);
363 db = (struct bsd_db *) ALLOC_NOSLEEP(newlen);
365 if (!db)
367 bzero(db, sizeof(*db) - sizeof(db->dict));
370 db->lens = NULL;
373 db->lens = (u_short *) ALLOC_SLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
375 db->lens = (u_short *) ALLOC_NOSLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
377 if (!db->lens) {
378 FREE(db, newlen);
383 db->totlen = newlen;
384 db->hsize = hsize;
385 db->hshift = hshift;
386 db->maxmaxcode = maxmaxcode;
387 db->maxbits = bits;
389 return (void *) db;
396 struct bsd_db *db = (struct bsd_db *) state;
398 if (db->lens)
399 FREE(db->lens, (db->maxmaxcode+1) * sizeof(db->lens[0]));
400 FREE(db, db->totlen);
423 bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
424 struct bsd_db *db;
433 || BSD_NBITS(options[2]) != db->maxbits
434 || decomp && db->lens == NULL)
440 db->lens[--i] = 1;
442 i = db->hsize;
444 db->dict[--i].codem1 = BADCODEM1;
445 db->dict[i].cptr = 0;
448 db->unit = unit;
449 db->hdrlen = hdrlen;
450 db->mru = mru;
452 db->debug = 1;
454 bsd_reset(db);
495 struct bsd_db *db = (struct bsd_db *) state;
496 int hshift = db->hshift;
497 u_int max_ent = db->max_ent;
498 u_int n_bits = db->n_bits;
589 wptr[4] = db->seqno >> 8;
590 wptr[5] = db->seqno;
593 ++db->seqno;
615 dictp = &db->dict[hval];
629 if (hval >= db->hsize)
630 hval -= db->hsize;
631 dictp = &db->dict[hval];
642 if (max_ent < db->maxmaxcode) {
646 db->n_bits = ++n_bits;
651 dictp2 = &db->dict[max_ent+1];
652 if (db->dict[dictp2->cptr].codem1 == max_ent)
653 db->dict[dictp2->cptr].codem1 = BADCODEM1;
658 db->max_ent = ++max_ent;
664 db->bytes_out += olen;
665 db->in_count += ilen;
667 ++db->bytes_out; /* count complete bytes */
669 if (bsd_check(db))
683 if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
684 db->n_bits++;
686 db->uncomp_bytes += ilen;
687 ++db->uncomp_count;
692 ++db->incomp_count;
693 db->incomp_bytes += ilen;
700 ++db->comp_count;
701 db->comp_bytes += olen + BSD_OVHD;
720 struct bsd_db *db = (struct bsd_db *) state;
721 u_int hshift = db->hshift;
722 u_int max_ent = db->max_ent;
723 u_int n_bits = db->n_bits;
743 db->seqno++;
761 dictp = &db->dict[hval];
775 if (hval >= db->hsize)
776 hval -= db->hsize;
777 dictp = &db->dict[hval];
788 if (max_ent < db->maxmaxcode) {
792 db->n_bits = ++n_bits;
797 dictp2 = &db->dict[max_ent+1];
798 if (db->dict[dictp2->cptr].codem1 == max_ent)
799 db->dict[dictp2->cptr].codem1 = BADCODEM1;
804 db->max_ent = ++max_ent;
805 db->lens[max_ent] = db->lens[ent]+1;
811 db->bytes_out += bitno/8;
812 db->in_count += ilen;
813 (void)bsd_check(db);
815 ++db->incomp_count;
816 db->incomp_bytes += ilen;
817 ++db->uncomp_count;
818 db->uncomp_bytes += ilen;
823 if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
824 db->n_bits++;
849 struct bsd_db *db = (struct bsd_db *) state;
850 u_int max_ent = db->max_ent;
853 u_int n_bits = db->n_bits;
869 if (db->debug)
870 printf("bsd_decomp%d: failed to pullup\n", db->unit);
890 if (seq != db->seqno++) {
891 if (db->debug)
893 db->unit, seq, db->seqno - 1);
900 if ((dmsg = allocb(DECOMP_CHUNK + db->hdrlen, BPRI_MED)) == NULL)
903 dmsg->b_wptr += db->hdrlen;
952 if (db->debug)
953 printf("bsd_decomp%d: bad CLEAR\n", db->unit);
957 bsd_clear(db);
962 if (incode > max_ent + 2 || incode > db->maxmaxcode
965 if (db->debug) {
967 db->unit, incode, oldcode);
969 max_ent, dlen, db->seqno);
983 codelen = db->lens[finchar];
985 if (explen > db->mru + 1) {
987 if (db->debug)
988 printf("bsd_decomp%d: ran out of mru\n", db->unit);
1012 dictp = &db->dict[db->dict[finchar].cptr];
1017 printf("bsd_decomp%d: fell off end of chain ", db->unit);
1019 incode, finchar, db->dict[finchar].cptr, max_ent);
1025 db->unit, incode, finchar);
1027 db->dict[finchar].cptr, dictp->codem1);
1039 db->unit, codelen, incode, max_ent);
1052 if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
1058 hval = BSD_HASH(oldcode,finchar,db->hshift);
1059 dictp = &db->dict[hval];
1066 if (hval >= db->hsize)
1067 hval -= db->hsize;
1068 dictp = &db->dict[hval];
1076 dictp2 = &db->dict[max_ent+1];
1077 if (db->dict[dictp2->cptr].codem1 == max_ent) {
1078 db->dict[dictp2->cptr].codem1 = BADCODEM1;
1084 db->max_ent = ++max_ent;
1085 db->lens[max_ent] = db->lens[oldcode]+1;
1088 if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
1089 db->n_bits = ++n_bits;
1101 db->bytes_out += ilen;
1102 db->in_count += explen;
1103 if (bsd_check(db) && db->debug) {
1105 db->unit);
1108 ++db->comp_count;
1109 db->comp_bytes += ilen + BSD_OVHD;
1110 ++db->uncomp_count;
1111 db->uncomp_bytes += explen;