FreeRDP
client/rail_main.c File Reference
#include <winpr/crt.h>
#include <freerdp/types.h>
#include <freerdp/constants.h>
#include "rail_orders.h"
#include "rail_main.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 UINT rail_virtual_channel_event_data_received (railPlugin *rail, void *pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static VOID VCAPITYPE rail_virtual_channel_open_event_ex (LPVOID lpUserParam, DWORD openHandle, UINT event, LPVOID pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static DWORD WINAPI rail_virtual_channel_client_thread (LPVOID arg)
 
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_client_thread()

static DWORD WINAPI rail_virtual_channel_client_thread ( LPVOID  arg)
static
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_data_received()

static UINT rail_virtual_channel_event_data_received ( railPlugin *  rail,
void *  pData,
UINT32  dataLength,
UINT32  totalLength,
UINT32  dataFlags 
)
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: