diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/api_inflate.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Winamp/api_inflate.h')
-rw-r--r-- | Src/Winamp/api_inflate.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/Src/Winamp/api_inflate.h b/Src/Winamp/api_inflate.h new file mode 100644 index 00000000..8012f877 --- /dev/null +++ b/Src/Winamp/api_inflate.h @@ -0,0 +1,96 @@ +#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
\ No newline at end of file |