Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.7 KiB

//
// defdata.h
//
// Data specific to deflate
//
// BUGBUG Some of these USHORTs could be made into ULONGs for speed-of-access. The disadvantage would
// be greater memory/cache usage. g_StaticDistanceTreeCode[] could be made into a BYTE array,
// since the codes are 5 bits. Changes of this nature will require various code changes elsewhere.
//
#ifdef DECLARE_DATA
// lookup tables for finding the slot number of a match length or distance
BYTE g_LengthLookup[256];
BYTE g_DistLookup[512];
// literal codes for static blocks
BYTE g_StaticLiteralTreeLength[MAX_LITERAL_TREE_ELEMENTS];
USHORT g_StaticLiteralTreeCode[MAX_LITERAL_TREE_ELEMENTS];
// distance codes for static blocks
// note: g_StaticDistanceTreeLength == 5 for all distances, which is why we don't have a table for that
USHORT g_StaticDistanceTreeCode[MAX_DIST_TREE_ELEMENTS];
// cached tree structure output for fast encoder
BYTE g_FastEncoderTreeStructureData[MAX_TREE_DATA_SIZE];
int g_FastEncoderTreeLength; // # bytes in g_FastEncoderTreeStructureData
ULONG g_FastEncoderPostTreeBitbuf; // final value of bitbuf
int g_FastEncoderPostTreeBitcount; // final value of bitcount
#else /* !DECLARE_DATA */
extern BYTE g_LengthLookup[256];
extern BYTE g_DistLookup[512];
extern BYTE g_StaticLiteralTreeLength[MAX_LITERAL_TREE_ELEMENTS];
extern USHORT g_StaticLiteralTreeCode[MAX_LITERAL_TREE_ELEMENTS];
extern USHORT g_StaticDistanceTreeCode[MAX_DIST_TREE_ELEMENTS];
extern BYTE g_FastEncoderTreeStructureData[MAX_TREE_DATA_SIZE];
extern int g_FastEncoderTreeLength;
extern ULONG g_FastEncoderPostTreeBitbuf;
extern int g_FastEncoderPostTreeBitcount;
#endif /* !DECLARE_DATA */