FreeRDP
server/remdesk_main.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <winpr/print.h>
#include <winpr/stream.h>
#include <freerdp/freerdp.h>
#include "remdesk_main.h"

Functions

static UINT remdesk_virtual_channel_write (RemdeskServerContext *context, wStream *s)
 
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_send_ctl_result_pdu (RemdeskServerContext *context, UINT32 result)
 
static UINT remdesk_send_ctl_version_info_pdu (RemdeskServerContext *context)
 
static UINT remdesk_recv_ctl_version_info_pdu (RemdeskServerContext *context, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_recv_ctl_remote_control_desktop_pdu (RemdeskServerContext *context, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_recv_ctl_authenticate_pdu (RemdeskServerContext *context, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_recv_ctl_verify_password_pdu (RemdeskServerContext *context, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_recv_ctl_pdu (RemdeskServerContext *context, wStream *s, REMDESK_CHANNEL_HEADER *header)
 
static UINT remdesk_server_receive_pdu (RemdeskServerContext *context, wStream *s)
 
static DWORD WINAPI remdesk_server_thread (LPVOID arg)
 
static UINT remdesk_server_start (RemdeskServerContext *context)
 
static UINT remdesk_server_stop (RemdeskServerContext *context)
 
RemdeskServerContext * remdesk_server_context_new (HANDLE vcm)
 
void remdesk_server_context_free (RemdeskServerContext *context)
 

Function Documentation

◆ 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_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_authenticate_pdu()

static UINT remdesk_recv_ctl_authenticate_pdu ( RemdeskServerContext *  context,
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 ( RemdeskServerContext *  context,
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_remote_control_desktop_pdu()

static UINT remdesk_recv_ctl_remote_control_desktop_pdu ( RemdeskServerContext *  context,
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_verify_password_pdu()

static UINT remdesk_recv_ctl_verify_password_pdu ( RemdeskServerContext *  context,
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_version_info_pdu()

static UINT remdesk_recv_ctl_version_info_pdu ( RemdeskServerContext *  context,
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_result_pdu()

static UINT remdesk_send_ctl_result_pdu ( RemdeskServerContext *  context,
UINT32  result 
)
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 ( RemdeskServerContext *  context)
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_server_context_free()

void remdesk_server_context_free ( RemdeskServerContext *  context)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remdesk_server_context_new()

RemdeskServerContext* remdesk_server_context_new ( HANDLE  vcm)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remdesk_server_receive_pdu()

static UINT remdesk_server_receive_pdu ( RemdeskServerContext *  context,
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_server_start()

static UINT remdesk_server_start ( RemdeskServerContext *  context)
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_server_stop()

static UINT remdesk_server_stop ( RemdeskServerContext *  context)
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_server_thread()

static DWORD WINAPI remdesk_server_thread ( LPVOID  arg)
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 ( RemdeskServerContext *  context,
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: