/* 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 */
#undef ALLOW24BPP

/* work around when write() returns ENOENT but does not mean it */
#undef ENOENT_WORKAROUND

/* Use ffmpeg (for vnc2mpg) */
#undef FFMPEG

/* Android host system detected */
#undef HAVE_ANDROID

/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H

/* Avahi/mDNS client build environment present */
#undef HAVE_AVAHI

/* Define to 1 if you have the `crypt' function. */
#undef HAVE_CRYPT

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT

/* DPMS extension build environment present */
#undef HAVE_DPMS

/* FBPM extension build environment present */
#undef HAVE_FBPM

/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H

/* 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 `geteuid' function. */
#undef HAVE_GETEUID

/* 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 `getpwnam' function. */
#undef HAVE_GETPWNAM

/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID

/* Define to 1 if you have the `getspnam' function. */
#undef HAVE_GETSPNAM

/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY

/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID

/* GnuTLS library present */
#undef HAVE_GNUTLS

/* Define to 1 if you have the `grantpt' function. */
#undef HAVE_GRANTPT

/* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA

/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* IRIX XReadDisplay available */
#undef HAVE_IRIX_XREADDISPLAY

/* libcrypt library present */
#undef HAVE_LIBCRYPT

/* openssl libcrypto library present */
#undef HAVE_LIBCRYPTO

/* Define to 1 if you have the `cygipc' library (-lcygipc). */
#undef HAVE_LIBCYGIPC

/* libjpeg support enabled */
#undef HAVE_LIBJPEG

/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL

/* Define to 1 if you have the `png' library (-lpng). */
#undef HAVE_LIBPNG

/* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD

/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET

/* openssl libssl library present */
#undef HAVE_LIBSSL

/* XDAMAGE extension build environment present */
#undef HAVE_LIBXDAMAGE

/* XFIXES extension build environment present */
#undef HAVE_LIBXFIXES

/* XINERAMA extension build environment present */
#undef HAVE_LIBXINERAMA

/* XRANDR extension build environment present */
#undef HAVE_LIBXRANDR

/* DEC-XTRAP extension build environment present */
#undef HAVE_LIBXTRAP

/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ

/* linux fb device build environment present */
#undef HAVE_LINUX_FB_H

/* linux/input.h present */
#undef HAVE_LINUX_INPUT_H

/* linux uinput device build environment present */
#undef HAVE_LINUX_UINPUT_H

/* video4linux build environment present */
#undef HAVE_LINUX_VIDEODEV_H

/* build MacOS X native display support */
#undef HAVE_MACOSX_NATIVE_DISPLAY

/* MacOS X OpenGL present */
#undef HAVE_MACOSX_OPENGL_H

/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* 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 <netdb.h> header file. */
#undef HAVE_NETDB_H

/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H

/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H

/* RECORD extension build environment present */
#undef HAVE_RECORD

/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT

/* Define to 1 if you have the `setegid' function. */
#undef HAVE_SETEGID

/* Define to 1 if you have the `seteuid' function. */
#undef HAVE_SETEUID

/* Define to 1 if you have the `setgid' function. */
#undef HAVE_SETGID

/* Define to 1 if you have the `setpgrp' function. */
#undef HAVE_SETPGRP

/* Define to 1 if you have the `setsid' function. */
#undef HAVE_SETSID

/* Define to 1 if you have the `setuid' function. */
#undef HAVE_SETUID

/* Define to 1 if you have the `setutxent' function. */
#undef HAVE_SETUTXENT

/* Define to 1 if you have the `shmat' function. */
#undef HAVE_SHMAT

/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET

/* Solaris XReadScreen available */
#undef HAVE_SOLARIS_XREADSCREEN

/* Define to 1 if `stat' has the bug that it succeeds when given the
   zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* 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 <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR

/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H

/* Use the system libvncserver build environment for x11vnc. */
#undef HAVE_SYSTEM_LIBVNCSERVER

/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H

/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H

/* Define to 1 if you have the <sys/stropts.h> header file. */
#undef HAVE_SYS_STROPTS_H

/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H

/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H

/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H

/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H

/* Define to 1 if compiler supports __thread */
#undef HAVE_TLS

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the <utmpx.h> header file. */
#undef HAVE_UTMPX_H

/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK

/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H

/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF

/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID

/* 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 <ws2tcpip.h> header file. */
#undef HAVE_WS2TCPIP_H

/* X11 build environment present */
#undef HAVE_X11

/* open ssl X509_print_ex_fp available */
#undef HAVE_X509_PRINT_EX_FP

/* XKEYBOARD extension build environment present */
#undef HAVE_XKEYBOARD

/* MIT-SHM extension build environment present */
#undef HAVE_XSHM

/* XTEST extension build environment present */
#undef HAVE_XTEST

/* XTEST extension has XTestGrabControl */
#undef HAVE_XTESTGRABCONTROL

/* Enable IPv6 support */
#undef IPv6

/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
   slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK

/* Need a typedef for in_addr_t */
#undef NEED_INADDR_T

/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the home page for this package. */
#undef PACKAGE_URL

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* The number of bytes in type char */
#undef SIZEOF_CHAR

/* The number of bytes in type int */
#undef SIZEOF_INT

/* The number of bytes in type long */
#undef SIZEOF_LONG

/* The number of bytes in type short */
#undef SIZEOF_SHORT

/* The number of bytes in type void* */
#undef SIZEOF_VOIDP

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

/* Version number of package */
#undef VERSION

/* Enable support for libgcrypt in libvncclient */
#undef WITH_CLIENT_GCRYPT

/* Disable TightVNCFileTransfer protocol */
#undef WITH_TIGHTVNC_FILETRANSFER

/* Disable WebSockets support */
#undef WITH_WEBSOCKETS

/* 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 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING

/* 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 <sys/types.h> does not define. */
#undef pid_t

/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t

/* The type for socklen */
#undef socklen_t

/* Define as `fork' if `vfork' does not work. */
#undef vfork
