summaryrefslogblamecommitdiffstats
path: root/src/StringCompression.h
blob: 3f4e12d2d6f83173ef35b9b1b0ccdef26ae03ec7 (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                                                                     
                                                             


 


                                                                                                            
                                                                                                   
 
                                                                                                      

                                                                                                                 




                                                                                                                      


 

// StringCompression.h

// Interfaces to the wrapping functions for compression and decompression using AString as their data

#include "zlib/zlib.h"  // Needed for the Z_XXX return values





/// Compresses a_Data into a_Compressed using ZLIB; returns Z_XXX error constants same as zlib's compress2()
extern int CompressString(const char * a_Data, int a_Length, AString & a_Compressed, int a_Factor);

/// Uncompresses a_Data into a_Uncompressed; returns Z_XXX error constants same as zlib's decompress()
extern int UncompressString(const char * a_Data, int a_Length, AString & a_Uncompressed, int a_UncompressedSize);

/// Compresses a_Data into a_Compressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib
extern int CompressStringGZIP(const char * a_Data, int a_Length, AString & a_Compressed);

/// Uncompresses a_Data into a_Uncompressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib
extern int UncompressStringGZIP(const char * a_Data, int a_Length, AString & a_Uncompressed);