FreeRDP
include/freerdp/message.h
1 
20 #ifndef FREERDP_MESSAGE_H
21 #define FREERDP_MESSAGE_H
22 
23 #define GetMessageType(_id) (_id & 0xFF)
24 #define GetMessageClass(_id) ((_id >> 16) & 0xFF)
25 
26 #define GetMessageId(_class, _type) ((_class << 16) | _type)
27 
28 #define MakeMessageId(_class, _type) (((_class##_Class) << 16) | (_class##_##_type))
29 
34 #define FREERDP_UPDATE_MESSAGE_QUEUE 1
35 
36 #define Update_Base 0
37 
38 /* Update */
39 
40 #define Update_Class (Update_Base + 1)
41 
42 #define Update_BeginPaint 1
43 #define Update_EndPaint 2
44 #define Update_SetBounds 3
45 #define Update_Synchronize 4
46 #define Update_DesktopResize 5
47 #define Update_BitmapUpdate 6
48 #define Update_Palette 7
49 #define Update_PlaySound 8
50 #define Update_RefreshRect 9
51 #define Update_SuppressOutput 10
52 #define Update_SurfaceCommand 11
53 #define Update_SurfaceBits 12
54 #define Update_SurfaceFrameMarker 13
55 #define Update_SurfaceFrameAcknowledge 14
56 #define Update_SetKeyboardIndicators 15
57 #define Update_SetKeyboardImeStatus 16
58 
59 #define FREERDP_UPDATE_BEGIN_PAINT MakeMessageId(Update, BeginPaint)
60 #define FREERDP_UPDATE_ END_PAINT MakeMessageId(Update, EndPaint)
61 #define FREERDP_UPDATE_SET_BOUNDS MakeMessageId(Update, SetBounds)
62 #define FREERDP_UPDATE_SYNCHRONIZE MakeMessageId(Update, Synchronize)
63 #define FREERDP_UPDATE_DESKTOP_RESIZE MakeMessageId(Update, DesktopResize)
64 #define FREERDP_UPDATE_BITMAP_UPDATE MakeMessageId(Update, BitmapUpdate)
65 #define FREERDP_UPDATE_PALETTE MakeMessageId(Update, Palette)
66 #define FREERDP_UPDATE_PLAY_SOUND MakeMessageId(Update, PlaySound)
67 #define FREERDP_UPDATE_REFRESH_RECT MakeMessageId(Update, RefreshRect)
68 #define FREERDP_UPDATE_SUPPRESS_OUTPUT MakeMessageId(Update, SuppressOutput)
69 #define FREERDP_UPDATE_SURFACE_COMMAND MakeMessageId(Update, SurfaceCommand)
70 #define FREERDP_UPDATE_SURFACE_BITS MakeMessageId(Update, SurfaceBits)
71 #define FREERDP_UPDATE_SURFACE_FRAME_MARKER MakeMessageId(Update, SurfaceFrameMarker)
72 #define FREERDP_UPDATE_SURFACE_FRAME_ACKNOWLEDGE MakeMessageId(Update, SurfaceFrameAcknowledge)
73 #define FREERDP_UPDATE_SET_KEYBOARD_INDICATORS MakeMessageId(Update, SetKeyboardIndicators)
74 
75 /* Primary Update */
76 
77 #define PrimaryUpdate_Class (Update_Base + 2)
78 
79 #define PrimaryUpdate_DstBlt 1
80 #define PrimaryUpdate_PatBlt 2
81 #define PrimaryUpdate_ScrBlt 3
82 #define PrimaryUpdate_OpaqueRect 4
83 #define PrimaryUpdate_DrawNineGrid 5
84 #define PrimaryUpdate_MultiDstBlt 6
85 #define PrimaryUpdate_MultiPatBlt 7
86 #define PrimaryUpdate_MultiScrBlt 8
87 #define PrimaryUpdate_MultiOpaqueRect 9
88 #define PrimaryUpdate_MultiDrawNineGrid 10
89 #define PrimaryUpdate_LineTo 11
90 #define PrimaryUpdate_Polyline 12
91 #define PrimaryUpdate_MemBlt 13
92 #define PrimaryUpdate_Mem3Blt 14
93 #define PrimaryUpdate_SaveBitmap 15
94 #define PrimaryUpdate_GlyphIndex 16
95 #define PrimaryUpdate_FastIndex 17
96 #define PrimaryUpdate_FastGlyph 18
97 #define PrimaryUpdate_PolygonSC 19
98 #define PrimaryUpdate_PolygonCB 20
99 #define PrimaryUpdate_EllipseSC 21
100 #define PrimaryUpdate_EllipseCB 22
101 
102 #define FREERDP_PRIMARY_UPDATE_DSTBLT MakeMessageId(PrimaryUpdate, DstBlt)
103 #define FREERDP_PRIMARY_UPDATE_PATBLT MakeMessageId(PrimaryUpdate, PatBlt)
104 #define FREERDP_PRIMARY_UPDATE_SCRBLT MakeMessageId(PrimaryUpdate, ScrBlt)
105 #define FREERDP_PRIMARY_UPDATE_OPAQUE_RECT MakeMessageId(PrimaryUpdate, OpaqueRect)
106 #define FREERDP_PRIMARY_UPDATE_DRAW_NINE_GRID MakeMessageId(PrimaryUpdate, DrawNineGrid)
107 #define FREERDP_PRIMARY_UPDATE_MULTI_DSTBLT MakeMessageId(PrimaryUpdate, MultiDstBlt)
108 #define FREERDP_PRIMARY_UPDATE_MULTI_PATBLT MakeMessageId(PrimaryUpdate, MultiPatBlt)
109 #define FREERDP_PRIMARY_UPDATE_MULTI_SCRBLT MakeMessageId(PrimaryUpdate, MultiScrBlt)
110 #define FREERDP_PRIMARY_UPDATE_MULTI_OPAQUE_RECT MakeMessageId(PrimaryUpdate, MultiOpaqueRect)
111 #define FREERDP_PRIMARY_UPDATE_MULTI_DRAW_NINE_GRID MakeMessageId(PrimaryUpdate, MultiDrawNineGrid)
112 #define FREERDP_PRIMARY_UPDATE_LINE_TO MakeMessageId(PrimaryUpdate, LineTo)
113 #define FREERDP_PRIMARY_UPDATE_POLYLINE MakeMessageId(PrimaryUpdate, Polyline)
114 #define FREERDP_PRIMARY_UPDATE_MEMBLT MakeMessageId(PrimaryUpdate, MemBlt)
115 #define FREERDP_PRIMARY_UPDATE_MEM3BLT MakeMessageId(PrimaryUpdate, Mem3Blt)
116 #define FREERDP_PRIMARY_UPDATE_SAVE_BITMAP MakeMessageId(PrimaryUpdate, SaveBitmap)
117 #define FREERDP_PRIMARY_UPDATE_GLYPH_INDEX MakeMessageId(PrimaryUpdate, GlyphIndex)
118 #define FREERDP_PRIMARY_UPDATE_FAST_INDEX MakeMessageId(PrimaryUpdate, FastIndex)
119 #define FREERDP_PRIMARY_UPDATE_FAST_GLYPH MakeMessageId(PrimaryUpdate, FastGlyph)
120 #define FREERDP_PRIMARY_UPDATE_POLYGON_SC MakeMessageId(PrimaryUpdate, PolygonSC)
121 #define FREERDP_PRIMARY_UPDATE_POLYGON_CB MakeMessageId(PrimaryUpdate, PolygonCB)
122 #define FREERDP_PRIMARY_UPDATE_ELLIPSE_SC MakeMessageId(PrimaryUpdate, EllipseSC)
123 #define FREERDP_PRIMARY_UPDATE_ELLIPSE_CB MakeMessageId(PrimaryUpdate, EllipseCB)
124 
125 /* Secondary Update */
126 
127 #define SecondaryUpdate_Class (Update_Base + 3)
128 
129 #define SecondaryUpdate_CacheBitmap 1
130 #define SecondaryUpdate_CacheBitmapV2 2
131 #define SecondaryUpdate_CacheBitmapV3 3
132 #define SecondaryUpdate_CacheColorTable 4
133 #define SecondaryUpdate_CacheGlyph 5
134 #define SecondaryUpdate_CacheGlyphV2 6
135 #define SecondaryUpdate_CacheBrush 7
136 
137 #define FREERDP_SECONDARY_UPDATE_CACHE_BITMAP MakeMessageId(SecondaryUpdate, CacheBitmap)
138 #define FREERDP_SECONDARY_UPDATE_CACHE_BITMAP_V2 MakeMessageId(SecondaryUpdate, CacheBitmapV2)
139 #define FREERDP_SECONDARY_UPDATE_CACHE_BITMAP_V3 MakeMessageId(SecondaryUpdate, CacheBitmapV3)
140 #define FREERDP_SECONDARY_UPDATE_CACHE_COLOR_TABLE MakeMessageId(SecondaryUpdate, CacheColorTable)
141 #define FREERDP_SECONDARY_UPDATE_CACHE_GLYPH MakeMessageId(SecondaryUpdate, CacheGlyph)
142 #define FREERDP_SECONDARY_UPDATE_CACHE_GLYPH_V2 MakeMessageId(SecondaryUpdate, CacheGlyphV2)
143 #define FREERDP_SECONDARY_UPDATE_CACHE_BRUSH MakeMessageId(SecondaryUpdate, CacheBrush)
144 
145 /* Alternate Secondary Update */
146 
147 #define AltSecUpdate_Class (Update_Base + 4)
148 
149 #define AltSecUpdate_CreateOffscreenBitmap 1
150 #define AltSecUpdate_SwitchSurface 2
151 #define AltSecUpdate_CreateNineGridBitmap 3
152 #define AltSecUpdate_FrameMarker 4
153 #define AltSecUpdate_StreamBitmapFirst 5
154 #define AltSecUpdate_StreamBitmapNext 6
155 #define AltSecUpdate_DrawGdiPlusFirst 7
156 #define AltSecUpdate_DrawGdiPlusNext 8
157 #define AltSecUpdate_DrawGdiPlusEnd 9
158 #define AltSecUpdate_DrawGdiPlusCacheFirst 10
159 #define AltSecUpdate_DrawGdiPlusCacheNext 11
160 #define AltSecUpdate_DrawGdiPlusCacheEnd 12
161 
162 #define FREERDP_ALTSEC_UPDATE_CREATE_OFFSCREEN_BITMAP \
163  MakeMessageId(AltSecUpdate, CreateOffscreenBitmap)
164 #define FREERDP_ALTSEC_UPDATE_SWITCH_SURFACE MakeMessageId(AltSecUpdate, SwitchSurface)
165 #define FREERDP_ALTSEC_UPDATE_CREATE_NINE_GRID_BITMAP \
166  MakeMessageId(AltSecUpdate, CreateNineGridBitmap)
167 #define FREERDP_ALTSEC_UPDATE_FRAME_MARKER MakeMessageId(AltSecUpdate, FrameMarker)
168 #define FREERDP_ALTSEC_UPDATE_STREAM_BITMAP_FIRST MakeMessageId(AltSecUpdate, StreamBitmapFirst)
169 #define FREERDP_ALTSEC_UPDATE_STREAM_BITMAP_NEXT MakeMessageId(AltSecUpdate, StreamBitmapNext)
170 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_FIRST MakeMessageId(AltSecUpdate, DrawGdiPlusFirst)
171 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_NEXT MakeMessageId(AltSecUpdate, DrawGdiPlusNext)
172 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_END MakeMessageId(AltSecUpdate, DrawGdiPlusEnd)
173 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_CACHE_FIRST \
174  MakeMessageId(AltSecUpdate, DrawGdiPlusCacheFirst)
175 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_CACHE_NEXT \
176  MakeMessageId(AltSecUpdate, DrawGdiPlusCacheNext)
177 #define FREERDP_ALTSEC_UPDATE_DRAW_GDI_PLUS_CACHE_END \
178  MakeMessageId(AltSecUpdate, DrawGdiPlusCacheEnd)
179 
180 /* Window Update */
181 
182 #define WindowUpdate_Class (Update_Base + 5)
183 
184 #define WindowUpdate_WindowCreate 1
185 #define WindowUpdate_WindowUpdate 2
186 #define WindowUpdate_WindowIcon 3
187 #define WindowUpdate_WindowCachedIcon 4
188 #define WindowUpdate_WindowDelete 5
189 #define WindowUpdate_NotifyIconCreate 6
190 #define WindowUpdate_NotifyIconUpdate 7
191 #define WindowUpdate_NotifyIconDelete 8
192 #define WindowUpdate_MonitoredDesktop 9
193 #define WindowUpdate_NonMonitoredDesktop 10
194 
195 #define FREERDP_WINDOW_UPDATE_WINDOW_CREATE MakeMessageId(WindowUpdate, WindowCreate)
196 #define FREERDP_WINDOW_UPDATE_WINDOW_UPDATE MakeMessageId(WindowUpdate, WindowUpdate)
197 #define FREERDP_WINDOW_UPDATE_WINDOW_ICON MakeMessageId(WindowUpdate, WindowIcon)
198 #define FREERDP_WINDOW_UPDATE_WINDOW_CACHED_ICON MakeMessageId(WindowUpdate, WindowCachedIcon)
199 #define FREERDP_WINDOW_UPDATE_WINDOW_DELETE MakeMessageId(WindowUpdate, WindowDelete)
200 #define FREERDP_WINDOW_UPDATE_NOTIFY_ICON_CREATE MakeMessageId(WindowUpdate, NotifyIconCreate)
201 #define FREERDP_WINDOW_UPDATE_NOTIFY_ICON_UPDATE MakeMessageId(WindowUpdate, NotifyIconUpdate)
202 #define FREERDP_WINDOW_UPDATE_NOTIFY_ICON_DELETE MakeMessageId(WindowUpdate, NotifyIconDelete)
203 #define FREERDP_WINDOW_UPDATE_MONITORED_DESKTOP MakeMessageId(WindowUpdate, MonitoredDesktop)
204 #define FREERDP_WINDOW_UPDATE_NON_MONITORED_DESKTOP MakeMessageId(WindowUpdate, NonMonitoredDesktop)
205 
206 /* Pointer Update */
207 
208 #define PointerUpdate_Class (Update_Base + 6)
209 
210 #define PointerUpdate_PointerPosition 1
211 #define PointerUpdate_PointerSystem 2
212 #define PointerUpdate_PointerColor 3
213 #define PointerUpdate_PointerNew 4
214 #define PointerUpdate_PointerCached 5
215 #define PointerUpdate_PointerLarge 6
216 
217 #define FREERDP_POINTER_UPDATE_ POINTER_POSITION MakeMessageId(PointerUpdate, PointerPosition)
218 #define FREERDP_POINTER_UPDATE_POINTER_SYSTEM MakeMessageId(PointerUpdate, PointerSystem)
219 #define FREERDP_POINTER_UPDATE_POINTER_COLOR MakeMessageId(PointerUpdate, PointerColor)
220 #define FREERDP_POINTER_UPDATE_POINTER_NEW MakeMessageId(PointerUpdate, PointerNew)
221 #define FREERDP_POINTER_UPDATE_POINTER_CACHED MakeMessageId(PointerUpdate, PointerCached)
222 #define FREERDP_POINTER_UPDATE_POINTER_LARGE MakeMessageId(PointerUpdate, PointerLarge)
223 
228 #define FREERDP_INPUT_MESSAGE_QUEUE 2
229 
230 #define Input_Base 16
231 
232 /* Input */
233 
234 #define Input_Class (Input_Base + 1)
235 
236 #define Input_SynchronizeEvent 1
237 #define Input_KeyboardEvent 2
238 #define Input_UnicodeKeyboardEvent 3
239 #define Input_MouseEvent 4
240 #define Input_ExtendedMouseEvent 5
241 #define Input_FocusInEvent 6
242 #define Input_KeyboardPauseEvent 7
243 
244 #define FREERDP_INPUT_SYNCHRONIZE_EVENT MakeMessageId(Input, SynchronizeEvent)
245 #define FREERDP_INPUT_KEYBOARD_EVENT MakeMessageId(Input, KeyboardEvent)
246 #define FREERDP_INPUT_UNICODE_KEYBOARD_EVENT MakeMessageId(Input, UnicodeKeyboardEvent)
247 #define FREERDP_INPUT_MOUSE_EVENT MakeMessageId(Input, MouseEvent)
248 #define FREERDP_INPUT_EXTENDED_MOUSE_EVENT MakeMessageId(Input, ExtendedMouseEvent)
249 #define FREERDP_INPUT_FOCUS_IN_EVENT MakeMessageId(Input, FocusInEvent)
250 #define FREERDP_INPUT_KEYBOARD_PAUSE_EVENT MakeMessageId(Input, KeyboardPauseEvent)
251 
256 #define FREERDP_CHANNEL_MESSAGE_QUEUE 3
257 
258 #define Channel_Base 20
259 
264 #define DebugChannel_Class (Channel_Base + 1)
265 
270 #define CliprdrChannel_Class (Channel_Base + 2)
271 
272 #define CliprdrChannel_MonitorReady 1
273 #define CliprdrChannel_FormatList 2
274 #define CliprdrChannel_DataRequest 3
275 #define CliprdrChannel_DataResponse 4
276 #define CliprdrChannel_ClipCaps 5
277 #define CliprdrChannel_FilecontentsRequest 6
278 #define CliprdrChannel_FilecontentsResponse 7
279 #define CliprdrChannel_LockClipdata 8
280 #define CliprdrChannel_UnLockClipdata 9
281 #define CliprdrChannel_TemporaryDirectory 10
282 
283 #define FREERDP_CLIPRDR_CHANNEL_MONITOR_READY MakeMessageId(CliprdrChannel, MonitorReady)
284 #define FREERDP_CLIPRDR_CHANNEL_FORMAT_LIST MakeMessageId(CliprdrChannel, FormatList)
285 #define FREERDP_CLIPRDR_CHANNEL_DATA_REQUEST MakeMessageId(CliprdrChannel, DataRequest)
286 #define FREERDP_CLIPRDR_CHANNEL_DATA_RESPONSE MakeMessageId(CliprdrChannel, DataResponse)
287 #define FREERDP_CLIPRDR_CHANNEL_CLIP_CAPS MakeMessageId(CliprdrChannel, ClipCaps)
288 
293 #define TsmfChannel_Class (Channel_Base + 3)
294 
295 #define TsmfChannel_VideoFrame 1
296 #define TsmfChannel_Redraw 2
297 
298 #define FREERDP_TSMF_CHANNEL_VIDEO_FRAME MakeMessageId(TsmfChannel, VideoFrame)
299 #define FREERDP_TSMF_CHANNEL_REDRAW MakeMessageId(TsmfChannel, Redraw)
300 
305 #define RailChannel_Class (Channel_Base + 4)
306 
307 #define RailChannel_ClientExecute 1
308 #define RailChannel_ClientActivate 2
309 #define RailChannel_GetSystemParam 3
310 #define RailChannel_ClientSystemParam 4
311 #define RailChannel_ServerSystemParam 5
312 #define RailChannel_ClientSystemCommand 6
313 #define RailChannel_ClientHandshake 7
314 #define RailChannel_ServerHandshake 8
315 #define RailChannel_ClientNotifyEvent 9
316 #define RailChannel_ClientWindowMove 10
317 #define RailChannel_ServerLocalMoveSize 11
318 #define RailChannel_ServerMinMaxInfo 12
319 #define RailChannel_ClientInformation 13
320 #define RailChannel_ClientSystemMenu 14
321 #define RailChannel_ClientLanguageBarInfo 15
322 #define RailChannel_ServerLanguageBarInfo 16
323 #define RailChannel_ServerExecuteResult 17
324 #define RailChannel_ClientGetAppIdRequest 18
325 #define RailChannel_ServerGetAppIdResponse 19
326 #define RailChannel_ClientHandshakeEx 20
327 #define RailChannel_ServerHandshakeEx 21
328 
329 #define FREERDP_RAIL_CHANNEL_CLIENT_EXECUTE MakeMessageId(RailChannel, ClientExecute)
330 #define FREERDP_RAIL_CHANNEL_CLIENT_ACTIVATE MakeMessageId(RailChannel, ClientActivate)
331 #define FREERDP_RAIL_CHANNEL_GET_SYSTEM_PARAM MakeMessageId(RailChannel, GetSystemParam)
332 #define FREERDP_RAIL_CHANNEL_CLIENT_SYSTEM_PARAM MakeMessageId(RailChannel, ClientSystemParam)
333 #define FREERDP_RAIL_CHANNEL_SERVER_SYSTEM_PARAM MakeMessageId(RailChannel, ClientSystemParam)
334 #define FREERDP_RAIL_CHANNEL_CLIENT_SYSTEM_COMMAND MakeMessageId(RailChannel, ClientSystemCommand)
335 #define FREERDP_RAIL_CHANNEL_CLIENT_HANDSHAKE MakeMessageId(RailChannel, ClientHandshake)
336 #define FREERDP_RAIL_CHANNEL_SERVER_HANDSHAKE MakeMessageId(RailChannel, ServerHandshake)
337 #define FREERDP_RAIL_CHANNEL_CLIENT_NOTIFY_EVENT MakeMessageId(RailChannel, ClientNotifyEvent)
338 #define FREERDP_RAIL_CHANNEL_CLIENT_WINDOW_MOVE MakeMessageId(RailChannel, ClientWindowMove)
339 #define FREERDP_RAIL_CHANNEL_SERVER_LOCAL_MOVE_SIZE MakeMessageId(RailChannel, ServerLocalMoveSize)
340 #define FREERDP_RAIL_CHANNEL_SERVER_MIN_MAX_INFO MakeMessageId(RailChannel, ServerMinMaxInfo)
341 #define FREERDP_RAIL_CHANNEL_CLIENT_INFORMATION MakeMessageId(RailChannel, ClientInformation)
342 #define FREERDP_RAIL_CHANNEL_CLIENT_SYSTEM_MENU MakeMessageId(RailChannel, ClientSystemMenu)
343 #define FREERDP_RAIL_CHANNEL_CLIENT_LANGUAGE_BAR_INFO \
344  MakeMessageId(RailChannel, ClientLanguageBarInfo)
345 #define FREERDP_RAIL_CHANNEL_SERVER_LANGUAGE_BAR_INFO \
346  MakeMessageId(RailChannel, ServerLanguageBarInfo)
347 #define FREERDP_RAIL_CHANNEL_SERVER_EXECUTE_RESULT MakeMessageId(RailChannel, ServerExecuteResult)
348 #define FREERDP_RAIL_CHANNEL_CLIENT_GET_APP_ID_REQUEST \
349  MakeMessageId(RailChannel, ClientGetAppIdRequest)
350 #define FREERDP_RAIL_CHANNEL_SERVER_GET_APP_ID_RESPONSE \
351  MakeMessageId(RailChannel, ServerGetAppIdResponse)
352 #define FREERDP_RAIL_CHANNEL_CLIENT_HANDSHAKE_EX MakeMessageId(RailChannel, ClientHandshakeEx)
353 #define FREERDP_RAIL_CHANNEL_SERVER_HANDSHAKE_EX MakeMessageId(RailChannel, ServerHandshakeEx)
354 
359 #define RdpeiChannel_Class (Channel_Base + 5)
360 
361 #define RdpeiChannel_ServerReady 1
362 #define RdpeiChannel_ClientReady 2
363 #define RdpeiChannel_TouchEvent 3
364 #define RdpeiChannel_SuspendTouch 4
365 #define RdpeiChannel_ResumeTouch 5
366 #define RdpeiChannel_DismissHoveringContact 6
367 
368 #define FREERDP_RDPEI_CHANNEL_SERVER_READY MakeMessageId(RdpeiChannel, ServerReady)
369 #define FREERDP_RDPEI_CHANNEL_CLIENT_READY MakeMessageId(RdpeiChannel, ClientReady)
370 #define FREERDP_RDPEI_CHANNEL_TOUCH_EVENT MakeMessageId(RdpeiChannel, TouchEvent)
371 #define FREERDP_RDPEI_CHANNEL_SUSPEND_TOUCH MakeMessageId(RdpeiChannel, SuspendTouch)
372 #define FREERDP_RDPEI_CHANNEL_RESUME_TOUCH MakeMessageId(RdpeiChannel, ResumeTouch)
373 #define FREERDP_RDPEI_CHANNEL_DISMISS_HOVERING_CONTACT \
374  MakeMessageId(RdpeiChannel, DismissHoveringContact)
375 
376 #endif /* FREERDP_MESSAGE_H */