Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ProtocolTypes.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include "base/DirectionTypes.h"
11#include "base/EventTypes.h"
12
24
30
39static const int16_t kProtocolMajorVersion = 1;
40
50static const int16_t kProtocolMinorVersion = 8;
51
60static const uint16_t kDefaultPort = 24800;
61
70static const uint32_t kMaxHelloLength = 1024;
71
82static const double kKeepAliveRate = 3.0;
83
94static const double kKeepAlivesUntilDeath = 3.0;
95
102static const double kHeartRate = -1.0;
103
110static const double kHeartBeatsUntilDeath = 3.0;
111
122static constexpr uint32_t PROTOCOL_MAX_MESSAGE_LENGTH = 4 * 1024 * 1024;
123
132static constexpr uint32_t PROTOCOL_MAX_LIST_LENGTH = 1024 * 1024;
133
142static constexpr uint32_t PROTOCOL_MAX_STRING_LENGTH = 1024 * 1024;
143 // end of protocol_constants group
145
151
161{
162 inline static const auto DataStart = 1;
163 inline static const auto DataChunk = 2;
164 inline static const auto DataEnd = 3;
165};
166
182 // end of protocol_enums group
184
200
206
215extern const char *const kSynergyProtocolName;
216
225extern const char *const kBarrierProtocolName;
226
253extern const char *const kMsgHello;
254
268extern const char *const kMsgHelloArgs;
269
297extern const char *const kMsgHelloBack;
298
313extern const char *const kMsgHelloBackArgs;
314 // end of protocol_handshake group
316
322
335extern const char *const kMsgCNoop;
336
349extern const char *const kMsgCClose;
350
379extern const char *const kMsgCEnter;
380
397extern const char *const kMsgCLeave;
398
428extern const char *const kMsgCClipboard;
429
456extern const char *const kMsgCScreenSaver;
457
471extern const char *const kMsgCResetOptions;
472
487extern const char *const kMsgCInfoAck;
488
512extern const char *const kMsgCKeepAlive;
513 // end of protocol_commands group
515
521
527
555extern const char *const kMsgDKeyDownLang;
556
592extern const char *const kMsgDKeyDown;
593
611extern const char *const kMsgDKeyDown1_0;
612
641extern const char *const kMsgDKeyRepeat;
642
660extern const char *const kMsgDKeyRepeat1_0;
661
689extern const char *const kMsgDKeyUp;
690
707extern const char *const kMsgDKeyUp1_0;
708 // end of protocol_keyboard group
710
716
752extern const char *const kMsgDMouseDown;
753
775extern const char *const kMsgDMouseUp;
776
800extern const char *const kMsgDMouseMove;
801
827extern const char *const kMsgDMouseRelMove;
828
868extern const char *const kMsgDMouseWheel;
869
886extern const char *const kMsgDMouseWheel1_0;
887 // end of protocol_mouse group
889
895
933extern const char *const kMsgDClipboard;
934 // end of protocol_clipboard group
936
942
979extern const char *const kMsgDInfo;
980
1004extern const char *const kMsgDSetOptions;
1005 // end of protocol_info group
1007
1013
1051extern const char *const kMsgDFileTransfer;
1052
1082extern const char *const kMsgDDragInfo;
1083 // end of protocol_files group
1085
1091
1120extern const char *const kMsgDSecureInputNotification;
1121
1149extern const char *const kMsgDLanguageSynchronisation;
1150 // end of protocol_system group
1152 // end of protocol_data group
1154
1160
1182extern const char *const kMsgQInfo;
1183 // end of protocol_queries group
1185
1191
1219extern const char *const kMsgEIncompatible;
1220
1240extern const char *const kMsgEBusy;
1241
1265extern const char *const kMsgEUnknown;
1266
1293extern const char *const kMsgEBad;
1294 // end of protocol_errors group
1296 // end of protocol_messages group
1298
1304
1326{
1327public:
1338 int32_t m_x;
1339 int32_t m_y;
1340
1349 int32_t m_w;
1350 int32_t m_h;
1351
1358 int32_t obsolete1;
1359
1374 int32_t m_mx;
1375 int32_t m_my;
1376};
1377 // end of protocol_structures group
@ Error
For serious errors.
Definition LogLevel.h:18
Client screen information structure.
Definition ProtocolTypes.h:1326
int32_t m_w
Screen dimensions.
Definition ProtocolTypes.h:1349
int32_t obsolete1
Obsolete jump zone size.
Definition ProtocolTypes.h:1358
int32_t m_mx
Current mouse position.
Definition ProtocolTypes.h:1374
int32_t m_y
Top edge Y coordinate.
Definition ProtocolTypes.h:1339
int32_t m_my
Mouse Y position.
Definition ProtocolTypes.h:1375
int32_t m_h
Screen height in pixels.
Definition ProtocolTypes.h:1350
int32_t m_x
Screen position coordinates.
Definition ProtocolTypes.h:1338
const char *const kMsgDClipboard
Clipboard data transfer.
Definition ProtocolTypes.cpp:43
const char *const kMsgCScreenSaver
Screensaver state change.
Definition ProtocolTypes.cpp:26
const char *const kMsgCLeave
Leave screen command.
Definition ProtocolTypes.cpp:24
const char *const kMsgCResetOptions
Reset options command.
Definition ProtocolTypes.cpp:27
const char *const kMsgCInfoAck
Screen information acknowledgment.
Definition ProtocolTypes.cpp:28
const char *const kMsgCClose
Close connection command.
Definition ProtocolTypes.cpp:22
const char *const kMsgCNoop
No operation command.
Definition ProtocolTypes.cpp:21
const char *const kMsgCKeepAlive
Keep-alive message.
Definition ProtocolTypes.cpp:29
const char *const kMsgCClipboard
Clipboard grab notification.
Definition ProtocolTypes.cpp:25
const char *const kMsgCEnter
Enter screen command.
Definition ProtocolTypes.cpp:23
static const uint16_t kDefaultPort
Default TCP port for Deskflow connections.
Definition ProtocolTypes.h:60
static const int16_t kProtocolMinorVersion
Protocol minor version number.
Definition ProtocolTypes.h:50
static const double kKeepAlivesUntilDeath
Keep-alive timeout threshold.
Definition ProtocolTypes.h:94
static const double kKeepAliveRate
Keep-alive message interval in seconds.
Definition ProtocolTypes.h:82
static const uint32_t kMaxHelloLength
Maximum length for client greeting message.
Definition ProtocolTypes.h:70
static constexpr uint32_t PROTOCOL_MAX_STRING_LENGTH
Maximum allowed string length in protocol messages.
Definition ProtocolTypes.h:142
static constexpr uint32_t PROTOCOL_MAX_LIST_LENGTH
Maximum allowed list length in protocol messages.
Definition ProtocolTypes.h:132
static const double kHeartRate
Obsolete heartbeat rate (deprecated)
Definition ProtocolTypes.h:102
static constexpr uint32_t PROTOCOL_MAX_MESSAGE_LENGTH
Maximum allowed message length.
Definition ProtocolTypes.h:122
static const double kHeartBeatsUntilDeath
Obsolete heartbeat timeout (deprecated)
Definition ProtocolTypes.h:110
static const int16_t kProtocolMajorVersion
Protocol major version number.
Definition ProtocolTypes.h:39
TransferState
Data reception state codes.
Definition ProtocolTypes.h:176
@ InProgress
Reception in progress.
Definition ProtocolTypes.h:178
@ Started
Reception started.
Definition ProtocolTypes.h:177
@ Finished
Reception completed successfully.
Definition ProtocolTypes.h:179
const char *const kMsgEBusy
Client name already in use.
Definition ProtocolTypes.cpp:52
const char *const kMsgEUnknown
Unknown client name.
Definition ProtocolTypes.cpp:53
const char *const kMsgEIncompatible
Incompatible protocol versions.
Definition ProtocolTypes.cpp:51
const char *const kMsgEBad
Protocol violation.
Definition ProtocolTypes.cpp:54
const char *const kMsgDDragInfo
Drag and drop information.
Definition ProtocolTypes.cpp:47
const char *const kMsgDFileTransfer
File transfer data.
Definition ProtocolTypes.cpp:46
const char *const kBarrierProtocolName
Protocol name for Barrier compatibility.
Definition ProtocolTypes.cpp:13
const char *const kMsgHello
Server hello message.
Definition ProtocolTypes.cpp:17
const char *const kMsgHelloArgs
Format string for server hello message arguments.
Definition ProtocolTypes.cpp:18
const char *const kSynergyProtocolName
Protocol name for Synergy compatibility.
Definition ProtocolTypes.cpp:12
const char *const kMsgHelloBackArgs
Format string for client hello response arguments.
Definition ProtocolTypes.cpp:20
const char *const kMsgHelloBack
Client hello response message.
Definition ProtocolTypes.cpp:19
const char *const kMsgDSetOptions
Set client options.
Definition ProtocolTypes.cpp:45
const char *const kMsgDInfo
Client screen information.
Definition ProtocolTypes.cpp:44
const char *const kMsgDKeyDown1_0
Key press event (legacy v1.0)
Definition ProtocolTypes.cpp:32
const char *const kMsgDKeyDown
Key press event.
Definition ProtocolTypes.cpp:31
const char *const kMsgDKeyDownLang
Key press with language code (v1.8+)
Definition ProtocolTypes.cpp:30
const char *const kMsgDKeyUp
Key release event.
Definition ProtocolTypes.cpp:35
const char *const kMsgDKeyUp1_0
Key release event (legacy v1.0)
Definition ProtocolTypes.cpp:36
const char *const kMsgDKeyRepeat
Key auto-repeat event.
Definition ProtocolTypes.cpp:33
const char *const kMsgDKeyRepeat1_0
Key auto-repeat event (legacy v1.0)
Definition ProtocolTypes.cpp:34
const char *const kMsgDMouseRelMove
Relative mouse movement.
Definition ProtocolTypes.cpp:40
const char *const kMsgDMouseWheel
Mouse wheel scroll event.
Definition ProtocolTypes.cpp:41
const char *const kMsgDMouseUp
Mouse button release event.
Definition ProtocolTypes.cpp:38
const char *const kMsgDMouseMove
Absolute mouse movement.
Definition ProtocolTypes.cpp:39
const char *const kMsgDMouseWheel1_0
Mouse wheel scroll event (legacy v1.0-1.2)
Definition ProtocolTypes.cpp:42
const char *const kMsgDMouseDown
Mouse button press event.
Definition ProtocolTypes.cpp:37
const char *const kMsgQInfo
Query screen information.
Definition ProtocolTypes.cpp:50
const char *const kMsgDSecureInputNotification
Secure input notification (macOS)
Definition ProtocolTypes.cpp:48
const char *const kMsgDLanguageSynchronisation
Language synchronization.
Definition ProtocolTypes.cpp:49
File transfer data chunk types.
Definition ProtocolTypes.h:161
static const auto DataStart
Start of transfer (contains file size)
Definition ProtocolTypes.h:162
static const auto DataEnd
End of transfer (transfer complete)
Definition ProtocolTypes.h:164
static const auto DataChunk
Data chunk (contains file content)
Definition ProtocolTypes.h:163