tsol.h revision 679
493N/A/* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
0N/A *
0N/A * Permission is hereby granted, free of charge, to any person obtaining a
0N/A * copy of this software and associated documentation files (the
0N/A * "Software"), to deal in the Software without restriction, including
0N/A * without limitation the rights to use, copy, modify, merge, publish,
0N/A * distribute, and/or sell copies of the Software, and to permit persons
648N/A * to whom the Software is furnished to do so, provided that the above
0N/A * copyright notice(s) and this permission notice appear in all copies of
0N/A * the Software and that both the above copyright notice(s) and this
0N/A * permission notice appear in supporting documentation.
0N/A *
0N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
0N/A * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0N/A * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
0N/A * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
0N/A * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
0N/A * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
0N/A * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
0N/A * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
0N/A * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0N/A *
0N/A * Except as contained in this notice, the name of a copyright holder
0N/A * shall not be used in advertising or otherwise to promote the sale, use
0N/A * or other dealings in this Software without prior written authorization
0N/A * of the copyright holder.
0N/A */
0N/A
0N/A#pragma ident "@(#)tsol.h 1.10 09/04/02 SMI"
0N/A
0N/A/*
0N/A * tsol.h server side extension
0N/A */
0N/A
0N/A#define NEED_REPLIES
0N/A#define NEED_EVENTS
705N/A#define _XTSOL_SERVER
0N/A
0N/A#ifdef HAVE_DIX_CONFIG_H
493N/A#include <dix-config.h>
0N/A#endif
493N/A
0N/A#include <X11/X.h>
0N/A#include <X11/Xproto.h>
493N/A#include "misc.h"
0N/A#include "os.h"
0N/A#include "windowstr.h"
0N/A#include "input.h"
0N/A#include "scrnintstr.h"
0N/A#include "pixmapstr.h"
0N/A#include "extnsionst.h"
0N/A#include "dixstruct.h"
0N/A#include "gcstruct.h"
0N/A#include "propertyst.h"
0N/A#include "validate.h"
599N/A#include <X11/extensions/Xtsol.h>
599N/A#include <X11/extensions/Xtsolproto.h>
599N/A
0N/A#include "tsolinfo.h"
648N/A
0N/A#ifndef CALLBACK
0N/A# define CALLBACK(name) void \
0N/Aname(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
0N/A#endif
493N/A
0N/A/* tsolutils.c */
0N/Aextern void init_xtsol(void);
0N/Aextern void InitHotKey(HotKeyPtr hk);
0N/Aextern void HandleHotKey(void);
0N/Aextern void LoadTsolConfig(void);
0N/Aextern void MakeTSOLAtoms(void);
0N/Aextern int SpecialName(const char *string, int len);
0N/Aextern TsolInfoPtr GetClientTsolInfo(ClientPtr client);
493N/Aextern bslabel_t *lookupSL_low(void);
493N/Aextern int PolyPropReadable(PropertyPtr pProp, ClientPtr client);
599N/Aextern WindowPtr TsolPointerWindow(void);
493N/Aextern int DoScreenStripeHeight(int screen_num);
599N/Aextern int AddUID(int *userid);
493N/Aextern WindowPtr AnyWindowOverlapsJustMe(WindowPtr pWin,
493N/A WindowPtr pHead, BoxPtr box);
705N/A
705N/Aextern Bool priv_win_colormap;
705N/Aextern Bool priv_win_config;
493N/Aextern Bool priv_win_devices;
493N/Aextern Bool priv_win_dga;
493N/Aextern Bool priv_win_fontpath;
493N/A
0N/Aextern WindowPtr tpwin;
0N/Aextern bclear_t SessionHI; /* HI Clearance */
0N/Aextern bclear_t SessionLO; /* LO Clearance */
0N/Aextern unsigned int StripeHeight;
0N/Aextern bslabel_t PublicObjSL;
0N/A
0N/Aextern Atom tsol_lastAtom;
0N/Aextern int tsol_nodelength;
0N/Aextern TsolNodePtr tsol_node;
98N/A
0N/A
0N/A/* tsolextension.c */
493N/Aextern void TsolExtensionInit(void);
493N/Aextern int tsolMultiLevel;
493N/Aextern int (*TsolSavedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
493N/Aextern int (*TsolSavedSwappedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
493N/A
493N/A/* tsolprotocol.c */
493N/Aextern void UpdateTsolNode(void);
493N/Aextern int TsolChangeWindowProperty(ClientPtr, WindowPtr, Atom, Atom, int, int,
0N/A unsigned long, pointer, Bool);
585N/Aextern int TsolDeleteProperty(ClientPtr, WindowPtr, Atom);
0N/Aextern int TsolInitWindow(ClientPtr, WindowPtr);
0N/Aextern int TsolInitPixmap(ClientPtr, PixmapPtr);
0N/Aextern void TsolDeleteClientFromAnySelections(ClientPtr);
0N/Aextern void TsolDeleteWindowFromAnySelections(WindowPtr);
0N/A
0N/Aextern int ProcTsolInternAtom(ClientPtr client);
extern int ProcTsolSetSelectionOwner(ClientPtr client);
extern int ProcTsolGetSelectionOwner(ClientPtr client);
extern int ProcTsolConvertSelection(ClientPtr client);
extern int ProcTsolGetProperty(ClientPtr client);
extern int ProcTsolListProperties(ClientPtr client);
extern int ProcTsolChangeKeyboardMapping(ClientPtr client);
extern int ProcTsolSetPointerMapping(ClientPtr client);
extern int ProcTsolChangeKeyboardControl(ClientPtr client);
extern int ProcTsolBell(ClientPtr client);
extern int ProcTsolChangePointerControl(ClientPtr client);
extern int ProcTsolSetModifierMapping(ClientPtr client);
extern int ProcTsolCreateWindow(ClientPtr client);
extern int ProcTsolChangeWindowAttributes(ClientPtr client);
extern int ProcTsolConfigureWindow(ClientPtr client);
extern int ProcTsolCirculateWindow(ClientPtr client);
extern int ProcTsolReparentWindow(ClientPtr client);
extern int ProcTsolSetInputFocus(ClientPtr client);
extern int ProcTsolGetInputFocus(ClientPtr client);
extern int ProcTsolSendEvent(ClientPtr client);
extern int ProcTsolSetInputFocus(ClientPtr client);
extern int ProcTsolGetInputFocus(ClientPtr client);
extern int ProcTsolGetGeometry(ClientPtr client);
extern int ProcTsolGrabServer(ClientPtr client);
extern int ProcTsolUngrabServer(ClientPtr client);
extern int ProcTsolCreatePixmap(ClientPtr client);
extern int ProcTsolSetScreenSaver(ClientPtr client);
extern int ProcTsolChangeHosts(ClientPtr client);
extern int ProcTsolChangeAccessControl(ClientPtr client);
extern int ProcTsolKillClient(ClientPtr client);
extern int ProcTsolSetFontPath(ClientPtr client);
extern int ProcTsolChangeCloseDownMode(ClientPtr client);
extern int ProcTsolListInstalledColormaps(ClientPtr client);
extern int ProcTsolGetImage(ClientPtr client);
extern int ProcTsolQueryTree(ClientPtr client);
extern int ProcTsolQueryPointer(ClientPtr client);
extern int ProcTsolQueryExtension(ClientPtr client);
extern int ProcTsolListExtensions(ClientPtr client);
extern int ProcTsolMapWindow(ClientPtr client);
extern int ProcTsolMapSubwindows(ClientPtr client);
extern int ProcTsolCopyArea(ClientPtr client);
extern int ProcTsolCopyPlane(ClientPtr client);
extern int ProcTsolPolySegment(ClientPtr client);
extern int ProcTsolPolyRectangle(ClientPtr client);
extern int TsolPanoramiXGetGeometry(ClientPtr client);
extern CALLBACK(TsolAuditStart);
extern CALLBACK(TsolAuditEnd);