FreeRDP
Loading...
Searching...
No Matches
mppc.h
1
20#ifndef FREERDP_MPPC_H
21#define FREERDP_MPPC_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25
26#include <winpr/bitstream.h>
27
28#include <freerdp/codec/bulk.h>
29
30typedef struct s_MPPC_CONTEXT MPPC_CONTEXT;
31
32#ifdef __cplusplus
33extern "C"
34{
35#endif
36
37 WINPR_ATTR_NODISCARD
38 FREERDP_LOCAL int mppc_compress(MPPC_CONTEXT* mppc, const BYTE* pSrcData, UINT32 SrcSize,
39 BYTE* pDstBuffer, const BYTE** ppDstData, UINT32* pDstSize,
40 UINT32* pFlags);
41
42 WINPR_ATTR_NODISCARD
43 FREERDP_LOCAL int mppc_decompress(MPPC_CONTEXT* mppc, const BYTE* pSrcData, UINT32 SrcSize,
44 const BYTE** ppDstData, UINT32* pDstSize, UINT32 flags);
45
46 FREERDP_LOCAL void mppc_set_compression_level(MPPC_CONTEXT* mppc, DWORD CompressionLevel);
47
48 FREERDP_LOCAL void mppc_context_reset(MPPC_CONTEXT* mppc, BOOL flush);
49
50 FREERDP_LOCAL void mppc_context_free(MPPC_CONTEXT* mppc);
51
52 WINPR_ATTR_MALLOC(mppc_context_free, 1)
53 WINPR_ATTR_NODISCARD
54 FREERDP_LOCAL MPPC_CONTEXT* mppc_context_new(DWORD CompressionLevel, BOOL Compressor);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif /* FREERDP_MPPC_H */