FreeRDP
Loading...
Searching...
No Matches
ncrush.h
1
20#ifndef FREERDP_CODEC_NCRUSH_H
21#define FREERDP_CODEC_NCRUSH_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25
26#include "mppc.h"
27
28#include <winpr/bitstream.h>
29
30typedef struct s_NCRUSH_CONTEXT NCRUSH_CONTEXT;
31
32#ifdef __cplusplus
33extern "C"
34{
35#endif
36
37 WINPR_ATTR_NODISCARD
38 FREERDP_LOCAL int ncrush_compress(NCRUSH_CONTEXT* ncrush, const BYTE* pSrcData, UINT32 SrcSize,
39 BYTE* pDstBuffer, const BYTE** ppDstData, UINT32* pDstSize,
40 UINT32* pFlags);
41 WINPR_ATTR_NODISCARD
42 FREERDP_LOCAL int ncrush_decompress(NCRUSH_CONTEXT* ncrush, const BYTE* pSrcData,
43 UINT32 SrcSize, const BYTE** ppDstData, UINT32* pDstSize,
44 UINT32 flags);
45
46 FREERDP_LOCAL void ncrush_context_reset(NCRUSH_CONTEXT* ncrush, BOOL flush);
47
48 FREERDP_LOCAL void ncrush_context_free(NCRUSH_CONTEXT* ncrush);
49
50 WINPR_ATTR_MALLOC(ncrush_context_free, 1)
51 WINPR_ATTR_NODISCARD
52 FREERDP_LOCAL NCRUSH_CONTEXT* ncrush_context_new(BOOL Compressor);
53
54#ifdef __cplusplus
55}
56#endif
57
58#endif /* FREERDP_CODEC_NCRUSH_H */