xserver: Branch 'master' - 4 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Apr 30 00:53:40 UTC 2024
Xext/bigreq.c | 2
Xext/dpms.c | 2
Xext/geext.c | 2
Xext/panoramiX.c | 2
Xext/saver.c | 2
Xext/shape.c | 2
Xext/shm.c | 13 --
Xext/sync.c | 2
Xext/xcmisc.c | 2
Xext/xres.c | 2
Xext/xselinux_ext.c | 2
Xext/xtest.c | 4
Xext/xvmain.c | 2
Xext/xvmc.c | 2
Xi/allowev.c | 3
Xi/chgdctl.c | 8 -
Xi/chgkmap.c | 6
Xi/chgprop.c | 1
Xi/exevents.c | 4
Xi/extinit.c | 14 +-
Xi/grabdev.c | 8 -
Xi/grabdevb.c | 9 -
Xi/grabdevk.c | 9 -
Xi/gtmotion.c | 7 -
Xi/queryst.c | 9 -
Xi/selectev.c | 3
Xi/sendexev.c | 9 -
Xi/setfocus.c | 9 -
Xi/xiallowev.c | 2
Xi/xichangehierarchy.c | 13 +-
Xi/xigrabdev.c | 8 -
Xi/xipassivegrab.c | 2
Xi/xiproperty.c | 11 -
Xi/xiquerydevice.c | 8 -
Xi/xiquerypointer.c | 2
Xi/xiqueryversion.c | 3
Xi/xiselectev.c | 2
Xi/xisetdevfocus.c | 6
composite/compext.c | 2
damageext/damageext.c | 3
dbe/dbe.c | 2
dix/cursor.c | 3
dix/devices.c | 16 +-
dix/dispatch.c | 1
dix/dix_priv.h | 150 +++++++++++++++++++++++
dix/dixstruct_priv.h | 92 ++++++++++++++
dix/enterleave.c | 1
dix/eventconvert.c | 3
dix/events.c | 23 +--
dix/exevents_priv.h | 158 +++++++++++++++++++++++++
dix/gestures.c | 2
dix/grabs.c | 4
dix/inpututils.c | 3
dix/touch.c | 3
dix/window.c | 3
dri3/dri3.c | 2
dri3/dri3_request.c | 1
glx/vndext.c | 1
hw/kdrive/ephyr/ephyrinit.c | 1
hw/xfree86/common/xf86DGA.c | 10 -
hw/xfree86/common/xf86Xinput.c | 4
hw/xfree86/modes/xf86Rotate.c | 9 -
hw/xnest/Init.c | 2
hw/xquartz/xpr/xprScreen.c | 1
hw/xwayland/xwayland-input.c | 2
hw/xwin/InitInput.c | 2
hw/xwin/InitOutput.c | 2
hw/xwin/winclipboardwrappers.c | 2
hw/xwin/winkeybd.c | 4
hw/xwin/winmultiwindowwndproc.c | 3
include/dix.h | 202 +-------------------------------
include/dixstruct.h | 72 -----------
include/exevents.h | 178 ----------------------------
include/extinit.h | 43 ------
include/extinit_priv.h | 42 ++++++
include/nonsdk_extinit.h | 1
include/xkbsrv.h | 25 ---
mi/midispcur.c | 3
mi/miinitext.c | 2
mi/mipointer.c | 3
mi/misprite.c | 3
os/WaitFor.c | 2
os/connection.c | 2
os/io.c | 2
os/osinit.c | 2
os/utils.c | 1
pseudoramiX/pseudoramiX.c | 1
randr/randr.c | 2
record/record.c | 2
render/render.c | 2
test/input.c | 11 -
test/xi2/protocol-common.c | 5
test/xi2/protocol-eventconvert.c | 4
test/xi2/protocol-xigetselectedevents.c | 4
test/xi2/protocol-xipassivegrabdevice.c | 4
test/xi2/protocol-xiqueryversion.c | 3
test/xtest.c | 2
xfixes/xfixes.c | 2
xkb/xkb.c | 2
xkb/xkbAccessX.c | 12 +
xkb/xkbActions.c | 8 -
xkb/xkbEvents.c | 6
xkb/xkbInit.c | 4
xkb/xkbLEDs.c | 9 -
xkb/xkbPrKeyEv.c | 8 -
xkb/xkbUtils.c | 6
xkb/xkbsrv_priv.h | 27 ++++
107 files changed, 719 insertions(+), 700 deletions(-)
New commits:
commit eff7ccc11c5e5ef6f8a0cf99a8c2f6e926c726ab
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date: Mon Feb 12 18:57:22 2024 +0100
include: move private definitions out of exevents.h
Public server module API shouldn't be clobbered with private definitions,
thus move them out to private header.
Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1289>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 8fb580927..b451e41cd 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -38,6 +38,7 @@
#include <X11/extensions/XIproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "os/osdep.h"
#include "misc.h"
@@ -55,7 +56,6 @@
#include "exglobals.h"
#include "mipointer.h"
#include "xserver-properties.h"
-#include "exevents.h"
#include "eventstr.h"
#include "inpututils.h"
#include "extinit_priv.h"
diff --git a/Xi/chgdctl.c b/Xi/chgdctl.c
index a778fa380..a6325a1c6 100644
--- a/Xi/chgdctl.c
+++ b/Xi/chgdctl.c
@@ -54,14 +54,14 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h> /* control constants */
-#include "XIstubs.h"
-#include "exglobals.h"
-#include "exevents.h"
+#include "dix/exevents_priv.h"
+#include "inputstr.h" /* DeviceIntPtr */
+#include "XIstubs.h"
+#include "exglobals.h"
#include "chgdctl.h"
/***********************************************************************
diff --git a/Xi/chgkmap.c b/Xi/chgkmap.c
index befe6e7ae..2940a2cb0 100644
--- a/Xi/chgkmap.c
+++ b/Xi/chgkmap.c
@@ -54,10 +54,12 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exevents.h"
+
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
#include "exglobals.h"
#include "chgkmap.h"
diff --git a/Xi/chgprop.c b/Xi/chgprop.c
index 892ac4a23..a97fab18d 100644
--- a/Xi/chgprop.c
+++ b/Xi/chgprop.c
@@ -58,6 +58,7 @@ SOFTWARE.
#include <X11/extensions/XIproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h"
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 7ef0f2df6..61de1dfda 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -84,20 +84,20 @@ SOFTWARE.
#include <X11/X.h>
#include <X11/Xproto.h>
+#include <X11/extensions/geproto.h>
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
#include <X11/extensions/XI2proto.h>
-#include <X11/extensions/geproto.h>
#include <X11/extensions/XKBproto.h>
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h"
#include "windowstr.h"
#include "miscstruct.h"
#include "region.h"
-#include "exevents.h"
#include "extnsionst.h"
#include "exglobals.h"
#include "eventstr.h"
diff --git a/Xi/extinit.c b/Xi/extinit.c
index e99da9ce6..6354ad059 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -61,13 +61,13 @@ SOFTWARE.
#include <X11/extensions/geproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h"
#include "gcstruct.h" /* pointer for extnsionst.h */
#include "extnsionst.h" /* extension entry */
#include "geext.h" /* extension interfaces for ge */
#include "dixevents.h"
-#include "exevents.h"
#include "extinit_priv.h"
#include "exglobals.h"
#include "swaprep.h"
diff --git a/Xi/grabdevb.c b/Xi/grabdevb.c
index a2f7eb395..6b54dd425 100644
--- a/Xi/grabdevb.c
+++ b/Xi/grabdevb.c
@@ -54,14 +54,15 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exevents.h"
+
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h"
#include "xace.h"
-
#include "grabdev.h"
#include "grabdevb.h"
diff --git a/Xi/grabdevk.c b/Xi/grabdevk.c
index e856fa82c..f63de62d3 100644
--- a/Xi/grabdevk.c
+++ b/Xi/grabdevk.c
@@ -54,14 +54,15 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exevents.h"
+
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h"
#include "xace.h"
-
#include "grabdev.h"
#include "grabdevk.h"
diff --git a/Xi/gtmotion.c b/Xi/gtmotion.c
index 7c6684996..57a25bb2e 100644
--- a/Xi/gtmotion.c
+++ b/Xi/gtmotion.c
@@ -54,12 +54,13 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exevents.h"
-#include "exglobals.h"
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "exglobals.h"
#include "gtmotion.h"
/***********************************************************************
diff --git a/Xi/queryst.c b/Xi/queryst.c
index 6c9d66606..34bfa9031 100644
--- a/Xi/queryst.c
+++ b/Xi/queryst.c
@@ -36,15 +36,16 @@ from The Open Group.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exevents.h"
+
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h"
#include "xkbsrv.h"
#include "xkbstr.h"
-
#include "queryst.h"
/***********************************************************************
diff --git a/Xi/selectev.c b/Xi/selectev.c
index 6b7bdc512..378403d3b 100644
--- a/Xi/selectev.c
+++ b/Xi/selectev.c
@@ -59,12 +59,11 @@ SOFTWARE.
#include <X11/extensions/XIproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
-#include "exevents.h"
#include "exglobals.h"
-
#include "grabdev.h"
#include "selectev.h"
diff --git a/Xi/sendexev.c b/Xi/sendexev.c
index 5c2e0fc56..0f6b4e46a 100644
--- a/Xi/sendexev.c
+++ b/Xi/sendexev.c
@@ -54,14 +54,15 @@ SOFTWARE.
#include <dix-config.h>
#endif
+#include <X11/extensions/XI.h>
+#include <X11/extensions/XIproto.h>
+
+#include "dix/exevents_priv.h"
+
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* Window */
#include "extnsionst.h" /* EventSwapPtr */
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XIproto.h>
-#include "exevents.h"
#include "exglobals.h"
-
#include "grabdev.h"
#include "sendexev.h"
diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c
index ab83a19e7..03ced79bb 100644
--- a/Xi/xiallowev.c
+++ b/Xi/xiallowev.c
@@ -37,13 +37,13 @@
#include <X11/extensions/XI2proto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
#include "mi.h"
#include "eventstr.h"
#include "exglobals.h" /* BadDevice */
-#include "exevents.h"
#include "xiallowev.h"
int _X_COLD
diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
index e31d3332d..eea917ff6 100644
--- a/Xi/xichangehierarchy.c
+++ b/Xi/xichangehierarchy.c
@@ -41,12 +41,12 @@
#include <X11/extensions/geproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
#include "scrnintstr.h" /* screen structure */
#include "extnsionst.h"
-#include "exevents.h"
#include "exglobals.h"
#include "geext.h"
#include "xace.h"
diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c
index d23d58ecd..604f8c926 100644
--- a/Xi/xigrabdev.c
+++ b/Xi/xigrabdev.c
@@ -37,11 +37,11 @@
#include <X11/extensions/XI2proto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
#include "exglobals.h" /* BadDevice */
-#include "exevents.h"
#include "xigrabdev.h"
#include "inpututils.h"
diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
index 900a3e113..78147d8dd 100644
--- a/Xi/xipassivegrab.c
+++ b/Xi/xipassivegrab.c
@@ -37,12 +37,12 @@
#include <X11/extensions/XI2proto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
#include "swaprep.h"
#include "exglobals.h" /* BadDevice */
-#include "exevents.h"
#include "xipassivegrab.h"
#include "dixgrabs.h"
#include "misc.h"
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 9c44f9d3e..aaafc629b 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -29,16 +29,17 @@
#include <dix-config.h>
#endif
-#include "dix.h"
-#include "inputstr.h"
-#include <X11/extensions/XI.h>
#include <X11/Xatom.h>
+#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
#include <X11/extensions/XI2proto.h>
+
+#include "dix/exevents_priv.h"
+
+#include "dix.h"
+#include "inputstr.h"
#include "exglobals.h"
-#include "exevents.h"
#include "swaprep.h"
-
#include "xiproperty.h"
#include "xserver-properties.h"
diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c
index e4731a119..c9a9864bc 100644
--- a/Xi/xiquerydevice.c
+++ b/Xi/xiquerydevice.c
@@ -32,20 +32,20 @@
#include <dix-config.h>
#endif
-#include "inputstr.h"
#include <X11/X.h>
#include <X11/Xatom.h>
#include <X11/extensions/XI2proto.h>
+
+#include "dix/exevents_priv.h"
+
+#include "inputstr.h"
#include "xkbstr.h"
#include "xkbsrv.h"
#include "xserver-properties.h"
-#include "exevents.h"
#include "xace.h"
#include "inpututils.h"
-
#include "exglobals.h"
#include "privates.h"
-
#include "xiquerydevice.h"
static Bool ShouldSkipDevice(ClientPtr client, int deviceid, DeviceIntPtr d);
diff --git a/Xi/xiquerypointer.c b/Xi/xiquerypointer.c
index 7da45fdc2..2ac3e73a0 100644
--- a/Xi/xiquerypointer.c
+++ b/Xi/xiquerypointer.c
@@ -40,11 +40,11 @@
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h" /* DeviceIntPtr */
#include "windowstr.h" /* window structure */
#include "extnsionst.h"
-#include "exevents.h"
#include "exglobals.h"
#include "scrnintstr.h"
#include "xkbsrv.h"
diff --git a/Xi/xiqueryversion.c b/Xi/xiqueryversion.c
index 111f1d61a..dc3860a21 100644
--- a/Xi/xiqueryversion.c
+++ b/Xi/xiqueryversion.c
@@ -39,8 +39,9 @@
#include <X11/X.h>
#include <X11/extensions/XI2proto.h>
+#include "dix/exevents_priv.h"
+
#include "exglobals.h"
-#include "exevents.h"
#include "xiqueryversion.h"
#include "misc.h"
diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c
index 4d025b6e0..6c6aff884 100644
--- a/Xi/xiselectev.c
+++ b/Xi/xiselectev.c
@@ -30,11 +30,11 @@
#include <X11/extensions/XI2proto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "dixstruct.h"
#include "windowstr.h"
#include "exglobals.h"
-#include "exevents.h"
#include "inpututils.h"
#include "xiselectev.h"
diff --git a/dix/devices.c b/dix/devices.c
index 4d8974b67..73402e091 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -58,6 +58,7 @@ SOFTWARE.
#include <X11/extensions/XIproto.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "dix/ptrveloc_priv.h"
#include "xkb/xkbsrv_priv.h"
@@ -79,7 +80,6 @@ SOFTWARE.
#include "eventstr.h"
#include "dixgrabs.h"
#include "exglobals.h"
-#include "exevents.h"
#include "xiquerydevice.h" /* for SizeDeviceClasses */
#include "xiproperty.h"
#include "enterleave.h" /* for EnterWindow() */
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 998304ad9..a7f43efe6 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -41,12 +41,12 @@
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "dix.h"
#include "inputstr.h"
#include "misc.h"
#include "eventstr.h"
-#include "exevents.h"
#include "exglobals.h"
#include "inpututils.h"
#include "xiquerydevice.h"
diff --git a/dix/events.c b/dix/events.c
index 00ada3340..361a1c298 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -116,6 +116,7 @@ Equipment Corporation.
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "xkb/xkbsrv_priv.h"
#include "misc.h"
@@ -134,7 +135,6 @@ Equipment Corporation.
#include "xace.h"
#include "probes.h"
#include "exglobals.h"
-#include "exevents.h"
#include "extnsionst.h"
#include "dixevents.h"
#include "dixgrabs.h"
diff --git a/dix/exevents_priv.h b/dix/exevents_priv.h
new file mode 100644
index 000000000..b9e397987
--- /dev/null
+++ b/dix/exevents_priv.h
@@ -0,0 +1,158 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 1996 Thomas E. Dickey <dickey at clark.net>
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_EXEVENTS_PRIV_H
+#define _XSERVER_EXEVENTS_PRIV_H
+
+#include <X11/extensions/XIproto.h>
+#include "exevents.h"
+
+/**
+ * Attached to the devPrivates of each client. Specifies the version number as
+ * supported by the client.
+ */
+typedef struct _XIClientRec {
+ int major_version;
+ int minor_version;
+} XIClientRec, *XIClientPtr;
+
+typedef struct _GrabParameters {
+ int grabtype; /* CORE, etc. */
+ unsigned int ownerEvents;
+ unsigned int this_device_mode;
+ unsigned int other_devices_mode;
+ Window grabWindow;
+ Window confineTo;
+ Cursor cursor;
+ unsigned int modifiers;
+} GrabParameters;
+
+int UpdateDeviceState(DeviceIntPtr device, DeviceEvent *xE);
+
+void ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr other);
+
+int CheckGrabValues(ClientPtr client, GrabParameters *param);
+
+int GrabButton(ClientPtr client,
+ DeviceIntPtr dev,
+ DeviceIntPtr modifier_device,
+ int button,
+ GrabParameters *param,
+ enum InputLevel grabtype,
+ GrabMask *eventMask);
+
+int GrabKey(ClientPtr client,
+ DeviceIntPtr dev,
+ DeviceIntPtr modifier_device,
+ int key,
+ GrabParameters *param,
+ enum InputLevel grabtype,
+ GrabMask *eventMask);
+
+int GrabWindow(ClientPtr client,
+ DeviceIntPtr dev,
+ int type,
+ GrabParameters *param,
+ GrabMask *eventMask);
+
+int GrabTouchOrGesture(ClientPtr client,
+ DeviceIntPtr dev,
+ DeviceIntPtr mod_dev,
+ int type,
+ GrabParameters *param,
+ GrabMask *eventMask);
+
+int SelectForWindow(DeviceIntPtr dev,
+ WindowPtr pWin,
+ ClientPtr client,
+ Mask mask,
+ Mask exclusivemasks);
+
+int AddExtensionClient(WindowPtr pWin,
+ ClientPtr client,
+ Mask mask,
+ int mskidx);
+
+void RecalculateDeviceDeliverableEvents(WindowPtr pWin);
+
+int InputClientGone(WindowPtr pWin, XID id);
+
+void WindowGone(WindowPtr win);
+
+int SendEvent(ClientPtr client,
+ DeviceIntPtr d,
+ Window dest,
+ Bool propagate,
+ xEvent *ev,
+ Mask mask ,
+ int count);
+
+int SetButtonMapping(ClientPtr client,
+ DeviceIntPtr dev,
+ int nElts,
+ BYTE *map);
+
+int ChangeKeyMapping(ClientPtr client,
+ DeviceIntPtr dev,
+ unsigned len,
+ int type,
+ KeyCode firstKeyCode,
+ CARD8 keyCodes,
+ CARD8 keySymsPerKeyCode,
+ KeySym *map);
+
+void DeleteWindowFromAnyExtEvents(WindowPtr pWin, Bool freeResources);
+
+int MaybeSendDeviceMotionNotifyHint(deviceKeyButtonPointer *pEvents, Mask mask);
+
+void CheckDeviceGrabAndHintWindow(WindowPtr pWin,
+ int type,
+ deviceKeyButtonPointer *xE,
+ GrabPtr grab,
+ ClientPtr client,
+ Mask deliveryMask);
+
+void MaybeStopDeviceHint(DeviceIntPtr dev, ClientPtr client);
+
+int DeviceEventSuppressForWindow(WindowPtr pWin,
+ ClientPtr client,
+ Mask mask,
+ int maskndx);
+
+void SendEventToAllWindows(DeviceIntPtr dev, Mask mask, xEvent *ev, int count);
+
+void TouchRejected(DeviceIntPtr sourcedev,
+ TouchPointInfoPtr ti,
+ XID resource,
+ TouchOwnershipEvent *ev);
+
+_X_HIDDEN void XI2EventSwap(xGenericEvent *from, xGenericEvent *to);
+
+/* For an event such as MappingNotify which affects client interpretation
+ * of input events sent by device dev, should we notify the client, or
+ * would it merely be irrelevant and confusing? */
+int XIShouldNotify(ClientPtr client,
+ DeviceIntPtr dev);
+
+void XISendDeviceChangedEvent(DeviceIntPtr device,
+ DeviceChangedEvent *dce);
+
+int XISetEventMask(DeviceIntPtr dev,
+ WindowPtr win,
+ ClientPtr client,
+ unsigned int len,
+ unsigned char *mask);
+
+int XICheckInvalidMaskBits(ClientPtr client,
+ unsigned char *mask,
+ int len);
+
+void XTestDeviceSendEvents(DeviceIntPtr dev,
+ int type,
+ int detail,
+ int flags,
+ const ValuatorMask *mask);
+
+#endif /* _XSERVER_EXEVENTS_PRIV_H */
diff --git a/dix/grabs.c b/dix/grabs.c
index bc8fd69bb..d6017bef2 100644
--- a/dix/grabs.c
+++ b/dix/grabs.c
@@ -50,19 +50,19 @@ SOFTWARE.
#endif
#include <X11/X.h>
-#include "misc.h"
#include <X11/Xproto.h>
#include <X11/extensions/XI2.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "os/auth.h"
+#include "misc.h"
#include "windowstr.h"
#include "inputstr.h"
#include "cursorstr.h"
#include "dixgrabs.h"
#include "xace.h"
-#include "exevents.h"
#include "exglobals.h"
#include "inpututils.h"
#include "client.h"
diff --git a/dix/inpututils.c b/dix/inpututils.c
index 9026f651b..240d0ff8a 100644
--- a/dix/inpututils.c
+++ b/dix/inpututils.c
@@ -27,7 +27,8 @@
#include "dix-config.h"
#endif
-#include "exevents.h"
+#include "dix/exevents_priv.h"
+
#include "exglobals.h"
#include "misc.h"
#include "input.h"
diff --git a/dix/touch.c b/dix/touch.c
index a2d65eee6..ef5dd4ae3 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -30,13 +30,12 @@
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "inputstr.h"
#include "scrnintstr.h"
#include "dixgrabs.h"
-
#include "eventstr.h"
-#include "exevents.h"
#include "exglobals.h"
#include "inpututils.h"
#include "windowstr.h"
diff --git a/dix/window.c b/dix/window.c
index d30aff350..3534ff19b 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -101,6 +101,7 @@ Equipment Corporation.
#endif
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "os/auth.h"
#include "misc.h"
@@ -131,10 +132,8 @@ Equipment Corporation.
#endif
#include "selection.h"
#include "inpututils.h"
-
#include "privates.h"
#include "xace.h"
-#include "exevents.h"
#include <X11/Xatom.h> /* must come after server includes */
diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index 97769c0b8..614c35ae4 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -48,6 +48,7 @@
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
#include "xf86.h"
#include "xf86str.h"
@@ -63,7 +64,6 @@
#include "xkbsrv.h"
#include "xf86Xinput.h"
#include "exglobals.h"
-#include "exevents.h"
#include "eventstr.h"
#include "xf86Extensions.h"
#include "mi.h"
diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 9ad0cc66f..da7e80e88 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -30,9 +30,9 @@
#include <sys/mman.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include <inputstr.h>
-#include <exevents.h>
#include <xkbsrv.h>
#include <xserver-properties.h>
#include <inpututils.h>
diff --git a/include/exevents.h b/include/exevents.h
index 7e3029fc9..50a777a33 100644
--- a/include/exevents.h
+++ b/include/exevents.h
@@ -134,182 +134,4 @@ extern _X_EXPORT int XIPropToFloat(XIPropertyValuePtr val,
* End of driver interface *
****************************************************************************/
-/**
- * Attached to the devPrivates of each client. Specifies the version number as
- * supported by the client.
- */
-typedef struct _XIClientRec {
- int major_version;
- int minor_version;
-} XIClientRec, *XIClientPtr;
-
-typedef struct _GrabParameters {
- int grabtype; /* CORE, etc. */
- unsigned int ownerEvents;
- unsigned int this_device_mode;
- unsigned int other_devices_mode;
- Window grabWindow;
- Window confineTo;
- Cursor cursor;
- unsigned int modifiers;
-} GrabParameters;
-
-extern int
- UpdateDeviceState(DeviceIntPtr /* device */ ,
- DeviceEvent * /* xE */ );
-
-extern void
- ProcessOtherEvent(InternalEvent * /* ev */ ,
- DeviceIntPtr /* other */ );
-
-extern int
- CheckGrabValues(ClientPtr /* client */ ,
- GrabParameters * /* param */ );
-
-extern int
- GrabButton(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- DeviceIntPtr /* modifier_device */ ,
- int /* button */ ,
- GrabParameters * /* param */ ,
- enum InputLevel /* grabtype */ ,
- GrabMask * /* eventMask */ );
-
-extern int
- GrabKey(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- DeviceIntPtr /* modifier_device */ ,
- int /* key */ ,
- GrabParameters * /* param */ ,
- enum InputLevel /* grabtype */ ,
- GrabMask * /* eventMask */ );
-
-extern int
- GrabWindow(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- int /* type */ ,
- GrabParameters * /* param */ ,
- GrabMask * /* eventMask */ );
-
-extern int
- GrabTouchOrGesture(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- DeviceIntPtr /* mod_dev */ ,
- int /* type */ ,
- GrabParameters * /* param */ ,
- GrabMask * /* eventMask */ );
-
-extern int
- SelectForWindow(DeviceIntPtr /* dev */ ,
- WindowPtr /* pWin */ ,
- ClientPtr /* client */ ,
- Mask /* mask */ ,
- Mask /* exclusivemasks */ );
-
-extern int
- AddExtensionClient(WindowPtr /* pWin */ ,
- ClientPtr /* client */ ,
- Mask /* mask */ ,
- int /* mskidx */ );
-
-extern void
- RecalculateDeviceDeliverableEvents(WindowPtr /* pWin */ );
-
-extern int
- InputClientGone(WindowPtr /* pWin */ ,
- XID /* id */ );
-
-extern void
- WindowGone(WindowPtr /* win */ );
-
-extern int
- SendEvent(ClientPtr /* client */ ,
- DeviceIntPtr /* d */ ,
- Window /* dest */ ,
- Bool /* propagate */ ,
- xEvent * /* ev */ ,
- Mask /* mask */ ,
- int /* count */ );
-
-extern int
- SetButtonMapping(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- int /* nElts */ ,
- BYTE * /* map */ );
-
-extern int
- ChangeKeyMapping(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- unsigned /* len */ ,
- int /* type */ ,
- KeyCode /* firstKeyCode */ ,
- CARD8 /* keyCodes */ ,
- CARD8 /* keySymsPerKeyCode */ ,
- KeySym * /* map */ );
-
-extern void
- DeleteWindowFromAnyExtEvents(WindowPtr /* pWin */ ,
- Bool /* freeResources */ );
-
-extern int
- MaybeSendDeviceMotionNotifyHint(deviceKeyButtonPointer * /* pEvents */ ,
- Mask /* mask */ );
-
-extern void
- CheckDeviceGrabAndHintWindow(WindowPtr /* pWin */ ,
- int /* type */ ,
- deviceKeyButtonPointer * /* xE */ ,
- GrabPtr /* grab */ ,
- ClientPtr /* client */ ,
- Mask /* deliveryMask */ );
-
-extern void
- MaybeStopDeviceHint(DeviceIntPtr /* dev */ ,
- ClientPtr /* client */ );
-
-extern int
- DeviceEventSuppressForWindow(WindowPtr /* pWin */ ,
- ClientPtr /* client */ ,
- Mask /* mask */ ,
- int /* maskndx */ );
-
-extern void
- SendEventToAllWindows(DeviceIntPtr /* dev */ ,
- Mask /* mask */ ,
- xEvent * /* ev */ ,
- int /* count */ );
-
-extern void
- TouchRejected(DeviceIntPtr /* sourcedev */ ,
- TouchPointInfoPtr /* ti */ ,
- XID /* resource */ ,
- TouchOwnershipEvent * /* ev */ );
-
-extern _X_HIDDEN void XI2EventSwap(xGenericEvent * /* from */ ,
- xGenericEvent * /* to */ );
-
-/* For an event such as MappingNotify which affects client interpretation
- * of input events sent by device dev, should we notify the client, or
- * would it merely be irrelevant and confusing? */
-extern int
- XIShouldNotify(ClientPtr client, DeviceIntPtr dev);
-
-extern void
- XISendDeviceChangedEvent(DeviceIntPtr device, DeviceChangedEvent *dce);
-
-extern int
-
-XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
- unsigned int len, unsigned char *mask);
-
-extern int
- XICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len);
-
-void
-XTestDeviceSendEvents(DeviceIntPtr dev,
- int type,
- int detail,
- int flags,
- const ValuatorMask *mask);
-
#endif /* EXEVENTS_H */
diff --git a/test/input.c b/test/input.c
index 945680001..b0de20331 100644
--- a/test/input.c
+++ b/test/input.c
@@ -30,18 +30,18 @@
#include <stdint.h>
#include <X11/X.h>
-#include "misc.h"
-#include "resource.h"
#include <X11/Xproto.h>
#include <X11/extensions/XI2proto.h>
#include <X11/Xatom.h>
-#include "windowstr.h"
-#include "inputstr.h"
-#include "exevents.h"
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "dix/exevents_priv.h"
+#include "misc.h"
+#include "resource.h"
+#include "windowstr.h"
+#include "inputstr.h"
#include "exglobals.h"
#include "dixgrabs.h"
#include "eventstr.h"
diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index b985e35b7..aae84180a 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -30,15 +30,16 @@
#include <errno.h>
#include <stdint.h>
+#include <X11/extensions/XI2.h>
#include "dix/dix_priv.h"
+#include "dix/exevents_priv.h"
#include "extinit_priv.h"
#include "exglobals.h"
#include "xkbsrv.h" /* for XkbInitPrivates */
#include "xserver-properties.h"
#include "syncsrv.h"
-#include <X11/extensions/XI2.h>
#include "protocol-common.h"
diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c
index fb0627bb5..e1317ca1b 100644
--- a/test/xi2/protocol-eventconvert.c
+++ b/test/xi2/protocol-eventconvert.c
@@ -28,14 +28,14 @@
#endif
#include <stdint.h>
+#include <X11/extensions/XI2proto.h>
+#include "dix/exevents_priv.h"
#include "dix/eventconvert.h"
#include "inputstr.h"
#include "eventstr.h"
-#include "exevents.h"
#include "inpututils.h"
-#include <X11/extensions/XI2proto.h>
#include "protocol-common.h"
diff --git a/test/xi2/protocol-xigetselectedevents.c b/test/xi2/protocol-xigetselectedevents.c
index 2ea365d01..937b52b2e 100644
--- a/test/xi2/protocol-xigetselectedevents.c
+++ b/test/xi2/protocol-xigetselectedevents.c
@@ -43,12 +43,14 @@
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/extensions/XI2proto.h>
+
+#include "dix/exevents_priv.h"
+
#include "inputstr.h"
#include "windowstr.h"
#include "extinit.h" /* for XInputExtensionInit */
#include "scrnintstr.h"
#include "xiselectev.h"
-#include "exevents.h"
#include "protocol-common.h"
diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c
index d7aaf23d4..bc9866493 100644
--- a/test/xi2/protocol-xipassivegrabdevice.c
+++ b/test/xi2/protocol-xipassivegrabdevice.c
@@ -35,11 +35,13 @@
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/extensions/XI2proto.h>
+
+#include "dix/exevents_priv.h"
+
#include "inputstr.h"
#include "windowstr.h"
#include "scrnintstr.h"
#include "xipassivegrab.h"
-#include "exevents.h"
#include "exglobals.h"
#include "protocol-common.h"
diff --git a/test/xi2/protocol-xiqueryversion.c b/test/xi2/protocol-xiqueryversion.c
index 521703c5a..b8145bc1c 100644
--- a/test/xi2/protocol-xiqueryversion.c
+++ b/test/xi2/protocol-xiqueryversion.c
@@ -43,6 +43,9 @@
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/extensions/XI2proto.h>
+
+#include "dix/exevents_priv.h"
+
#include "inputstr.h"
#include "extinit.h" /* for XInputExtensionInit */
#include "scrnintstr.h"
diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c
index c31f89740..e6325d875 100644
--- a/xkb/xkbEvents.c
+++ b/xkb/xkbEvents.c
@@ -34,8 +34,10 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/keysym.h>
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
+
+#include "dix/exevents_priv.h"
+
#include "inputstr.h"
-#include "exevents.h"
#include "exglobals.h"
#include "windowstr.h"
#include "xkbsrv_priv.h"
commit 33350ef8ff1f2e4daed332db2b67b8f20e09d5ea
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date: Mon Feb 12 14:11:52 2024 +0100
include: move private definitions out of extinit.h
Public server module API shouldn't be clobbered with private definitions,
thus move them out to extinit_priv.h.
Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1289>
diff --git a/Xext/bigreq.c b/Xext/bigreq.c
index aca5afb96..0dc60c258 100644
--- a/Xext/bigreq.c
+++ b/Xext/bigreq.c
@@ -41,7 +41,7 @@ from The Open Group.
#include "dixstruct.h"
#include "extnsionst.h"
#include "opaque.h"
-#include "extinit.h"
+#include "extinit_priv.h"
static int
ProcBigReqDispatch(ClientPtr client)
diff --git a/Xext/dpms.c b/Xext/dpms.c
index bbc7890eb..68759a48a 100644
--- a/Xext/dpms.c
+++ b/Xext/dpms.c
@@ -39,7 +39,7 @@ Equipment Corporation.
#include "opaque.h"
#include <X11/extensions/dpmsproto.h>
#include "dpmsproc.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "scrnintstr.h"
#include "windowstr.h"
#include "protocol-versions.h"
diff --git a/Xext/geext.c b/Xext/geext.c
index 05988c41a..ac21b7a53 100644
--- a/Xext/geext.c
+++ b/Xext/geext.c
@@ -32,7 +32,7 @@
#include "geint.h"
#include "geext.h"
#include "protocol-versions.h"
-#include "extinit.h"
+#include "extinit_priv.h"
DevPrivateKeyRec GEClientPrivateKeyRec;
diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
index 94c81a7c8..732e983ba 100644
--- a/Xext/panoramiX.c
+++ b/Xext/panoramiX.c
@@ -57,7 +57,7 @@ Equipment Corporation.
#ifdef COMPOSITE
#include "compint.h"
#endif
-#include "extinit.h"
+#include "extinit_priv.h"
#include "protocol-versions.h"
#ifdef GLXPROXY
diff --git a/Xext/saver.c b/Xext/saver.c
index 29f280369..e6dddbb03 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -60,7 +60,7 @@ in this Software without prior written authorization from the X Consortium.
#include "dpmsproc.h"
#endif
#include "protocol-versions.h"
-#include "extinit.h"
+#include "extinit_priv.h"
static int ScreenSaverEventBase = 0;
diff --git a/Xext/shape.c b/Xext/shape.c
index 792c20f71..213e7cc3f 100644
--- a/Xext/shape.c
+++ b/Xext/shape.c
@@ -47,7 +47,7 @@ in this Software without prior written authorization from The Open Group.
#include "opaque.h"
#include "regionstr.h"
#include "gcstruct.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "protocol-versions.h"
typedef RegionPtr (*CreateDftPtr) (WindowPtr /* pWin */
diff --git a/Xext/shm.c b/Xext/shm.c
index 7e6071215..427cf1b4e 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -41,7 +41,10 @@ in this Software without prior written authorization from The Open Group.
#include <fcntl.h>
#include <X11/X.h>
#include <X11/Xproto.h>
+#include <X11/extensions/shmproto.h>
+#include <X11/Xfuncproto.h>
+#include "dix/dix_priv.h"
#include "os/auth.h"
#include "os/busfault.h"
#include "os/osdep.h"
@@ -58,9 +61,7 @@ in this Software without prior written authorization from The Open Group.
#include "servermd.h"
#include "shmint.h"
#include "xace.h"
-#include <X11/extensions/shmproto.h>
-#include <X11/Xfuncproto.h>
-#include <sys/mman.h>
+#include "extinit_priv.h"
#include "protocol-versions.h"
/* Needed for Solaris cross-zone shared memory extension */
@@ -95,10 +96,6 @@ in this Software without prior written authorization from The Open Group.
#include "panoramiXsrv.h"
#endif
-#include "dix/dix_priv.h"
-
-#include "extinit.h"
-
typedef struct _ShmScrPrivateRec {
CloseScreenProcPtr CloseScreen;
ShmFuncsPtr shmFuncs;
diff --git a/Xext/sync.c b/Xext/sync.c
index 950951e74..a37444bb0 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -79,7 +79,7 @@ PERFORMANCE OF THIS SOFTWARE.
#include <sys/time.h>
#endif
-#include "extinit.h"
+#include "extinit_priv.h"
/*
* Local Global Variables
diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c
index c3c0b7f43..385e63383 100644
--- a/Xext/xcmisc.c
+++ b/Xext/xcmisc.c
@@ -38,7 +38,7 @@ from The Open Group.
#include "extnsionst.h"
#include "swaprep.h"
#include <X11/extensions/xcmiscproto.h>
-#include "extinit.h"
+#include "extinit_priv.h"
#include <stdint.h>
diff --git a/Xext/xres.c b/Xext/xres.c
index 96c1844fd..9d71402f1 100644
--- a/Xext/xres.c
+++ b/Xext/xres.c
@@ -23,7 +23,7 @@
#include "pixmapstr.h"
#include "windowstr.h"
#include "gcstruct.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "protocol-versions.h"
#include "client.h"
#include "list.h"
diff --git a/Xext/xselinux_ext.c b/Xext/xselinux_ext.c
index c7ce19c49..5bfb9a84b 100644
--- a/Xext/xselinux_ext.c
+++ b/Xext/xselinux_ext.c
@@ -28,7 +28,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "windowstr.h"
#include "propertyst.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "xselinuxint.h"
#define CTX_DEV offsetof(SELinuxSubjectRec, dev_create_sid)
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 96f898656..8fb580927 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -58,7 +58,7 @@
#include "exevents.h"
#include "eventstr.h"
#include "inpututils.h"
-#include "extinit.h"
+#include "extinit_priv.h"
/* XTest events are sent during request processing and may be interrupted by
* a SIGIO. We need a separate event list to avoid events overwriting each
diff --git a/Xext/xvmain.c b/Xext/xvmain.c
index 2a08f8744..937f2893b 100644
--- a/Xext/xvmain.c
+++ b/Xext/xvmain.c
@@ -88,7 +88,7 @@ SOFTWARE.
#include "pixmapstr.h"
#include "gcstruct.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "dixstruct.h"
#include "resource.h"
#include "opaque.h"
diff --git a/Xext/xvmc.c b/Xext/xvmc.c
index a1fb6238b..04023772d 100644
--- a/Xext/xvmc.c
+++ b/Xext/xvmc.c
@@ -13,7 +13,7 @@
#include "resource.h"
#include "scrnintstr.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "servermd.h"
#include <X11/Xfuncproto.h>
#include "xvdix.h"
diff --git a/Xi/extinit.c b/Xi/extinit.c
index 7c08f3a8a..e99da9ce6 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -68,7 +68,7 @@ SOFTWARE.
#include "geext.h" /* extension interfaces for ge */
#include "dixevents.h"
#include "exevents.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "exglobals.h"
#include "swaprep.h"
#include "privates.h"
diff --git a/composite/compext.c b/composite/compext.c
index cfdb7a216..62bce26e7 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -48,7 +48,7 @@
#include "compint.h"
#include "xace.h"
#include "protocol-versions.h"
-#include "extinit.h"
+#include "extinit_priv.h"
static CARD8 CompositeReqCode;
static DevPrivateKeyRec CompositeClientPrivateKeyRec;
diff --git a/damageext/damageext.c b/damageext/damageext.c
index 76609fb6b..6a46291fd 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -30,7 +30,7 @@
#include "damageextint.h"
#include "damagestr.h"
#include "protocol-versions.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "dixstruct_priv.h"
#ifdef PANORAMIX
diff --git a/dbe/dbe.c b/dbe/dbe.c
index 3cf0a3ef9..b9f6690a6 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -45,7 +45,7 @@
#include "scrnintstr.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "gcstruct.h"
#include "dixstruct.h"
#include "dbestruct.h"
diff --git a/dri3/dri3.c b/dri3/dri3.c
index f9c517277..0ea01bb2f 100644
--- a/dri3/dri3.c
+++ b/dri3/dri3.c
@@ -21,7 +21,7 @@
*/
#include "dri3_priv.h"
-
+#include "extinit_priv.h"
#include <drm_fourcc.h>
static int dri3_request;
diff --git a/glx/vndext.c b/glx/vndext.c
index 21ba29269..92b3001a3 100644
--- a/glx/vndext.c
+++ b/glx/vndext.c
@@ -35,6 +35,7 @@
#include <dixstruct.h>
#include <extnsionst.h>
#include <glx_extinit.h>
+#include "extinit_priv.h"
#include <GL/glxproto.h>
#include "vndservervendor.h"
diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c
index 58255c22b..194119ff8 100644
--- a/hw/xnest/Init.c
+++ b/hw/xnest/Init.c
@@ -32,7 +32,7 @@ is" without express or implied warranty.
#include "servermd.h"
#include "mi.h"
#include "dixfontstr.h"
-
+#include "extinit_priv.h"
#include "Xnest.h"
#include "Display.h"
diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c
index 562d6a0c3..81de33769 100644
--- a/hw/xquartz/xpr/xprScreen.c
+++ b/hw/xquartz/xpr/xprScreen.c
@@ -54,6 +54,7 @@
#endif
#include "nonsdk_extinit.h"
+#include "extinit_priv.h"
/* 10.4's deferred update makes X slower.. have to live with the tearing
* for now.. */
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 0358b8560..47ec5ba77 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -65,6 +65,7 @@ typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND hwndOwner,
#include "winmonitors.h"
#include "nonsdk_extinit.h"
+#include "extinit_priv.h"
#include "pseudoramiX/pseudoramiX.h"
#include "glx_extinit.h"
diff --git a/include/extinit.h b/include/extinit.h
index 59d18962f..a92aef935 100644
--- a/include/extinit.h
+++ b/include/extinit.h
@@ -55,107 +55,64 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifdef COMPOSITE
extern _X_EXPORT Bool noCompositeExtension;
-extern void CompositeExtensionInit(void);
#endif
#ifdef DAMAGE
extern _X_EXPORT Bool noDamageExtension;
-extern void DamageExtensionInit(void);
#endif
#if defined(DBE)
extern _X_EXPORT Bool noDbeExtension;
-extern void DbeExtensionInit(void);
#endif
#if defined(DPMSExtension)
extern _X_EXPORT Bool noDPMSExtension;
-extern void DPMSExtensionInit(void);
#endif
-extern Bool noGEExtension;
-extern void GEExtensionInit(void);
-
#ifdef GLXEXT
extern _X_EXPORT Bool noGlxExtension;
-extern void GlxExtensionInit(void);
#endif
#ifdef PANORAMIX
extern _X_EXPORT Bool noPanoramiXExtension;
-extern void PanoramiXExtensionInit(void);
#endif
#ifdef RANDR
extern _X_EXPORT Bool noRRExtension;
-extern void RRExtensionInit(void);
-#endif
-
-#if defined(XRECORD)
-extern void RecordExtensionInit(void);
#endif
extern _X_EXPORT Bool noRenderExtension;
-extern void RenderExtensionInit(void);
#if defined(RES)
extern _X_EXPORT Bool noResExtension;
-extern void ResExtensionInit(void);
#endif
#if defined(SCREENSAVER)
extern _X_EXPORT Bool noScreenSaverExtension;
-extern void ScreenSaverExtensionInit(void);
#endif
extern _X_EXPORT Bool noShapeExtension;
-extern void ShapeExtensionInit(void);
#ifdef MITSHM
extern _X_EXPORT Bool noMITShmExtension;
-extern void ShmExtensionInit(void);
#endif
-extern void SyncExtensionInit(void);
-
-extern void XCMiscExtensionInit(void);
-
#ifdef XCSECURITY
extern _X_EXPORT Bool noSecurityExtension;
-extern void SecurityExtensionInit(void);
#endif
#ifdef XF86BIGFONT
extern _X_EXPORT Bool noXFree86BigfontExtension;
-extern void XFree86BigfontExtensionInit(void);
#endif
-extern void BigReqExtensionInit(void);
-
extern _X_EXPORT Bool noXFixesExtension;
-extern void XFixesExtensionInit(void);
-
-extern void XInputExtensionInit(void);
-
-extern void XkbExtensionInit(void);
#if defined(XSELINUX)
extern _X_EXPORT Bool noSELinuxExtension;
-extern void SELinuxExtensionInit(void);
-#endif
-
-#ifdef XTEST
-extern void XTestExtensionInit(void);
#endif
#if defined(XV)
extern _X_EXPORT Bool noXvExtension;
-extern void XvExtensionInit(void);
-extern void XvMCExtensionInit(void);
-#endif
-
-#if defined(DRI3)
-extern void dri3_extension_init(void);
#endif
#if defined(PRESENT)
diff --git a/include/extinit_priv.h b/include/extinit_priv.h
new file mode 100644
index 000000000..186fe8ad2
--- /dev/null
+++ b/include/extinit_priv.h
@@ -0,0 +1,42 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 1996 Thomas E. Dickey <dickey at clark.net>
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_EXTINIT_PRIV_H
+#define _XSERVER_EXTINIT_PRIV_H
+
+#include "extinit.h"
+
+extern Bool noGEExtension;
+
+void CompositeExtensionInit(void);
+void DamageExtensionInit(void);
+void DbeExtensionInit(void);
+void DPMSExtensionInit(void);
+void GEExtensionInit(void);
+void GlxExtensionInit(void);
+void PanoramiXExtensionInit(void);
+void RRExtensionInit(void);
+void RecordExtensionInit(void);
+void RenderExtensionInit(void);
+void ResExtensionInit(void);
+void ScreenSaverExtensionInit(void);
+void ShapeExtensionInit(void);
+void ShmExtensionInit(void);
+void SyncExtensionInit(void);
+void XCMiscExtensionInit(void);
+void SecurityExtensionInit(void);
+void XFree86BigfontExtensionInit(void);
+void BigReqExtensionInit(void);
+void XFixesExtensionInit(void);
+void XInputExtensionInit(void);
+void XkbExtensionInit(void);
+void SELinuxExtensionInit(void);
+void XTestExtensionInit(void);
+void XvExtensionInit(void);
+void XvMCExtensionInit(void);
+void dri3_extension_init(void);
+void PseudoramiXExtensionInit(void);
+
+#endif /* _XSERVER_EXTINIT_PRIV_H */
diff --git a/include/nonsdk_extinit.h b/include/nonsdk_extinit.h
index da8d370bd..dc10df12b 100644
--- a/include/nonsdk_extinit.h
+++ b/include/nonsdk_extinit.h
@@ -30,6 +30,5 @@ DEALINGS IN THE SOFTWARE.
pulled in by sdksyms */
extern _X_EXPORT Bool noPseudoramiXExtension;
-extern void PseudoramiXExtensionInit(void);
#endif
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 1ddcd7fda..04f320118 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -88,7 +88,7 @@ SOFTWARE.
#include "misc.h"
#include "extension.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "micmap.h"
#include "os.h"
#include "globals.h"
diff --git a/pseudoramiX/pseudoramiX.c b/pseudoramiX/pseudoramiX.c
index 95f6e10c8..3623fadc7 100644
--- a/pseudoramiX/pseudoramiX.c
+++ b/pseudoramiX/pseudoramiX.c
@@ -40,6 +40,7 @@
#include "pseudoramiX.h"
#include "extnsionst.h"
#include "nonsdk_extinit.h"
+#include "extinit_priv.h"
#include "dixstruct.h"
#include "window.h"
#include <X11/extensions/panoramiXproto.h>
diff --git a/randr/randr.c b/randr/randr.c
index 2994bcd6c..3cb4cbd39 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -31,7 +31,7 @@
#endif
#include "randrstr_priv.h"
-#include "extinit.h"
+#include "extinit_priv.h"
/* From render.h */
#ifndef SubPixelUnknown
diff --git a/record/record.c b/record/record.c
index 88fbf9c85..b0a7aff15 100644
--- a/record/record.c
+++ b/record/record.c
@@ -40,7 +40,7 @@ and Jim Haggerty of Metheus.
#include "dixstruct.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include <X11/extensions/recordproto.h>
#include "set.h"
#include "swaprep.h"
diff --git a/render/render.c b/render/render.c
index af84a0345..d43c4cf4b 100644
--- a/render/render.c
+++ b/render/render.c
@@ -43,7 +43,7 @@
#include "pixmapstr.h"
#include "colormapst.h"
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "servermd.h"
#include "picturestr_priv.h"
#include "glyphstr_priv.h"
diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index f193bce45..b985e35b7 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -33,7 +33,7 @@
#include "dix/dix_priv.h"
-#include "extinit.h" /* for XInputExtensionInit */
+#include "extinit_priv.h"
#include "exglobals.h"
#include "xkbsrv.h" /* for XkbInitPrivates */
#include "xserver-properties.h"
diff --git a/test/xtest.c b/test/xtest.c
index 1d38f3d47..1dc7078b1 100644
--- a/test/xtest.c
+++ b/test/xtest.c
@@ -37,7 +37,7 @@
#include "scrnintstr.h"
#include "windowstr.h"
#include "exevents.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "xkbsrv.h"
#include "xserver-properties.h"
#include "syncsrv.h"
diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c
index 3d044f918..69b8241a4 100644
--- a/xfixes/xfixes.c
+++ b/xfixes/xfixes.c
@@ -48,7 +48,7 @@
#include "xfixesint.h"
#include "protocol-versions.h"
-#include "extinit.h"
+#include "extinit_priv.h"
static unsigned char XFixesReqCode;
int XFixesEventBase;
diff --git a/xkb/xkb.c b/xkb/xkb.c
index b324aeaa8..9fd89f730 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -40,7 +40,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "inputstr.h"
#include <xkbsrv.h>
#include "extnsionst.h"
-#include "extinit.h"
+#include "extinit_priv.h"
#include "xace.h"
#include "xkb-procs.h"
#include "protocol-versions.h"
commit bae6cbc8ca61b283efc59745ed7f1a9937444ae2
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date: Fri Feb 9 15:11:30 2024 +0100
include: move private defs to dixstruct_priv.h
Public server module API shouldn't be clobbered with private definitions,
thus move them out to dixstruct_priv.h
Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1289>
diff --git a/Xext/shm.c b/Xext/shm.c
index a17915a67..7e6071215 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -48,7 +48,7 @@ in this Software without prior written authorization from The Open Group.
#include "misc.h"
#include "os.h"
-#include "dixstruct.h"
+#include "dixstruct_priv.h"
#include "resource.h"
#include "scrnintstr.h"
#include "windowstr.h"
diff --git a/damageext/damageext.c b/damageext/damageext.c
index fd6fcc87e..76609fb6b 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -31,6 +31,7 @@
#include "damagestr.h"
#include "protocol-versions.h"
#include "extinit.h"
+#include "dixstruct_priv.h"
#ifdef PANORAMIX
#include "panoramiX.h"
diff --git a/dix/devices.c b/dix/devices.c
index b37523262..4d8974b67 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -48,12 +48,18 @@ SOFTWARE.
#include <dix-config.h>
#endif
+#include <math.h>
+#include <pixman.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/Xatom.h>
+#include <X11/extensions/XI.h>
+#include <X11/extensions/XI2.h>
+#include <X11/extensions/XIproto.h>
#include "dix/dix_priv.h"
#include "dix/ptrveloc_priv.h"
+#include "xkb/xkbsrv_priv.h"
#include "misc.h"
#include "resource.h"
@@ -63,23 +69,15 @@ SOFTWARE.
#include "cursorstr.h"
#include "dixstruct.h"
#include "ptrveloc.h"
-#include "xkbsrv.h"
#include "privates.h"
#include "xace.h"
#include "mi.h"
-
#include "dispatch.h"
#include "swaprep.h"
#include "dixevents.h"
#include "mipointer.h"
#include "eventstr.h"
#include "dixgrabs.h"
-
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XI2.h>
-#include <X11/extensions/XIproto.h>
-#include <math.h>
-#include <pixman.h>
#include "exglobals.h"
#include "exevents.h"
#include "xiquerydevice.h" /* for SizeDeviceClasses */
diff --git a/dix/dispatch.c b/dix/dispatch.c
index 77d6217a7..4a7d0565f 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -132,6 +132,7 @@ Equipment Corporation.
#include "xkbsrv.h"
#include "client.h"
#include "xfixesint.h"
+#include "dixstruct_priv.h"
// temporary workaround for win32/mingw32 name clash
#undef CreateWindow
diff --git a/dix/dixstruct_priv.h b/dix/dixstruct_priv.h
new file mode 100644
index 000000000..0601448f5
--- /dev/null
+++ b/dix/dixstruct_priv.h
@@ -0,0 +1,92 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_DIXSTRUCT_PRIV_H
+#define _XSERVER_DIXSTRUCT_PRIV_H
+
+#include "client.h"
+#include "dix.h"
+#include "resource.h"
+#include "cursor.h"
+#include "gc.h"
+#include "pixmap.h"
+#include "privates.h"
+#include "dixstruct.h"
+#include <X11/Xmd.h>
+
+static inline void
+SetReqFds(ClientPtr client, int req_fds) {
+ if (client->req_fds != 0 && req_fds != client->req_fds)
+ LogMessage(X_ERROR, "Mismatching number of request fds %d != %d\n", req_fds, client->req_fds);
+ client->req_fds = req_fds;
+}
+
+/*
+ * Scheduling interface
+ */
+extern long SmartScheduleTime;
+extern long SmartScheduleInterval;
+extern long SmartScheduleSlice;
+extern long SmartScheduleMaxSlice;
+#ifdef HAVE_SETITIMER
+extern Bool SmartScheduleSignalEnable;
+#else
+#define SmartScheduleSignalEnable FALSE
+#endif
+void SmartScheduleStartTimer(void);
+void SmartScheduleStopTimer(void);
+
+/* Client has requests queued or data on the network */
+void mark_client_ready(ClientPtr client);
+
+/*
+ * Client has requests queued or data on the network, but awaits a
+ * server grab release
+ */
+void mark_client_saved_ready(ClientPtr client);
+
+/* Client has no requests queued and no data on network */
+void mark_client_not_ready(ClientPtr client);
+
+static inline Bool client_is_ready(ClientPtr client)
+{
+ return !xorg_list_is_empty(&client->ready);
+}
+
+Bool
+clients_are_ready(void);
+
+extern struct xorg_list output_pending_clients;
+
+static inline void
+output_pending_mark(ClientPtr client)
+{
+ if (!client->clientGone && xorg_list_is_empty(&client->output_pending))
+ xorg_list_append(&client->output_pending, &output_pending_clients);
+}
+
+static inline void
+output_pending_clear(ClientPtr client)
+{
+ xorg_list_del(&client->output_pending);
+}
+
+static inline Bool any_output_pending(void) {
+ return !xorg_list_is_empty(&output_pending_clients);
+}
+
+#define SMART_MAX_PRIORITY (20)
+#define SMART_MIN_PRIORITY (-20)
+
+void SmartScheduleInit(void);
+
+/* This prototype is used pervasively in Xext, dix */
+#define DISPATCH_PROC(func) int func(ClientPtr /* client */)
+
+/* proc vectors */
+
+extern int (*InitialVector[3]) (ClientPtr /*client */ );
+
+#endif /* _XSERVER_DIXSTRUCT_PRIV_H */
diff --git a/dix/events.c b/dix/events.c
index f5a719a85..00ada3340 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -107,9 +107,16 @@ Equipment Corporation.
#include <X11/X.h>
#include <X11/Xproto.h>
+#include <X11/extensions/ge.h>
+#include <X11/extensions/XI.h>
+#include <X11/extensions/XI2.h>
+#include <X11/extensions/XKBproto.h>
+#include <X11/extensions/XIproto.h>
+#include <X11/extensions/XI2proto.h>
#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
+#include "xkb/xkbsrv_priv.h"
#include "misc.h"
#include "resource.h"
@@ -118,35 +125,23 @@ Equipment Corporation.
#include "inpututils.h"
#include "scrnintstr.h"
#include "cursorstr.h"
-
#include "dixstruct.h"
#ifdef PANORAMIX
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include "globals.h"
-
-#include <X11/extensions/XKBproto.h>
-#include "xkbsrv.h"
#include "xace.h"
#include "probes.h"
-
-#include <X11/extensions/XIproto.h>
-#include <X11/extensions/XI2proto.h>
-#include <X11/extensions/XI.h>
-#include <X11/extensions/XI2.h>
#include "exglobals.h"
#include "exevents.h"
#include "extnsionst.h"
-
#include "dixevents.h"
#include "dixgrabs.h"
#include "dispatch.h"
-
-#include <X11/extensions/ge.h>
#include "geext.h"
#include "geint.h"
-
+#include "dixstruct_priv.h"
#include "eventstr.h"
#include "enterleave.h"
#include "mi.h"
diff --git a/dri3/dri3_request.c b/dri3/dri3_request.c
index 27d3c73a7..b6128659c 100644
--- a/dri3/dri3_request.c
+++ b/dri3/dri3_request.c
@@ -32,6 +32,7 @@
#include <protocol-versions.h>
#include <drm_fourcc.h>
#include "randrstr_priv.h"
+#include "dixstruct_priv.h"
static Bool
dri3_screen_can_one_point_four(ScreenPtr screen)
diff --git a/hw/xwin/InitInput.c b/hw/xwin/InitInput.c
index 1b7068dba..6aced4f9c 100644
--- a/hw/xwin/InitInput.c
+++ b/hw/xwin/InitInput.c
@@ -30,7 +30,7 @@
#include <xwin-config.h>
#endif
#include "win.h"
-#include "dixstruct.h"
+#include "dixstruct_priv.h"
#include "inputstr.h"
/*
diff --git a/hw/xwin/winclipboardwrappers.c b/hw/xwin/winclipboardwrappers.c
index 2e6b63287..eee7882bd 100644
--- a/hw/xwin/winclipboardwrappers.c
+++ b/hw/xwin/winclipboardwrappers.c
@@ -35,7 +35,7 @@
#endif
#include "win.h"
-#include "dixstruct.h"
+#include "dixstruct_priv.h"
/*
* Local function prototypes
diff --git a/include/dixstruct.h b/include/dixstruct.h
index fb0ac14b8..3607ea88a 100644
--- a/include/dixstruct.h
+++ b/include/dixstruct.h
@@ -113,75 +113,6 @@ typedef struct _Client {
int req_fds;
} ClientRec;
-static inline void
-SetReqFds(ClientPtr client, int req_fds) {
- if (client->req_fds != 0 && req_fds != client->req_fds)
- LogMessage(X_ERROR, "Mismatching number of request fds %d != %d\n", req_fds, client->req_fds);
- client->req_fds = req_fds;
-}
-
-/*
- * Scheduling interface
- */
-extern long SmartScheduleTime;
-extern long SmartScheduleInterval;
-extern long SmartScheduleSlice;
-extern long SmartScheduleMaxSlice;
-#ifdef HAVE_SETITIMER
-extern Bool SmartScheduleSignalEnable;
-#else
-#define SmartScheduleSignalEnable FALSE
-#endif
-extern void SmartScheduleStartTimer(void);
-extern void SmartScheduleStopTimer(void);
-
-/* Client has requests queued or data on the network */
-void mark_client_ready(ClientPtr client);
-
-/*
- * Client has requests queued or data on the network, but awaits a
- * server grab release
- */
-void mark_client_saved_ready(ClientPtr client);
-
-/* Client has no requests queued and no data on network */
-void mark_client_not_ready(ClientPtr client);
-
-static inline Bool client_is_ready(ClientPtr client)
-{
- return !xorg_list_is_empty(&client->ready);
-}
-
-Bool
-clients_are_ready(void);
-
-extern struct xorg_list output_pending_clients;
-
-static inline void
-output_pending_mark(ClientPtr client)
-{
- if (!client->clientGone && xorg_list_is_empty(&client->output_pending))
- xorg_list_append(&client->output_pending, &output_pending_clients);
-}
-
-static inline void
-output_pending_clear(ClientPtr client)
-{
- xorg_list_del(&client->output_pending);
-}
-
-static inline Bool any_output_pending(void) {
- return !xorg_list_is_empty(&output_pending_clients);
-}
-
-#define SMART_MAX_PRIORITY (20)
-#define SMART_MIN_PRIORITY (-20)
-
-extern void SmartScheduleInit(void);
-
-/* This prototype is used pervasively in Xext, dix */
-#define DISPATCH_PROC(func) int func(ClientPtr /* client */)
-
typedef struct _WorkQueue {
struct _WorkQueue *next;
Bool (*function) (ClientPtr /* pClient */ ,
@@ -216,12 +147,11 @@ typedef struct _CallbackList {
/* proc vectors */
-extern int (*InitialVector[3]) (ClientPtr /*client */ );
-
extern _X_EXPORT int (*ProcVector[256]) (ClientPtr /*client */ );
extern _X_EXPORT int (*SwappedProcVector[256]) (ClientPtr /*client */ );
+/* fixme: still needed by (public) dix.h */
extern ReplySwapPtr ReplySwapVector[256];
extern _X_EXPORT int
diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index 45564e2f4..c182b5330 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -284,8 +284,6 @@ extern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec;
#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey))
-extern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, void *);
-
/***====================================================================***/
/***====================================================================***/
@@ -492,8 +490,6 @@ extern _X_EXPORT void XkbUpdateIndicators(DeviceIntPtr /* keybd */ ,
XkbEventCausePtr /* cause */
);
-extern void XkbForceUpdateDeviceLEDs(DeviceIntPtr /* keybd */);
-
extern _X_EXPORT void XkbUpdateAllDeviceIndicators(XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
@@ -640,10 +636,6 @@ extern _X_EXPORT void XkbHandleActions(DeviceIntPtr /* dev */ ,
DeviceEvent * /* event */
);
-extern void XkbPushLockedStateToSlaves(DeviceIntPtr /* master */,
- int /* evtype */,
- int /* key */);
-
extern _X_EXPORT Bool XkbEnableDisableControls(XkbSrvInfoPtr /* xkbi */ ,
unsigned long /* change */ ,
unsigned long /* newValues */ ,
@@ -820,29 +812,12 @@ extern _X_EXPORT void XkbSendNewKeyboardNotify(DeviceIntPtr /* kbd */ ,
xkbNewKeyboardNotify * /* pNKN */
);
-extern Bool XkbCopyKeymap(XkbDescPtr /* dst */ ,
- XkbDescPtr /* src */ );
-
extern _X_EXPORT Bool XkbCopyDeviceKeymap(DeviceIntPtr /* dst */,
DeviceIntPtr /* src */);
extern _X_EXPORT Bool XkbDeviceApplyKeymap(DeviceIntPtr /* dst */ ,
XkbDescPtr /* src */ );
-extern void XkbFilterEvents(ClientPtr /* pClient */ ,
- int /* nEvents */ ,
- xEvent * /* xE */ );
-
-extern int XkbGetEffectiveGroup(XkbSrvInfoPtr /* xkbi */ ,
- XkbStatePtr /* xkbstate */ ,
- CARD8 /* keycode */ );
-
-extern void XkbMergeLockedPtrBtns(DeviceIntPtr /* master */ );
-
-extern void XkbFakeDeviceButton(DeviceIntPtr /* dev */ ,
- int /* press */ ,
- int /* button */ );
-
extern _X_EXPORT void XkbCopyControls(XkbDescPtr /* dst */ ,
XkbDescPtr /* src */ );
diff --git a/os/WaitFor.c b/os/WaitFor.c
index b08b44040..ea84570b1 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -69,7 +69,7 @@ SOFTWARE.
#include "misc.h"
#include "osdep.h"
-#include "dixstruct.h"
+#include "dixstruct_priv.h"
#include "opaque.h"
#ifdef DPMSExtension
#include "dpmsproc.h"
diff --git a/os/connection.c b/os/connection.c
index bd46ae68b..5a724fd4f 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -103,7 +103,7 @@ SOFTWARE.
#include "misc.h" /* for typedef of pointer */
#include "opaque.h"
-#include "dixstruct.h"
+#include "dixstruct_priv.h"
#include "xace.h"
#ifdef HAVE_GETPEERUCRED
diff --git a/os/io.c b/os/io.c
index 1e9258cd0..43c4e5d30 100644
--- a/os/io.c
+++ b/os/io.c
@@ -57,6 +57,8 @@ SOFTWARE.
#undef DEBUG_COMMUNICATION
+#include "dixstruct_priv.h"
+
#ifdef WIN32
#include <X11/Xwinsock.h>
#endif
diff --git a/os/osinit.c b/os/osinit.c
index 465b3df14..2c4604b87 100644
--- a/os/osinit.c
+++ b/os/osinit.c
@@ -64,11 +64,11 @@ SOFTWARE.
#include "os/osdep.h"
#include "misc.h"
-
#include "os.h"
#include "opaque.h"
#include "misc.h"
#include "dixstruct.h"
+#include "dixstruct_priv.h"
#if !defined(SYSV) && !defined(WIN32)
#include <sys/resource.h>
diff --git a/os/utils.c b/os/utils.c
index 4c5c9e987..332d1f72e 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -116,6 +116,7 @@ __stdcall unsigned long GetTickCount(void);
#include "picture.h"
#include "miinitext.h"
#include "present.h"
+#include "dixstruct_priv.h"
Bool noTestExtensions;
diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c
index 4f1fee280..fffcf31f5 100644
--- a/xkb/xkbAccessX.c
+++ b/xkb/xkbAccessX.c
@@ -28,20 +28,22 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <dix-config.h>
#endif
+#if !defined(WIN32)
+#include <sys/time.h>
+#endif
#include <stdio.h>
#include <math.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/keysym.h>
-#include "exglobals.h"
#include <X11/extensions/XIproto.h>
+
+#include "xkb/xkbsrv_priv.h"
+
+#include "exglobals.h"
#include "inputstr.h"
#include "eventstr.h"
#include "inpututils.h"
-#include <xkbsrv.h>
-#if !defined(WIN32)
-#include <sys/time.h>
-#endif
int XkbDfltRepeatDelay = 660;
int XkbDfltRepeatInterval = 40;
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 2b87de393..99bb6574e 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -36,12 +36,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/keysym.h>
#include "dix/dix_priv.h"
+#include "xkb/xkbsrv_priv.h"
#include "misc.h"
#include "inputstr.h"
#include "exevents.h"
#include "eventstr.h"
-#include <xkbsrv.h>
#include "mi.h"
#include "mipointer.h"
#include "inpututils.h"
diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c
index f8f65d4a7..c31f89740 100644
--- a/xkb/xkbEvents.c
+++ b/xkb/xkbEvents.c
@@ -38,7 +38,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "exevents.h"
#include "exglobals.h"
#include "windowstr.h"
-#include <xkbsrv.h>
+#include "xkbsrv_priv.h"
/***====================================================================***/
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
index c06ec09d4..1e189a3f0 100644
--- a/xkb/xkbInit.c
+++ b/xkb/xkbInit.c
@@ -39,17 +39,17 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/Xproto.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
+#include <X11/extensions/XKMformat.h>
#include "os/cmdline.h"
+#include "xkb/xkbsrv_priv.h"
#include "misc.h"
#include "inputstr.h"
#include "opaque.h"
#include "property.h"
#include "scrnintstr.h"
-#include <xkbsrv.h>
#include "xkbgeom.h"
-#include <X11/extensions/XKMformat.h>
#include "xkbfile.h"
#define CREATE_ATOM(s) MakeAtom(s,sizeof(s)-1,1)
diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
index 2ddd7a402..7ac6b1ad9 100644
--- a/xkb/xkbLEDs.c
+++ b/xkb/xkbLEDs.c
@@ -33,13 +33,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <math.h>
#include <X11/X.h>
#include <X11/Xproto.h>
-#include "misc.h"
-#include "inputstr.h"
-
#include <X11/extensions/XI.h>
-#include <xkbsrv.h>
-/***====================================================================***/
+#include "xkb/xkbsrv_priv.h"
+
+#include "misc.h"
+#include "inputstr.h"
/*
* unsigned
diff --git a/xkb/xkbPrKeyEv.c b/xkb/xkbPrKeyEv.c
index d2c7e33f4..972f35170 100644
--- a/xkb/xkbPrKeyEv.c
+++ b/xkb/xkbPrKeyEv.c
@@ -28,21 +28,21 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <dix-config.h>
#endif
+#include <ctype.h>
#include <stdio.h>
#include <math.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/keysym.h>
+
+#include "xkb/xkbsrv_priv.h"
+
#include "misc.h"
#include "inputstr.h"
#include "exevents.h"
#include "eventstr.h"
-#include <xkbsrv.h>
-#include <ctype.h>
#include "events.h"
-/***====================================================================***/
-
void
XkbProcessKeyboardEvent(DeviceEvent *event, DeviceIntPtr keybd)
{
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index 9ad66927c..cdd5eb004 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -52,7 +52,6 @@ DEALINGS IN THE SOFTWARE.
#include <dix-config.h>
#endif
-#include "os.h"
#include <stdio.h>
#include <ctype.h>
#include <math.h>
@@ -60,10 +59,13 @@ DEALINGS IN THE SOFTWARE.
#include <X11/Xproto.h>
#define XK_CYRILLIC
#include <X11/keysym.h>
+
+#include "xkb/xkbsrv_priv.h"
+
+#include "os.h"
#include "misc.h"
#include "inputstr.h"
#include "eventstr.h"
-#include <xkbsrv.h>
#include "xkbgeom.h"
/***====================================================================***/
diff --git a/xkb/xkbsrv_priv.h b/xkb/xkbsrv_priv.h
new file mode 100644
index 000000000..8a9592314
--- /dev/null
+++ b/xkb/xkbsrv_priv.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 1993 Silicon Graphics Computer Systems, Inc.
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_XKBSRV_PRIV_H_
+#define _XSERVER_XKBSRV_PRIV_H_
+
+#include "xkbsrv.h"
+
+void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, void *);
+
+void XkbForceUpdateDeviceLEDs(DeviceIntPtr keybd);
+
+void XkbPushLockedStateToSlaves(DeviceIntPtr master, int evtype, int key);
+
+Bool XkbCopyKeymap(XkbDescPtr dst, XkbDescPtr src);
+
+void XkbFilterEvents(ClientPtr pClient, int nEvents, xEvent *xE);
+
+int XkbGetEffectiveGroup(XkbSrvInfoPtr xkbi, XkbStatePtr xkbstate, CARD8 keycode);
+
+void XkbMergeLockedPtrBtns(DeviceIntPtr master);
+
+void XkbFakeDeviceButton(DeviceIntPtr dev, int press, int button);
+
+#endif /* _XSERVER_XKBSRV_PRIV_H_ */
commit f17bc7e24dd0e5a68da3a993d439c667524e3d8a
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date: Thu Feb 8 20:12:35 2024 +0100
include: split out non-exported prototypes to dix_priv.h
Public server module API shouldn't be clobbered with private definitions,
thus move them out to dix-intern.h
Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1289>
diff --git a/Xi/allowev.c b/Xi/allowev.c
index c25edb3bf..fc4f33be8 100644
--- a/Xi/allowev.c
+++ b/Xi/allowev.c
@@ -58,8 +58,9 @@ SOFTWARE.
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "exglobals.h"
+#include "dix/dix_priv.h"
+#include "exglobals.h"
#include "allowev.h"
#include "dixevents.h"
diff --git a/Xi/extinit.c b/Xi/extinit.c
index 4e5a13fc5..7c08f3a8a 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -55,15 +55,17 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h"
-#include "gcstruct.h" /* pointer for extnsionst.h */
-#include "extnsionst.h" /* extension entry */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
#include <X11/extensions/XI2proto.h>
#include <X11/extensions/geproto.h>
-#include "geext.h" /* extension interfaces for ge */
+#include "dix/dix_priv.h"
+
+#include "inputstr.h"
+#include "gcstruct.h" /* pointer for extnsionst.h */
+#include "extnsionst.h" /* extension entry */
+#include "geext.h" /* extension interfaces for ge */
#include "dixevents.h"
#include "exevents.h"
#include "extinit.h"
diff --git a/Xi/grabdev.c b/Xi/grabdev.c
index cb68cfa8d..d26bea434 100644
--- a/Xi/grabdev.c
+++ b/Xi/grabdev.c
@@ -54,13 +54,15 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
+
+#include "dix/dix_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h"
#include "dixevents.h" /* GrabDevice */
-
#include "grabdev.h"
extern XExtEventInfo EventInfo[];
diff --git a/Xi/setfocus.c b/Xi/setfocus.c
index 8ca19d520..f0c80accc 100644
--- a/Xi/setfocus.c
+++ b/Xi/setfocus.c
@@ -54,15 +54,16 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#include "windowstr.h" /* focus struct */
-#include "inputstr.h" /* DeviceIntPtr */
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
-#include "dixevents.h"
+#include "windowstr.h" /* focus struct */
+#include "inputstr.h" /* DeviceIntPtr */
-#include "exglobals.h"
+#include "dix/dix_priv.h"
+#include "dixevents.h"
+#include "exglobals.h"
#include "setfocus.h"
/***********************************************************************
diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
index 72d00451e..e31d3332d 100644
--- a/Xi/xichangehierarchy.c
+++ b/Xi/xichangehierarchy.c
@@ -36,21 +36,22 @@
#include <X11/X.h> /* for inputstr.h */
#include <X11/Xproto.h> /* Request macro */
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
-#include "scrnintstr.h" /* screen structure */
#include <X11/extensions/XI.h>
#include <X11/extensions/XI2proto.h>
#include <X11/extensions/geproto.h>
+
+#include "dix/dix_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
+#include "scrnintstr.h" /* screen structure */
#include "extnsionst.h"
#include "exevents.h"
#include "exglobals.h"
#include "geext.h"
#include "xace.h"
#include "xiquerydevice.h" /* for GetDeviceUse */
-
#include "xkbsrv.h"
-
#include "xichangehierarchy.h"
#include "xibarriers.h"
diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c
index cf3ee7b95..d23d58ecd 100644
--- a/Xi/xigrabdev.c
+++ b/Xi/xigrabdev.c
@@ -33,11 +33,13 @@
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI2.h>
#include <X11/extensions/XI2proto.h>
+#include "dix/dix_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h" /* BadDevice */
#include "exevents.h"
#include "xigrabdev.h"
diff --git a/Xi/xisetdevfocus.c b/Xi/xisetdevfocus.c
index 2ed445cca..d09aa9d5e 100644
--- a/Xi/xisetdevfocus.c
+++ b/Xi/xisetdevfocus.c
@@ -32,11 +32,13 @@
#include <dix-config.h>
#endif
-#include "inputstr.h" /* DeviceIntPtr */
-#include "windowstr.h" /* window structure */
#include <X11/extensions/XI2.h>
#include <X11/extensions/XI2proto.h>
+#include "dix/dix_priv.h"
+
+#include "inputstr.h" /* DeviceIntPtr */
+#include "windowstr.h" /* window structure */
#include "exglobals.h" /* BadDevice */
#include "xisetdevfocus.h"
diff --git a/dix/cursor.c b/dix/cursor.c
index dcbcaaa77..14b855196 100644
--- a/dix/cursor.c
+++ b/dix/cursor.c
@@ -50,6 +50,9 @@ SOFTWARE.
#include <X11/X.h>
#include <X11/Xmd.h>
+
+#include "dix/dix_priv.h"
+
#include "servermd.h"
#include "scrnintstr.h"
#include "dixstruct.h"
diff --git a/dix/dix_priv.h b/dix/dix_priv.h
index 4b3c9ba29..e02a6ea0a 100644
--- a/dix/dix_priv.h
+++ b/dix/dix_priv.h
@@ -15,10 +15,16 @@
#include <X11/Xdefs.h>
#include <X11/Xfuncproto.h>
+#include <X11/extensions/XI.h>
+#include "include/callback.h"
+#include "include/cursor.h"
#include "include/dix.h"
+#include "include/events.h"
#include "include/gc.h"
+#include "include/input.h"
#include "include/window.h"
+#include "Xext/geext.h"
/* server setting: maximum size for big requests */
#define MAX_BIG_REQUEST_SIZE 4194303
@@ -78,4 +84,148 @@ int dixLookupClient(ClientPtr *result,
ClientPtr client,
Mask access_mode);
+Bool CreateConnectionBlock(void);
+
+void EnableLimitedSchedulingLatency(void);
+
+void DisableLimitedSchedulingLatency(void);
+
+int dix_main(int argc, char *argv[], char *envp[]);
+
+void SetMaskForEvent(int deviceid, Mask mask, int event);
+
+void EnqueueEvent(InternalEvent *ev, DeviceIntPtr device);
+
+void PlayReleasedEvents(void);
+
+void ActivatePointerGrab(DeviceIntPtr mouse,
+ GrabPtr grab,
+ TimeStamp time,
+ Bool autoGrab);
+
+void DeactivatePointerGrab(DeviceIntPtr mouse);
+
+void ActivateKeyboardGrab(DeviceIntPtr keybd,
+ GrabPtr grab,
+ TimeStamp time,
+ Bool passive);
+
+void DeactivateKeyboardGrab(DeviceIntPtr keybd);
+
+BOOL ActivateFocusInGrab(DeviceIntPtr dev, WindowPtr old, WindowPtr win);
+
+void AllowSome(ClientPtr client,
+ TimeStamp time,
+ DeviceIntPtr thisDev,
+ int newState);
+
+void ReleaseActiveGrabs(ClientPtr client);
+
+GrabPtr CheckPassiveGrabsOnWindow(WindowPtr pWin,
+ DeviceIntPtr device,
+ InternalEvent *event,
+ BOOL checkCore,
+ BOOL activate);
+
+int DeliverDeviceEvents(WindowPtr pWin,
+ InternalEvent *event,
+ GrabPtr grab,
+ WindowPtr stopAt,
+ DeviceIntPtr dev);
+
+int DeliverOneGrabbedEvent(InternalEvent *event,
+ DeviceIntPtr dev,
+ enum InputLevel level);
+
+void DeliverTouchEvents(DeviceIntPtr dev,
+ TouchPointInfoPtr ti,
+ InternalEvent *ev,
+ XID resource);
+
+Bool DeliverGestureEventToOwner(DeviceIntPtr dev,
+ GestureInfoPtr gi,
+ InternalEvent *ev);
+
+void InitializeSprite(DeviceIntPtr pDev, WindowPtr pWin);
+void FreeSprite(DeviceIntPtr pDev);
+void UpdateSpriteForScreen(DeviceIntPtr pDev, ScreenPtr pScreen);
+
+Bool CheckDeviceGrabs(DeviceIntPtr device,
+ InternalEvent *event,
+ WindowPtr ancestor);
+
+void DeliverFocusedEvent(DeviceIntPtr keybd,
+ InternalEvent *event,
+ WindowPtr window);
+
+int DeliverGrabbedEvent(InternalEvent *event,
+ DeviceIntPtr thisDev,
+ Bool deactivateGrab);
+
+void FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev,
+ InternalEvent *event);
+
+void FixKeyState(DeviceEvent *event, DeviceIntPtr keybd);
+
+void RecalculateDeliverableEvents(WindowPtr pWin);
+
+void DoFocusEvents(DeviceIntPtr dev,
+ WindowPtr fromWin,
+ WindowPtr toWin,
+ int mode);
+
+int SetInputFocus(ClientPtr client,
+ DeviceIntPtr dev,
+ Window focusID,
+ CARD8 revertTo,
+ Time ctime,
+ Bool followOK);
+
+int GrabDevice(ClientPtr client,
+ DeviceIntPtr dev,
+ unsigned this_mode,
+ unsigned other_mode,
+ Window grabWindow,
+ unsigned ownerEvents,
+ Time ctime,
+ GrabMask *mask,
+ int grabtype,
+ Cursor curs,
+ Window confineToWin,
+ CARD8 *status);
+
+void InitEvents(void);
+
+void CloseDownEvents(void);
+
+void DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources);
+
+Mask EventMaskForClient(WindowPtr pWin, ClientPtr client);
+
+Bool CheckMotion(DeviceEvent *ev, DeviceIntPtr pDev);
+
+int SetClientPointer(ClientPtr client, DeviceIntPtr device);
+
+Bool IsInterferingGrab(ClientPtr client, DeviceIntPtr dev, xEvent *events);
+
+int XItoCoreType(int xi_type);
+
+Bool DevHasCursor(DeviceIntPtr pDev);
+
+Bool IsPointerEvent(InternalEvent *event);
+
+Bool IsTouchEvent(InternalEvent *event);
+
+Bool IsGestureEvent(InternalEvent *event);
+
+Bool IsGestureBeginEvent(InternalEvent *event);
+
+Bool IsGestureEndEvent(InternalEvent *event);
+
+void CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
+
+int CorePointerProc(DeviceIntPtr dev, int what);
+
+int CoreKeyboardProc(DeviceIntPtr dev, int what);
+
#endif /* _XSERVER_DIX_PRIV_H */
diff --git a/dix/enterleave.c b/dix/enterleave.c
index 6d1c24adc..57a3d9967 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -33,6 +33,7 @@
#include <X11/extensions/XIproto.h>
#include <X11/extensions/XI2proto.h>
+#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
#include "inputstr.h"
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 30cf86f0a..998304ad9 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -39,6 +39,7 @@
#include <X11/extensions/XI.h>
#include <X11/extensions/XI2.h>
+#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
#include "dix.h"
diff --git a/dix/gestures.c b/dix/gestures.c
index 18f7b0f0d..2c47abb09 100644
--- a/dix/gestures.c
+++ b/dix/gestures.c
@@ -27,12 +27,12 @@
#include <dix-config.h>
#endif
+#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
#include "inputstr.h"
#include "scrnintstr.h"
#include "dixgrabs.h"
-
#include "eventstr.h"
#include "exevents.h"
#include "exglobals.h"
diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
index eb31b55a2..857e790fe 100644
--- a/hw/kdrive/ephyr/ephyrinit.c
+++ b/hw/kdrive/ephyr/ephyrinit.c
@@ -27,6 +27,7 @@
#include <dix-config.h>
#endif
+#include "dix/dix_priv.h"
#include "os/cmdline.h"
#include "os/osdep.h"
diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index 910141755..97769c0b8 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -41,9 +41,12 @@
#include <xorg-config.h>
#endif
+#include <string.h>
#include <X11/X.h>
#include <X11/Xproto.h>
+#include <X11/extensions/xf86dgaproto.h>
+#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
#include "xf86.h"
@@ -51,7 +54,6 @@
#include "xf86Priv.h"
#include "dgaproc.h"
#include "dgaproc_priv.h"
-#include <X11/extensions/xf86dgaproto.h>
#include "colormapst.h"
#include "pixmapstr.h"
#include "inputstr.h"
@@ -64,9 +66,7 @@
#include "exevents.h"
#include "eventstr.h"
#include "xf86Extensions.h"
-
#include "mi.h"
-
#include "misc.h"
#include "dixstruct.h"
#include "dixevents.h"
@@ -77,8 +77,6 @@
#include "dgaproc.h"
#include "protocol-versions.h"
-#include <string.h>
-
#define DGA_PROTOCOL_OLD_SUPPORT 1
static DevPrivateKeyRec DGAScreenKeyRec;
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 8091a2450..081a3dc11 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -50,12 +50,14 @@
#include <xorg-config.h>
#endif
+#include <string.h> /* InputClassMatches */
#include <X11/Xfuncproto.h>
#include <X11/Xmd.h>
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
#include <X11/Xatom.h>
+#include "dix/dix_priv.h"
#include "dix/ptrveloc_priv.h"
#include "xf86.h"
@@ -67,14 +69,12 @@
#include "extinit.h"
#include "loaderProcs.h"
#include "systemd-logind.h"
-
#include "exevents.h" /* AddInputDevice */
#include "exglobals.h"
#include "eventstr.h"
#include "inpututils.h"
#include "optionstr.h"
-#include <string.h> /* InputClassMatches */
#ifdef HAVE_FNMATCH_H
#include <fnmatch.h>
#endif
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 68213ab49..d94c77cdf 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -28,6 +28,12 @@
#include <stddef.h>
#include <string.h>
#include <stdio.h>
+#include <X11/Xatom.h>
+#include <X11/extensions/render.h>
+#include <X11/extensions/dpmsconst.h>
+
+#include "dix/dix_priv.h"
+
#include "mi.h"
#include "xf86.h"
#include "xf86DDC.h"
@@ -35,9 +41,6 @@
#include "xf86Crtc.h"
#include "xf86Modes.h"
#include "xf86RandR12.h"
-#include "X11/extensions/render.h"
-#include "X11/extensions/dpmsconst.h"
-#include "X11/Xatom.h"
void
xf86RotateCrtcRedisplay(xf86CrtcPtr crtc, PixmapPtr dst_pixmap,
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index bc4293d0f..0358b8560 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -32,6 +32,7 @@ from The Open Group.
#include <xwin-config.h>
#endif
+#include "dix/dix_priv.h"
#include "os/osdep.h"
#include "win.h"
diff --git a/hw/xwin/winkeybd.c b/hw/xwin/winkeybd.c
index 00586c25b..037ab1ecc 100644
--- a/hw/xwin/winkeybd.c
+++ b/hw/xwin/winkeybd.c
@@ -35,10 +35,12 @@
#include <xwin-config.h>
#endif
#include "win.h"
+
+#include "dix/dix_priv.h"
+
#include "winkeybd.h"
#include "winconfig.h"
#include "winmsg.h"
-
#include "xkbsrv.h"
/* C does not have a logical XOR operator, so we use a macro instead */
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index 2b64b724c..d325727ac 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -37,6 +37,9 @@
#endif
#include "win.h"
+
+#include "dix/dix_priv.h"
+
#include "dixevents.h"
#include "winmultiwindowclass.h"
#include "winprefs.h"
diff --git a/include/dix.h b/include/dix.h
index f4f17ff29..f656e2796 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -161,8 +161,6 @@ extern _X_EXPORT void SendErrorToClient(ClientPtr /*client */ ,
extern _X_EXPORT void MarkClientException(ClientPtr /*client */ );
-extern _X_HIDDEN Bool CreateConnectionBlock(void);
-
/* dixutils.c */
extern _X_EXPORT int dixLookupWindow(WindowPtr *result,
@@ -190,12 +188,6 @@ extern _X_EXPORT void BlockHandler(void *timeout);
extern _X_EXPORT void WakeupHandler(int result);
-void
-EnableLimitedSchedulingLatency(void);
-
-void
-DisableLimitedSchedulingLatency(void);
-
typedef void (*ServerBlockHandlerProcPtr) (void *blockData,
void *timeout);
@@ -269,16 +261,8 @@ InitAtoms(void);
extern _X_EXPORT void
SetVendorRelease(int release);
-int
-dix_main(int argc, char *argv[], char *envp[]);
-
/* events.c */
-extern void
-SetMaskForEvent(int /* deviceid */ ,
- Mask /* mask */ ,
- int /* event */ );
-
extern _X_EXPORT void
ConfineToShape(DeviceIntPtr /* pDev */ ,
RegionPtr /* shape */ ,
@@ -298,63 +282,23 @@ GetSpriteWindow(DeviceIntPtr pDev);
extern _X_EXPORT void
NoticeTime(const DeviceIntPtr dev,
TimeStamp time);
+
extern _X_EXPORT void
NoticeEventTime(InternalEvent *ev,
DeviceIntPtr dev);
+
extern _X_EXPORT TimeStamp
LastEventTime(int deviceid);
+
extern _X_EXPORT Bool
LastEventTimeWasReset(int deviceid);
+
extern _X_EXPORT void
LastEventTimeToggleResetFlag(int deviceid, Bool state);
+
extern _X_EXPORT void
LastEventTimeToggleResetAll(Bool state);
-extern void
-EnqueueEvent(InternalEvent * /* ev */ ,
- DeviceIntPtr /* device */ );
-extern void
-PlayReleasedEvents(void);
-
-extern void
-ActivatePointerGrab(DeviceIntPtr /* mouse */ ,
- GrabPtr /* grab */ ,
- TimeStamp /* time */ ,
- Bool /* autoGrab */ );
-
-extern void
-DeactivatePointerGrab(DeviceIntPtr /* mouse */ );
-
-extern void
-ActivateKeyboardGrab(DeviceIntPtr /* keybd */ ,
- GrabPtr /* grab */ ,
- TimeStamp /* time */ ,
- Bool /* passive */ );
-
-extern void
-DeactivateKeyboardGrab(DeviceIntPtr /* keybd */ );
-
-extern BOOL
-ActivateFocusInGrab(DeviceIntPtr /* dev */ ,
- WindowPtr /* old */ ,
- WindowPtr /* win */ );
-
-extern void
-AllowSome(ClientPtr /* client */ ,
- TimeStamp /* time */ ,
- DeviceIntPtr /* thisDev */ ,
- int /* newState */ );
-
-extern void
-ReleaseActiveGrabs(ClientPtr client);
-
-extern GrabPtr
-CheckPassiveGrabsOnWindow(WindowPtr /* pWin */ ,
- DeviceIntPtr /* device */ ,
- InternalEvent * /* event */ ,
- BOOL /* checkCore */ ,
- BOOL /* activate */ );
-
extern _X_EXPORT int
DeliverEventsToWindow(DeviceIntPtr /* pWin */ ,
WindowPtr /* pWin */ ,
@@ -368,123 +312,19 @@ DeliverRawEvent(RawDeviceEvent * /* ev */ ,
DeviceIntPtr /* dev */
);
-extern int
-DeliverDeviceEvents(WindowPtr /* pWin */ ,
- InternalEvent * /* event */ ,
- GrabPtr /* grab */ ,
- WindowPtr /* stopAt */ ,
- DeviceIntPtr /* dev */ );
-
-extern int
-DeliverOneGrabbedEvent(InternalEvent * /* event */ ,
- DeviceIntPtr /* dev */ ,
- enum InputLevel /* level */ );
-
-extern void
-DeliverTouchEvents(DeviceIntPtr /* dev */ ,
- TouchPointInfoPtr /* ti */ ,
- InternalEvent * /* ev */ ,
- XID /* resource */ );
-
-extern Bool
-DeliverGestureEventToOwner(DeviceIntPtr dev, GestureInfoPtr gi,
- InternalEvent *ev);
-
-extern void
-InitializeSprite(DeviceIntPtr /* pDev */ ,
- WindowPtr /* pWin */ );
-extern void
-FreeSprite(DeviceIntPtr pDev);
-
-extern void
-UpdateSpriteForScreen(DeviceIntPtr /* pDev */ ,
- ScreenPtr /* pScreen */ );
-
extern _X_EXPORT void
WindowHasNewCursor(WindowPtr /* pWin */ );
-extern Bool
-CheckDeviceGrabs(DeviceIntPtr /* device */ ,
- InternalEvent * /* event */ ,
- WindowPtr /* ancestor */ );
-
-extern void
-DeliverFocusedEvent(DeviceIntPtr /* keybd */ ,
- InternalEvent * /* event */ ,
- WindowPtr /* window */ );
-
-extern int
-DeliverGrabbedEvent(InternalEvent * /* event */ ,
- DeviceIntPtr /* thisDev */ ,
- Bool /* deactivateGrab */ );
-
-extern void
-FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev,
- InternalEvent *event);
-
-extern void
-FixKeyState(DeviceEvent * /* event */ ,
- DeviceIntPtr /* keybd */ );
-
-extern void
-RecalculateDeliverableEvents(WindowPtr /* pWin */ );
-
extern _X_EXPORT int
OtherClientGone(void *value,
XID id);
-extern void
-DoFocusEvents(DeviceIntPtr /* dev */ ,
- WindowPtr /* fromWin */ ,
- WindowPtr /* toWin */ ,
- int /* mode */ );
-
-extern int
-SetInputFocus(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- Window /* focusID */ ,
- CARD8 /* revertTo */ ,
- Time /* ctime */ ,
- Bool /* followOK */ );
-
-extern int
-GrabDevice(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- unsigned /* this_mode */ ,
- unsigned /* other_mode */ ,
- Window /* grabWindow */ ,
- unsigned /* ownerEvents */ ,
- Time /* ctime */ ,
- GrabMask * /* mask */ ,
- int /* grabtype */ ,
- Cursor /* curs */ ,
- Window /* confineToWin */ ,
- CARD8 * /* status */ );
-
-extern void
-InitEvents(void);
-
-extern void
-CloseDownEvents(void);
-
-extern void
-DeleteWindowFromAnyEvents(WindowPtr /* pWin */ ,
- Bool /* freeResources */ );
-
-extern Mask
-EventMaskForClient(WindowPtr /* pWin */ ,
- ClientPtr /* client */ );
-
extern _X_EXPORT int
DeliverEvents(WindowPtr /*pWin */ ,
xEventPtr /*xE */ ,
int /*count */ ,
WindowPtr /*otherParent */ );
-extern Bool
-CheckMotion(DeviceEvent * /* ev */ ,
- DeviceIntPtr /* pDev */ );
-
extern _X_EXPORT void
WriteEventsToClient(ClientPtr /*pClient */ ,
int /*count */ ,
@@ -502,21 +342,12 @@ TryClientEvents(ClientPtr /*client */ ,
extern _X_EXPORT void
WindowsRestructured(void);
-extern int
-SetClientPointer(ClientPtr /* client */ ,
- DeviceIntPtr /* device */ );
-
extern _X_EXPORT DeviceIntPtr
PickPointer(ClientPtr /* client */ );
extern _X_EXPORT DeviceIntPtr
PickKeyboard(ClientPtr /* client */ );
-extern Bool
-IsInterferingGrab(ClientPtr /* client */ ,
- DeviceIntPtr /* dev */ ,
- xEvent * /* events */ );
-
#ifdef RANDR
extern _X_EXPORT void
ScreenRestructured(ScreenPtr pScreen);
@@ -562,37 +393,18 @@ typedef struct {
extern _X_EXPORT CallbackListPtr RootWindowFinalizeCallback;
-extern int
-XItoCoreType(int xi_type);
-extern Bool
-DevHasCursor(DeviceIntPtr pDev);
extern _X_EXPORT Bool
IsPointerDevice(DeviceIntPtr dev);
+
extern _X_EXPORT Bool
IsKeyboardDevice(DeviceIntPtr dev);
-extern Bool
-IsPointerEvent(InternalEvent *event);
-extern Bool
-IsTouchEvent(InternalEvent *event);
-Bool
-IsGestureEvent(InternalEvent *event);
-Bool
-IsGestureBeginEvent(InternalEvent *event);
-Bool
-IsGestureEndEvent(InternalEvent *event);
extern _X_EXPORT Bool
IsMaster(DeviceIntPtr dev);
+
extern _X_EXPORT Bool
IsFloating(DeviceIntPtr dev);
-extern _X_HIDDEN void
-CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
-extern _X_HIDDEN int
-CorePointerProc(DeviceIntPtr dev, int what);
-extern _X_HIDDEN int
-CoreKeyboardProc(DeviceIntPtr dev, int what);
-
extern _X_EXPORT void *lastGLContext;
#endif /* DIX_H */
diff --git a/mi/midispcur.c b/mi/midispcur.c
index b2984a0bb..e5a982976 100644
--- a/mi/midispcur.c
+++ b/mi/midispcur.c
@@ -35,6 +35,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/X.h>
+#include "dix/dix_priv.h"
#include "dix/gc_priv.h"
#include "misc.h"
@@ -48,9 +49,7 @@ in this Software without prior written authorization from The Open Group.
#include "mipointer.h"
#include "misprite.h"
#include "gcstruct.h"
-
#include "picturestr.h"
-
#include "inputstr.h"
/* per-screen private data */
diff --git a/mi/mipointer.c b/mi/mipointer.c
index 652726f3b..e330cc122 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -53,6 +53,9 @@ in this Software without prior written authorization from The Open Group.
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xproto.h>
+
+#include "dix/dix_priv.h"
+
#include "misc.h"
#include "windowstr.h"
#include "pixmapstr.h"
diff --git a/mi/misprite.c b/mi/misprite.c
index ce8c57130..e0af13ad9 100644
--- a/mi/misprite.c
+++ b/mi/misprite.c
@@ -35,6 +35,9 @@ in this Software without prior written authorization from The Open Group.
#include <X11/X.h>
#include <X11/Xproto.h>
+
+#include "dix/dix_priv.h"
+
#include "misc.h"
#include "pixmapstr.h"
#include "input.h"
diff --git a/test/input.c b/test/input.c
index 14ddd8a79..945680001 100644
--- a/test/input.c
+++ b/test/input.c
@@ -39,6 +39,7 @@
#include "inputstr.h"
#include "exevents.h"
+#include "dix/dix_priv.h"
#include "dix/eventconvert.h"
#include "exglobals.h"
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 5e9a6b6d6..2b87de393 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -28,21 +28,25 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <dix-config.h>
#endif
+#include <ctype.h>
#include <stdio.h>
#include <math.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/keysym.h>
+
+#include "dix/dix_priv.h"
+
#include "misc.h"
#include "inputstr.h"
#include "exevents.h"
#include "eventstr.h"
#include <xkbsrv.h>
-#include <ctype.h>
#include "mi.h"
#include "mipointer.h"
#include "inpututils.h"
#include "dixgrabs.h"
+
#define EXTENSION_EVENT_BASE 64
DevPrivateKeyRec xkbDevicePrivateKeyRec;
More information about the xorg-commit
mailing list