cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

rail.h (6849B)


      1/**
      2 * FreeRDP: A Remote Desktop Protocol Implementation
      3 * Remote Applications Integrated Locally (RAIL)
      4 *
      5 * Copyright 2013 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_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/**
     31 * Client Interface
     32 */
     33
     34typedef struct _rail_client_context RailClientContext;
     35
     36typedef UINT (*pcRailOnOpen)(RailClientContext* context, BOOL* sendHandshake);
     37
     38typedef UINT (*pcRailClientExecute)(RailClientContext* context, const RAIL_EXEC_ORDER* exec);
     39typedef UINT (*pcRailClientActivate)(RailClientContext* context,
     40                                     const RAIL_ACTIVATE_ORDER* activate);
     41typedef UINT (*pcRailClientSystemParam)(RailClientContext* context,
     42                                        const RAIL_SYSPARAM_ORDER* sysparam);
     43typedef UINT (*pcRailServerSystemParam)(RailClientContext* context,
     44                                        const RAIL_SYSPARAM_ORDER* sysparam);
     45typedef UINT (*pcRailClientSystemCommand)(RailClientContext* context,
     46                                          const RAIL_SYSCOMMAND_ORDER* syscommand);
     47typedef UINT (*pcRailClientHandshake)(RailClientContext* context,
     48                                      const RAIL_HANDSHAKE_ORDER* handshake);
     49typedef UINT (*pcRailServerHandshake)(RailClientContext* context,
     50                                      const RAIL_HANDSHAKE_ORDER* handshake);
     51typedef UINT (*pcRailServerHandshakeEx)(RailClientContext* context,
     52                                        const RAIL_HANDSHAKE_EX_ORDER* handshakeEx);
     53typedef UINT (*pcRailClientNotifyEvent)(RailClientContext* context,
     54                                        const RAIL_NOTIFY_EVENT_ORDER* notifyEvent);
     55typedef UINT (*pcRailClientWindowMove)(RailClientContext* context,
     56                                       const RAIL_WINDOW_MOVE_ORDER* windowMove);
     57typedef UINT (*pcRailServerLocalMoveSize)(RailClientContext* context,
     58                                          const RAIL_LOCALMOVESIZE_ORDER* localMoveSize);
     59typedef UINT (*pcRailServerMinMaxInfo)(RailClientContext* context,
     60                                       const RAIL_MINMAXINFO_ORDER* minMaxInfo);
     61typedef UINT (*pcRailClientInformation)(RailClientContext* context,
     62                                        const RAIL_CLIENT_STATUS_ORDER* clientStatus);
     63typedef UINT (*pcRailClientSystemMenu)(RailClientContext* context,
     64                                       const RAIL_SYSMENU_ORDER* sysmenu);
     65typedef UINT (*pcRailServerTaskBarInfo)(RailClientContext* context,
     66                                        const RAIL_TASKBAR_INFO_ORDER* taskBarInfo);
     67typedef UINT (*pcRailClientLanguageBarInfo)(RailClientContext* context,
     68                                            const RAIL_LANGBAR_INFO_ORDER* langBarInfo);
     69typedef UINT (*pcRailServerLanguageBarInfo)(RailClientContext* context,
     70                                            const RAIL_LANGBAR_INFO_ORDER* langBarInfo);
     71typedef UINT (*pcRailClientLanguageIMEInfo)(RailClientContext* context,
     72                                            const RAIL_LANGUAGEIME_INFO_ORDER* langImeInfo);
     73typedef UINT (*pcRailServerExecuteResult)(RailClientContext* context,
     74                                          const RAIL_EXEC_RESULT_ORDER* execResult);
     75typedef UINT (*pcRailClientGetAppIdRequest)(RailClientContext* context,
     76                                            const RAIL_GET_APPID_REQ_ORDER* getAppIdReq);
     77typedef UINT (*pcRailServerGetAppIdResponse)(RailClientContext* context,
     78                                             const RAIL_GET_APPID_RESP_ORDER* getAppIdResp);
     79typedef UINT (*pcRailServerZOrderSync)(RailClientContext* context, const RAIL_ZORDER_SYNC* zorder);
     80typedef UINT (*pcRailServerCloak)(RailClientContext* context, const RAIL_CLOAK* cloak);
     81typedef UINT (*pcRailClientCloak)(RailClientContext* context, const RAIL_CLOAK* cloak);
     82typedef UINT (*pcRailServerPowerDisplayRequest)(RailClientContext* context,
     83                                                const RAIL_POWER_DISPLAY_REQUEST* power);
     84typedef UINT (*pcRailClientSnapArrange)(RailClientContext* context, const RAIL_SNAP_ARRANGE* snap);
     85typedef UINT (*pcRailServerGetAppidResponseExtended)(RailClientContext* context,
     86                                                     const RAIL_GET_APPID_RESP_EX* id);
     87typedef UINT (*pcRailClientCompartmentInfo)(RailClientContext* context,
     88                                            const RAIL_COMPARTMENT_INFO_ORDER* compartmentInfo);
     89typedef UINT (*pcRailClientTextScale)(RailClientContext* context, UINT32 TextScale);
     90typedef UINT (*pcRailClientCaretBlinkRate)(RailClientContext* context, UINT32 CaretBlinkRate);
     91
     92struct _rail_client_context
     93{
     94	void* handle;
     95	void* custom;
     96
     97	pcRailClientExecute ClientExecute;
     98	pcRailClientActivate ClientActivate;
     99	pcRailClientSystemParam ClientSystemParam;
    100	pcRailServerSystemParam ServerSystemParam;
    101	pcRailClientSystemCommand ClientSystemCommand;
    102	pcRailClientHandshake ClientHandshake;
    103	pcRailServerHandshake ServerHandshake;
    104	pcRailServerHandshakeEx ServerHandshakeEx;
    105	pcRailClientNotifyEvent ClientNotifyEvent;
    106	pcRailClientWindowMove ClientWindowMove;
    107	pcRailServerLocalMoveSize ServerLocalMoveSize;
    108	pcRailServerMinMaxInfo ServerMinMaxInfo;
    109	pcRailClientInformation ClientInformation;
    110	pcRailClientSystemMenu ClientSystemMenu;
    111	pcRailServerTaskBarInfo ServerTaskBarInfo;
    112	pcRailClientLanguageBarInfo ClientLanguageBarInfo;
    113	pcRailServerLanguageBarInfo ServerLanguageBarInfo;
    114	pcRailClientLanguageIMEInfo ClientLanguageIMEInfo;
    115	pcRailServerExecuteResult ServerExecuteResult;
    116	pcRailClientGetAppIdRequest ClientGetAppIdRequest;
    117	pcRailServerGetAppIdResponse ServerGetAppIdResponse;
    118	pcRailServerZOrderSync ServerZOrderSync;
    119	pcRailClientCloak ClientCloak;
    120	pcRailServerCloak ServerCloak;
    121	pcRailServerPowerDisplayRequest ServerPowerDisplayRequest;
    122	pcRailClientSnapArrange ClientSnapArrange;
    123	pcRailServerGetAppidResponseExtended ServerGetAppidResponseExtended;
    124	pcRailClientCompartmentInfo ClientCompartmentInfo;
    125	pcRailOnOpen OnOpen;
    126	pcRailClientTextScale ClientTextScale;
    127	pcRailClientCaretBlinkRate ClientCaretBlinkRate;
    128};
    129
    130#endif /* FREERDP_CHANNEL_RAIL_CLIENT_RAIL_H */