tsol.h revision 851
606N/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
0N/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
851N/A#pragma ident "@(#)tsol.h 1.13 09/12/05 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
0N/A#define _XTSOL_SERVER
0N/A
98N/A#ifdef HAVE_DIX_CONFIG_H
98N/A#include <dix-config.h>
98N/A#endif
98N/A
98N/A#include <X11/X.h>
98N/A#include <X11/Xproto.h>
0N/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"
98N/A#include <X11/extensions/Xtsol.h>
98N/A#include <X11/extensions/Xtsolproto.h>
0N/A
0N/A#include "tsolinfo.h"
0N/A
633N/A#ifndef CALLBACK
633N/A# define CALLBACK(name) void \
633N/Aname(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
633N/A#endif
633N/A
633N/A/* tsolutils.c */
633N/Aextern void init_xtsol(void);
851N/Aextern void InitHotKey(DeviceIntPtr keybd);
705N/Aextern void HandleHotKey(DeviceIntPtr keybd);
633N/Aextern void LoadTsolConfig(void);
633N/Aextern void MakeTSOLAtoms(void);
633N/Aextern int SpecialName(const char *string, int len);
606N/Aextern TsolInfoPtr GetClientTsolInfo(ClientPtr client);
606N/Aextern bslabel_t *lookupSL_low(void);
36N/Aextern int PolyPropReadable(PropertyPtr pProp, ClientPtr client);
606N/Aextern WindowPtr TsolPointerWindow(void);
633N/Aextern int DoScreenStripeHeight(int screen_num);
633N/Aextern int AddUID(int *userid);
633N/Aextern WindowPtr AnyWindowOverlapsJustMe(WindowPtr pWin,
633N/A WindowPtr pHead, BoxPtr box);
36N/A
633N/Aextern Bool priv_win_colormap;
633N/Aextern Bool priv_win_config;
633N/Aextern Bool priv_win_devices;
633N/Aextern Bool priv_win_dga;
633N/Aextern Bool priv_win_fontpath;
633N/A
633N/Aextern WindowPtr tpwin;
633N/Aextern bclear_t SessionHI; /* HI Clearance */
633N/Aextern bclear_t SessionLO; /* LO Clearance */
633N/Aextern unsigned int StripeHeight;
633N/Aextern bslabel_t PublicObjSL;
633N/A
633N/Aextern Atom tsol_lastAtom;
633N/Aextern int tsol_nodelength;
633N/Aextern TsolNodePtr tsol_node;
633N/A
633N/A
633N/A/* tsolextension.c */
633N/Aextern void TsolExtensionInit(void);
633N/Aextern int tsolMultiLevel;
633N/Aextern int (*TsolSavedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
633N/Aextern int (*TsolSavedSwappedProcVector[PROCVECTORSIZE])(ClientPtr /*client*/);
614N/A
633N/A/* tsolprotocol.c */
799N/Aextern void UpdateTsolNode(Atom thisAtom, ClientPtr client);
633N/Aextern int TsolChangeWindowProperty(ClientPtr, WindowPtr, Atom, Atom, int, int,
633N/A unsigned long, pointer, Bool);
633N/Aextern int TsolDeleteProperty(ClientPtr, WindowPtr, Atom);
633N/Aextern int TsolInitWindow(ClientPtr, WindowPtr);
679N/Aextern int TsolInitPixmap(ClientPtr, PixmapPtr);
633N/Aextern void TsolDeleteClientFromAnySelections(ClientPtr);
633N/Aextern void TsolDeleteWindowFromAnySelections(WindowPtr);
633N/A
633N/Aextern int ProcTsolInternAtom(ClientPtr client);
799N/Aextern int ProcTsolGetAtomName(ClientPtr client);
633N/Aextern int ProcTsolSetSelectionOwner(ClientPtr client);
633N/Aextern int ProcTsolGetSelectionOwner(ClientPtr client);
633N/Aextern int ProcTsolConvertSelection(ClientPtr client);
633N/Aextern int ProcTsolGetProperty(ClientPtr client);
633N/Aextern int ProcTsolListProperties(ClientPtr client);
633N/Aextern int ProcTsolChangeKeyboardMapping(ClientPtr client);
633N/Aextern int ProcTsolSetPointerMapping(ClientPtr client);
633N/Aextern int ProcTsolChangeKeyboardControl(ClientPtr client);
633N/Aextern int ProcTsolBell(ClientPtr client);
633N/Aextern int ProcTsolChangePointerControl(ClientPtr client);
633N/Aextern int ProcTsolSetModifierMapping(ClientPtr client);
633N/A
633N/Aextern int ProcTsolCreateWindow(ClientPtr client);
633N/Aextern int ProcTsolChangeWindowAttributes(ClientPtr client);
633N/Aextern int ProcTsolConfigureWindow(ClientPtr client);
633N/Aextern int ProcTsolCirculateWindow(ClientPtr client);
633N/Aextern int ProcTsolReparentWindow(ClientPtr client);
633N/Aextern int ProcTsolSetInputFocus(ClientPtr client);
633N/Aextern int ProcTsolGetInputFocus(ClientPtr client);
633N/Aextern int ProcTsolSendEvent(ClientPtr client);
633N/Aextern int ProcTsolSetInputFocus(ClientPtr client);
633N/Aextern int ProcTsolGetInputFocus(ClientPtr client);
633N/Aextern int ProcTsolGetGeometry(ClientPtr client);
633N/Aextern int ProcTsolGrabServer(ClientPtr client);
633N/Aextern int ProcTsolUngrabServer(ClientPtr client);
633N/Aextern int ProcTsolCreatePixmap(ClientPtr client);
633N/Aextern int ProcTsolSetScreenSaver(ClientPtr client);
633N/Aextern int ProcTsolChangeHosts(ClientPtr client);
633N/Aextern int ProcTsolChangeAccessControl(ClientPtr client);
633N/Aextern int ProcTsolKillClient(ClientPtr client);
633N/Aextern int ProcTsolSetFontPath(ClientPtr client);
633N/Aextern int ProcTsolChangeCloseDownMode(ClientPtr client);
633N/Aextern int ProcTsolListInstalledColormaps(ClientPtr client);
633N/Aextern int ProcTsolGetImage(ClientPtr client);
633N/Aextern int ProcTsolQueryTree(ClientPtr client);
633N/Aextern int ProcTsolQueryPointer(ClientPtr client);
633N/Aextern int ProcTsolQueryExtension(ClientPtr client);
633N/Aextern int ProcTsolListExtensions(ClientPtr client);
633N/Aextern int ProcTsolMapWindow(ClientPtr client);
633N/Aextern int ProcTsolMapSubwindows(ClientPtr client);
633N/Aextern int ProcTsolCopyArea(ClientPtr client);
633N/Aextern int ProcTsolCopyPlane(ClientPtr client);
633N/Aextern int ProcTsolPolySegment(ClientPtr client);
633N/Aextern int ProcTsolPolyRectangle(ClientPtr client);
633N/A
633N/Aextern int TsolPanoramiXGetGeometry(ClientPtr client);
633N/A
633N/Aextern CALLBACK(TsolAuditStart);
633N/Aextern CALLBACK(TsolAuditEnd);