2 rdesktop: A Remote Desktop Protocol client.
4 Copyright (C) Matthew Chapman 1999-2005
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License along
17 with this program; if not, write to the Free Software Foundation, Inc.,
18 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #define RDP_ORDER_STANDARD 0x01
24 #define RDP_ORDER_SECONDARY 0x02
25 #define RDP_ORDER_BOUNDS 0x04
26 #define RDP_ORDER_CHANGE 0x08
27 #define RDP_ORDER_DELTA 0x10
28 #define RDP_ORDER_LASTBOUNDS 0x20
29 #define RDP_ORDER_SMALL 0x40
30 #define RDP_ORDER_TINY 0x80
34 RDP_ORDER_DESTBLT
= 0,
36 RDP_ORDER_SCREENBLT
= 2,
39 RDP_ORDER_DESKSAVE
= 11,
40 RDP_ORDER_MEMBLT
= 13,
41 RDP_ORDER_TRIBLT
= 14,
42 RDP_ORDER_POLYGON
= 20,
43 RDP_ORDER_POLYGON2
= 21,
44 RDP_ORDER_POLYLINE
= 22,
45 RDP_ORDER_ELLIPSE
= 25,
46 RDP_ORDER_ELLIPSE2
= 26,
50 enum RDP_SECONDARY_ORDER_TYPE
52 RDP_ORDER_RAW_BMPCACHE
= 0,
53 RDP_ORDER_COLCACHE
= 1,
54 RDP_ORDER_BMPCACHE
= 2,
55 RDP_ORDER_FONTCACHE
= 3,
56 RDP_ORDER_RAW_BMPCACHE2
= 4,
57 RDP_ORDER_BMPCACHE2
= 5,
58 RDP_ORDER_BRUSHCACHE
= 7
61 typedef struct _DESTBLT_ORDER
72 typedef struct _PATBLT_ORDER
86 typedef struct _SCREENBLT_ORDER
99 typedef struct _LINE_ORDER
113 typedef struct _RECT_ORDER
124 typedef struct _DESKSAVE_ORDER
136 typedef struct _TRIBLT_ORDER
156 typedef struct _MEMBLT_ORDER
174 typedef struct _POLYGON_ORDER
183 uint8 data
[MAX_DATA
];
188 typedef struct _POLYGON2_ORDER
199 uint8 data
[MAX_DATA
];
204 typedef struct _POLYLINE_ORDER
212 uint8 data
[MAX_DATA
];
217 typedef struct _ELLIPSE_ORDER
230 typedef struct _ELLIPSE2_ORDER
247 typedef struct _TEXT2_ORDER
267 uint8 text
[MAX_TEXT
];
272 typedef struct _RDP_ORDER_STATE
277 DESTBLT_ORDER destblt
;
279 SCREENBLT_ORDER screenblt
;
282 DESKSAVE_ORDER desksave
;
285 POLYGON_ORDER polygon
;
286 POLYGON2_ORDER polygon2
;
287 POLYLINE_ORDER polyline
;
288 ELLIPSE_ORDER ellipse
;
289 ELLIPSE2_ORDER ellipse2
;
295 typedef struct _RDP_RAW_BMPCACHE_ORDER
307 RDP_RAW_BMPCACHE_ORDER
;
309 typedef struct _RDP_BMPCACHE_ORDER
327 /* RDP_BMPCACHE2_ORDER */
328 #define ID_MASK 0x0007
329 #define MODE_MASK 0x0038
330 #define SQUARE 0x0080
331 #define PERSIST 0x0100
332 #define FLAG_51_UNKNOWN 0x0800
336 #define LONG_FORMAT 0x80
337 #define BUFSIZE_MASK 0x3FFF /* or 0x1FFF? */
341 typedef struct _RDP_FONT_GLYPH
348 uint8 data
[MAX_GLYPH
];
353 #define MAX_GLYPHS 256
355 typedef struct _RDP_FONTCACHE_ORDER
359 RDP_FONT_GLYPH glyphs
[MAX_GLYPHS
];
364 typedef struct _RDP_COLCACHE_ORDER