message.h (16590B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 3 * Asynchronous Message Interface 4 * 5 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com> 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20#ifndef FREERDP_CORE_MESSAGE_H 21#define FREERDP_CORE_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 30/** 31 * Update Message Queue 32 */ 33 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 224/** 225 * Input Message Queue 226 */ 227 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 252/** 253 * Static Channel Message Queues 254 */ 255 256#define FREERDP_CHANNEL_MESSAGE_QUEUE 3 257 258#define Channel_Base 20 259 260/** 261 * Debug Channel 262 */ 263 264#define DebugChannel_Class (Channel_Base + 1) 265 266/** 267 * Clipboard Channel 268 */ 269 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 289/** 290 * Multimedia Redirection Channel 291 */ 292 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 301/** 302 * RemoteApp Channel 303 */ 304 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 355/** 356 * MultiTouch Input Channel Extension (MS-RDPEDI) 357 */ 358 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_CORE_MESSAGE_H */