Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ProtocolTypes.h File Reference

Deskflow Network Protocol Specification and Implementation. More...

Include dependency graph for ProtocolTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ChunkType
 File transfer data chunk types. More...
class  ClientInfo
 Client screen information structure. More...

Enumerations

enum class  TransferState : uint8_t { TransferState::Started , TransferState::InProgress , TransferState::Finished , TransferState::Error }
 Data reception state codes. More...

Variables

static const int16_t kProtocolMajorVersion = 1
 Protocol major version number.
static const int16_t kProtocolMinorVersion = 8
 Protocol minor version number.
static const uint16_t kDefaultPort = 24800
 Default TCP port for Deskflow connections.
static const uint32_t kMaxHelloLength = 1024
 Maximum length for client greeting message.
static const double kKeepAliveRate = 3.0
 Keep-alive message interval in seconds.
static const double kKeepAlivesUntilDeath = 3.0
 Keep-alive timeout threshold.
static const double kHeartRate = -1.0
 Obsolete heartbeat rate (deprecated)
static const double kHeartBeatsUntilDeath = 3.0
 Obsolete heartbeat timeout (deprecated)
static constexpr uint32_t PROTOCOL_MAX_MESSAGE_LENGTH = 4 * 1024 * 1024
 Maximum allowed message length.
static constexpr uint32_t PROTOCOL_MAX_LIST_LENGTH = 1024 * 1024
 Maximum allowed list length in protocol messages.
static constexpr uint32_t PROTOCOL_MAX_STRING_LENGTH = 1024 * 1024
 Maximum allowed string length in protocol messages.
const char *const kSynergyProtocolName
 Protocol name for Synergy compatibility.
const char *const kBarrierProtocolName
 Protocol name for Barrier compatibility.
const char *const kMsgHello
 Server hello message.
const char *const kMsgHelloArgs
 Format string for server hello message arguments.
const char *const kMsgHelloBack
 Client hello response message.
const char *const kMsgHelloBackArgs
 Format string for client hello response arguments.
const char *const kMsgCNoop
 No operation command.
const char *const kMsgCClose
 Close connection command.
const char *const kMsgCEnter
 Enter screen command.
const char *const kMsgCLeave
 Leave screen command.
const char *const kMsgCClipboard
 Clipboard grab notification.
const char *const kMsgCScreenSaver
 Screensaver state change.
const char *const kMsgCResetOptions
 Reset options command.
const char *const kMsgCInfoAck
 Screen information acknowledgment.
const char *const kMsgCKeepAlive
 Keep-alive message.
const char *const kMsgDKeyDownLang
 Key press with language code (v1.8+)
const char *const kMsgDKeyDown
 Key press event.
const char *const kMsgDKeyDown1_0
 Key press event (legacy v1.0)
const char *const kMsgDKeyRepeat
 Key auto-repeat event.
const char *const kMsgDKeyRepeat1_0
 Key auto-repeat event (legacy v1.0)
const char *const kMsgDKeyUp
 Key release event.
const char *const kMsgDKeyUp1_0
 Key release event (legacy v1.0)
const char *const kMsgDMouseDown
 Mouse button press event.
const char *const kMsgDMouseUp
 Mouse button release event.
const char *const kMsgDMouseMove
 Absolute mouse movement.
const char *const kMsgDMouseRelMove
 Relative mouse movement.
const char *const kMsgDMouseWheel
 Mouse wheel scroll event.
const char *const kMsgDMouseWheel1_0
 Mouse wheel scroll event (legacy v1.0-1.2)
const char *const kMsgDClipboard
 Clipboard data transfer.
const char *const kMsgDInfo
 Client screen information.
const char *const kMsgDSetOptions
 Set client options.
const char *const kMsgDFileTransfer
 File transfer data.
const char *const kMsgDDragInfo
 Drag and drop information.
const char *const kMsgDSecureInputNotification
 Secure input notification (macOS)
const char *const kMsgDLanguageSynchronisation
 Language synchronization.
const char *const kMsgQInfo
 Query screen information.
const char *const kMsgEIncompatible
 Incompatible protocol versions.
const char *const kMsgEBusy
 Client name already in use.
const char *const kMsgEUnknown
 Unknown client name.
const char *const kMsgEBad
 Protocol violation.

Detailed Description

Deskflow Network Protocol Specification and Implementation.

Protocol Overview

This file defines the data types, constants, and message structures for the Deskflow network protocol. For a high-level conceptual overview of the protocol, including the distinction between Client/Server and Primary/Secondary roles, please see the Protocol Reference document.