FreeRDP
client/remdesk_main.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <winpr/print.h>
#include <freerdp/freerdp.h>
#include <freerdp/assistance.h>
#include <freerdp/channels/log.h>
#include <freerdp/client/remdesk.h>
#include "remdesk_main.h"

Macros

#define VirtualChannelEntryEx   remdesk_VirtualChannelEntryEx
 

Functions

static UINT remdesk_virtual_channel_write (remdeskPlugin *remdesk, wStream *s)
 
static UINT remdesk_generate_expert_blob (remdeskPlugin *remdesk)
 
static UINT remdesk_read_channel_header (wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_write_channel_header (wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_write_ctl_header (wStream *s, REMDESK_CTL_HEADER *ctlHeader)
 
static UINT remdesk_prepare_ctl_header (REMDESK_CTL_HEADER *ctlHeader, UINT32 msgType, UINT32 msgSize)
 
static UINT remdesk_recv_ctl_server_announce_pdu (remdeskPlugin *remdesk, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_recv_ctl_version_info_pdu (remdeskPlugin *remdesk, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_send_ctl_version_info_pdu (remdeskPlugin *remdesk)
 
static UINT remdesk_recv_ctl_result_pdu (remdeskPlugin *remdesk, wStream *s, REMDESK_CHANNEL_HEADER *header, UINT32 *pResult)
 
static UINT remdesk_send_ctl_authenticate_pdu (remdeskPlugin *remdesk)
 
static UINT remdesk_send_ctl_remote_control_desktop_pdu (remdeskPlugin *remdesk)
 
static UINT remdesk_send_ctl_verify_password_pdu (remdeskPlugin *remdesk)
 
static UINT remdesk_send_ctl_expert_on_vista_pdu (remdeskPlugin *remdesk)
 
static UINT remdesk_recv_ctl_pdu (remdeskPlugin *remdesk, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_process_receive (remdeskPlugin *remdesk, wStream *s)
 
static void remdesk_process_connect (remdeskPlugin *remdesk)
 
static UINT remdesk_virtual_channel_event_data_received (remdeskPlugin *remdesk, const void *pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static VOID VCAPITYPE remdesk_virtual_channel_open_event_ex (LPVOID lpUserParam, DWORD openHandle, UINT event, LPVOID pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static DWORD WINAPI remdesk_virtual_channel_client_thread (LPVOID arg)
 
static UINT remdesk_virtual_channel_event_connected (remdeskPlugin *remdesk, LPVOID pData, UINT32 dataLength)
 
static UINT remdesk_virtual_channel_event_disconnected (remdeskPlugin *remdesk)
 
static void remdesk_virtual_channel_event_terminated (remdeskPlugin *remdesk)
 
static VOID VCAPITYPE remdesk_virtual_channel_init_event_ex (LPVOID lpUserParam, LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength)
 
 FREERDP_ENTRY_POINT (BOOL VCAPITYPE VirtualChannelEntryEx(PCHANNEL_ENTRY_POINTS pEntryPoints, PVOID pInitHandle))
 

Macro Definition Documentation

◆ VirtualChannelEntryEx

#define VirtualChannelEntryEx   remdesk_VirtualChannelEntryEx

Function Documentation

◆ FREERDP_ENTRY_POINT()

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

◆ remdesk_generate_expert_blob()

static UINT remdesk_generate_expert_blob ( remdeskPlugin remdesk)
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:

◆ remdesk_prepare_ctl_header()

static UINT remdesk_prepare_ctl_header ( REMDESK_CTL_HEADER ctlHeader,
UINT32  msgType,
UINT32  msgSize 
)
static

Function description

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

◆ remdesk_process_connect()

static void remdesk_process_connect ( remdeskPlugin remdesk)
static
Here is the caller graph for this function:

◆ remdesk_process_receive()

static UINT remdesk_process_receive ( remdeskPlugin remdesk,
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:

◆ remdesk_read_channel_header()

static UINT remdesk_read_channel_header ( wStream s,
REMDESK_CHANNEL_HEADER header 
)
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:

◆ remdesk_recv_ctl_pdu()

static UINT remdesk_recv_ctl_pdu ( remdeskPlugin remdesk,
wStream s,
REMDESK_CHANNEL_HEADER header 
)
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:

◆ remdesk_recv_ctl_result_pdu()

static UINT remdesk_recv_ctl_result_pdu ( remdeskPlugin remdesk,
wStream s,
REMDESK_CHANNEL_HEADER header,
UINT32 *  pResult 
)
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:

◆ remdesk_recv_ctl_server_announce_pdu()

static UINT remdesk_recv_ctl_server_announce_pdu ( remdeskPlugin remdesk,
wStream s,
REMDESK_CHANNEL_HEADER header 
)
static

Function description

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

◆ remdesk_recv_ctl_version_info_pdu()

static UINT remdesk_recv_ctl_version_info_pdu ( remdeskPlugin remdesk,
wStream s,
REMDESK_CHANNEL_HEADER header 
)
static

Function description

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

◆ remdesk_send_ctl_authenticate_pdu()

static UINT remdesk_send_ctl_authenticate_pdu ( remdeskPlugin remdesk)
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:

◆ remdesk_send_ctl_expert_on_vista_pdu()

static UINT remdesk_send_ctl_expert_on_vista_pdu ( remdeskPlugin remdesk)
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:

◆ remdesk_send_ctl_remote_control_desktop_pdu()

static UINT remdesk_send_ctl_remote_control_desktop_pdu ( remdeskPlugin remdesk)
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:

◆ remdesk_send_ctl_verify_password_pdu()

static UINT remdesk_send_ctl_verify_password_pdu ( remdeskPlugin remdesk)
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:

◆ remdesk_send_ctl_version_info_pdu()

static UINT remdesk_send_ctl_version_info_pdu ( remdeskPlugin remdesk)
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:

◆ remdesk_virtual_channel_client_thread()

static DWORD WINAPI remdesk_virtual_channel_client_thread ( LPVOID  arg)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remdesk_virtual_channel_event_connected()

static UINT remdesk_virtual_channel_event_connected ( remdeskPlugin remdesk,
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:

◆ remdesk_virtual_channel_event_data_received()

static UINT remdesk_virtual_channel_event_data_received ( remdeskPlugin remdesk,
const 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:

◆ remdesk_virtual_channel_event_disconnected()

static UINT remdesk_virtual_channel_event_disconnected ( remdeskPlugin remdesk)
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:

◆ remdesk_virtual_channel_event_terminated()

static void remdesk_virtual_channel_event_terminated ( remdeskPlugin remdesk)
static
Here is the caller graph for this function:

◆ remdesk_virtual_channel_init_event_ex()

static VOID VCAPITYPE remdesk_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:

◆ remdesk_virtual_channel_open_event_ex()

static VOID VCAPITYPE remdesk_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:

◆ remdesk_virtual_channel_write()

static UINT remdesk_virtual_channel_write ( remdeskPlugin remdesk,
wStream s 
)
static

FreeRDP: A Remote Desktop Protocol Implementation Remote Assistance Virtual Channel

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com 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

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. 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:

◆ remdesk_write_channel_header()

static UINT remdesk_write_channel_header ( wStream s,
REMDESK_CHANNEL_HEADER header 
)
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:

◆ remdesk_write_ctl_header()

static UINT remdesk_write_ctl_header ( wStream s,
REMDESK_CTL_HEADER ctlHeader 
)
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: