/* inftrees.h -- header to use inftrees.c *Copyright(C)1995-2005MarkAdler *Forconditionsofdistributionanduse,seecopyrightnoticeinzlib.h
*/
/* WARNING: this file should *not* be used by applications. It is partoftheimplementationofthecompressionlibraryandis subjecttochange.Applicationsshouldonlyusezlib.h.
*/
/* Structure for decoding tables. Each entry provides either the informationneededtodotheoperationrequestedbythecodethat indexedthattableentry,oritprovidesapointertoanother tablethatindexesmorebitsofthecode.opindicateswhether theentryisapointertoanothertable,aliteral,alengthor distance,anend-of-block,oraninvalidcode.Foratable pointer,thelowfourbitsofopisthenumberofindexbitsof thattable.Foralengthordistance,thelowfourbitsofop isthenumberofextrabitstogetafterthecode.bitsis thenumberofbitsinthiscodeorpartofthecodetodropoff ofthebitbuffer.valistheactualbytetooutputinthecase ofaliteral,thebaselengthordistance,ortheoffsetfrom
the current table to the next table. Each entry is four bytes. */ typedefstruct { unsignedchar op; /* operation, extra bits, table bits */ unsignedchar bits; /* bits in this part of the code */ unsignedshort val; /* offset in table or code value */
} code;
/* op values as set by inflate_table(): 00000000-literal 0000tttt-tablelink,tttt!=0isthenumberoftableindexbits 0001eeee-lengthordistance,eeeeisthenumberofextrabits 01100000-endofblock 01000000-invalidcode
*/
/* Maximum size of dynamic tree. The maximum found in a long but non- exhaustivesearchwas1444codestructures(852forlength/literals and592fordistances,thelatteractuallytheresultofan exhaustivesearch).Thetruemaximumisnotknown,butthevalue
below is more than safe. */ #define ENOUGH 2048 #define MAXD 592
/* Type of code to build for inftable() */ typedefenum {
CODES,
LENS,
DISTS
} codetype;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.