20 #ifndef FREERDP_MPPC_H
21 #define FREERDP_MPPC_H
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
26 #include <winpr/bitstream.h>
28 #include <freerdp/codec/bulk.h>
30 typedef struct s_MPPC_CONTEXT MPPC_CONTEXT;
37 FREERDP_LOCAL
int mppc_compress(MPPC_CONTEXT* mppc,
const BYTE* pSrcData, UINT32 SrcSize,
38 BYTE* pDstBuffer,
const BYTE** ppDstData, UINT32* pDstSize,
40 FREERDP_LOCAL
int mppc_decompress(MPPC_CONTEXT* mppc,
const BYTE* pSrcData, UINT32 SrcSize,
41 const BYTE** ppDstData, UINT32* pDstSize, UINT32 flags);
43 FREERDP_LOCAL
void mppc_set_compression_level(MPPC_CONTEXT* mppc, DWORD CompressionLevel);
45 FREERDP_LOCAL
void mppc_context_reset(MPPC_CONTEXT* mppc, BOOL flush);
47 FREERDP_LOCAL MPPC_CONTEXT* mppc_context_new(DWORD CompressionLevel, BOOL Compressor);
48 FREERDP_LOCAL
void mppc_context_free(MPPC_CONTEXT* mppc);