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.
21 #ifndef RDESKTOP_ORDERS_H
22 #define RDESKTOP_ORDERS_H
24 #define RDP_ORDER_STANDARD 0x01
25 #define RDP_ORDER_SECONDARY 0x02
26 #define RDP_ORDER_BOUNDS 0x04
27 #define RDP_ORDER_CHANGE 0x08
28 #define RDP_ORDER_DELTA 0x10
29 #define RDP_ORDER_LASTBOUNDS 0x20
30 #define RDP_ORDER_SMALL 0x40
31 #define RDP_ORDER_TINY 0x80
35 RDP_ORDER_DESTBLT
= 0,
37 RDP_ORDER_SCREENBLT
= 2,
40 RDP_ORDER_DESKSAVE
= 11,
41 RDP_ORDER_MEMBLT
= 13,
42 RDP_ORDER_TRIBLT
= 14,
43 RDP_ORDER_POLYGON
= 20,
44 RDP_ORDER_POLYGON2
= 21,
45 RDP_ORDER_POLYLINE
= 22,
46 RDP_ORDER_ELLIPSE
= 25,
47 RDP_ORDER_ELLIPSE2
= 26,
51 enum RDP_SECONDARY_ORDER_TYPE
53 RDP_ORDER_RAW_BMPCACHE
= 0,
54 RDP_ORDER_COLCACHE
= 1,
55 RDP_ORDER_BMPCACHE
= 2,
56 RDP_ORDER_FONTCACHE
= 3,
57 RDP_ORDER_RAW_BMPCACHE2
= 4,
58 RDP_ORDER_BMPCACHE2
= 5,
59 RDP_ORDER_BRUSHCACHE
= 7
62 typedef struct _DESTBLT_ORDER
73 typedef struct _PATBLT_ORDER
87 typedef struct _SCREENBLT_ORDER
100 typedef struct _LINE_ORDER
114 typedef struct _RECT_ORDER
125 typedef struct _DESKSAVE_ORDER
137 typedef struct _TRIBLT_ORDER
157 typedef struct _MEMBLT_ORDER
175 typedef struct _POLYGON_ORDER
184 uint8 data
[MAX_DATA
];
189 typedef struct _POLYGON2_ORDER
200 uint8 data
[MAX_DATA
];
205 typedef struct _POLYLINE_ORDER
213 uint8 data
[MAX_DATA
];
218 typedef struct _ELLIPSE_ORDER
231 typedef struct _ELLIPSE2_ORDER
248 typedef struct _TEXT2_ORDER
268 uint8 text
[MAX_TEXT
];
273 typedef struct _RDP_ORDER_STATE
278 DESTBLT_ORDER destblt
;
280 SCREENBLT_ORDER screenblt
;
283 DESKSAVE_ORDER desksave
;
286 POLYGON_ORDER polygon
;
287 POLYGON2_ORDER polygon2
;
288 POLYLINE_ORDER polyline
;
289 ELLIPSE_ORDER ellipse
;
290 ELLIPSE2_ORDER ellipse2
;
296 typedef struct _RDP_RAW_BMPCACHE_ORDER
308 RDP_RAW_BMPCACHE_ORDER
;
310 typedef struct _RDP_BMPCACHE_ORDER
328 /* RDP_BMPCACHE2_ORDER */
329 #define ID_MASK 0x0007
330 #define MODE_MASK 0x0038
331 #define SQUARE 0x0080
332 #define PERSIST 0x0100
333 #define FLAG_51_UNKNOWN 0x0800
337 #define LONG_FORMAT 0x80
338 #define BUFSIZE_MASK 0x3FFF /* or 0x1FFF? */
342 typedef struct _RDP_FONT_GLYPH
349 uint8 data
[MAX_GLYPH
];
354 #define MAX_GLYPHS 256
356 typedef struct _RDP_FONTCACHE_ORDER
360 RDP_FONT_GLYPH glyphs
[MAX_GLYPHS
];
365 typedef struct _RDP_COLCACHE_ORDER