FreeRDP
Loading...
Searching...
No Matches
client/rail.h
1
20#ifndef FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H
21#define FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25
26#include <freerdp/rail.h>
27#include <freerdp/message.h>
28#include <freerdp/channels/rail.h>
29
30#ifdef __cplusplus
31extern "C"
32{
33#endif
34
39 typedef struct s_rail_client_context RailClientContext;
40
41 typedef UINT (*pcRailOnOpen)(RailClientContext* context, BOOL* sendHandshake);
42
43 typedef UINT (*pcRailClientExecute)(RailClientContext* context, const RAIL_EXEC_ORDER* exec);
44 typedef UINT (*pcRailClientActivate)(RailClientContext* context,
45 const RAIL_ACTIVATE_ORDER* activate);
46 typedef UINT (*pcRailClientSystemParam)(RailClientContext* context,
47 const RAIL_SYSPARAM_ORDER* sysparam);
48 typedef UINT (*pcRailServerSystemParam)(RailClientContext* context,
49 const RAIL_SYSPARAM_ORDER* sysparam);
50 typedef UINT (*pcRailClientSystemCommand)(RailClientContext* context,
51 const RAIL_SYSCOMMAND_ORDER* syscommand);
52 typedef UINT (*pcRailClientHandshake)(RailClientContext* context,
53 const RAIL_HANDSHAKE_ORDER* handshake);
54 typedef UINT (*pcRailServerHandshake)(RailClientContext* context,
55 const RAIL_HANDSHAKE_ORDER* handshake);
56 typedef UINT (*pcRailServerHandshakeEx)(RailClientContext* context,
57 const RAIL_HANDSHAKE_EX_ORDER* handshakeEx);
58 typedef UINT (*pcRailClientNotifyEvent)(RailClientContext* context,
59 const RAIL_NOTIFY_EVENT_ORDER* notifyEvent);
60 typedef UINT (*pcRailClientWindowMove)(RailClientContext* context,
61 const RAIL_WINDOW_MOVE_ORDER* windowMove);
62 typedef UINT (*pcRailServerLocalMoveSize)(RailClientContext* context,
63 const RAIL_LOCALMOVESIZE_ORDER* localMoveSize);
64 typedef UINT (*pcRailServerMinMaxInfo)(RailClientContext* context,
65 const RAIL_MINMAXINFO_ORDER* minMaxInfo);
66 typedef UINT (*pcRailClientInformation)(RailClientContext* context,
67 const RAIL_CLIENT_STATUS_ORDER* clientStatus);
68 typedef UINT (*pcRailClientSystemMenu)(RailClientContext* context,
69 const RAIL_SYSMENU_ORDER* sysmenu);
70 typedef UINT (*pcRailServerTaskBarInfo)(RailClientContext* context,
71 const RAIL_TASKBAR_INFO_ORDER* taskBarInfo);
72 typedef UINT (*pcRailClientLanguageBarInfo)(RailClientContext* context,
73 const RAIL_LANGBAR_INFO_ORDER* langBarInfo);
74 typedef UINT (*pcRailServerLanguageBarInfo)(RailClientContext* context,
75 const RAIL_LANGBAR_INFO_ORDER* langBarInfo);
76 typedef UINT (*pcRailClientLanguageIMEInfo)(RailClientContext* context,
77 const RAIL_LANGUAGEIME_INFO_ORDER* langImeInfo);
78 typedef UINT (*pcRailServerExecuteResult)(RailClientContext* context,
79 const RAIL_EXEC_RESULT_ORDER* execResult);
80 typedef UINT (*pcRailClientGetAppIdRequest)(RailClientContext* context,
81 const RAIL_GET_APPID_REQ_ORDER* getAppIdReq);
82 typedef UINT (*pcRailServerGetAppIdResponse)(RailClientContext* context,
83 const RAIL_GET_APPID_RESP_ORDER* getAppIdResp);
84 typedef UINT (*pcRailServerZOrderSync)(RailClientContext* context,
85 const RAIL_ZORDER_SYNC* zorder);
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,
89 const RAIL_POWER_DISPLAY_REQUEST* power);
90 typedef UINT (*pcRailClientSnapArrange)(RailClientContext* context,
91 const RAIL_SNAP_ARRANGE* snap);
92 typedef UINT (*pcRailServerGetAppidResponseExtended)(RailClientContext* context,
93 const RAIL_GET_APPID_RESP_EX* id);
94 typedef UINT (*pcRailClientCompartmentInfo)(RailClientContext* context,
95 const RAIL_COMPARTMENT_INFO_ORDER* compartmentInfo);
96 typedef UINT (*pcRailClientTextScale)(RailClientContext* context, UINT32 TextScale);
97 typedef UINT (*pcRailClientCaretBlinkRate)(RailClientContext* context, UINT32 CaretBlinkRate);
98
100 {
101 void* handle;
102 void* custom;
103
104 pcRailClientExecute ClientExecute;
105 pcRailClientActivate ClientActivate;
106 pcRailClientSystemParam ClientSystemParam;
107 pcRailServerSystemParam ServerSystemParam;
108 pcRailClientSystemCommand ClientSystemCommand;
109 pcRailClientHandshake ClientHandshake;
110 pcRailServerHandshake ServerHandshake;
111 pcRailServerHandshakeEx ServerHandshakeEx;
112 pcRailClientNotifyEvent ClientNotifyEvent;
113 pcRailClientWindowMove ClientWindowMove;
114 pcRailServerLocalMoveSize ServerLocalMoveSize;
115 pcRailServerMinMaxInfo ServerMinMaxInfo;
116 pcRailClientInformation ClientInformation;
117 pcRailClientSystemMenu ClientSystemMenu;
118 pcRailServerTaskBarInfo ServerTaskBarInfo;
119 pcRailClientLanguageBarInfo ClientLanguageBarInfo;
120 pcRailServerLanguageBarInfo ServerLanguageBarInfo;
121 pcRailClientLanguageIMEInfo ClientLanguageIMEInfo;
122 pcRailServerExecuteResult ServerExecuteResult;
123 pcRailClientGetAppIdRequest ClientGetAppIdRequest;
124 pcRailServerGetAppIdResponse ServerGetAppIdResponse;
125 pcRailServerZOrderSync ServerZOrderSync;
126 pcRailClientCloak ClientCloak;
127 pcRailServerCloak ServerCloak;
128 pcRailServerPowerDisplayRequest ServerPowerDisplayRequest;
129 pcRailClientSnapArrange ClientSnapArrange;
130 pcRailServerGetAppidResponseExtended ServerGetAppidResponseExtended;
131 pcRailClientCompartmentInfo ClientCompartmentInfo;
132 pcRailOnOpen OnOpen;
133 pcRailClientTextScale ClientTextScale;
134 pcRailClientCaretBlinkRate ClientCaretBlinkRate;
135 };
136
137 FREERDP_API UINT client_rail_server_start_cmd(RailClientContext* context);
138
139#ifdef __cplusplus
140}
141#endif
142
143#endif /* FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H */