ReactOS 0.4.15-dev-7961-gdcf9eb0
orders.h
Go to the documentation of this file.
1/*
2 rdesktop: A Remote Desktop Protocol client.
3 RDP order processing
4 Copyright (C) Matthew Chapman 1999-2008
5
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 3 of the License, or
9 (at your option) any later version.
10
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.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#define RDP_ORDER_STANDARD 0x01
21#define RDP_ORDER_SECONDARY 0x02
22#define RDP_ORDER_BOUNDS 0x04
23#define RDP_ORDER_CHANGE 0x08
24#define RDP_ORDER_DELTA 0x10
25#define RDP_ORDER_LASTBOUNDS 0x20
26#define RDP_ORDER_SMALL 0x40
27#define RDP_ORDER_TINY 0x80
28
30{
45};
46
48{
56};
57
58typedef struct _DESTBLT_ORDER
59{
65
66}
68
69typedef struct _PATBLT_ORDER
70{
79
80}
82
83typedef struct _SCREENBLT_ORDER
84{
92
93}
95
96typedef struct _LINE_ORDER
97{
106
107}
109
110typedef struct _RECT_ORDER
111{
117
118}
120
121typedef struct _DESKSAVE_ORDER
122{
129
130}
132
133typedef struct _TRIBLT_ORDER
134{
149
150}
152
153typedef struct _MEMBLT_ORDER
154{
165
166}
168
169#define MAX_DATA 256
170
171typedef struct _POLYGON_ORDER
172{
181
182}
184
185typedef struct _POLYGON2_ORDER
186{
197
198}
200
201typedef struct _POLYLINE_ORDER
202{
210
211}
213
214typedef struct _ELLIPSE_ORDER
215{
223
224}
226
227typedef struct _ELLIPSE2_ORDER
228{
238
239}
241
242#define MAX_TEXT 256
243
244typedef struct _TEXT2_ORDER
245{
265
266}
268
269typedef struct _RDP_ORDER_STATE
270{
273
288
289}
291
293{
302
303}
305
307{
320
321}
323
324/* RDP_BMPCACHE2_ORDER */
325#define ID_MASK 0x0007
326#define MODE_MASK 0x0038
327#define SQUARE 0x0080
328#define PERSIST 0x0100
329#define FLAG_51_UNKNOWN 0x0800
330
331#define MODE_SHIFT 3
332
333#define LONG_FORMAT 0x80
334#define BUFSIZE_MASK 0x3FFF /* or 0x1FFF? */
335
336#define MAX_GLYPH 32
337
338typedef struct _RDP_FONT_GLYPH
339{
346
347}
349
350#define MAX_GLYPHS 256
351
353{
357
358}
360
362{
365
366}
struct _DESTBLT_ORDER DESTBLT_ORDER
struct _SCREENBLT_ORDER SCREENBLT_ORDER
struct _POLYLINE_ORDER POLYLINE_ORDER
RDP_ORDER_TYPE
Definition: orders.h:30
@ RDP_ORDER_POLYLINE
Definition: orders.h:41
@ RDP_ORDER_RECT
Definition: orders.h:35
@ RDP_ORDER_ELLIPSE
Definition: orders.h:42
@ RDP_ORDER_LINE
Definition: orders.h:34
@ RDP_ORDER_TRIBLT
Definition: orders.h:38
@ RDP_ORDER_DESTBLT
Definition: orders.h:31
@ RDP_ORDER_ELLIPSE2
Definition: orders.h:43
@ RDP_ORDER_TEXT2
Definition: orders.h:44
@ RDP_ORDER_PATBLT
Definition: orders.h:32
@ RDP_ORDER_MEMBLT
Definition: orders.h:37
@ RDP_ORDER_DESKSAVE
Definition: orders.h:36
@ RDP_ORDER_SCREENBLT
Definition: orders.h:33
@ RDP_ORDER_POLYGON2
Definition: orders.h:40
@ RDP_ORDER_POLYGON
Definition: orders.h:39
struct _MEMBLT_ORDER MEMBLT_ORDER
struct _ELLIPSE2_ORDER ELLIPSE2_ORDER
struct _POLYGON2_ORDER POLYGON2_ORDER
struct _RDP_FONTCACHE_ORDER RDP_FONTCACHE_ORDER
struct _PATBLT_ORDER PATBLT_ORDER
struct _RDP_ORDER_STATE RDP_ORDER_STATE
struct _RDP_FONT_GLYPH RDP_FONT_GLYPH
struct _POLYGON_ORDER POLYGON_ORDER
struct _DESKSAVE_ORDER DESKSAVE_ORDER
struct _LINE_ORDER LINE_ORDER
struct _RDP_COLCACHE_ORDER RDP_COLCACHE_ORDER
struct _RDP_BMPCACHE_ORDER RDP_BMPCACHE_ORDER
struct _RDP_RAW_BMPCACHE_ORDER RDP_RAW_BMPCACHE_ORDER
RDP_SECONDARY_ORDER_TYPE
Definition: orders.h:48
@ RDP_ORDER_RAW_BMPCACHE2
Definition: orders.h:53
@ RDP_ORDER_BRUSHCACHE
Definition: orders.h:55
@ RDP_ORDER_BMPCACHE2
Definition: orders.h:54
@ RDP_ORDER_COLCACHE
Definition: orders.h:50
@ RDP_ORDER_FONTCACHE
Definition: orders.h:52
@ RDP_ORDER_RAW_BMPCACHE
Definition: orders.h:49
@ RDP_ORDER_BMPCACHE
Definition: orders.h:51
struct _TRIBLT_ORDER TRIBLT_ORDER
struct _TEXT2_ORDER TEXT2_ORDER
struct _RECT_ORDER RECT_ORDER
struct _ELLIPSE_ORDER ELLIPSE_ORDER
unsigned short uint16
Definition: types.h:30
unsigned int uint32
Definition: types.h:32
signed short sint16
Definition: types.h:31
unsigned char uint8
Definition: types.h:28
Definition: brush.hpp:16
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define MAX_GLYPHS
Definition: orders.h:354
#define MAX_GLYPH
Definition: orders.h:340
#define MAX_TEXT
Definition: orders.h:246
#define MAX_DATA
Definition: orders.h:173
Definition: types.h:73
sint16 top
Definition: orders.h:125
uint8 action
Definition: orders.h:128
sint16 left
Definition: orders.h:124
sint16 right
Definition: orders.h:126
uint32 offset
Definition: orders.h:123
sint16 bottom
Definition: orders.h:127
sint16 cy
Definition: orders.h:63
sint16 y
Definition: orders.h:61
sint16 x
Definition: orders.h:60
uint8 opcode
Definition: orders.h:64
sint16 cx
Definition: orders.h:62
sint16 top
Definition: orders.h:230
uint8 fillmode
Definition: orders.h:234
sint16 bottom
Definition: orders.h:232
uint32 bgcolour
Definition: orders.h:236
uint8 opcode
Definition: orders.h:233
sint16 right
Definition: orders.h:231
uint32 fgcolour
Definition: orders.h:237
sint16 left
Definition: orders.h:229
BRUSH brush
Definition: orders.h:235
sint16 left
Definition: orders.h:216
sint16 top
Definition: orders.h:217
sint16 bottom
Definition: orders.h:219
uint8 fillmode
Definition: orders.h:221
uint8 opcode
Definition: orders.h:220
uint32 fgcolour
Definition: orders.h:222
sint16 right
Definition: orders.h:218
uint8 opcode
Definition: orders.h:104
uint16 mixmode
Definition: orders.h:98
sint16 startx
Definition: orders.h:99
PEN pen
Definition: orders.h:105
sint16 endy
Definition: orders.h:102
sint16 endx
Definition: orders.h:101
sint16 starty
Definition: orders.h:100
uint32 bgcolour
Definition: orders.h:103
uint8 opcode
Definition: orders.h:161
uint8 cache_id
Definition: orders.h:156
uint8 colour_table
Definition: orders.h:155
sint16 srcy
Definition: orders.h:163
sint16 y
Definition: orders.h:158
sint16 cx
Definition: orders.h:159
sint16 cy
Definition: orders.h:160
sint16 x
Definition: orders.h:157
uint16 cache_idx
Definition: orders.h:164
sint16 srcx
Definition: orders.h:162
BRUSH brush
Definition: orders.h:78
sint16 y
Definition: orders.h:72
uint32 fgcolour
Definition: orders.h:77
sint16 cy
Definition: orders.h:74
uint32 bgcolour
Definition: orders.h:76
sint16 x
Definition: orders.h:71
uint8 opcode
Definition: orders.h:75
sint16 cx
Definition: orders.h:73
Definition: types.h:83
sint16 y
Definition: orders.h:188
uint8 npoints
Definition: orders.h:194
uint8 fillmode
Definition: orders.h:190
uint32 bgcolour
Definition: orders.h:191
BRUSH brush
Definition: orders.h:193
uint8 opcode
Definition: orders.h:189
sint16 x
Definition: orders.h:187
uint8 datasize
Definition: orders.h:195
uint32 fgcolour
Definition: orders.h:192
sint16 x
Definition: orders.h:173
uint8 opcode
Definition: orders.h:175
uint8 datasize
Definition: orders.h:179
uint8 npoints
Definition: orders.h:178
uint32 fgcolour
Definition: orders.h:177
uint8 fillmode
Definition: orders.h:176
sint16 y
Definition: orders.h:174
uint8 lines
Definition: orders.h:207
sint16 y
Definition: orders.h:204
sint16 x
Definition: orders.h:203
uint32 fgcolour
Definition: orders.h:206
uint8 datasize
Definition: orders.h:208
uint8 opcode
Definition: orders.h:205
uint16 cache_idx
Definition: orders.h:314
uint16 final_size
Definition: orders.h:318
COLOURMAP map
Definition: orders.h:364
RDP_FONT_GLYPH glyphs[MAX_GLYPHS]
Definition: orders.h:356
uint16 width
Definition: orders.h:343
uint16 height
Definition: orders.h:344
uint16 unknown
Definition: orders.h:341
uint16 baseline
Definition: orders.h:342
uint16 character
Definition: orders.h:340
ELLIPSE2_ORDER ellipse2
Definition: orders.h:286
DESKSAVE_ORDER desksave
Definition: orders.h:279
BOUNDS bounds
Definition: orders.h:272
POLYGON_ORDER polygon
Definition: orders.h:282
DESTBLT_ORDER destblt
Definition: orders.h:274
RECT_ORDER rect
Definition: orders.h:278
MEMBLT_ORDER memblt
Definition: orders.h:280
LINE_ORDER line
Definition: orders.h:277
TRIBLT_ORDER triblt
Definition: orders.h:281
POLYGON2_ORDER polygon2
Definition: orders.h:283
PATBLT_ORDER patblt
Definition: orders.h:275
POLYLINE_ORDER polyline
Definition: orders.h:284
SCREENBLT_ORDER screenblt
Definition: orders.h:276
ELLIPSE_ORDER ellipse
Definition: orders.h:285
TEXT2_ORDER text2
Definition: orders.h:287
uint8 order_type
Definition: orders.h:271
sint16 cx
Definition: orders.h:114
sint16 x
Definition: orders.h:112
sint16 cy
Definition: orders.h:115
uint32 colour
Definition: orders.h:116
sint16 y
Definition: orders.h:113
sint16 x
Definition: orders.h:85
sint16 cx
Definition: orders.h:87
sint16 srcx
Definition: orders.h:90
sint16 cy
Definition: orders.h:88
uint8 opcode
Definition: orders.h:89
sint16 srcy
Definition: orders.h:91
sint16 y
Definition: orders.h:86
uint8 text[MAX_TEXT]
Definition: orders.h:264
uint8 flags
Definition: orders.h:247
sint16 boxbottom
Definition: orders.h:259
sint16 cliptop
Definition: orders.h:253
uint8 mixmode
Definition: orders.h:249
uint32 bgcolour
Definition: orders.h:250
sint16 boxleft
Definition: orders.h:256
sint16 clipleft
Definition: orders.h:252
uint32 fgcolour
Definition: orders.h:251
sint16 y
Definition: orders.h:262
sint16 x
Definition: orders.h:261
sint16 clipright
Definition: orders.h:254
sint16 clipbottom
Definition: orders.h:255
sint16 boxtop
Definition: orders.h:257
uint8 length
Definition: orders.h:263
uint8 opcode
Definition: orders.h:248
sint16 boxright
Definition: orders.h:258
uint8 font
Definition: orders.h:246
BRUSH brush
Definition: orders.h:260
sint16 srcx
Definition: orders.h:142
uint16 cache_idx
Definition: orders.h:147
BRUSH brush
Definition: orders.h:146
sint16 cx
Definition: orders.h:139
sint16 srcy
Definition: orders.h:143
uint8 opcode
Definition: orders.h:141
uint8 colour_table
Definition: orders.h:135
sint16 cy
Definition: orders.h:140
uint32 bgcolour
Definition: orders.h:144
uint8 cache_id
Definition: orders.h:136
sint16 y
Definition: orders.h:138
uint16 unknown
Definition: orders.h:148
uint32 fgcolour
Definition: orders.h:145
sint16 x
Definition: orders.h:137