handle configurable zoom buttons
[presencevnc] / libvnc / libvncserver / tightvnc-filetransfer / rfbtightproto.h
diff --git a/libvnc/libvncserver/tightvnc-filetransfer/rfbtightproto.h b/libvnc/libvncserver/tightvnc-filetransfer/rfbtightproto.h
deleted file mode 100644 (file)
index ef683ae..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * Copyright (c) 2005 Novell, Inc.
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail,
- * you may find current contact information at www.novell.com 
- *
- * Author              : Rohit Kumar
- * Email ID    : rokumar@novell.com
- * Date                : 25th August 2005
- */
-
-#ifndef RFBTIGHTPROTO_H
-#define RFBTIGHTPROTO_H
-
-#include <rfb/rfb.h>
-#include <limits.h>
-
-/* PATH_MAX is not defined in limits.h on some platforms */
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-
-#define rfbSecTypeTight 16
-
-void rfbTightUsage(void);
-int rfbTightProcessArgs(int argc, char *argv[]);
-
-/*-----------------------------------------------------------------------------
- * Negotiation of Tunneling Capabilities (protocol version 3.7t)
- *
- * If the chosen security type is rfbSecTypeTight, the server sends a list of
- * supported tunneling methods ("tunneling" refers to any additional layer of
- * data transformation, such as encryption or external compression.)
- *
- * nTunnelTypes specifies the number of following rfbCapabilityInfo structures
- * that list all supported tunneling methods in the order of preference.
- *
- * NOTE: If nTunnelTypes is 0, that tells the client that no tunneling can be
- * used, and the client should not send a response requesting a tunneling
- * method.
- */
-
-typedef struct _rfbTunnelingCapsMsg {
-    uint32_t nTunnelTypes;
-    /* followed by nTunnelTypes * rfbCapabilityInfo structures */
-} rfbTunnelingCapsMsg;
-
-#define sz_rfbTunnelingCapsMsg 4
-
-/*-----------------------------------------------------------------------------
- * Tunneling Method Request (protocol version 3.7t)
- *
- * If the list of tunneling capabilities sent by the server was not empty, the
- * client should reply with a 32-bit code specifying a particular tunneling
- * method.  The following code should be used for no tunneling.
- */
-
-#define rfbNoTunneling 0
-#define sig_rfbNoTunneling "NOTUNNEL"
-
-
-/*-----------------------------------------------------------------------------
- * Negotiation of Authentication Capabilities (protocol version 3.7t)
- *
- * After setting up tunneling, the server sends a list of supported
- * authentication schemes.
- *
- * nAuthTypes specifies the number of following rfbCapabilityInfo structures
- * that list all supported authentication schemes in the order of preference.
- *
- * NOTE: If nAuthTypes is 0, that tells the client that no authentication is
- * necessary, and the client should not send a response requesting an
- * authentication scheme.
- */
-
-typedef struct _rfbAuthenticationCapsMsg {
-    uint32_t nAuthTypes;
-    /* followed by nAuthTypes * rfbCapabilityInfo structures */
-} rfbAuthenticationCapsMsg;
-
-#define sz_rfbAuthenticationCapsMsg 4
-
-/*-----------------------------------------------------------------------------
- * Authentication Scheme Request (protocol version 3.7t)
- *
- * If the list of authentication capabilities sent by the server was not empty,
- * the client should reply with a 32-bit code specifying a particular
- * authentication scheme.  The following codes are supported.
- */
-
-#define rfbAuthNone 1
-#define rfbAuthVNC 2
-#define rfbAuthUnixLogin 129
-#define rfbAuthExternal 130
-
-#define sig_rfbAuthNone "NOAUTH__"
-#define sig_rfbAuthVNC "VNCAUTH_"
-#define sig_rfbAuthUnixLogin "ULGNAUTH"
-#define sig_rfbAuthExternal "XTRNAUTH"
-
-/*-----------------------------------------------------------------------------
- * Structure used to describe protocol options such as tunneling methods,
- * authentication schemes and message types (protocol version 3.7t).
- */
-
-typedef struct _rfbCapabilityInfo {
-
-    uint32_t  code;            /* numeric identifier */
-    uint8_t    vendorSignature[4];     /* vendor identification */
-    uint8_t    nameSignature[8];       /* abbreviated option name */
-
-} rfbCapabilityInfo;
-
-#define sz_rfbCapabilityInfoVendor 4
-#define sz_rfbCapabilityInfoName 8
-#define sz_rfbCapabilityInfo 16
-
-/*
- * Vendors known by TightVNC: standard VNC/RealVNC, TridiaVNC, and TightVNC.
- */
-
-#define rfbStandardVendor "STDV"
-#define rfbTridiaVncVendor "TRDV"
-#define rfbTightVncVendor "TGHT"
-
-
-/* It's a good idea to keep these values a bit greater than required. */
-#define MAX_TIGHT_ENCODINGS 10
-#define MAX_TUNNELING_CAPS 16
-#define MAX_AUTH_CAPS 16
-
-typedef struct _rfbClientFileDownload {
-       char fName[PATH_MAX];
-       int downloadInProgress;
-       unsigned long mTime;
-       int downloadFD;
-} rfbClientFileDownload ;
-
-typedef struct _rfbClientFileUpload {
-       char fName[PATH_MAX];
-       int uploadInProgress;
-       unsigned long mTime;
-       unsigned long fSize;
-       int uploadFD;
-} rfbClientFileUpload ;
-
-typedef struct _rfbClientFileTransfer {
-       rfbClientFileDownload rcfd;
-       rfbClientFileUpload rcfu;
-} rfbClientFileTransfer;
-
-
-typedef struct _rfbTightClientRec {
-
-    /* Lists of capability codes sent to clients. We remember these
-       lists to restrict clients from choosing those tunneling and
-       authentication types that were not advertised. */
-
-    int nAuthCaps;
-    uint32_t authCaps[MAX_AUTH_CAPS];
-
-    /* This is not useful while we don't support tunneling:
-    int nTunnelingCaps;
-    uint32_t tunnelingCaps[MAX_TUNNELING_CAPS]; */
-
-    rfbClientFileTransfer rcft;
-
-} rfbTightClientRec, *rfbTightClientPtr;
-
-/*
- * Macro to fill in an rfbCapabilityInfo structure (protocol 3.7t).
- * Normally, using macros is no good, but this macro saves us from
- * writing constants twice -- it constructs signature names from codes.
- * Note that "code_sym" argument should be a single symbol, not an expression.
- */
-
-#define SetCapInfo(cap_ptr, code_sym, vendor)          \
-{                                                      \
-    rfbCapabilityInfo *pcap;                           \
-    pcap = (cap_ptr);                                  \
-    pcap->code = Swap32IfLE(code_sym);                 \
-    memcpy(pcap->vendorSignature, (vendor),            \
-          sz_rfbCapabilityInfoVendor);                 \
-    memcpy(pcap->nameSignature, sig_##code_sym,                \
-          sz_rfbCapabilityInfoName);                   \
-}
-
-void rfbHandleSecTypeTight(rfbClientPtr cl);
-
-
-/*-----------------------------------------------------------------------------
- * Server Interaction Capabilities Message (protocol version 3.7t)
- *
- * In the protocol version 3.7t, the server informs the client what message
- * types it supports in addition to ones defined in the protocol version 3.7.
- * Also, the server sends the list of all supported encodings (note that it's
- * not necessary to advertise the "raw" encoding sinse it MUST be supported in
- * RFB 3.x protocols).
- *
- * This data immediately follows the server initialisation message.
- */
-
-typedef struct _rfbInteractionCapsMsg {
-    uint16_t nServerMessageTypes;
-    uint16_t nClientMessageTypes;
-    uint16_t nEncodingTypes;
-    uint16_t pad;                      /* reserved, must be 0 */
-    /* followed by nServerMessageTypes * rfbCapabilityInfo structures */
-    /* followed by nClientMessageTypes * rfbCapabilityInfo structures */
-} rfbInteractionCapsMsg;
-
-#define sz_rfbInteractionCapsMsg 8
-
-#define rfbFileListData 130
-#define rfbFileDownloadData 131
-#define rfbFileUploadCancel 132
-#define rfbFileDownloadFailed 133
-
-/* signatures for non-standard messages */
-#define sig_rfbFileListData "FTS_LSDT"
-#define sig_rfbFileDownloadData "FTS_DNDT"
-#define sig_rfbFileUploadCancel "FTS_UPCN"
-#define sig_rfbFileDownloadFailed "FTS_DNFL"
-
-
-
-#define rfbFileListRequest 130
-#define rfbFileDownloadRequest 131
-#define rfbFileUploadRequest 132
-#define rfbFileUploadData 133
-#define rfbFileDownloadCancel 134
-#define rfbFileUploadFailed 135
-#define rfbFileCreateDirRequest 136
-
-/* signatures for non-standard messages */
-#define sig_rfbFileListRequest "FTC_LSRQ"
-#define sig_rfbFileDownloadRequest "FTC_DNRQ"
-#define sig_rfbFileUploadRequest "FTC_UPRQ"
-#define sig_rfbFileUploadData "FTC_UPDT"
-#define sig_rfbFileDownloadCancel "FTC_DNCN"
-#define sig_rfbFileUploadFailed "FTC_UPFL"
-#define sig_rfbFileCreateDirRequest "FTC_FCDR"
-
-
-/* signatures for basic encoding types */
-#define sig_rfbEncodingRaw       "RAW_____"
-#define sig_rfbEncodingCopyRect  "COPYRECT"
-#define sig_rfbEncodingRRE       "RRE_____"
-#define sig_rfbEncodingCoRRE     "CORRE___"
-#define sig_rfbEncodingHextile   "HEXTILE_"
-#define sig_rfbEncodingZlib      "ZLIB____"
-#define sig_rfbEncodingTight     "TIGHT___"
-#define sig_rfbEncodingZlibHex   "ZLIBHEX_"
-
-
-/* signatures for "fake" encoding types */
-#define sig_rfbEncodingCompressLevel0  "COMPRLVL"
-#define sig_rfbEncodingXCursor         "X11CURSR"
-#define sig_rfbEncodingRichCursor      "RCHCURSR"
-#define sig_rfbEncodingPointerPos      "POINTPOS"
-#define sig_rfbEncodingLastRect        "LASTRECT"
-#define sig_rfbEncodingNewFBSize       "NEWFBSIZ"
-#define sig_rfbEncodingQualityLevel0   "JPEGQLVL"
-
-
-/*-----------------------------------------------------------------------------
- * FileListRequest
- */
-
-typedef struct _rfbFileListRequestMsg {
-    uint8_t type;
-    uint8_t flags;
-    uint16_t dirNameSize;
-    /* Followed by char Dirname[dirNameSize] */
-} rfbFileListRequestMsg;
-
-#define sz_rfbFileListRequestMsg 4
-
-/*-----------------------------------------------------------------------------
- * FileDownloadRequest
- */
-
-typedef struct _rfbFileDownloadRequestMsg {
-    uint8_t type;
-    uint8_t compressedLevel;
-    uint16_t fNameSize;
-    uint32_t position;
-    /* Followed by char Filename[fNameSize] */
-} rfbFileDownloadRequestMsg;
-
-#define sz_rfbFileDownloadRequestMsg 8
-
-/*-----------------------------------------------------------------------------
- * FileUploadRequest
- */
-
-typedef struct _rfbFileUploadRequestMsg {
-    uint8_t type;
-    uint8_t compressedLevel;
-    uint16_t fNameSize;
-    uint32_t position;
-    /* Followed by char Filename[fNameSize] */
-} rfbFileUploadRequestMsg;
-
-#define sz_rfbFileUploadRequestMsg 8
-
-
-/*-----------------------------------------------------------------------------
- * FileUploadData
- */
-
-typedef struct _rfbFileUploadDataMsg {
-    uint8_t type;
-    uint8_t compressedLevel;
-    uint16_t realSize;
-    uint16_t compressedSize;
-    /* Followed by File[compressedSize], 
-       but if (realSize = compressedSize = 0) followed by uint32_t modTime  */
-} rfbFileUploadDataMsg;
-
-#define sz_rfbFileUploadDataMsg 6
-
-/*-----------------------------------------------------------------------------
- * FileDownloadCancel
- */
-
-typedef struct _rfbFileDownloadCancelMsg {
-    uint8_t type;
-    uint8_t unused;
-    uint16_t reasonLen;
-    /* Followed by reason[reasonLen] */
-} rfbFileDownloadCancelMsg;
-
-#define sz_rfbFileDownloadCancelMsg 4
-
-/*-----------------------------------------------------------------------------
- * FileUploadFailed
- */
-
-typedef struct _rfbFileUploadFailedMsg {
-    uint8_t type;
-    uint8_t unused;
-    uint16_t reasonLen;
-    /* Followed by reason[reasonLen] */
-} rfbFileUploadFailedMsg;
-
-#define sz_rfbFileUploadFailedMsg 4
-
-/*-----------------------------------------------------------------------------
- * FileCreateDirRequest
- */
-
-typedef struct _rfbFileCreateDirRequestMsg {
-    uint8_t type;
-    uint8_t unused;
-    uint16_t dNameLen;
-    /* Followed by dName[dNameLen] */
-} rfbFileCreateDirRequestMsg;
-
-#define sz_rfbFileCreateDirRequestMsg 4
-
-
-/*-----------------------------------------------------------------------------
- * Union of all client->server messages.
- */
-
-typedef union _rfbClientToServerTightMsg {
-    rfbFileListRequestMsg flr;
-    rfbFileDownloadRequestMsg fdr;
-    rfbFileUploadRequestMsg fupr;
-    rfbFileUploadDataMsg fud;
-    rfbFileDownloadCancelMsg fdc;
-    rfbFileUploadFailedMsg fuf;
-    rfbFileCreateDirRequestMsg fcdr;
-} rfbClientToServerTightMsg;
-
-
-
-/*-----------------------------------------------------------------------------
- * FileListData
- */
-
-typedef struct _rfbFileListDataMsg {
-    uint8_t type;
-    uint8_t flags;
-    uint16_t numFiles;
-    uint16_t dataSize;
-    uint16_t compressedSize;
-    /* Followed by SizeData[numFiles] */
-    /* Followed by Filenames[compressedSize] */
-} rfbFileListDataMsg;
-
-#define sz_rfbFileListDataMsg 8
-
-/*-----------------------------------------------------------------------------
- * FileDownloadData
- */
-
-typedef struct _rfbFileDownloadDataMsg {
-    uint8_t type;
-    uint8_t compressLevel;
-    uint16_t realSize;
-    uint16_t compressedSize;
-    /* Followed by File[copressedSize], 
-       but if (realSize = compressedSize = 0) followed by uint32_t modTime  */
-} rfbFileDownloadDataMsg;
-
-#define sz_rfbFileDownloadDataMsg 6
-
-
-/*-----------------------------------------------------------------------------
- * FileUploadCancel
- */
-
-typedef struct _rfbFileUploadCancelMsg {
-    uint8_t type;
-    uint8_t unused;
-    uint16_t reasonLen;
-    /* Followed by reason[reasonLen] */
-} rfbFileUploadCancelMsg;
-
-#define sz_rfbFileUploadCancelMsg 4
-
-/*-----------------------------------------------------------------------------
- * FileDownloadFailed
- */
-
-typedef struct _rfbFileDownloadFailedMsg {
-    uint8_t type;
-    uint8_t unused;
-    uint16_t reasonLen;
-    /* Followed by reason[reasonLen] */
-} rfbFileDownloadFailedMsg;
-
-#define sz_rfbFileDownloadFailedMsg 4
-
-
-
-
-#endif
-
-