mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-29 15:26:07 +00:00
96 lines
2.8 KiB
C
96 lines
2.8 KiB
C
|
#ifndef NULLSOFT_WINAMP_API_INFLATE_H
|
||
|
#define NULLSOFT_WINAMP_API_INFLATE_H
|
||
|
|
||
|
#include <bfc/dispatch.h>
|
||
|
#include <bfc/platform/types.h>
|
||
|
|
||
|
/* TODO: this should be renamed api_zlib */
|
||
|
class NOVTABLE api_inflate : public Dispatchable
|
||
|
{
|
||
|
protected:
|
||
|
api_inflate() {}
|
||
|
~api_inflate() {}
|
||
|
public:
|
||
|
int inflateReset(void *strm);
|
||
|
int inflateInit_(void *strm,const char *version, int stream_size);
|
||
|
int inflateInit2_(void *strm, int windowBits, const char *version, int stream_size);
|
||
|
int inflate(void *strm, int flush);
|
||
|
int inflateEnd(void *strm);
|
||
|
unsigned long crc32(unsigned long crc, const unsigned char *buf, unsigned int len);
|
||
|
|
||
|
int deflateReset(void *strm);
|
||
|
int deflateInit2_(void *strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size);
|
||
|
int deflate(void *strm, int flush);
|
||
|
int deflateEnd(void *strm);
|
||
|
public:
|
||
|
DISPATCH_CODES
|
||
|
{
|
||
|
API_INFLATE_INFLATERESET = 10,
|
||
|
API_INFLATE_INFLATEINIT = 20,
|
||
|
API_INFLATE_INFLATEINIT2 = 21,
|
||
|
API_INFLATE_INFLATE = 30,
|
||
|
API_INFLATE_INFLATEEND = 40,
|
||
|
API_INFLATE_CRC32 = 50,
|
||
|
|
||
|
API_INFLATE_DEFLATERESET = 60,
|
||
|
API_INFLATE_DEFLATEINIT2 = 70,
|
||
|
API_INFLATE_DEFLATE = 80,
|
||
|
API_INFLATE_DEFLATEEND = 90,
|
||
|
};
|
||
|
};
|
||
|
|
||
|
inline int api_inflate::inflateReset(void *strm)
|
||
|
{
|
||
|
return _call(API_INFLATE_INFLATERESET, (int)-4, strm);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::inflateInit_(void *strm, const char *version, int stream_size)
|
||
|
{
|
||
|
return _call(API_INFLATE_INFLATEINIT, (int)-4, strm, version, stream_size);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::inflateInit2_(void *strm, int windowBits, const char *version, int stream_size)
|
||
|
{
|
||
|
return _call(API_INFLATE_INFLATEINIT2, (int)-4, strm, windowBits, version, stream_size);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::inflate(void *strm, int flush)
|
||
|
{
|
||
|
return _call(API_INFLATE_INFLATE, (int)-4, strm, flush);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::inflateEnd(void *strm)
|
||
|
{
|
||
|
return _call(API_INFLATE_INFLATEEND, (int)-2, strm);
|
||
|
}
|
||
|
|
||
|
inline unsigned long api_inflate::crc32(unsigned long crc, const unsigned char *buf, unsigned int len)
|
||
|
{
|
||
|
return _call(API_INFLATE_CRC32, (unsigned long)0, crc, buf, len);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::deflateReset(void *strm)
|
||
|
{
|
||
|
return _call(API_INFLATE_DEFLATERESET, (unsigned long)-4, strm);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::deflateInit2_(void *strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size)
|
||
|
{
|
||
|
return _call(API_INFLATE_DEFLATEINIT2, (int)-4, strm, level, method, windowBits, memLevel, strategy, version, stream_size);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::deflateEnd(void *strm)
|
||
|
{
|
||
|
return _call(API_INFLATE_DEFLATEEND, (int)-2, strm);
|
||
|
}
|
||
|
|
||
|
inline int api_inflate::deflate(void *strm, int flush)
|
||
|
{
|
||
|
return _call(API_INFLATE_DEFLATE, (int)-4, strm, flush);
|
||
|
}
|
||
|
|
||
|
// {8A4C0BAA-83D0-440e-BB59-A5C70A92EFFF}
|
||
|
static const GUID inflateGUID =
|
||
|
{ 0x8a4c0baa, 0x83d0, 0x440e, { 0xbb, 0x59, 0xa5, 0xc7, 0xa, 0x92, 0xef, 0xff } };
|
||
|
|
||
|
#endif
|