2 * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
24 #ifndef _XTSOL_SERVER_H
25 #define _XTSOL_SERVER_H
28 * tsol.h server side extension
32 #ifdef HAVE_DIX_CONFIG_H
33 #include <dix-config.h>
37 #include <X11/Xproto.h>
40 #include "windowstr.h"
42 #include "scrnintstr.h"
43 #include "pixmapstr.h"
44 #include "extnsionst.h"
45 #include "dixstruct.h"
47 #include "propertyst.h"
49 #include <X11/extensions/Xtsol.h>
50 #include <X11/extensions/Xtsolproto.h>
52 #include "tsolextension.h"
56 # define CALLBACK(name) void \
57 name(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
61 extern void init_xtsol(void);
62 extern void InitHotKey(DeviceIntPtr keybd
);
63 extern void HandleHotKey(DeviceIntPtr keybd
);
64 extern void LoadTsolConfig(void);
65 extern void MakeTSOLAtoms(void);
66 extern int SpecialName(const char *string
, int len
);
67 extern TsolInfoPtr
GetClientTsolInfo(ClientPtr client
);
68 extern bslabel_t
*lookupSL_low(void);
69 extern int PolyPropReadable(PropertyPtr pProp
, ClientPtr client
);
70 extern WindowPtr
TsolPointerWindow(void);
71 extern int DoScreenStripeHeight(int screen_num
);
72 extern int AddUID(int *userid
);
73 extern WindowPtr
AnyWindowOverlapsJustMe(WindowPtr pWin
,
74 WindowPtr pHead
, BoxPtr box
);
76 extern Bool priv_win_colormap
;
77 extern Bool priv_win_config
;
78 extern Bool priv_win_devices
;
79 extern Bool priv_win_dga
;
80 extern Bool priv_win_fontpath
;
82 extern WindowPtr tpwin
;
83 extern bclear_t SessionHI
; /* HI Clearance */
84 extern bclear_t SessionLO
; /* LO Clearance */
85 extern unsigned int StripeHeight
;
86 extern bslabel_t PublicObjSL
;
88 extern Atom tsol_lastAtom
;
89 extern int tsol_nodelength
;
90 extern TsolNodePtr tsol_node
;
94 extern int tsolMultiLevel
;
95 extern int (*TsolSavedProcVector
[PROCVECTORSIZE
])(ClientPtr
/*client*/);
96 extern int (*TsolSavedSwappedProcVector
[PROCVECTORSIZE
])(ClientPtr
/*client*/);
99 extern void UpdateTsolNode(Atom thisAtom
, ClientPtr client
);
100 extern int TsolChangeWindowProperty(ClientPtr
, WindowPtr
, Atom
, Atom
, int, int,
101 unsigned long, pointer
, Bool
);
102 extern int TsolDeleteProperty(ClientPtr
, WindowPtr
, Atom
);
103 extern int TsolInitWindow(ClientPtr
, WindowPtr
);
104 extern int TsolInitPixmap(ClientPtr
, PixmapPtr
);
105 extern void TsolDeleteClientFromAnySelections(ClientPtr
);
106 extern void TsolDeleteWindowFromAnySelections(WindowPtr
);
108 extern int ProcTsolInternAtom(ClientPtr client
);
109 extern int ProcTsolGetAtomName(ClientPtr client
);
110 extern int ProcTsolSetSelectionOwner(ClientPtr client
);
111 extern int ProcTsolGetSelectionOwner(ClientPtr client
);
112 extern int ProcTsolConvertSelection(ClientPtr client
);
113 extern int ProcTsolGetProperty(ClientPtr client
);
114 extern int ProcTsolListProperties(ClientPtr client
);
115 extern int ProcTsolChangeKeyboardMapping(ClientPtr client
);
116 extern int ProcTsolSetPointerMapping(ClientPtr client
);
117 extern int ProcTsolChangeKeyboardControl(ClientPtr client
);
118 extern int ProcTsolBell(ClientPtr client
);
119 extern int ProcTsolChangePointerControl(ClientPtr client
);
120 extern int ProcTsolSetModifierMapping(ClientPtr client
);
122 extern int ProcTsolCreateWindow(ClientPtr client
);
123 extern int ProcTsolChangeWindowAttributes(ClientPtr client
);
124 extern int ProcTsolConfigureWindow(ClientPtr client
);
125 extern int ProcTsolCirculateWindow(ClientPtr client
);
126 extern int ProcTsolReparentWindow(ClientPtr client
);
127 extern int ProcTsolSetInputFocus(ClientPtr client
);
128 extern int ProcTsolGetInputFocus(ClientPtr client
);
129 extern int ProcTsolSendEvent(ClientPtr client
);
130 extern int ProcTsolSetInputFocus(ClientPtr client
);
131 extern int ProcTsolGetInputFocus(ClientPtr client
);
132 extern int ProcTsolGetGeometry(ClientPtr client
);
133 extern int ProcTsolGrabServer(ClientPtr client
);
134 extern int ProcTsolUngrabServer(ClientPtr client
);
135 extern int ProcTsolCreatePixmap(ClientPtr client
);
136 extern int ProcTsolSetScreenSaver(ClientPtr client
);
137 extern int ProcTsolChangeHosts(ClientPtr client
);
138 extern int ProcTsolChangeAccessControl(ClientPtr client
);
139 extern int ProcTsolKillClient(ClientPtr client
);
140 extern int ProcTsolSetFontPath(ClientPtr client
);
141 extern int ProcTsolChangeCloseDownMode(ClientPtr client
);
142 extern int ProcTsolListInstalledColormaps(ClientPtr client
);
143 extern int ProcTsolGetImage(ClientPtr client
);
144 extern int ProcTsolQueryTree(ClientPtr client
);
145 extern int ProcTsolQueryPointer(ClientPtr client
);
146 extern int ProcTsolQueryExtension(ClientPtr client
);
147 extern int ProcTsolListExtensions(ClientPtr client
);
148 extern int ProcTsolMapWindow(ClientPtr client
);
149 extern int ProcTsolMapSubwindows(ClientPtr client
);
150 extern int ProcTsolCopyArea(ClientPtr client
);
151 extern int ProcTsolCopyPlane(ClientPtr client
);
152 extern int ProcTsolPolySegment(ClientPtr client
);
153 extern int ProcTsolPolyRectangle(ClientPtr client
);
155 extern int TsolPanoramiXGetGeometry(ClientPtr client
);
157 extern CALLBACK(TsolAuditStart
);
158 extern CALLBACK(TsolAuditEnd
);
159 #endif /* _XTSOL_SERVER_H */