FreeRDP
rail_orders.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <freerdp/channels/log.h>
#include <freerdp/freerdp.h>
#include "rail_orders.h"

Functions

static BOOL rail_is_feature_supported (const rdpContext *context, UINT32 featureMask)
 
UINT rail_send_pdu (railPlugin *rail, wStream *s, UINT16 orderType)
 
static UINT rail_read_server_exec_result_order (wStream *s, RAIL_EXEC_RESULT_ORDER *execResult)
 
static UINT rail_read_server_minmaxinfo_order (wStream *s, RAIL_MINMAXINFO_ORDER *minmaxinfo)
 
static UINT rail_read_server_localmovesize_order (wStream *s, RAIL_LOCALMOVESIZE_ORDER *localMoveSize)
 
static UINT rail_read_server_get_appid_resp_order (wStream *s, RAIL_GET_APPID_RESP_ORDER *getAppidResp)
 
static UINT rail_read_langbar_info_order (wStream *s, RAIL_LANGBAR_INFO_ORDER *langbarInfo)
 
static UINT rail_write_client_status_order (wStream *s, const RAIL_CLIENT_STATUS_ORDER *clientStatus)
 
static UINT rail_write_client_exec_order (wStream *s, UINT16 flags, const RAIL_UNICODE_STRING *exeOrFile, const RAIL_UNICODE_STRING *workingDir, const RAIL_UNICODE_STRING *arguments)
 
static UINT rail_write_client_activate_order (wStream *s, const RAIL_ACTIVATE_ORDER *activate)
 
static UINT rail_write_client_sysmenu_order (wStream *s, const RAIL_SYSMENU_ORDER *sysmenu)
 
static UINT rail_write_client_syscommand_order (wStream *s, const RAIL_SYSCOMMAND_ORDER *syscommand)
 
static UINT rail_write_client_notify_event_order (wStream *s, const RAIL_NOTIFY_EVENT_ORDER *notifyEvent)
 
static UINT rail_write_client_window_move_order (wStream *s, const RAIL_WINDOW_MOVE_ORDER *windowMove)
 
static UINT rail_write_client_get_appid_req_order (wStream *s, const RAIL_GET_APPID_REQ_ORDER *getAppidReq)
 
static UINT rail_write_langbar_info_order (wStream *s, const RAIL_LANGBAR_INFO_ORDER *langbarInfo)
 
static UINT rail_write_languageime_info_order (wStream *s, const RAIL_LANGUAGEIME_INFO_ORDER *langImeInfo)
 
static UINT rail_write_compartment_info_order (wStream *s, const RAIL_COMPARTMENT_INFO_ORDER *compartmentInfo)
 
static UINT rail_recv_handshake_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_compartment_info_order (wStream *s, RAIL_COMPARTMENT_INFO_ORDER *compartmentInfo)
 
static UINT rail_recv_compartmentinfo_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_handshake_ex_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_exec_result_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_server_sysparam_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_server_minmaxinfo_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_server_localmovesize_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_server_get_appid_resp_order (railPlugin *rail, wStream *s)
 
static UINT rail_recv_langbar_info_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_taskbar_info_order (wStream *s, RAIL_TASKBAR_INFO_ORDER *taskbarInfo)
 
static UINT rail_recv_taskbar_info_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_zorder_sync_order (wStream *s, RAIL_ZORDER_SYNC *zorder)
 
static UINT rail_recv_zorder_sync_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_cloak_order (wStream *s, RAIL_CLOAK *cloak)
 
static UINT rail_recv_cloak_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_power_display_request_order (wStream *s, RAIL_POWER_DISPLAY_REQUEST *power)
 
static UINT rail_recv_power_display_request_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_get_application_id_extended_response_order (wStream *s, RAIL_GET_APPID_RESP_EX *id)
 
static UINT rail_recv_get_application_id_extended_response_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_textscaleinfo_order (wStream *s, UINT32 *pTextScaleFactor)
 
static UINT rail_recv_textscaleinfo_order (railPlugin *rail, wStream *s)
 
static UINT rail_read_caretblinkinfo_order (wStream *s, UINT32 *pCaretBlinkRate)
 
static UINT rail_recv_caretblinkinfo_order (railPlugin *rail, wStream *s)
 
UINT rail_order_recv (LPVOID userdata, wStream *s)
 
UINT rail_send_handshake_order (railPlugin *rail, const RAIL_HANDSHAKE_ORDER *handshake)
 
UINT rail_send_handshake_ex_order (railPlugin *rail, const RAIL_HANDSHAKE_EX_ORDER *handshakeEx)
 
UINT rail_send_client_status_order (railPlugin *rail, const RAIL_CLIENT_STATUS_ORDER *clientStatus)
 
UINT rail_send_client_exec_order (railPlugin *rail, UINT16 flags, const RAIL_UNICODE_STRING *exeOrFile, const RAIL_UNICODE_STRING *workingDir, const RAIL_UNICODE_STRING *arguments)
 
UINT rail_send_client_activate_order (railPlugin *rail, const RAIL_ACTIVATE_ORDER *activate)
 
UINT rail_send_client_sysmenu_order (railPlugin *rail, const RAIL_SYSMENU_ORDER *sysmenu)
 
UINT rail_send_client_syscommand_order (railPlugin *rail, const RAIL_SYSCOMMAND_ORDER *syscommand)
 
UINT rail_send_client_notify_event_order (railPlugin *rail, const RAIL_NOTIFY_EVENT_ORDER *notifyEvent)
 
UINT rail_send_client_window_move_order (railPlugin *rail, const RAIL_WINDOW_MOVE_ORDER *windowMove)
 
UINT rail_send_client_get_appid_req_order (railPlugin *rail, const RAIL_GET_APPID_REQ_ORDER *getAppIdReq)
 
UINT rail_send_client_langbar_info_order (railPlugin *rail, const RAIL_LANGBAR_INFO_ORDER *langBarInfo)
 
UINT rail_send_client_languageime_info_order (railPlugin *rail, const RAIL_LANGUAGEIME_INFO_ORDER *langImeInfo)
 
UINT rail_send_client_compartment_info_order (railPlugin *rail, const RAIL_COMPARTMENT_INFO_ORDER *compartmentInfo)
 
UINT rail_send_client_cloak_order (railPlugin *rail, const RAIL_CLOAK *cloak)
 
UINT rail_send_client_snap_arrange_order (railPlugin *rail, const RAIL_SNAP_ARRANGE *snap)
 

Function Documentation

◆ rail_is_feature_supported()

BOOL rail_is_feature_supported ( const rdpContext *  context,
UINT32  featureMask 
)
static

FreeRDP: A Remote Desktop Protocol Implementation Remote Applications Integrated Locally (RAIL) Orders

Copyright 2009 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 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 call graph for this function:
Here is the caller graph for this function:

◆ rail_order_recv()

UINT rail_order_recv ( LPVOID  userdata,
wStream s 
)

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_read_caretblinkinfo_order()

static UINT rail_read_caretblinkinfo_order ( wStream s,
UINT32 *  pCaretBlinkRate 
)
static
Here is the caller graph for this function:

◆ rail_read_cloak_order()

static UINT rail_read_cloak_order ( wStream s,
RAIL_CLOAK cloak 
)
static
Here is the caller graph for this function:

◆ rail_read_compartment_info_order()

static UINT rail_read_compartment_info_order ( wStream s,
RAIL_COMPARTMENT_INFO_ORDER compartmentInfo 
)
static
Here is the caller graph for this function:

◆ rail_read_get_application_id_extended_response_order()

static UINT rail_read_get_application_id_extended_response_order ( wStream s,
RAIL_GET_APPID_RESP_EX id 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_read_langbar_info_order()

static UINT rail_read_langbar_info_order ( wStream s,
RAIL_LANGBAR_INFO_ORDER langbarInfo 
)
static

Function description

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

◆ rail_read_power_display_request_order()

static UINT rail_read_power_display_request_order ( wStream s,
RAIL_POWER_DISPLAY_REQUEST power 
)
static
Here is the caller graph for this function:

◆ rail_read_server_exec_result_order()

static UINT rail_read_server_exec_result_order ( wStream s,
RAIL_EXEC_RESULT_ORDER execResult 
)
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_read_server_get_appid_resp_order()

static UINT rail_read_server_get_appid_resp_order ( wStream s,
RAIL_GET_APPID_RESP_ORDER getAppidResp 
)
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_read_server_localmovesize_order()

static UINT rail_read_server_localmovesize_order ( wStream s,
RAIL_LOCALMOVESIZE_ORDER localMoveSize 
)
static

Function description

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

◆ rail_read_server_minmaxinfo_order()

static UINT rail_read_server_minmaxinfo_order ( wStream s,
RAIL_MINMAXINFO_ORDER minmaxinfo 
)
static

Function description

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

◆ rail_read_taskbar_info_order()

static UINT rail_read_taskbar_info_order ( wStream s,
RAIL_TASKBAR_INFO_ORDER taskbarInfo 
)
static
Here is the caller graph for this function:

◆ rail_read_textscaleinfo_order()

static UINT rail_read_textscaleinfo_order ( wStream s,
UINT32 *  pTextScaleFactor 
)
static
Here is the caller graph for this function:

◆ rail_read_zorder_sync_order()

static UINT rail_read_zorder_sync_order ( wStream s,
RAIL_ZORDER_SYNC zorder 
)
static
Here is the caller graph for this function:

◆ rail_recv_caretblinkinfo_order()

static UINT rail_recv_caretblinkinfo_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_cloak_order()

static UINT rail_recv_cloak_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_compartmentinfo_order()

static UINT rail_recv_compartmentinfo_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_exec_result_order()

static UINT rail_recv_exec_result_order ( 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_recv_get_application_id_extended_response_order()

static UINT rail_recv_get_application_id_extended_response_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_handshake_ex_order()

static UINT rail_recv_handshake_ex_order ( 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_recv_handshake_order()

static UINT rail_recv_handshake_order ( 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_recv_langbar_info_order()

static UINT rail_recv_langbar_info_order ( 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_recv_power_display_request_order()

static UINT rail_recv_power_display_request_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_server_get_appid_resp_order()

static UINT rail_recv_server_get_appid_resp_order ( 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_recv_server_localmovesize_order()

static UINT rail_recv_server_localmovesize_order ( 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_recv_server_minmaxinfo_order()

static UINT rail_recv_server_minmaxinfo_order ( 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_recv_server_sysparam_order()

static UINT rail_recv_server_sysparam_order ( 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_recv_taskbar_info_order()

static UINT rail_recv_taskbar_info_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_textscaleinfo_order()

static UINT rail_recv_textscaleinfo_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_recv_zorder_sync_order()

static UINT rail_recv_zorder_sync_order ( railPlugin rail,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_activate_order()

UINT rail_send_client_activate_order ( railPlugin rail,
const RAIL_ACTIVATE_ORDER activate 
)

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_cloak_order()

UINT rail_send_client_cloak_order ( railPlugin rail,
const RAIL_CLOAK cloak 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_compartment_info_order()

UINT rail_send_client_compartment_info_order ( railPlugin rail,
const RAIL_COMPARTMENT_INFO_ORDER compartmentInfo 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_exec_order()

UINT rail_send_client_exec_order ( railPlugin rail,
UINT16  flags,
const RAIL_UNICODE_STRING exeOrFile,
const RAIL_UNICODE_STRING workingDir,
const RAIL_UNICODE_STRING arguments 
)

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_get_appid_req_order()

UINT rail_send_client_get_appid_req_order ( railPlugin rail,
const RAIL_GET_APPID_REQ_ORDER getAppIdReq 
)

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_langbar_info_order()

UINT rail_send_client_langbar_info_order ( railPlugin rail,
const RAIL_LANGBAR_INFO_ORDER langBarInfo 
)

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_languageime_info_order()

UINT rail_send_client_languageime_info_order ( railPlugin rail,
const RAIL_LANGUAGEIME_INFO_ORDER langImeInfo 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_notify_event_order()

UINT rail_send_client_notify_event_order ( railPlugin rail,
const RAIL_NOTIFY_EVENT_ORDER notifyEvent 
)

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_snap_arrange_order()

UINT rail_send_client_snap_arrange_order ( railPlugin rail,
const RAIL_SNAP_ARRANGE snap 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_send_client_status_order()

UINT rail_send_client_status_order ( railPlugin rail,
const RAIL_CLIENT_STATUS_ORDER clientStatus 
)

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_syscommand_order()

UINT rail_send_client_syscommand_order ( railPlugin rail,
const RAIL_SYSCOMMAND_ORDER syscommand 
)

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_sysmenu_order()

UINT rail_send_client_sysmenu_order ( railPlugin rail,
const RAIL_SYSMENU_ORDER sysmenu 
)

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_window_move_order()

UINT rail_send_client_window_move_order ( railPlugin rail,
const RAIL_WINDOW_MOVE_ORDER windowMove 
)

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_handshake_ex_order()

UINT rail_send_handshake_ex_order ( railPlugin rail,
const RAIL_HANDSHAKE_EX_ORDER handshakeEx 
)

Function description

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

◆ rail_send_handshake_order()

UINT rail_send_handshake_order ( railPlugin rail,
const RAIL_HANDSHAKE_ORDER handshake 
)

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_pdu()

UINT rail_send_pdu ( railPlugin rail,
wStream s,
UINT16  orderType 
)

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_write_client_activate_order()

static UINT rail_write_client_activate_order ( wStream s,
const RAIL_ACTIVATE_ORDER activate 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_exec_order()

static UINT rail_write_client_exec_order ( wStream s,
UINT16  flags,
const RAIL_UNICODE_STRING exeOrFile,
const RAIL_UNICODE_STRING workingDir,
const RAIL_UNICODE_STRING arguments 
)
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_write_client_get_appid_req_order()

static UINT rail_write_client_get_appid_req_order ( wStream s,
const RAIL_GET_APPID_REQ_ORDER getAppidReq 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_notify_event_order()

static UINT rail_write_client_notify_event_order ( wStream s,
const RAIL_NOTIFY_EVENT_ORDER notifyEvent 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_status_order()

static UINT rail_write_client_status_order ( wStream s,
const RAIL_CLIENT_STATUS_ORDER clientStatus 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_syscommand_order()

static UINT rail_write_client_syscommand_order ( wStream s,
const RAIL_SYSCOMMAND_ORDER syscommand 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_sysmenu_order()

static UINT rail_write_client_sysmenu_order ( wStream s,
const RAIL_SYSMENU_ORDER sysmenu 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_client_window_move_order()

static UINT rail_write_client_window_move_order ( wStream s,
const RAIL_WINDOW_MOVE_ORDER windowMove 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_compartment_info_order()

static UINT rail_write_compartment_info_order ( wStream s,
const RAIL_COMPARTMENT_INFO_ORDER compartmentInfo 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_langbar_info_order()

static UINT rail_write_langbar_info_order ( wStream s,
const RAIL_LANGBAR_INFO_ORDER langbarInfo 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rail_write_languageime_info_order()

static UINT rail_write_languageime_info_order ( wStream s,
const RAIL_LANGUAGEIME_INFO_ORDER langImeInfo 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: