diff options
Diffstat (limited to 'x11vnc/util.h')
-rw-r--r-- | x11vnc/util.h | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/x11vnc/util.h b/x11vnc/util.h deleted file mode 100644 index 55585cf..0000000 --- a/x11vnc/util.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - Copyright (C) 2002-2010 Karl J. Runge <runge@karlrunge.com> - All rights reserved. - -This file is part of x11vnc. - -x11vnc is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - -x11vnc 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 x11vnc; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA -or see <http://www.gnu.org/licenses/>. - -In addition, as a special exception, Karl J. Runge -gives permission to link the code of its release of x11vnc with the -OpenSSL project's "OpenSSL" library (or with modified versions of it -that use the same license as the "OpenSSL" library), and distribute -the linked executables. You must obey the GNU General Public License -in all respects for all of the code used other than "OpenSSL". If you -modify this file, you may extend this exception to your version of the -file, but you are not obligated to do so. If you do not wish to do -so, delete this exception statement from your version. -*/ - -#ifndef _X11VNC_UTIL_H -#define _X11VNC_UTIL_H - -/* -- util.h -- */ - -extern int nfix(int i, int n); -extern int nmin(int n, int m); -extern int nmax(int n, int m); -extern int nabs(int n); -extern double dabs(double x); -extern void lowercase(char *str); -extern void uppercase(char *str); -extern char *lblanks(char *str); -extern void strzero(char *str); -extern int scan_hexdec(char *str, unsigned long *num); -extern int parse_geom(char *str, int *wp, int *hp, int *xp, int *yp, int W, int H); -extern void set_env(char *name, char *value); -extern char *bitprint(unsigned int st, int nbits); -extern char *get_user_name(void); -extern char *get_home_dir(void); -extern char *get_shell(void); -extern char *this_host(void); - -extern int match_str_list(char *str, char **list); -extern char **create_str_list(char *cslist); - -extern double dtime(double *); -extern double dtime0(double *); -extern double dnow(void); -extern double dnowx(void); -extern double rnow(void); -extern double rfac(void); - -extern int rfbPE(long usec); -extern void rfbCFD(long usec); -extern double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1, - int X2, int Y2); -extern char *choose_title(char *display); - - -#define NONUL(x) ((x) ? (x) : "") - -/* - Put this in usleep2() for debug printout. - fprintf(stderr, "_mysleep: %08d %10.6f %s:%d\n", (x), dnow() - x11vnc_start, __FILE__, __LINE__); \ - */ - -/* XXX usleep(3) is not thread safe on some older systems... */ -extern struct timeval _mysleep; -#define usleep2(x) \ - _mysleep.tv_sec = (x) / 1000000; \ - _mysleep.tv_usec = (x) % 1000000; \ - select(0, NULL, NULL, NULL, &_mysleep); -#if !defined(X11VNC_USLEEP) -#undef usleep -#define usleep usleep2 -#endif - -/* - * following is based on IsModifierKey in Xutil.h -*/ -#define ismodkey(keysym) \ - ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R) && \ - ((KeySym)(keysym) != XK_Caps_Lock) && ((KeySym)(keysym) != XK_Shift_Lock))) - -/* - * When threaded we have to mutex our X11 calls to avoid XIO crashes - * due to callbacks. - */ -#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD -extern MUTEX(x11Mutex); -extern MUTEX(scrollMutex); -MUTEX(clientMutex); -MUTEX(inputMutex); -MUTEX(pointerMutex); -#endif - -#define X_INIT INIT_MUTEX(x11Mutex) - -#if 1 -#define X_LOCK LOCK(x11Mutex) -#define X_UNLOCK UNLOCK(x11Mutex) -#else -extern int hxl; -#define X_LOCK fprintf(stderr, "*** X_LOCK** %d%s %s:%d\n", \ - hxl, hxl ? " BAD-PRE-LOCK":"", __FILE__, __LINE__); LOCK(x11Mutex); hxl = 1; -#define X_UNLOCK fprintf(stderr, " x_unlock %d%s %s:%d\n", \ - hxl, !hxl ? " BAD-PRE-UNLOCK":"", __FILE__, __LINE__); UNLOCK(x11Mutex); hxl = 0; -#endif - -#define SCR_LOCK if (use_threads) {LOCK(scrollMutex);} -#define SCR_UNLOCK if (use_threads) {UNLOCK(scrollMutex);} -#define SCR_INIT INIT_MUTEX(scrollMutex) - -#define CLIENT_LOCK if (use_threads) {LOCK(clientMutex);} -#define CLIENT_UNLOCK if (use_threads) {UNLOCK(clientMutex);} -#define CLIENT_INIT INIT_MUTEX(clientMutex) - -#if 1 -#define INPUT_LOCK if (use_threads) {LOCK(inputMutex);} -#define INPUT_UNLOCK if (use_threads) {UNLOCK(inputMutex);} -#else -#define INPUT_LOCK -#define INPUT_UNLOCK -#endif -#define INPUT_INIT INIT_MUTEX(inputMutex) - -#define POINTER_LOCK if (use_threads) {LOCK(pointerMutex);} -#define POINTER_UNLOCK if (use_threads) {UNLOCK(pointerMutex);} -#define POINTER_INIT INIT_MUTEX(pointerMutex) - -/* - * The sendMutex member was added to libvncserver 0.9.8 - * rfb/rfb.h sets LIBVNCSERVER_SEND_MUTEX if present. - */ -#if LIBVNCSERVER_HAVE_LIBPTHREAD && defined(LIBVNCSERVER_SEND_MUTEX) -#define SEND_LOCK(cl) if (use_threads) LOCK((cl)->sendMutex); -#define SEND_UNLOCK(cl) if (use_threads) UNLOCK((cl)->sendMutex); -#else -#define SEND_LOCK(cl) -#define SEND_UNLOCK(cl) -#endif - -#endif /* _X11VNC_UTIL_H */ |