20#ifndef FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H
21#define FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H
23#include <freerdp/api.h>
24#include <freerdp/types.h>
26#include <freerdp/rail.h>
27#include <freerdp/message.h>
28#include <freerdp/channels/rail.h>
41 typedef UINT (*pcRailOnOpen)(RailClientContext* context, BOOL* sendHandshake);
43 typedef UINT (*pcRailClientExecute)(RailClientContext* context,
const RAIL_EXEC_ORDER* exec);
44 typedef UINT (*pcRailClientActivate)(RailClientContext* context,
46 typedef UINT (*pcRailClientSystemParam)(RailClientContext* context,
48 typedef UINT (*pcRailServerSystemParam)(RailClientContext* context,
50 typedef UINT (*pcRailClientSystemCommand)(RailClientContext* context,
52 typedef UINT (*pcRailClientHandshake)(RailClientContext* context,
54 typedef UINT (*pcRailServerHandshake)(RailClientContext* context,
56 typedef UINT (*pcRailServerHandshakeEx)(RailClientContext* context,
58 typedef UINT (*pcRailClientNotifyEvent)(RailClientContext* context,
60 typedef UINT (*pcRailClientWindowMove)(RailClientContext* context,
62 typedef UINT (*pcRailServerLocalMoveSize)(RailClientContext* context,
64 typedef UINT (*pcRailServerMinMaxInfo)(RailClientContext* context,
66 typedef UINT (*pcRailClientInformation)(RailClientContext* context,
68 typedef UINT (*pcRailClientSystemMenu)(RailClientContext* context,
70 typedef UINT (*pcRailServerTaskBarInfo)(RailClientContext* context,
72 typedef UINT (*pcRailClientLanguageBarInfo)(RailClientContext* context,
74 typedef UINT (*pcRailServerLanguageBarInfo)(RailClientContext* context,
76 typedef UINT (*pcRailClientLanguageIMEInfo)(RailClientContext* context,
78 typedef UINT (*pcRailServerExecuteResult)(RailClientContext* context,
80 typedef UINT (*pcRailClientGetAppIdRequest)(RailClientContext* context,
82 typedef UINT (*pcRailServerGetAppIdResponse)(RailClientContext* context,
84 typedef UINT (*pcRailServerZOrderSync)(RailClientContext* context,
86 typedef UINT (*pcRailServerCloak)(RailClientContext* context,
const RAIL_CLOAK* cloak);
87 typedef UINT (*pcRailClientCloak)(RailClientContext* context,
const RAIL_CLOAK* cloak);
88 typedef UINT (*pcRailServerPowerDisplayRequest)(RailClientContext* context,
90 typedef UINT (*pcRailClientSnapArrange)(RailClientContext* context,
92 typedef UINT (*pcRailServerGetAppidResponseExtended)(RailClientContext* context,
94 typedef UINT (*pcRailClientCompartmentInfo)(RailClientContext* context,
96 typedef UINT (*pcRailClientTextScale)(RailClientContext* context, UINT32 TextScale);
97 typedef UINT (*pcRailClientCaretBlinkRate)(RailClientContext* context, UINT32 CaretBlinkRate);
104 WINPR_ATTR_NODISCARD pcRailClientExecute ClientExecute;
105 WINPR_ATTR_NODISCARD pcRailClientActivate ClientActivate;
106 WINPR_ATTR_NODISCARD pcRailClientSystemParam ClientSystemParam;
107 WINPR_ATTR_NODISCARD pcRailServerSystemParam ServerSystemParam;
108 WINPR_ATTR_NODISCARD pcRailClientSystemCommand ClientSystemCommand;
109 WINPR_ATTR_NODISCARD pcRailClientHandshake ClientHandshake;
130 WINPR_ATTR_NODISCARD pcRailClientNotifyEvent ClientNotifyEvent;
131 WINPR_ATTR_NODISCARD pcRailClientWindowMove ClientWindowMove;
132 WINPR_ATTR_NODISCARD pcRailServerLocalMoveSize ServerLocalMoveSize;
133 WINPR_ATTR_NODISCARD pcRailServerMinMaxInfo ServerMinMaxInfo;
134 WINPR_ATTR_NODISCARD pcRailClientInformation ClientInformation;
135 WINPR_ATTR_NODISCARD pcRailClientSystemMenu ClientSystemMenu;
136 WINPR_ATTR_NODISCARD pcRailServerTaskBarInfo ServerTaskBarInfo;
137 WINPR_ATTR_NODISCARD pcRailClientLanguageBarInfo ClientLanguageBarInfo;
138 WINPR_ATTR_NODISCARD pcRailServerLanguageBarInfo ServerLanguageBarInfo;
139 WINPR_ATTR_NODISCARD pcRailClientLanguageIMEInfo ClientLanguageIMEInfo;
140 WINPR_ATTR_NODISCARD pcRailServerExecuteResult ServerExecuteResult;
141 WINPR_ATTR_NODISCARD pcRailClientGetAppIdRequest ClientGetAppIdRequest;
142 WINPR_ATTR_NODISCARD pcRailServerGetAppIdResponse ServerGetAppIdResponse;
143 WINPR_ATTR_NODISCARD pcRailServerZOrderSync ServerZOrderSync;
144 WINPR_ATTR_NODISCARD pcRailClientCloak ClientCloak;
145 WINPR_ATTR_NODISCARD pcRailServerCloak ServerCloak;
146 WINPR_ATTR_NODISCARD pcRailServerPowerDisplayRequest ServerPowerDisplayRequest;
147 WINPR_ATTR_NODISCARD pcRailClientSnapArrange ClientSnapArrange;
148 WINPR_ATTR_NODISCARD pcRailServerGetAppidResponseExtended ServerGetAppidResponseExtended;
149 WINPR_ATTR_NODISCARD pcRailClientCompartmentInfo ClientCompartmentInfo;
150#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
151 WINPR_DEPRECATED_VAR(
"[since 3.27.0] unused", WINPR_ATTR_NODISCARD pcRailOnOpen OnOpen);
155 WINPR_ATTR_NODISCARD pcRailClientTextScale ClientTextScale;
156 WINPR_ATTR_NODISCARD pcRailClientCaretBlinkRate ClientCaretBlinkRate;
160 FREERDP_API UINT client_rail_server_start_cmd(RailClientContext* context);
WINPR_ATTR_NODISCARD pcRailServerHandshake ServerHandshake
(optional) callback when a [MS-RDPERP] 2.2.2.2.1 Handshake PDU (TS_RAIL_ORDER_HANDSHAKE) is received....
WINPR_ATTR_NODISCARD pcRailServerHandshakeEx ServerHandshakeEx
(optional) callback when a [MS-RDPERP] 2.2.2.2.3 HandshakeEx PDU (TS_RAIL_ORDER_HANDSHAKE_EX) is rece...