diff --git a/.gitmodules b/.gitmodules index b514e468b..f2cf83d13 100644 --- a/.gitmodules +++ b/.gitmodules @@ -65,3 +65,6 @@ [submodule "project/jni/application/basiliskii/basiliskii"] path = project/jni/application/basiliskii/basiliskii url = git@github.com:pelya/BasiliskII-android.git +[submodule "project/jni/vncserver/src"] + path = project/jni/vncserver/src + url = git@github.com:LibVNC/libvncserver.git diff --git a/project/jni/vncserver/Android.mk b/project/jni/vncserver/Android.mk new file mode 100644 index 000000000..ada6839e1 --- /dev/null +++ b/project/jni/vncserver/Android.mk @@ -0,0 +1,64 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LIBVNCSERVER_ROOT:=src + +LIBVNCSERVER_SRC_FILES:= \ + $(LIBVNCSERVER_ROOT)/libvncserver/main.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/rfbserver.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/rfbregion.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/auth.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/sockets.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/stats.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/corre.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/rfbssl_openssl.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/rfbcrypto_openssl.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/hextile.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/rre.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/translate.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/cutpaste.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/httpd.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/cursor.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/font.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/draw.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/websockets.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/selbox.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/cargs.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/ultra.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/scale.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/zlib.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/zrle.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/zrleoutstream.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/zrlepalettehelper.c \ + $(LIBVNCSERVER_ROOT)/libvncserver/tight.c \ + $(LIBVNCSERVER_ROOT)/common/d3des.c \ + $(LIBVNCSERVER_ROOT)/common/vncauth.c \ + $(LIBVNCSERVER_ROOT)/common/minilzo.c \ + $(LIBVNCSERVER_ROOT)/common/zywrletemplate.c \ + $(LIBVNCSERVER_ROOT)/common/turbojpeg.c + +LOCAL_CFLAGS += -Wall \ + -O3 \ + -DLIBVNCSERVER_WITH_WEBSOCKETS \ + -DLIBVNCSERVER_HAVE_LIBPNG \ + -DLIBVNCSERVER_HAVE_ZLIB \ + -DLIBVNCSERVER_HAVE_LIBJPEG \ + -I$(LOCAL_PATH)/include \ + -I$(LOCAL_PATH)/src \ + -I$(LOCAL_PATH)/src/common \ + -I$(LOCAL_PATH)/src/libvncserver \ + -I$(LOCAL_PATH)/../jpeg/include \ + -I$(LOCAL_PATH)/../png/include \ + -I$(LOCAL_PATH)/../crypto/include \ + +LOCAL_LDLIBS += -llog -lz -ldl + +LOCAL_SRC_FILES += $(LIBVNCSERVER_SRC_FILES) + +LOCAL_C_INCLUDES += include + +LOCAL_STATIC_LIBRARIES := jpeg png ssl crypto + +LOCAL_MODULE := vncserver + +include $(BUILD_SHARED_LIBRARY) diff --git a/project/jni/vncserver/include/rfb/default8x16.h b/project/jni/vncserver/include/rfb/default8x16.h new file mode 120000 index 000000000..547224015 --- /dev/null +++ b/project/jni/vncserver/include/rfb/default8x16.h @@ -0,0 +1 @@ +../../src/rfb/default8x16.h \ No newline at end of file diff --git a/project/jni/vncserver/include/rfb/keysym.h b/project/jni/vncserver/include/rfb/keysym.h new file mode 120000 index 000000000..690de3741 --- /dev/null +++ b/project/jni/vncserver/include/rfb/keysym.h @@ -0,0 +1 @@ +../../src/rfb/keysym.h \ No newline at end of file diff --git a/project/jni/vncserver/include/rfb/rfb.h b/project/jni/vncserver/include/rfb/rfb.h new file mode 120000 index 000000000..a9d517b02 --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfb.h @@ -0,0 +1 @@ +../../src/rfb/rfb.h \ No newline at end of file diff --git a/project/jni/vncserver/include/rfb/rfbclient.h b/project/jni/vncserver/include/rfb/rfbclient.h new file mode 120000 index 000000000..967325076 --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfbclient.h @@ -0,0 +1 @@ +../../src/rfb/rfbclient.h \ No newline at end of file diff --git a/project/jni/vncserver/include/rfb/rfbconfig.h b/project/jni/vncserver/include/rfb/rfbconfig.h new file mode 100644 index 000000000..39dd71353 --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfbconfig.h @@ -0,0 +1,425 @@ +#ifndef _RFB_RFBCONFIG_H +#define _RFB_RFBCONFIG_H 1 + +/* rfb/rfbconfig.h. Generated automatically at end of configure. */ +/* rfbconfig.h. Generated from rfbconfig.h.in by configure. */ +/* rfbconfig.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Enable 24 bit per pixel in native framebuffer */ +#ifndef LIBVNCSERVER_ALLOW24BPP +#define LIBVNCSERVER_ALLOW24BPP 1 +#endif + +/* Build libva support */ +/* #undef CONFIG_LIBVA */ + +/* work around when write() returns ENOENT but does not mean it */ +/* #undef ENOENT_WORKAROUND */ + +/* Use ffmpeg (for vnc2mpg) */ +/* #undef FFMPEG */ + +/* Android host system detected */ +#ifndef LIBVNCSERVER_HAVE_ANDROID +#define LIBVNCSERVER_HAVE_ANDROID 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_ARPA_INET_H +#define LIBVNCSERVER_HAVE_ARPA_INET_H 1 +#endif + +/* Define to 1 if you have the `crypt' function. */ +/* #undef HAVE_CRYPT */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_DLFCN_H +#define LIBVNCSERVER_HAVE_DLFCN_H 1 +#endif + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_ENDIAN_H +#define LIBVNCSERVER_HAVE_ENDIAN_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_FCNTL_H +#define LIBVNCSERVER_HAVE_FCNTL_H 1 +#endif + +/* Define to 1 if you have the `fork' function. */ +/* #undef HAVE_FORK */ + +/* Define to 1 if you have the `ftime' function. */ +/* #undef HAVE_FTIME */ + +/* Define to 1 if you have the `gethostbyname' function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define to 1 if you have the `gethostname' function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define to 1 if you have the `gettimeofday' function. */ +/* #undef HAVE_GETTIMEOFDAY */ + +/* GnuTLS library present */ +#ifndef LIBVNCSERVER_HAVE_GNUTLS +#define LIBVNCSERVER_HAVE_GNUTLS 1 +#endif + +/* Define to 1 if you have the `inet_ntoa' function. */ +/* #undef HAVE_INET_NTOA */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_INTTYPES_H +#define LIBVNCSERVER_HAVE_INTTYPES_H 1 +#endif + +/* libcrypt library present */ +/* #undef HAVE_LIBCRYPT */ + +/* openssl libcrypto library present */ +#ifndef LIBVNCSERVER_HAVE_LIBCRYPTO +#define LIBVNCSERVER_HAVE_LIBCRYPTO 1 +#endif + +/* Define to 1 if you have the `cygipc' library (-lcygipc). */ +/* #undef HAVE_LIBCYGIPC */ + +/* libjpeg support enabled */ +#ifndef LIBVNCSERVER_HAVE_LIBJPEG +#define LIBVNCSERVER_HAVE_LIBJPEG 1 +#endif + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +/* #undef HAVE_LIBNSL */ + +/* Define to 1 if you have the `png' library (-lpng). */ +#ifndef LIBVNCSERVER_HAVE_LIBPNG +#define LIBVNCSERVER_HAVE_LIBPNG 1 +#endif + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#ifndef LIBVNCSERVER_HAVE_LIBPTHREAD +#define LIBVNCSERVER_HAVE_LIBPTHREAD 1 +#endif + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* openssl libssl library present */ +#ifndef LIBVNCSERVER_HAVE_LIBSSL +#define LIBVNCSERVER_HAVE_LIBSSL 1 +#endif + +/* Define to 1 if you have the `z' library (-lz). */ +#ifndef LIBVNCSERVER_HAVE_LIBZ +#define LIBVNCSERVER_HAVE_LIBZ 1 +#endif + +/* Define to 1 if you have the `memmove' function. */ +/* #undef HAVE_MEMMOVE */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_MEMORY_H +#define LIBVNCSERVER_HAVE_MEMORY_H 1 +#endif + +/* Define to 1 if you have the `memset' function. */ +/* #undef HAVE_MEMSET */ + +/* Define to 1 if you have the `mkfifo' function. */ +/* #undef HAVE_MKFIFO */ + +/* Define to 1 if you have the `mmap' function. */ +/* #undef HAVE_MMAP */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_NETDB_H +#define LIBVNCSERVER_HAVE_NETDB_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_NETINET_IN_H +#define LIBVNCSERVER_HAVE_NETINET_IN_H 1 +#endif + +/* Define to 1 if you have the `select' function. */ +/* #undef HAVE_SELECT */ + +/* Define to 1 if you have the `socket' function. */ +/* #undef HAVE_SOCKET */ + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#ifndef LIBVNCSERVER_HAVE_STAT_EMPTY_STRING_BUG +#define LIBVNCSERVER_HAVE_STAT_EMPTY_STRING_BUG 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_STDINT_H +#define LIBVNCSERVER_HAVE_STDINT_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_STDLIB_H +#define LIBVNCSERVER_HAVE_STDLIB_H 1 +#endif + +/* Define to 1 if you have the `strchr' function. */ +/* #undef HAVE_STRCHR */ + +/* Define to 1 if you have the `strcspn' function. */ +/* #undef HAVE_STRCSPN */ + +/* Define to 1 if you have the `strdup' function. */ +/* #undef HAVE_STRDUP */ + +/* Define to 1 if you have the `strerror' function. */ +/* #undef HAVE_STRERROR */ + +/* Define to 1 if you have the `strftime' function. */ +/* #undef HAVE_STRFTIME */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_STRINGS_H +#define LIBVNCSERVER_HAVE_STRINGS_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_STRING_H +#define LIBVNCSERVER_HAVE_STRING_H 1 +#endif + +/* Define to 1 if you have the `strstr' function. */ +/* #undef HAVE_STRSTR */ + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYSLOG_H +#define LIBVNCSERVER_HAVE_SYSLOG_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_ENDIAN_H +#define LIBVNCSERVER_HAVE_SYS_ENDIAN_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_SOCKET_H +#define LIBVNCSERVER_HAVE_SYS_SOCKET_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_STAT_H +#define LIBVNCSERVER_HAVE_SYS_STAT_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_TIMEB_H +#define LIBVNCSERVER_HAVE_SYS_TIMEB_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_TIME_H +#define LIBVNCSERVER_HAVE_SYS_TIME_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_SYS_TYPES_H +#define LIBVNCSERVER_HAVE_SYS_TYPES_H 1 +#endif + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef LIBVNCSERVER_HAVE_SYS_WAIT_H +#define LIBVNCSERVER_HAVE_SYS_WAIT_H 1 +#endif + +/* Define to 1 if compiler supports __thread */ +#ifndef LIBVNCSERVER_HAVE_TLS +#define LIBVNCSERVER_HAVE_TLS 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef LIBVNCSERVER_HAVE_UNISTD_H +#define LIBVNCSERVER_HAVE_UNISTD_H 1 +#endif + +/* Define to 1 if you have the `vfork' function. */ +/* #undef HAVE_VFORK */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vprintf' function. */ +/* #undef HAVE_VPRINTF */ + +/* Define to 1 if `fork' works. */ +/* #undef HAVE_WORKING_FORK */ + +/* Define to 1 if `vfork' works. */ +/* #undef HAVE_WORKING_VFORK */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WS2TCPIP_H */ + +/* open ssl X509_print_ex_fp available */ +/* #undef HAVE_X509_PRINT_EX_FP */ + +/* Enable IPv6 support */ +/* #undef IPv6 */ + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef LIBVNCSERVER_LT_OBJDIR +#define LIBVNCSERVER_LT_OBJDIR ".libs/" +#endif + +/* Need a typedef for in_addr_t */ +#ifndef LIBVNCSERVER_NEED_INADDR_T +#define LIBVNCSERVER_NEED_INADDR_T 1 +#endif + +/* Name of package */ +#ifndef LIBVNCSERVER_PACKAGE +#define LIBVNCSERVER_PACKAGE "libvncserver" +#endif + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef LIBVNCSERVER_PACKAGE_BUGREPORT +#define LIBVNCSERVER_PACKAGE_BUGREPORT "https://github.com/LibVNC/libvncserver" +#endif + +/* Define to the full name of this package. */ +#ifndef LIBVNCSERVER_PACKAGE_NAME +#define LIBVNCSERVER_PACKAGE_NAME "LibVNCServer" +#endif + +/* Define to the full name and version of this package. */ +#ifndef LIBVNCSERVER_PACKAGE_STRING +#define LIBVNCSERVER_PACKAGE_STRING "LibVNCServer 0.9.10" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef LIBVNCSERVER_PACKAGE_TARNAME +#define LIBVNCSERVER_PACKAGE_TARNAME "libvncserver" +#endif + +/* Define to the home page for this package. */ +#ifndef LIBVNCSERVER_PACKAGE_URL +#define LIBVNCSERVER_PACKAGE_URL "" +#endif + +/* Define to the version of this package. */ +#ifndef LIBVNCSERVER_PACKAGE_VERSION +#define LIBVNCSERVER_PACKAGE_VERSION "0.9.10" +#endif + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void*', as computed by sizeof. */ +/* #undef SIZEOF_VOIDP */ + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef LIBVNCSERVER_STDC_HEADERS +#define LIBVNCSERVER_STDC_HEADERS 1 +#endif + +/* Define to 1 if you can safely include both and . */ +#ifndef LIBVNCSERVER_TIME_WITH_SYS_TIME +#define LIBVNCSERVER_TIME_WITH_SYS_TIME 1 +#endif + +/* Version number of package */ +#ifndef LIBVNCSERVER_VERSION +#define LIBVNCSERVER_VERSION "0.9.10" +#endif + +/* LibVNCServer major version */ +#ifndef LIBVNCSERVER_VERSION_MAJOR +#define LIBVNCSERVER_VERSION_MAJOR 0 +#endif + +/* LibVNCServer minor version */ +#ifndef LIBVNCSERVER_VERSION_MINOR +#define LIBVNCSERVER_VERSION_MINOR 9 +#endif + +/* LibVNCServer patchlevel */ +#ifndef LIBVNCSERVER_VERSION_PATCHLEVEL +#define LIBVNCSERVER_VERSION_PATCHLEVEL 10 +#endif + +/* Enable support for libgcrypt in libvncclient */ +/* #undef WITH_CLIENT_GCRYPT */ + +/* Disable TightVNCFileTransfer protocol */ +#ifndef LIBVNCSERVER_WITH_TIGHTVNC_FILETRANSFER +#define LIBVNCSERVER_WITH_TIGHTVNC_FILETRANSFER 1 +#endif + +/* Disable WebSockets support */ +#ifndef LIBVNCSERVER_WITH_WEBSOCKETS +#define LIBVNCSERVER_WITH_WEBSOCKETS 1 +#endif + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Substitute for socklen_t */ +/* #undef socklen_t */ + +/* Define as `fork' if `vfork' does not work. */ +#ifndef _libvncserver_vfork +#define _libvncserver_vfork fork +#endif + +#define LIBVNCSERVER_HAVE_GETTIMEOFDAY 1 + +#include + +/* once: _RFB_RFBCONFIG_H */ +#endif diff --git a/project/jni/vncserver/include/rfb/rfbint.h b/project/jni/vncserver/include/rfb/rfbint.h new file mode 100644 index 000000000..45a7558c3 --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfbint.h @@ -0,0 +1,364 @@ +#ifndef _LIBVNCSERVER_RFB_RFBINT_H +#define _LIBVNCSERVER_RFB_RFBINT_H 1 +#ifndef _GENERATED_STDINT_H +#define _GENERATED_STDINT_H "libvncserver 0.9.10" +/* generated using gnu compiler arm-linux-androideabi-gcc (GCC) 4.8 */ + +/* ................... shortcircuit part ........................... */ + +#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H +#include +#else +#include + +/* .................... configured part ............................ */ + +/* whether we have a C99 compatible stdint header file */ +#define _STDINT_HEADER_INTPTR "stdint.h" +/* whether we have a C96 compatible inttypes header file */ +/* #undef _STDINT_HEADER_UINT32 */ +/* whether we have a BSD compatible inet types header */ +/* #undef _STDINT_HEADER_U_INT32 */ + +#include + +/* which 64bit typedef has been found */ +#define _STDINT_HAVE_UINT64_T 1 +/* #undef _STDINT_HAVE_U_INT64_T */ + +/* which type model has been detected */ +/* #undef _STDINT_CHAR_MODEL // skipped */ +/* #undef _STDINT_LONG_MODEL // skipped */ + +/* whether int_least types were detected */ +#define _STDINT_HAVE_INT_LEAST32_T 1 +/* whether int_fast types were detected */ +#define _STDINT_HAVE_INT_FAST32_T 1 +/* whether intmax_t type was detected */ +#define _STDINT_HAVE_INTMAX_T 1 + +/* .................... detections part ............................ */ + +/* whether we need to define bitspecific types from compiler base types */ +#ifndef _STDINT_HEADER_INTPTR +#ifndef _STDINT_HEADER_UINT32 +#ifndef _STDINT_HEADER_U_INT32 +#define _STDINT_NEED_INT_MODEL_T +#else +#define _STDINT_HAVE_U_INT_TYPES +#endif +#endif +#endif + +#ifdef _STDINT_HAVE_U_INT_TYPES +#undef _STDINT_NEED_INT_MODEL_T +#endif + +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif + +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif + +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif + +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif + + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif diff --git a/project/jni/vncserver/include/rfb/rfbproto.h b/project/jni/vncserver/include/rfb/rfbproto.h new file mode 120000 index 000000000..9b957708f --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfbproto.h @@ -0,0 +1 @@ +../../src/rfb/rfbproto.h \ No newline at end of file diff --git a/project/jni/vncserver/include/rfb/rfbregion.h b/project/jni/vncserver/include/rfb/rfbregion.h new file mode 120000 index 000000000..2cc254d01 --- /dev/null +++ b/project/jni/vncserver/include/rfb/rfbregion.h @@ -0,0 +1 @@ +../../src/rfb/rfbregion.h \ No newline at end of file diff --git a/project/jni/vncserver/src b/project/jni/vncserver/src new file mode 160000 index 000000000..069f8a284 --- /dev/null +++ b/project/jni/vncserver/src @@ -0,0 +1 @@ +Subproject commit 069f8a284622867cee86aa4c1639df110a315f04