FreeRDP
[MS-RDPEMSC]

Data Structures

struct  RDP_MOUSE_CURSOR_HEADER
 
struct  RDP_MOUSE_CURSOR_CAPSET
 
struct  RDP_MOUSE_CURSOR_CAPSET_VERSION1
 
struct  RDP_MOUSE_CURSOR_CAPS_ADVERTISE_PDU
 
struct  RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU
 
struct  TS_POINT16
 
struct  TS_POINTERATTRIBUTE
 
struct  TS_LARGEPOINTERATTRIBUTE
 
struct  RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU
 

Macros

#define RDPEMSC_CHANNEL_NAME   "mousecursor"
 
#define RDPEMSC_DVC_CHANNEL_NAME   "Microsoft::Windows::RDS::MouseCursor"
 
#define RDPEMSC_HEADER_SIZE   4
 

Enumerations

enum  RDP_MOUSE_CURSOR_PDUTYPE { PDUTYPE_EMSC_RESERVED = 0x00 , PDUTYPE_CS_CAPS_ADVERTISE = 0x01 , PDUTYPE_SC_CAPS_CONFIRM = 0x02 , PDUTYPE_SC_MOUSEPTR_UPDATE = 0x03 }
 
enum  TS_UPDATETYPE_MOUSEPTR {
  TS_UPDATETYPE_MOUSEPTR_SYSTEM_NULL = 0x05 , TS_UPDATETYPE_MOUSEPTR_SYSTEM_DEFAULT = 0x06 , TS_UPDATETYPE_MOUSEPTR_POSITION = 0x08 , TS_UPDATETYPE_MOUSEPTR_CACHED = 0x0A ,
  TS_UPDATETYPE_MOUSEPTR_POINTER = 0x0B , TS_UPDATETYPE_MOUSEPTR_LARGE_POINTER = 0x0C
}
 
enum  RDP_MOUSE_CURSOR_CAPVERSION { RDP_MOUSE_CURSOR_CAPVERSION_INVALID = 0x00000000 , RDP_MOUSE_CURSOR_CAPVERSION_1 = 0x00000001 }
 

Detailed Description

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.


Data Structure Documentation

◆ RDP_MOUSE_CURSOR_HEADER

struct RDP_MOUSE_CURSOR_HEADER

Definition at line 68 of file channels/rdpemsc.h.

Data Fields
RDP_MOUSE_CURSOR_PDUTYPE pduType
UINT16 reserved
TS_UPDATETYPE_MOUSEPTR updateType

◆ RDP_MOUSE_CURSOR_CAPSET

struct RDP_MOUSE_CURSOR_CAPSET

Definition at line 81 of file channels/rdpemsc.h.

Data Fields
UINT32 signature
UINT32 size
RDP_MOUSE_CURSOR_CAPVERSION version

◆ RDP_MOUSE_CURSOR_CAPSET_VERSION1

struct RDP_MOUSE_CURSOR_CAPSET_VERSION1

Definition at line 88 of file channels/rdpemsc.h.

Collaboration diagram for RDP_MOUSE_CURSOR_CAPSET_VERSION1:
Data Fields
RDP_MOUSE_CURSOR_CAPSET capsetHeader

◆ RDP_MOUSE_CURSOR_CAPS_ADVERTISE_PDU

struct RDP_MOUSE_CURSOR_CAPS_ADVERTISE_PDU

Definition at line 93 of file channels/rdpemsc.h.

Collaboration diagram for RDP_MOUSE_CURSOR_CAPS_ADVERTISE_PDU:
Data Fields
wArrayList * capsSets
RDP_MOUSE_CURSOR_HEADER header

◆ RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU

struct RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU

Definition at line 99 of file channels/rdpemsc.h.

Collaboration diagram for RDP_MOUSE_CURSOR_CAPS_CONFIRM_PDU:
Data Fields
RDP_MOUSE_CURSOR_CAPSET * capsSet
RDP_MOUSE_CURSOR_HEADER header

◆ TS_POINT16

struct TS_POINT16

Definition at line 105 of file channels/rdpemsc.h.

Data Fields
UINT16 xPos
UINT16 yPos

◆ TS_POINTERATTRIBUTE

struct TS_POINTERATTRIBUTE

Definition at line 111 of file channels/rdpemsc.h.

Collaboration diagram for TS_POINTERATTRIBUTE:
Data Fields
BYTE * andMaskData
UINT16 cacheIndex
UINT16 height
TS_POINT16 hotSpot
UINT16 lengthAndMask
UINT16 lengthXorMask
BYTE pad
UINT16 width
UINT16 xorBpp
BYTE * xorMaskData

◆ TS_LARGEPOINTERATTRIBUTE

struct TS_LARGEPOINTERATTRIBUTE

Definition at line 125 of file channels/rdpemsc.h.

Collaboration diagram for TS_LARGEPOINTERATTRIBUTE:
Data Fields
BYTE * andMaskData
UINT16 cacheIndex
UINT16 height
TS_POINT16 hotSpot
UINT32 lengthAndMask
UINT32 lengthXorMask
BYTE pad
UINT16 width
UINT16 xorBpp
BYTE * xorMaskData

◆ RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU

struct RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU

Definition at line 139 of file channels/rdpemsc.h.

Collaboration diagram for RDP_MOUSE_CURSOR_MOUSEPTR_UPDATE_PDU:
Data Fields
UINT16 * cachedPointerIndex
RDP_MOUSE_CURSOR_HEADER header
TS_LARGEPOINTERATTRIBUTE * largePointerAttribute
TS_POINTERATTRIBUTE * pointerAttribute
TS_POINT16 * position

Macro Definition Documentation

◆ RDPEMSC_CHANNEL_NAME

#define RDPEMSC_CHANNEL_NAME   "mousecursor"

The command line name of the channel

Since
version 3.0.0

Definition at line 40 of file channels/rdpemsc.h.

Enumeration Type Documentation

◆ RDP_MOUSE_CURSOR_CAPVERSION

Enumerator
RDP_MOUSE_CURSOR_CAPVERSION_1 
Since
version 3.3.0

Definition at line 75 of file channels/rdpemsc.h.

76  {
77  RDP_MOUSE_CURSOR_CAPVERSION_INVALID = 0x00000000,
78  RDP_MOUSE_CURSOR_CAPVERSION_1 = 0x00000001,
RDP_MOUSE_CURSOR_CAPVERSION
@ RDP_MOUSE_CURSOR_CAPVERSION_1