FreeRDP
mouse_cursor_main.c File Reference
#include <freerdp/config.h>
#include <freerdp/freerdp.h>
#include <freerdp/channels/log.h>
#include <freerdp/server/rdpemsc.h>

Macros

#define TAG   CHANNELS_TAG("rdpemsc.server")
 

Enumerations

enum  eMouseCursorChannelState { MOUSE_CURSOR_INITIAL , MOUSE_CURSOR_OPENED }
 

Functions

static UINT mouse_cursor_server_initialize (MouseCursorServerContext *context, BOOL externalThread)
 
static UINT mouse_cursor_server_open_channel (mouse_cursor_server *mouse_cursor)
 
static BOOL read_cap_set (wStream *s, wArrayList *capsSets)
 
static UINT mouse_cursor_server_recv_cs_caps_advertise (MouseCursorServerContext *context, wStream *s, const RDP_MOUSE_CURSOR_HEADER *header)
 
static UINT mouse_cursor_process_message (mouse_cursor_server *mouse_cursor)
 
static UINT mouse_cursor_server_context_poll_int (MouseCursorServerContext *context)
 
static HANDLE mouse_cursor_server_get_channel_handle (mouse_cursor_server *mouse_cursor)
 
static DWORD WINAPI mouse_cursor_server_thread_func (LPVOID arg)
 
static UINT mouse_cursor_server_open (MouseCursorServerContext *context)
 
static UINT mouse_cursor_server_close (MouseCursorServerContext *context)
 
static UINT mouse_cursor_server_context_poll (MouseCursorServerContext *context)
 
static BOOL mouse_cursor_server_context_handle (MouseCursorServerContext *context, HANDLE *handle)
 
static wStreammouse_cursor_server_packet_new (size_t size, RDP_MOUSE_CURSOR_PDUTYPE pduType, const RDP_MOUSE_CURSOR_HEADER *header)
 
static UINT mouse_cursor_server_packet_send (MouseCursorServerContext *context, wStream *s)
 
static UINT mouse_cursor_server_send_sc_caps_confirm (MouseCursorServerContext *context, const RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU *capsConfirm)
 
static void write_point16 (wStream *s, const TS_POINT16 *point16)
 
static UINT mouse_cursor_server_send_sc_mouseptr_update (MouseCursorServerContext *context, const RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU *mouseptrUpdate)
 
MouseCursorServerContext * mouse_cursor_server_context_new (HANDLE vcm)
 
void mouse_cursor_server_context_free (MouseCursorServerContext *context)
 

Macro Definition Documentation

◆ TAG

#define TAG   CHANNELS_TAG("rdpemsc.server")

FreeRDP: A Remote Desktop Protocol Implementation Mouse Cursor Virtual Channel Extension

Copyright 2023 Pascal Nowack Pasca.nosp@m.l.No.nosp@m.wack@.nosp@m.gmx..nosp@m.de

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.

Enumeration Type Documentation

◆ eMouseCursorChannelState

Enumerator
MOUSE_CURSOR_INITIAL 
MOUSE_CURSOR_OPENED 

Function Documentation

◆ mouse_cursor_process_message()

static UINT mouse_cursor_process_message ( mouse_cursor_server *  mouse_cursor)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_close()

static UINT mouse_cursor_server_close ( MouseCursorServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_context_free()

void mouse_cursor_server_context_free ( MouseCursorServerContext *  context)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_context_handle()

static BOOL mouse_cursor_server_context_handle ( MouseCursorServerContext *  context,
HANDLE *  handle 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_context_new()

MouseCursorServerContext* mouse_cursor_server_context_new ( HANDLE  vcm)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_context_poll()

static UINT mouse_cursor_server_context_poll ( MouseCursorServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_context_poll_int()

static UINT mouse_cursor_server_context_poll_int ( MouseCursorServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_get_channel_handle()

static HANDLE mouse_cursor_server_get_channel_handle ( mouse_cursor_server *  mouse_cursor)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_initialize()

static UINT mouse_cursor_server_initialize ( MouseCursorServerContext *  context,
BOOL  externalThread 
)
static
Here is the caller graph for this function:

◆ mouse_cursor_server_open()

static UINT mouse_cursor_server_open ( MouseCursorServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_open_channel()

static UINT mouse_cursor_server_open_channel ( mouse_cursor_server *  mouse_cursor)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_packet_new()

static wStream* mouse_cursor_server_packet_new ( size_t  size,
RDP_MOUSE_CURSOR_PDUTYPE  pduType,
const RDP_MOUSE_CURSOR_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_packet_send()

static UINT mouse_cursor_server_packet_send ( MouseCursorServerContext *  context,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_recv_cs_caps_advertise()

static UINT mouse_cursor_server_recv_cs_caps_advertise ( MouseCursorServerContext *  context,
wStream s,
const RDP_MOUSE_CURSOR_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_send_sc_caps_confirm()

static UINT mouse_cursor_server_send_sc_caps_confirm ( MouseCursorServerContext *  context,
const RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU capsConfirm 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_send_sc_mouseptr_update()

static UINT mouse_cursor_server_send_sc_mouseptr_update ( MouseCursorServerContext *  context,
const RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU mouseptrUpdate 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouse_cursor_server_thread_func()

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

◆ read_cap_set()

static BOOL read_cap_set ( wStream s,
wArrayList *  capsSets 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_point16()

static void write_point16 ( wStream s,
const TS_POINT16 point16 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: