20#ifndef FREERDP_CODEC_XCRUSH_H
21#define FREERDP_CODEC_XCRUSH_H
23#include <freerdp/api.h>
24#include <freerdp/types.h>
28typedef struct s_XCRUSH_CONTEXT XCRUSH_CONTEXT;
35 FREERDP_LOCAL
int xcrush_compress(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush,
36 const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
37 BYTE* WINPR_RESTRICT pDstBuffer,
38 const BYTE** WINPR_RESTRICT ppDstData,
39 UINT32* WINPR_RESTRICT pDstSize,
40 UINT32* WINPR_RESTRICT pFlags);
41 FREERDP_LOCAL
int xcrush_decompress(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush,
42 const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
43 const BYTE** WINPR_RESTRICT ppDstData,
44 UINT32* WINPR_RESTRICT pDstSize, UINT32 flags);
46 FREERDP_LOCAL
void xcrush_context_reset(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush, BOOL flush);
48 FREERDP_LOCAL XCRUSH_CONTEXT* xcrush_context_new(BOOL Compressor);
49 FREERDP_LOCAL
void xcrush_context_free(XCRUSH_CONTEXT* xcrush);