FreeRDP
client/rail_main.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <freerdp/types.h>
#include <freerdp/constants.h>
#include "rail_orders.h"
#include "rail_main.h"
#include "../../../channels/client/addin.h"

Macros

#define VirtualChannelEntryEx   rail_VirtualChannelEntryEx
 

Functions

RailClientContext * rail_get_client_interface (railPlugin *rail)
 
static UINT rail_send (railPlugin *rail, wStream *s)
 
UINT rail_send_channel_data (railPlugin *rail, wStream *src)
 
static UINT rail_client_execute (RailClientContext *context, const RAIL_EXEC_ORDER *exec)
 
static UINT rail_client_activate (RailClientContext *context, const RAIL_ACTIVATE_ORDER *activate)
 
static UINT rail_send_client_sysparam (RailClientContext *context, RAIL_SYSPARAM_ORDER *sysparam)
 
static UINT rail_client_system_param (RailClientContext *context, const RAIL_SYSPARAM_ORDER *sysInParam)
 
static UINT rail_client_system_command (RailClientContext *context, const RAIL_SYSCOMMAND_ORDER *syscommand)
 
static UINT rail_client_handshake (RailClientContext *context, const RAIL_HANDSHAKE_ORDER *handshake)
 
static UINT rail_client_notify_event (RailClientContext *context, const RAIL_NOTIFY_EVENT_ORDER *notifyEvent)
 
static UINT rail_client_window_move (RailClientContext *context, const RAIL_WINDOW_MOVE_ORDER *windowMove)
 
static UINT rail_client_information (RailClientContext *context, const RAIL_CLIENT_STATUS_ORDER *clientStatus)
 
static UINT rail_client_system_menu (RailClientContext *context, const RAIL_SYSMENU_ORDER *sysmenu)
 
static UINT rail_client_language_bar_info (RailClientContext *context, const RAIL_LANGBAR_INFO_ORDER *langBarInfo)
 
static UINT rail_client_language_ime_info (RailClientContext *context, const RAIL_LANGUAGEIME_INFO_ORDER *langImeInfo)
 
static UINT rail_client_get_appid_request (RailClientContext *context, const RAIL_GET_APPID_REQ_ORDER *getAppIdReq)
 
static UINT rail_client_compartment_info (RailClientContext *context, const RAIL_COMPARTMENT_INFO_ORDER *compartmentInfo)
 
static UINT rail_client_cloak (RailClientContext *context, const RAIL_CLOAK *cloak)
 
static UINT rail_client_snap_arrange (RailClientContext *context, const RAIL_SNAP_ARRANGE *snap)
 
static VOID VCAPITYPE rail_virtual_channel_open_event_ex (LPVOID lpUserParam, DWORD openHandle, UINT event, LPVOID pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static UINT rail_virtual_channel_event_connected (railPlugin *rail, LPVOID pData, UINT32 dataLength)
 
static UINT rail_virtual_channel_event_disconnected (railPlugin *rail)
 
static void rail_virtual_channel_event_terminated (railPlugin *rail)
 
static VOID VCAPITYPE rail_virtual_channel_init_event_ex (LPVOID lpUserParam, LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength)
 
BOOL VCAPITYPE VirtualChannelEntryEx (PCHANNEL_ENTRY_POINTS pEntryPoints, PVOID pInitHandle)
 

Macro Definition Documentation

◆ VirtualChannelEntryEx

#define VirtualChannelEntryEx   rail_VirtualChannelEntryEx

Function Documentation

◆ rail_client_activate()

static UINT rail_client_activate ( RailClientContext *  context,
const RAIL_ACTIVATE_ORDER activate 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_cloak()

static UINT rail_client_cloak ( RailClientContext *  context,
const RAIL_CLOAK cloak 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_compartment_info()

static UINT rail_client_compartment_info ( RailClientContext *  context,
const RAIL_COMPARTMENT_INFO_ORDER compartmentInfo 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_execute()

static UINT rail_client_execute ( RailClientContext *  context,
const RAIL_EXEC_ORDER exec 
)
static

Callback Interface Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_get_appid_request()

static UINT rail_client_get_appid_request ( RailClientContext *  context,
const RAIL_GET_APPID_REQ_ORDER getAppIdReq 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_handshake()

static UINT rail_client_handshake ( RailClientContext *  context,
const RAIL_HANDSHAKE_ORDER handshake 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_information()

static UINT rail_client_information ( RailClientContext *  context,
const RAIL_CLIENT_STATUS_ORDER clientStatus 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_language_bar_info()

static UINT rail_client_language_bar_info ( RailClientContext *  context,
const RAIL_LANGBAR_INFO_ORDER langBarInfo 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_language_ime_info()

static UINT rail_client_language_ime_info ( RailClientContext *  context,
const RAIL_LANGUAGEIME_INFO_ORDER langImeInfo 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_notify_event()

static UINT rail_client_notify_event ( RailClientContext *  context,
const RAIL_NOTIFY_EVENT_ORDER notifyEvent 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_snap_arrange()

static UINT rail_client_snap_arrange ( RailClientContext *  context,
const RAIL_SNAP_ARRANGE snap 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_system_command()

static UINT rail_client_system_command ( RailClientContext *  context,
const RAIL_SYSCOMMAND_ORDER syscommand 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_system_menu()

static UINT rail_client_system_menu ( RailClientContext *  context,
const RAIL_SYSMENU_ORDER sysmenu 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_system_param()

static UINT rail_client_system_param ( RailClientContext *  context,
const RAIL_SYSPARAM_ORDER sysInParam 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_client_window_move()

static UINT rail_client_window_move ( RailClientContext *  context,
const RAIL_WINDOW_MOVE_ORDER windowMove 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_get_client_interface()

RailClientContext* rail_get_client_interface ( railPlugin rail)

FreeRDP: A Remote Desktop Protocol Implementation RAIL Virtual Channel Plugin

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2011 Roman Barabanov roman.nosp@m.bara.nosp@m.banov.nosp@m.@gma.nosp@m.il.co.nosp@m.m Copyright 2011 Vic Lee Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..nosp@m.com Copyright 2017 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2017 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Here is the caller graph for this function:

◆ rail_send()

static UINT rail_send ( railPlugin rail,
wStream s 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_channel_data()

UINT rail_send_channel_data ( railPlugin rail,
wStream src 
)

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_sysparam()

static UINT rail_send_client_sysparam ( RailClientContext *  context,
RAIL_SYSPARAM_ORDER sysparam 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_virtual_channel_event_connected()

static UINT rail_virtual_channel_event_connected ( railPlugin rail,
LPVOID  pData,
UINT32  dataLength 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_virtual_channel_event_disconnected()

static UINT rail_virtual_channel_event_disconnected ( railPlugin rail)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_virtual_channel_event_terminated()

static void rail_virtual_channel_event_terminated ( railPlugin rail)
static
Here is the caller graph for this function:

◆ rail_virtual_channel_init_event_ex()

static VOID VCAPITYPE rail_virtual_channel_init_event_ex ( LPVOID  lpUserParam,
LPVOID  pInitHandle,
UINT  event,
LPVOID  pData,
UINT  dataLength 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_virtual_channel_open_event_ex()

static VOID VCAPITYPE rail_virtual_channel_open_event_ex ( LPVOID  lpUserParam,
DWORD  openHandle,
UINT  event,
LPVOID  pData,
UINT32  dataLength,
UINT32  totalLength,
UINT32  dataFlags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ VirtualChannelEntryEx()

BOOL VCAPITYPE VirtualChannelEntryEx ( PCHANNEL_ENTRY_POINTS  pEntryPoints,
PVOID  pInitHandle 
)
Here is the call graph for this function: