1088N/A/*
1088N/A * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A *
0N/A * Permission is hereby granted, free of charge, to any person obtaining a
919N/A * copy of this software and associated documentation files (the "Software"),
919N/A * to deal in the Software without restriction, including without limitation
919N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense,
919N/A * and/or sell copies of the Software, and to permit persons to whom the
919N/A * Software is furnished to do so, subject to the following conditions:
0N/A *
919N/A * The above copyright notice and this permission notice (including the next
919N/A * paragraph) shall be included in all copies or substantial portions of the
919N/A * Software.
0N/A *
919N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
919N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
919N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
919N/A * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
919N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
919N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
919N/A * DEALINGS IN THE SOFTWARE.
1088N/A */
0N/A
1088N/A#ifndef _XTSOL_SERVER_H
1088N/A#define _XTSOL_SERVER_H
0N/A
0N/A/*
0N/A * tsol.h server side extension
0N/A */
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
1088N/A#include "tsolextension.h"
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 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);
1088N/A#endif /* _XTSOL_SERVER_H */