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 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

BYTE get_primary_drawing_order_field_bytes (UINT32 orderType, BOOL *pValid)
 
static BYTE get_cbr2_bpp (UINT32 bpp, BOOL *pValid)
 
static BYTE get_bmf_bpp (UINT32 bmf, BOOL *pValid)
 
static BYTE get_bpp_bmf (UINT32 bpp, BOOL *pValid)
 
static BOOL check_order_activated (wLog *log, rdpSettings *settings, const char *orderName, BOOL condition, const char *extendedMessage)
 
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 *nr)
 
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, size_t outSize, 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)
 

Macro Definition Documentation

◆ ORDER_FIELD_2BYTE

#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); \
return FALSE; \
} \
Stream_Read_UINT8(s, TARGET1); \
Stream_Read_UINT8(s, TARGET2); \
} \
} while (0)

◆ ORDER_FIELD_BYTE

#define ORDER_FIELD_BYTE (   NO,
  TARGET 
)
Value:
do \
{ \
if (orderInfo->fieldFlags & (1 << (NO - 1))) \
{ \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
return FALSE; \
} \
Stream_Read_UINT8(s, TARGET); \
} \
} while (0)

◆ ORDER_FIELD_COORD

#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); \
return FALSE; \
} \
} while (0)

◆ ORDER_FIELD_UINT16

#define ORDER_FIELD_UINT16 (   NO,
  TARGET 
)
Value:
do \
{ \
if (orderInfo->fieldFlags & (1 << (NO - 1))) \
{ \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
return FALSE; \
} \
Stream_Read_UINT16(s, TARGET); \
} \
} while (0)

◆ ORDER_FIELD_UINT32

#define ORDER_FIELD_UINT32 (   NO,
  TARGET 
)
Value:
do \
{ \
if (orderInfo->fieldFlags & (1 << (NO - 1))) \
{ \
{ \
WLog_ERR(TAG, "error reading %s", #TARGET); \
return FALSE; \
} \
Stream_Read_UINT32(s, TARGET); \
} \
} while (0)

◆ TAG

#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

◆ altsec_order_string()

static const char* altsec_order_string ( BYTE  orderType)
static
Here is the caller graph for this function:

◆ check_alt_order_supported()

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:

◆ check_order_activated()

static BOOL check_order_activated ( wLog *  log,
rdpSettings *  settings,
const char *  orderName,
BOOL  condition,
const char *  extendedMessage 
)
static
Here is the caller graph for this function:

◆ check_primary_order_supported()

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:

◆ check_secondary_order_supported()

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:

◆ FIELD_SKIP_BUFFER16()

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:

◆ get_bmf_bpp()

static BYTE get_bmf_bpp ( UINT32  bmf,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_bpp_bmf()

static BYTE get_bpp_bmf ( UINT32  bpp,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_cbr2_bpp()

static BYTE get_cbr2_bpp ( UINT32  bpp,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_primary_drawing_order_field_bytes()

BYTE get_primary_drawing_order_field_bytes ( UINT32  orderType,
BOOL *  pValid 
)
Here is the caller graph for this function:

◆ ORDER_FIELD_COLOR()

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:

◆ primary_order_string()

static const char* primary_order_string ( UINT32  orderType)
static
Here is the caller graph for this function:

◆ read_altsec_order()

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:

◆ read_primary_order()

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:

◆ secondary_order_string()

static const char* secondary_order_string ( UINT32  orderType)
static
Here is the caller graph for this function:

◆ update_approximate_cache_bitmap_order()

int update_approximate_cache_bitmap_order ( const CACHE_BITMAP_ORDER *  cache_bitmap,
BOOL  compressed,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_bitmap_v2_order()

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:

◆ update_approximate_cache_bitmap_v3_order()

int update_approximate_cache_bitmap_v3_order ( CACHE_BITMAP_V3_ORDER *  cache_bitmap_v3,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_brush_order()

int update_approximate_cache_brush_order ( const CACHE_BRUSH_ORDER *  cache_brush,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_color_table_order()

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:

◆ update_approximate_cache_glyph_order()

int update_approximate_cache_glyph_order ( const CACHE_GLYPH_ORDER *  cache_glyph,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_glyph_v2_order()

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:

◆ update_approximate_create_offscreen_bitmap_order()

int update_approximate_create_offscreen_bitmap_order ( const CREATE_OFFSCREEN_BITMAP_ORDER *  create_offscreen_bitmap)
Here is the caller graph for this function:

◆ update_approximate_dstblt_order()

int update_approximate_dstblt_order ( ORDER_INFO *  orderInfo,
const DSTBLT_ORDER *  dstblt 
)
Here is the caller graph for this function:

◆ update_approximate_glyph_index_order()

int update_approximate_glyph_index_order ( ORDER_INFO *  orderInfo,
const GLYPH_INDEX_ORDER *  glyph_index 
)
Here is the caller graph for this function:

◆ update_approximate_line_to_order()

int update_approximate_line_to_order ( ORDER_INFO *  orderInfo,
const LINE_TO_ORDER *  line_to 
)
Here is the caller graph for this function:

◆ update_approximate_memblt_order()

int update_approximate_memblt_order ( ORDER_INFO *  orderInfo,
const MEMBLT_ORDER *  memblt 
)
Here is the caller graph for this function:

◆ update_approximate_opaque_rect_order()

int update_approximate_opaque_rect_order ( ORDER_INFO *  orderInfo,
const OPAQUE_RECT_ORDER *  opaque_rect 
)
Here is the caller graph for this function:

◆ update_approximate_patblt_order()

int update_approximate_patblt_order ( ORDER_INFO *  orderInfo,
PATBLT_ORDER *  patblt 
)
Here is the caller graph for this function:

◆ update_approximate_scrblt_order()

int update_approximate_scrblt_order ( ORDER_INFO *  orderInfo,
const SCRBLT_ORDER *  scrblt 
)
Here is the caller graph for this function:

◆ update_approximate_switch_surface_order()

int update_approximate_switch_surface_order ( const SWITCH_SURFACE_ORDER *  switch_surface)
Here is the caller graph for this function:

◆ update_compress_brush()

static BOOL update_compress_brush ( wStream *  s,
const BYTE input,
BYTE  bpp 
)
static
Here is the caller graph for this function:

◆ update_decompress_brush()

static BOOL update_decompress_brush ( wStream *  s,
BYTE output,
size_t  outSize,
BYTE  bpp 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_2byte_signed()

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:

◆ update_read_2byte_unsigned()

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:

◆ update_read_4byte_unsigned()

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:

◆ update_read_bounds()

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:

◆ update_read_brush()

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:

◆ update_read_cache_bitmap_order()

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:

◆ update_read_cache_bitmap_v2_order()

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:

◆ update_read_cache_bitmap_v3_order()

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:

◆ update_read_cache_brush_order()

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:

◆ update_read_cache_color_table_order()

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:

◆ update_read_cache_glyph_order()

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:

◆ update_read_cache_glyph_v2_order()

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:

◆ update_read_color()

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:

◆ update_read_color_quad()

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:

◆ update_read_colorref()

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:

◆ update_read_coord()

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:

◆ update_read_create_nine_grid_bitmap_order()

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:

◆ update_read_create_offscreen_bitmap_order()

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:

◆ update_read_delta()

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:

◆ update_read_delta_points()

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:

◆ update_read_delta_rects()

static INLINE BOOL update_read_delta_rects ( wStream *  s,
DELTA_RECT *  rectangles,
UINT32 *  nr 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_cache_end_order()

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:

◆ update_read_draw_gdiplus_cache_first_order()

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:

◆ update_read_draw_gdiplus_cache_next_order()

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:

◆ update_read_draw_gdiplus_end_order()

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:

◆ update_read_draw_gdiplus_first_order()

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:

◆ update_read_draw_gdiplus_next_order()

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:

◆ update_read_draw_nine_grid_order()

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:

◆ update_read_dstblt_order()

static BOOL update_read_dstblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
DSTBLT_ORDER *  dstblt 
)
static
Here is the caller graph for this function:

◆ update_read_ellipse_cb_order()

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:

◆ update_read_ellipse_sc_order()

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:

◆ update_read_fast_glyph_order()

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:

◆ update_read_fast_index_order()

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:

◆ update_read_field_flags()

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:

◆ update_read_frame_marker_order()

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:

◆ update_read_glyph_index_order()

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:

◆ update_read_line_to_order()

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:

◆ update_read_mem3blt_order()

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:

◆ update_read_memblt_order()

static BOOL update_read_memblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
MEMBLT_ORDER *  memblt 
)
static
Here is the caller graph for this function:

◆ update_read_multi_draw_nine_grid_order()

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:

◆ update_read_multi_dstblt_order()

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:

◆ update_read_multi_opaque_rect_order()

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:

◆ update_read_multi_patblt_order()

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:

◆ update_read_multi_scrblt_order()

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:

◆ update_read_opaque_rect_order()

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:

◆ update_read_patblt_order()

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:

◆ update_read_polygon_cb_order()

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:

◆ update_read_polygon_sc_order()

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:

◆ update_read_polyline_order()

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:

◆ update_read_save_bitmap_order()

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:

◆ update_read_scrblt_order()

static BOOL update_read_scrblt_order ( wStream *  s,
const ORDER_INFO *  orderInfo,
SCRBLT_ORDER *  scrblt 
)
static
Here is the caller graph for this function:

◆ update_read_stream_bitmap_first_order()

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:

◆ update_read_stream_bitmap_next_order()

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:

◆ update_read_switch_surface_order()

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:

◆ update_recv_altsec_order()

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:

◆ update_recv_order()

BOOL update_recv_order ( rdpUpdate *  update,
wStream *  s 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_recv_primary_order()

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:

◆ update_recv_secondary_order()

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:

◆ update_write_2byte_signed()

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:

◆ update_write_2byte_unsigned()

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:

◆ update_write_4byte_unsigned()

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:

◆ update_write_bounds()

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:

◆ update_write_brush()

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:

◆ update_write_cache_bitmap_order()

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:

◆ update_write_cache_bitmap_v2_order()

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:

◆ update_write_cache_bitmap_v3_order()

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:

◆ update_write_cache_brush_order()

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:

◆ update_write_cache_color_table_order()

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:

◆ update_write_cache_glyph_order()

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:

◆ update_write_cache_glyph_v2_order()

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:

◆ update_write_color()

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:

◆ update_write_color_quad()

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:

◆ update_write_coord()

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:

◆ update_write_create_offscreen_bitmap_order()

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:

◆ update_write_dstblt_order()

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:

◆ update_write_field_flags()

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:

◆ update_write_glyph_index_order()

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:

◆ update_write_line_to_order()

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:

◆ update_write_memblt_order()

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:

◆ update_write_opaque_rect_order()

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:

◆ update_write_patblt_order()

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:

◆ update_write_scrblt_order()

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:

◆ update_write_switch_surface_order()

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:
Stream_GetRemainingLength
static INLINE size_t Stream_GetRemainingLength(wStream *_s)
Definition: stream.h:348
TAG
#define TAG
Definition: orders.c:44
update_read_coord
static INLINE BOOL update_read_coord(wStream *s, INT32 *coord, BOOL delta)
Definition: orders.c:509
FALSE
#define FALSE
Definition: trio.c:209