Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/external/source/vncdll/winvnc/rfb.h
Views: 11779
// Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.1//2// This file is part of the VNC system.3//4// The VNC system is free software; you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation; either version 2 of the License, or7// (at your option) any later version.8//9// This program is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.13//14// You should have received a copy of the GNU General Public License15// along with this program; if not, write to the Free Software16// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,17// USA.18//19// TightVNC distribution homepage on the Web: http://www.tightvnc.com/20//21// If the source code for the VNC system is not available from the place22// whence you received this file, check http://www.uk.research.att.com/vnc or contact23// the authors on [email protected] for information on obtaining it.242526// rfb.h27// This includes the rfb spec header, the port numbers,28// the CARD type definitions and various useful macros.29//3031#ifndef RFB_H__32#define RFB_H__3334// Define the CARD* types as used in X11/Xmd.h3536typedef unsigned long CARD32;37typedef unsigned short CARD16;38typedef short INT16;39typedef unsigned char CARD8;4041// Define the port number offsets42#define FLASH_PORT_OFFSET 540043#define INCOMING_PORT_OFFSET 550044#define HTTP_PORT_OFFSET 580045#define RFB_PORT_OFFSET 59004647#define PORT_TO_DISPLAY(p) ( (p) - RFB_PORT_OFFSET )48#define HPORT_TO_DISPLAY(p) ( (p) - HTTP_PORT_OFFSET )49#define DISPLAY_TO_PORT(d) ( (d) + RFB_PORT_OFFSET )50#define DISPLAY_TO_HPORT(d) ( (d) + HTTP_PORT_OFFSET )5152// include the protocol spec53#include "rfbproto.h"5455// define some quick endian conversions56// change this if necessary57#define LITTLE_ENDIAN_HOST5859#ifdef LITTLE_ENDIAN_HOST6061#define Swap16IfLE(s) \62((CARD16) ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)))63#define Swap32IfLE(l) \64((CARD32) ((((l) & 0xff000000) >> 24) | \65(((l) & 0x00ff0000) >> 8) | \66(((l) & 0x0000ff00) << 8) | \67(((l) & 0x000000ff) << 24)))6869#else7071#define Swap16IfLE(s) (s)72#define Swap32IfLE(l) (l)7374#endif7576// unconditional swaps77#define Swap16(s) \78((CARD16) ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)))79#define Swap32(l) \80((CARD32) ((((l) & 0xff000000) >> 24) | \81(((l) & 0x00ff0000) >> 8) | \82(((l) & 0x0000ff00) << 8) | \83(((l) & 0x000000ff) << 24)))848586#endif878889