FreeRDP
mppc.h File Reference
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <winpr/bitstream.h>
#include <freerdp/codec/bulk.h>
This graph shows which files directly or indirectly include this file:

Functions

FREERDP_LOCAL int mppc_compress (MPPC_CONTEXT *mppc, const BYTE *pSrcData, UINT32 SrcSize, BYTE *pDstBuffer, const BYTE **ppDstData, UINT32 *pDstSize, UINT32 *pFlags)
 
FREERDP_LOCAL int mppc_decompress (MPPC_CONTEXT *mppc, const BYTE *pSrcData, UINT32 SrcSize, const BYTE **ppDstData, UINT32 *pDstSize, UINT32 flags)
 
FREERDP_LOCAL void mppc_set_compression_level (MPPC_CONTEXT *mppc, DWORD CompressionLevel)
 
FREERDP_LOCAL void mppc_context_reset (MPPC_CONTEXT *mppc, BOOL flush)
 
FREERDP_LOCAL MPPC_CONTEXT * mppc_context_new (DWORD CompressionLevel, BOOL Compressor)
 
FREERDP_LOCAL void mppc_context_free (MPPC_CONTEXT *mppc)
 

Function Documentation

◆ mppc_compress()

FREERDP_LOCAL int mppc_compress ( MPPC_CONTEXT *  mppc,
const BYTE pSrcData,
UINT32  SrcSize,
BYTE pDstBuffer,
const BYTE **  ppDstData,
UINT32 *  pDstSize,
UINT32 *  pFlags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mppc_context_free()

FREERDP_LOCAL void mppc_context_free ( MPPC_CONTEXT *  mppc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mppc_context_new()

FREERDP_LOCAL MPPC_CONTEXT* mppc_context_new ( DWORD  CompressionLevel,
BOOL  Compressor 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mppc_context_reset()

FREERDP_LOCAL void mppc_context_reset ( MPPC_CONTEXT *  mppc,
BOOL  flush 
)
Here is the caller graph for this function:

◆ mppc_decompress()

FREERDP_LOCAL int mppc_decompress ( MPPC_CONTEXT *  mppc,
const BYTE pSrcData,
UINT32  SrcSize,
const BYTE **  ppDstData,
UINT32 *  pDstSize,
UINT32  flags 
)

Literal Encoding

Literal, less than 0x80 bit 0 followed by the lower 7 bits of the literal

Literal, greater than 0x7F bits 10 followed by the lower 7 bits of the literal

CopyOffset Encoding

CopyOffset, range [0, 63] bits 11111 + lower 6 bits of CopyOffset

CopyOffset, range [64, 319] bits 11110 + lower 8 bits of (CopyOffset - 64)

CopyOffset, range [320, 2367] bits 1110 + lower 11 bits of (CopyOffset - 320)

CopyOffset, range [2368, ] bits 110 + lower 16 bits of (CopyOffset - 2368)

CopyOffset, range [0, 63] bits 1111 + lower 6 bits of CopyOffset

CopyOffset, range [64, 319] bits 1110 + lower 8 bits of (CopyOffset - 64)

CopyOffset, range [320, 8191] bits 110 + lower 13 bits of (CopyOffset - 320)

LengthOfMatch Encoding

LengthOfMatch [3] bit 0 + 0 lower bits of LengthOfMatch

LengthOfMatch [4, 7] bits 10 + 2 lower bits of LengthOfMatch

LengthOfMatch [8, 15] bits 110 + 3 lower bits of LengthOfMatch

LengthOfMatch [16, 31] bits 1110 + 4 lower bits of LengthOfMatch

LengthOfMatch [32, 63] bits 11110 + 5 lower bits of LengthOfMatch

LengthOfMatch [64, 127] bits 111110 + 6 lower bits of LengthOfMatch

LengthOfMatch [128, 255] bits 1111110 + 7 lower bits of LengthOfMatch

LengthOfMatch [256, 511] bits 11111110 + 8 lower bits of LengthOfMatch

LengthOfMatch [512, 1023] bits 111111110 + 9 lower bits of LengthOfMatch

LengthOfMatch [1024, 2047] bits 1111111110 + 10 lower bits of LengthOfMatch

LengthOfMatch [2048, 4095] bits 11111111110 + 11 lower bits of LengthOfMatch

LengthOfMatch [4096, 8191] bits 111111111110 + 12 lower bits of LengthOfMatch

LengthOfMatch [8192, 16383] bits 1111111111110 + 13 lower bits of LengthOfMatch

LengthOfMatch [16384, 32767] bits 11111111111110 + 14 lower bits of LengthOfMatch

LengthOfMatch [32768, 65535] bits 111111111111110 + 15 lower bits of LengthOfMatch

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mppc_set_compression_level()

FREERDP_LOCAL void mppc_set_compression_level ( MPPC_CONTEXT *  mppc,
DWORD  CompressionLevel 
)
Here is the caller graph for this function: