FreeRDP
orders.c File Reference
#include "window.h"
#include <winpr/wtypes.h>
#include <winpr/crt.h>
#include <freerdp/api.h>
#include <freerdp/log.h>
#include <freerdp/graphics.h>
#include <freerdp/codec/bitmap.h>
#include <freerdp/gdi/gdi.h>
#include "orders.h"
#include "../cache/glyph.h"
#include "../cache/bitmap.h"
#include "../cache/brush.h"
#include "../cache/cache.h"

Macros

#define TAG   FREERDP_TAG("core.orders")
 
#define PRIMARY_DRAWING_ORDER_COUNT   (ARRAYSIZE(PRIMARY_DRAWING_ORDER_FIELD_BYTES))
 
#define ORDER_FIELD_BYTE(NO, TARGET)
 
#define ORDER_FIELD_2BYTE(NO, TARGET1, TARGET2)
 
#define ORDER_FIELD_UINT16(NO, TARGET)
 
#define ORDER_FIELD_UINT32(NO, TARGET)
 
#define ORDER_FIELD_COORD(NO, TARGET)
 

Functions

static BOOL check_order_activated (wLog *log, rdpSettings *settings, const char *orderName, BOOL condition)
 
static BOOL check_alt_order_supported (wLog *log, rdpSettings *settings, BYTE orderType, const char *orderName)
 
static BOOL check_secondary_order_supported (wLog *log, rdpSettings *settings, BYTE orderType, const char *orderName)
 
static BOOL check_primary_order_supported (wLog *log, rdpSettings *settings, UINT32 orderType, const char *orderName)
 
static const char * primary_order_string (UINT32 orderType)
 
static const char * secondary_order_string (UINT32 orderType)
 
static const char * altsec_order_string (BYTE orderType)
 
static INLINE BOOL update_read_coord (wStream *s, INT32 *coord, BOOL delta)
 
static INLINE BOOL update_write_coord (wStream *s, INT32 coord)
 
static INLINE BOOL update_read_color (wStream *s, UINT32 *color)
 
static INLINE BOOL update_write_color (wStream *s, UINT32 color)
 
static INLINE BOOL update_read_colorref (wStream *s, UINT32 *color)
 
static INLINE BOOL update_read_color_quad (wStream *s, UINT32 *color)
 
static INLINE void update_write_color_quad (wStream *s, UINT32 color)
 
static INLINE BOOL update_read_2byte_unsigned (wStream *s, UINT32 *value)
 
static INLINE BOOL update_write_2byte_unsigned (wStream *s, UINT32 value)
 
static INLINE BOOL update_read_2byte_signed (wStream *s, INT32 *value)
 
static INLINE BOOL update_write_2byte_signed (wStream *s, INT32 value)
 
static INLINE BOOL update_read_4byte_unsigned (wStream *s, UINT32 *value)
 
static INLINE BOOL update_write_4byte_unsigned (wStream *s, UINT32 value)
 
static INLINE BOOL update_read_delta (wStream *s, INT32 *value)
 
static INLINE BOOL update_read_brush (wStream *s, rdpBrush *brush, BYTE fieldFlags)
 
static INLINE BOOL update_write_brush (wStream *s, rdpBrush *brush, BYTE fieldFlags)
 
static INLINE BOOL update_read_delta_rects (wStream *s, DELTA_RECT *rectangles, UINT32 number)
 
static INLINE BOOL update_read_delta_points (wStream *s, DELTA_POINT *points, int number, INT16 x, INT16 y)
 
static INLINE BOOL ORDER_FIELD_COLOR (const ORDER_INFO *orderInfo, wStream *s, UINT32 NO, UINT32 *TARGET)
 
static INLINE BOOL FIELD_SKIP_BUFFER16 (wStream *s, UINT32 TARGET_LEN)
 
static BOOL update_read_dstblt_order (wStream *s, const ORDER_INFO *orderInfo, DSTBLT_ORDER *dstblt)
 
int update_approximate_dstblt_order (ORDER_INFO *orderInfo, const DSTBLT_ORDER *dstblt)
 
BOOL update_write_dstblt_order (wStream *s, ORDER_INFO *orderInfo, const DSTBLT_ORDER *dstblt)
 
static BOOL update_read_patblt_order (wStream *s, const ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
int update_approximate_patblt_order (ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
BOOL update_write_patblt_order (wStream *s, ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
static BOOL update_read_scrblt_order (wStream *s, const ORDER_INFO *orderInfo, SCRBLT_ORDER *scrblt)
 
int update_approximate_scrblt_order (ORDER_INFO *orderInfo, const SCRBLT_ORDER *scrblt)
 
BOOL update_write_scrblt_order (wStream *s, ORDER_INFO *orderInfo, const SCRBLT_ORDER *scrblt)
 
static BOOL update_read_opaque_rect_order (wStream *s, const ORDER_INFO *orderInfo, OPAQUE_RECT_ORDER *opaque_rect)
 
int update_approximate_opaque_rect_order (ORDER_INFO *orderInfo, const OPAQUE_RECT_ORDER *opaque_rect)
 
BOOL update_write_opaque_rect_order (wStream *s, ORDER_INFO *orderInfo, const OPAQUE_RECT_ORDER *opaque_rect)
 
static BOOL update_read_draw_nine_grid_order (wStream *s, const ORDER_INFO *orderInfo, DRAW_NINE_GRID_ORDER *draw_nine_grid)
 
static BOOL update_read_multi_dstblt_order (wStream *s, const ORDER_INFO *orderInfo, MULTI_DSTBLT_ORDER *multi_dstblt)
 
static BOOL update_read_multi_patblt_order (wStream *s, const ORDER_INFO *orderInfo, MULTI_PATBLT_ORDER *multi_patblt)
 
static BOOL update_read_multi_scrblt_order (wStream *s, const ORDER_INFO *orderInfo, MULTI_SCRBLT_ORDER *multi_scrblt)
 
static BOOL update_read_multi_opaque_rect_order (wStream *s, const ORDER_INFO *orderInfo, MULTI_OPAQUE_RECT_ORDER *multi_opaque_rect)
 
static BOOL update_read_multi_draw_nine_grid_order (wStream *s, const ORDER_INFO *orderInfo, MULTI_DRAW_NINE_GRID_ORDER *multi_draw_nine_grid)
 
static BOOL update_read_line_to_order (wStream *s, const ORDER_INFO *orderInfo, LINE_TO_ORDER *line_to)
 
int update_approximate_line_to_order (ORDER_INFO *orderInfo, const LINE_TO_ORDER *line_to)
 
BOOL update_write_line_to_order (wStream *s, ORDER_INFO *orderInfo, const LINE_TO_ORDER *line_to)
 
static BOOL update_read_polyline_order (wStream *s, const ORDER_INFO *orderInfo, POLYLINE_ORDER *polyline)
 
static BOOL update_read_memblt_order (wStream *s, const ORDER_INFO *orderInfo, MEMBLT_ORDER *memblt)
 
int update_approximate_memblt_order (ORDER_INFO *orderInfo, const MEMBLT_ORDER *memblt)
 
BOOL update_write_memblt_order (wStream *s, ORDER_INFO *orderInfo, const MEMBLT_ORDER *memblt)
 
static BOOL update_read_mem3blt_order (wStream *s, const ORDER_INFO *orderInfo, MEM3BLT_ORDER *mem3blt)
 
static BOOL update_read_save_bitmap_order (wStream *s, const ORDER_INFO *orderInfo, SAVE_BITMAP_ORDER *save_bitmap)
 
static BOOL update_read_glyph_index_order (wStream *s, const ORDER_INFO *orderInfo, GLYPH_INDEX_ORDER *glyph_index)
 
int update_approximate_glyph_index_order (ORDER_INFO *orderInfo, const GLYPH_INDEX_ORDER *glyph_index)
 
BOOL update_write_glyph_index_order (wStream *s, ORDER_INFO *orderInfo, GLYPH_INDEX_ORDER *glyph_index)
 
static BOOL update_read_fast_index_order (wStream *s, const ORDER_INFO *orderInfo, FAST_INDEX_ORDER *fast_index)
 
static BOOL update_read_fast_glyph_order (wStream *s, const ORDER_INFO *orderInfo, FAST_GLYPH_ORDER *fastGlyph)
 
static BOOL update_read_polygon_sc_order (wStream *s, const ORDER_INFO *orderInfo, POLYGON_SC_ORDER *polygon_sc)
 
static BOOL update_read_polygon_cb_order (wStream *s, const ORDER_INFO *orderInfo, POLYGON_CB_ORDER *polygon_cb)
 
static BOOL update_read_ellipse_sc_order (wStream *s, const ORDER_INFO *orderInfo, ELLIPSE_SC_ORDER *ellipse_sc)
 
static BOOL update_read_ellipse_cb_order (wStream *s, const ORDER_INFO *orderInfo, ELLIPSE_CB_ORDER *ellipse_cb)
 
static CACHE_BITMAP_ORDER * update_read_cache_bitmap_order (rdpUpdate *update, wStream *s, BOOL compressed, UINT16 flags)
 
int update_approximate_cache_bitmap_order (const CACHE_BITMAP_ORDER *cache_bitmap, BOOL compressed, UINT16 *flags)
 
BOOL update_write_cache_bitmap_order (wStream *s, const CACHE_BITMAP_ORDER *cache_bitmap, BOOL compressed, UINT16 *flags)
 
static CACHE_BITMAP_V2_ORDER * update_read_cache_bitmap_v2_order (rdpUpdate *update, wStream *s, BOOL compressed, UINT16 flags)
 
int update_approximate_cache_bitmap_v2_order (CACHE_BITMAP_V2_ORDER *cache_bitmap_v2, BOOL compressed, UINT16 *flags)
 
BOOL update_write_cache_bitmap_v2_order (wStream *s, CACHE_BITMAP_V2_ORDER *cache_bitmap_v2, BOOL compressed, UINT16 *flags)
 
static CACHE_BITMAP_V3_ORDER * update_read_cache_bitmap_v3_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
int update_approximate_cache_bitmap_v3_order (CACHE_BITMAP_V3_ORDER *cache_bitmap_v3, UINT16 *flags)
 
BOOL update_write_cache_bitmap_v3_order (wStream *s, CACHE_BITMAP_V3_ORDER *cache_bitmap_v3, UINT16 *flags)
 
static CACHE_COLOR_TABLE_ORDER * update_read_cache_color_table_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
int update_approximate_cache_color_table_order (const CACHE_COLOR_TABLE_ORDER *cache_color_table, UINT16 *flags)
 
BOOL update_write_cache_color_table_order (wStream *s, const CACHE_COLOR_TABLE_ORDER *cache_color_table, UINT16 *flags)
 
static CACHE_GLYPH_ORDER * update_read_cache_glyph_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
int update_approximate_cache_glyph_order (const CACHE_GLYPH_ORDER *cache_glyph, UINT16 *flags)
 
BOOL update_write_cache_glyph_order (wStream *s, const CACHE_GLYPH_ORDER *cache_glyph, UINT16 *flags)
 
static CACHE_GLYPH_V2_ORDER * update_read_cache_glyph_v2_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
int update_approximate_cache_glyph_v2_order (const CACHE_GLYPH_V2_ORDER *cache_glyph_v2, UINT16 *flags)
 
BOOL update_write_cache_glyph_v2_order (wStream *s, const CACHE_GLYPH_V2_ORDER *cache_glyph_v2, UINT16 *flags)
 
static BOOL update_decompress_brush (wStream *s, BYTE *output, BYTE bpp)
 
static BOOL update_compress_brush (wStream *s, const BYTE *input, BYTE bpp)
 
static CACHE_BRUSH_ORDER * update_read_cache_brush_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
int update_approximate_cache_brush_order (const CACHE_BRUSH_ORDER *cache_brush, UINT16 *flags)
 
BOOL update_write_cache_brush_order (wStream *s, const CACHE_BRUSH_ORDER *cache_brush, UINT16 *flags)
 
static BOOL update_read_create_offscreen_bitmap_order (wStream *s, CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
int update_approximate_create_offscreen_bitmap_order (const CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
BOOL update_write_create_offscreen_bitmap_order (wStream *s, const CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
static BOOL update_read_switch_surface_order (wStream *s, SWITCH_SURFACE_ORDER *switch_surface)
 
int update_approximate_switch_surface_order (const SWITCH_SURFACE_ORDER *switch_surface)
 
BOOL update_write_switch_surface_order (wStream *s, const SWITCH_SURFACE_ORDER *switch_surface)
 
static BOOL update_read_create_nine_grid_bitmap_order (wStream *s, CREATE_NINE_GRID_BITMAP_ORDER *create_nine_grid_bitmap)
 
static BOOL update_read_frame_marker_order (wStream *s, FRAME_MARKER_ORDER *frame_marker)
 
static BOOL update_read_stream_bitmap_first_order (wStream *s, STREAM_BITMAP_FIRST_ORDER *stream_bitmap_first)
 
static BOOL update_read_stream_bitmap_next_order (wStream *s, STREAM_BITMAP_NEXT_ORDER *stream_bitmap_next)
 
static BOOL update_read_draw_gdiplus_first_order (wStream *s, DRAW_GDIPLUS_FIRST_ORDER *draw_gdiplus_first)
 
static BOOL update_read_draw_gdiplus_next_order (wStream *s, DRAW_GDIPLUS_NEXT_ORDER *draw_gdiplus_next)
 
static BOOL update_read_draw_gdiplus_end_order (wStream *s, DRAW_GDIPLUS_END_ORDER *draw_gdiplus_end)
 
static BOOL update_read_draw_gdiplus_cache_first_order (wStream *s, DRAW_GDIPLUS_CACHE_FIRST_ORDER *draw_gdiplus_cache_first)
 
static BOOL update_read_draw_gdiplus_cache_next_order (wStream *s, DRAW_GDIPLUS_CACHE_NEXT_ORDER *draw_gdiplus_cache_next)
 
static BOOL update_read_draw_gdiplus_cache_end_order (wStream *s, DRAW_GDIPLUS_CACHE_END_ORDER *draw_gdiplus_cache_end)
 
static BOOL update_read_field_flags (wStream *s, UINT32 *fieldFlags, BYTE flags, BYTE fieldBytes)
 
BOOL update_write_field_flags (wStream *s, UINT32 fieldFlags, BYTE flags, BYTE fieldBytes)
 
static BOOL update_read_bounds (wStream *s, rdpBounds *bounds)
 
BOOL update_write_bounds (wStream *s, ORDER_INFO *orderInfo)
 
static BOOL read_primary_order (wLog *log, const char *orderName, wStream *s, const ORDER_INFO *orderInfo, rdpPrimaryUpdate *primary)
 
static BOOL update_recv_primary_order (rdpUpdate *update, wStream *s, BYTE flags)
 
static BOOL update_recv_secondary_order (rdpUpdate *update, wStream *s, BYTE flags)
 
static BOOL read_altsec_order (wStream *s, BYTE orderType, rdpAltSecUpdate *altsec)
 
static BOOL update_recv_altsec_order (rdpUpdate *update, wStream *s, BYTE flags)
 
BOOL update_recv_order (rdpUpdate *update, wStream *s)
 

Variables

const BYTE PRIMARY_DRAWING_ORDER_FIELD_BYTES []
 
static const BYTE CBR2_BPP []
 
static const BYTE BPP_CBR2 []
 
static const BYTE CBR23_BPP []
 
static const BYTE BPP_CBR23 []
 
static const BYTE BMF_BPP []
 
static const BYTE BPP_BMF []
 

Macro Definition Documentation

#define ORDER_FIELD_2BYTE (   NO,
  TARGET1,
  TARGET2 
)
Value:
do {\
if (orderInfo->fieldFlags & (1 << (NO-1))) \
{ \
WLog_ERR(TAG, "error reading %s or %s", #TARGET1, #TARGET2); \
} \
Stream_Read_UINT8(s, TARGET1); \
Stream_Read_UINT8(s, TARGET2); \
} \
} while(0)
return(void *)((char *) buffer-> buffer+buffer->tail)
#define Stream_Read_UINT8(_s, _v)
Definition: stream.h:125
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158
static INLINE size_t Stream_GetRemainingLength(wStream *_s)
Definition: stream.h:322
#define FALSE
Definition: trio.c:209
#define TAG
Definition: orders.c:44
#define ORDER_FIELD_BYTE (   NO,
  TARGET 
)
Value:
do {\
if (orderInfo->fieldFlags & (1 << (NO-1))) \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
} \
Stream_Read_UINT8(s, TARGET); \
} \
} while(0)
return(void *)((char *) buffer-> buffer+buffer->tail)
#define Stream_Read_UINT8(_s, _v)
Definition: stream.h:125
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158
static INLINE size_t Stream_GetRemainingLength(wStream *_s)
Definition: stream.h:322
#define FALSE
Definition: trio.c:209
#define TAG
Definition: orders.c:44
#define ORDER_FIELD_COORD (   NO,
  TARGET 
)
Value:
do { \
if ((orderInfo->fieldFlags & (1 << (NO-1))) && !update_read_coord(s, &TARGET, orderInfo->deltaCoordinates)) { \
WLog_ERR(TAG, "error reading %s", #TARGET); \
} \
} while(0)
return(void *)((char *) buffer-> buffer+buffer->tail)
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158
static INLINE BOOL update_read_coord(wStream *s, INT32 *coord, BOOL delta)
Definition: orders.c:443
#define FALSE
Definition: trio.c:209
#define TAG
Definition: orders.c:44
#define ORDER_FIELD_UINT16 (   NO,
  TARGET 
)
Value:
do {\
if (orderInfo->fieldFlags & (1 << (NO-1))) \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
} \
Stream_Read_UINT16(s, TARGET); \
} \
} while(0)
return(void *)((char *) buffer-> buffer+buffer->tail)
#define Stream_Read_UINT16(_s, _v)
Definition: stream.h:128
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158
static INLINE size_t Stream_GetRemainingLength(wStream *_s)
Definition: stream.h:322
#define FALSE
Definition: trio.c:209
#define TAG
Definition: orders.c:44
#define ORDER_FIELD_UINT32 (   NO,
  TARGET 
)
Value:
do {\
if (orderInfo->fieldFlags & (1 << (NO-1))) \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
} \
Stream_Read_UINT32(s, TARGET); \
} \
} while(0)
return(void *)((char *) buffer-> buffer+buffer->tail)
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158
static INLINE size_t Stream_GetRemainingLength(wStream *_s)
Definition: stream.h:322
#define FALSE
Definition: trio.c:209
#define TAG
Definition: orders.c:44
#define Stream_Read_UINT32(_s, _v)
Definition: stream.h:134
#define PRIMARY_DRAWING_ORDER_COUNT   (ARRAYSIZE(PRIMARY_DRAWING_ORDER_FIELD_BYTES))
#define TAG   FREERDP_TAG("core.orders")

FreeRDP: A Remote Desktop Protocol Implementation Drawing Orders

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2016 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2016 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

static const char* altsec_order_string ( BYTE  orderType)
static

Here is the caller graph for this function:

static BOOL check_alt_order_supported ( wLog *  log,
rdpSettings *  settings,
BYTE  orderType,
const char *  orderName 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL check_order_activated ( wLog *  log,
rdpSettings *  settings,
const char *  orderName,
BOOL  condition 
)
static

Here is the caller graph for this function:

static BOOL check_primary_order_supported ( wLog *  log,
rdpSettings *  settings,
UINT32  orderType,
const char *  orderName 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL check_secondary_order_supported ( wLog *  log,
rdpSettings *  settings,
BYTE  orderType,
const char *  orderName 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL FIELD_SKIP_BUFFER16 ( wStream *  s,
UINT32  TARGET_LEN 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL ORDER_FIELD_COLOR ( const ORDER_INFO *  orderInfo,
wStream *  s,
UINT32  NO,
UINT32 TARGET 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static const char* primary_order_string ( UINT32  orderType)
static

Here is the caller graph for this function:

static BOOL read_altsec_order ( wStream *  s,
BYTE  orderType,
rdpAltSecUpdate *  altsec 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL read_primary_order ( wLog *  log,
const char *  orderName,
wStream *  s,
const ORDER_INFO *  orderInfo,
rdpPrimaryUpdate *  primary 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static const char* secondary_order_string ( UINT32  orderType)
static

Here is the caller graph for this function:

int update_approximate_cache_bitmap_order ( const CACHE_BITMAP_ORDER *  cache_bitmap,
BOOL  compressed,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_bitmap_v2_order ( CACHE_BITMAP_V2_ORDER *  cache_bitmap_v2,
BOOL  compressed,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_bitmap_v3_order ( CACHE_BITMAP_V3_ORDER *  cache_bitmap_v3,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_brush_order ( const CACHE_BRUSH_ORDER *  cache_brush,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_color_table_order ( const CACHE_COLOR_TABLE_ORDER *  cache_color_table,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_glyph_order ( const CACHE_GLYPH_ORDER *  cache_glyph,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_cache_glyph_v2_order ( const CACHE_GLYPH_V2_ORDER *  cache_glyph_v2,
UINT16 flags 
)

Here is the caller graph for this function:

int update_approximate_create_offscreen_bitmap_order ( const CREATE_OFFSCREEN_BITMAP_ORDER *  create_offscreen_bitmap)

Here is the caller graph for this function:

int update_approximate_dstblt_order ( ORDER_INFO *  orderInfo,
const DSTBLT_ORDER *  dstblt 
)

Here is the caller graph for this function:

int update_approximate_glyph_index_order ( ORDER_INFO *  orderInfo,
const GLYPH_INDEX_ORDER *  glyph_index 
)

Here is the caller graph for this function:

int update_approximate_line_to_order ( ORDER_INFO *  orderInfo,
const LINE_TO_ORDER *  line_to 
)

Here is the caller graph for this function:

int update_approximate_memblt_order ( ORDER_INFO *  orderInfo,
const MEMBLT_ORDER *  memblt 
)

Here is the caller graph for this function:

int update_approximate_opaque_rect_order ( ORDER_INFO *  orderInfo,
const OPAQUE_RECT_ORDER *  opaque_rect 
)

Here is the caller graph for this function:

int update_approximate_patblt_order ( ORDER_INFO *  orderInfo,
PATBLT_ORDER *  patblt 
)

Here is the caller graph for this function:

int update_approximate_scrblt_order ( ORDER_INFO *  orderInfo,
const SCRBLT_ORDER *  scrblt 
)

Here is the caller graph for this function:

int update_approximate_switch_surface_order ( const SWITCH_SURFACE_ORDER *  switch_surface)

Here is the caller graph for this function:

static BOOL update_compress_brush ( wStream *  s,
const BYTE input,
BYTE  bpp 
)
static

Here is the caller graph for this function:

static BOOL update_decompress_brush ( wStream *  s,
BYTE output,
BYTE  bpp 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_2byte_signed ( wStream *  s,
INT32 *  value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_2byte_unsigned ( wStream *  s,
UINT32 value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_4byte_unsigned ( wStream *  s,
UINT32 value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_bounds ( wStream *  s,
rdpBounds *  bounds 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_brush ( wStream *  s,
rdpBrush *  brush,
BYTE  fieldFlags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_BITMAP_ORDER* update_read_cache_bitmap_order ( rdpUpdate *  update,
wStream *  s,
BOOL  compressed,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_BITMAP_V2_ORDER* update_read_cache_bitmap_v2_order ( rdpUpdate *  update,
wStream *  s,
BOOL  compressed,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_BITMAP_V3_ORDER* update_read_cache_bitmap_v3_order ( rdpUpdate *  update,
wStream *  s,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_BRUSH_ORDER* update_read_cache_brush_order ( rdpUpdate *  update,
wStream *  s,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_COLOR_TABLE_ORDER* update_read_cache_color_table_order ( rdpUpdate *  update,
wStream *  s,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_GLYPH_ORDER* update_read_cache_glyph_order ( rdpUpdate *  update,
wStream *  s,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static CACHE_GLYPH_V2_ORDER* update_read_cache_glyph_v2_order ( rdpUpdate *  update,
wStream *  s,
UINT16  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_color ( wStream *  s,
UINT32 color 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_color_quad ( wStream *  s,
UINT32 color 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_colorref ( wStream *  s,
UINT32 color 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_coord ( wStream *  s,
INT32 *  coord,
BOOL  delta 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_create_nine_grid_bitmap_order ( wStream *  s,
CREATE_NINE_GRID_BITMAP_ORDER *  create_nine_grid_bitmap 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_create_offscreen_bitmap_order ( wStream *  s,
CREATE_OFFSCREEN_BITMAP_ORDER *  create_offscreen_bitmap 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_delta ( wStream *  s,
INT32 *  value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_delta_points ( wStream *  s,
DELTA_POINT *  points,
int  number,
INT16  x,
INT16  y 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_read_delta_rects ( wStream *  s,
DELTA_RECT *  rectangles,
UINT32  number 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_cache_end_order ( wStream *  s,
DRAW_GDIPLUS_CACHE_END_ORDER *  draw_gdiplus_cache_end 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_cache_first_order ( wStream *  s,
DRAW_GDIPLUS_CACHE_FIRST_ORDER *  draw_gdiplus_cache_first 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_cache_next_order ( wStream *  s,
DRAW_GDIPLUS_CACHE_NEXT_ORDER *  draw_gdiplus_cache_next 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_end_order ( wStream *  s,
DRAW_GDIPLUS_END_ORDER *  draw_gdiplus_end 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_first_order ( wStream *  s,
DRAW_GDIPLUS_FIRST_ORDER *  draw_gdiplus_first 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_gdiplus_next_order ( wStream *  s,
DRAW_GDIPLUS_NEXT_ORDER *  draw_gdiplus_next 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_draw_nine_grid_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
DRAW_NINE_GRID_ORDER *  draw_nine_grid 
)
static

Here is the caller graph for this function:

static BOOL update_read_dstblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
DSTBLT_ORDER *  dstblt 
)
static

Here is the caller graph for this function:

static BOOL update_read_ellipse_cb_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
ELLIPSE_CB_ORDER *  ellipse_cb 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_ellipse_sc_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
ELLIPSE_SC_ORDER *  ellipse_sc 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_fast_glyph_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
FAST_GLYPH_ORDER *  fastGlyph 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_fast_index_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
FAST_INDEX_ORDER *  fast_index 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_field_flags ( wStream *  s,
UINT32 fieldFlags,
BYTE  flags,
BYTE  fieldBytes 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_frame_marker_order ( wStream *  s,
FRAME_MARKER_ORDER *  frame_marker 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_glyph_index_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
GLYPH_INDEX_ORDER *  glyph_index 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_line_to_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
LINE_TO_ORDER *  line_to 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_mem3blt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MEM3BLT_ORDER *  mem3blt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_memblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MEMBLT_ORDER *  memblt 
)
static

Here is the caller graph for this function:

static BOOL update_read_multi_draw_nine_grid_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MULTI_DRAW_NINE_GRID_ORDER *  multi_draw_nine_grid 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_multi_dstblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MULTI_DSTBLT_ORDER *  multi_dstblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_multi_opaque_rect_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MULTI_OPAQUE_RECT_ORDER *  multi_opaque_rect 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_multi_patblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MULTI_PATBLT_ORDER *  multi_patblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_multi_scrblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MULTI_SCRBLT_ORDER *  multi_scrblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_opaque_rect_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
OPAQUE_RECT_ORDER *  opaque_rect 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_patblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
PATBLT_ORDER *  patblt 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_polygon_cb_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
POLYGON_CB_ORDER *  polygon_cb 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_polygon_sc_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
POLYGON_SC_ORDER *  polygon_sc 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_polyline_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
POLYLINE_ORDER *  polyline 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_save_bitmap_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
SAVE_BITMAP_ORDER *  save_bitmap 
)
static

Here is the caller graph for this function:

static BOOL update_read_scrblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
SCRBLT_ORDER *  scrblt 
)
static

Here is the caller graph for this function:

static BOOL update_read_stream_bitmap_first_order ( wStream *  s,
STREAM_BITMAP_FIRST_ORDER *  stream_bitmap_first 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_stream_bitmap_next_order ( wStream *  s,
STREAM_BITMAP_NEXT_ORDER *  stream_bitmap_next 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_read_switch_surface_order ( wStream *  s,
SWITCH_SURFACE_ORDER *  switch_surface 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_recv_altsec_order ( rdpUpdate *  update,
wStream *  s,
BYTE  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_recv_order ( rdpUpdate *  update,
wStream *  s 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_recv_primary_order ( rdpUpdate *  update,
wStream *  s,
BYTE  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL update_recv_secondary_order ( rdpUpdate *  update,
wStream *  s,
BYTE  flags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_2byte_signed ( wStream *  s,
INT32  value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_2byte_unsigned ( wStream *  s,
UINT32  value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_4byte_unsigned ( wStream *  s,
UINT32  value 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_bounds ( wStream *  s,
ORDER_INFO *  orderInfo 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_brush ( wStream *  s,
rdpBrush *  brush,
BYTE  fieldFlags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_bitmap_order ( wStream *  s,
const CACHE_BITMAP_ORDER *  cache_bitmap,
BOOL  compressed,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_bitmap_v2_order ( wStream *  s,
CACHE_BITMAP_V2_ORDER *  cache_bitmap_v2,
BOOL  compressed,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_bitmap_v3_order ( wStream *  s,
CACHE_BITMAP_V3_ORDER *  cache_bitmap_v3,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_brush_order ( wStream *  s,
const CACHE_BRUSH_ORDER *  cache_brush,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_color_table_order ( wStream *  s,
const CACHE_COLOR_TABLE_ORDER *  cache_color_table,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_glyph_order ( wStream *  s,
const CACHE_GLYPH_ORDER *  cache_glyph,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_cache_glyph_v2_order ( wStream *  s,
const CACHE_GLYPH_V2_ORDER *  cache_glyph_v2,
UINT16 flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_color ( wStream *  s,
UINT32  color 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE void update_write_color_quad ( wStream *  s,
UINT32  color 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static INLINE BOOL update_write_coord ( wStream *  s,
INT32  coord 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_create_offscreen_bitmap_order ( wStream *  s,
const CREATE_OFFSCREEN_BITMAP_ORDER *  create_offscreen_bitmap 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_dstblt_order ( wStream *  s,
ORDER_INFO *  orderInfo,
const DSTBLT_ORDER *  dstblt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_field_flags ( wStream *  s,
UINT32  fieldFlags,
BYTE  flags,
BYTE  fieldBytes 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_glyph_index_order ( wStream *  s,
ORDER_INFO *  orderInfo,
GLYPH_INDEX_ORDER *  glyph_index 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_line_to_order ( wStream *  s,
ORDER_INFO *  orderInfo,
const LINE_TO_ORDER *  line_to 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_memblt_order ( wStream *  s,
ORDER_INFO *  orderInfo,
const MEMBLT_ORDER *  memblt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_opaque_rect_order ( wStream *  s,
ORDER_INFO *  orderInfo,
const OPAQUE_RECT_ORDER *  opaque_rect 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_patblt_order ( wStream *  s,
ORDER_INFO *  orderInfo,
PATBLT_ORDER *  patblt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_scrblt_order ( wStream *  s,
ORDER_INFO *  orderInfo,
const SCRBLT_ORDER *  scrblt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL update_write_switch_surface_order ( wStream *  s,
const SWITCH_SURFACE_ORDER *  switch_surface 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

const BYTE BMF_BPP[]
static
Initial value:
=
{
0, 1, 0, 8, 16, 24, 32, 0
}
const BYTE BPP_BMF[]
static
Initial value:
=
{
0, 1, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0
}
const BYTE BPP_CBR2[]
static
Initial value:
=
{
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0
}
const BYTE BPP_CBR23[]
static
Initial value:
=
{
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0
}
const BYTE CBR23_BPP[]
static
Initial value:
=
{
0, 0, 0, 8, 16, 24, 32
}
const BYTE CBR2_BPP[]
static
Initial value:
=
{
0, 0, 0, 8, 16, 24, 32
}