xserver/Xi
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Enrico Weigelt, metux IT consult 6efd1a85e8 Xi: ProcXIAllowEvents(): untwist request header handling
The Xi protocol has some pretty unclean design aspect: instead of adding a
new sub-request type, version 2.2 introduced a different request structure
with some extra fields. So depending on which version the client has selected,
we need to operate on separate structs.

In the current implementation, there's a unclean hack by using the extended
structure and only accessing the extra fields when using v2.2 or above.
Even though this works, it's making the code unnecessarily complicated and
blocking the use if canonical request parsing macros (which are coming with
subsequent commits).

Thus, it's time to clean it up and only use the exactly correct structs
in the two different cases. The trick is just branching by version and pick
out the the interesting values from the corresponding structs, so they can
later be used in the (mostly) version independent part.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-31 16:09:10 +02:00
..
allowev.c include: drop obsolete dixevents.h 2025-06-12 16:17:35 +02:00
allowev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
chgdctl.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
chgdctl.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
chgfctl.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgfctl.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
chgkbd.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
chgkbd.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
chgkmap.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgkmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
chgprop.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgprop.h Xi: drop using HAVE_DIX_CONFIG_H 2025-07-23 12:23:06 +02:00
chgptr.c include: drop obsolete dixevents.h 2025-06-12 16:17:35 +02:00
chgptr.h Xi: drop using HAVE_DIX_CONFIG_H 2025-07-23 12:23:06 +02:00
closedev.c Xi: canonical walkScreen variable on screen list iterations 2025-08-18 10:52:49 +02:00
closedev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
devbell.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
devbell.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
exevents.c Xi: canonical walkScreen variable on screen list iterations 2025-08-18 10:52:49 +02:00
exglobals.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
extinit.c Xi: use dixAddAtom() 2025-07-23 12:24:27 +02:00
getbmap.c Xi: ProcXGetDeviceButtonMapping(): use x_rpcbuf_t 2025-08-29 13:10:59 +02:00
getbmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getdctl.c Xi: ProcXGetDeviceControl() also use x_rpcbuf_t for byte-swapping 2025-08-31 14:16:18 +02:00
getdctl.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getfctl.c Xi: ProcXGetFeedbackControl(): use x_rpcbuf_t 2025-08-29 13:11:43 +02:00
getfctl.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getfocus.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
getfocus.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getkmap.c Xi: replace WriteRpcbufToClient() by X_SEND_REPLY_WITH_RPCBUF() macro 2025-08-24 12:11:24 +02:00
getkmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getmmap.c Xi: ProcXGetDeviceModifierMapping(): use x_rpcbuf_t 2025-08-29 13:11:20 +02:00
getmmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getprop.c Xi: replace WriteRpcbufToClient() by X_SEND_REPLY_WITH_RPCBUF() macro 2025-08-24 12:11:24 +02:00
getprop.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getselev.c Xi: replace WriteRpcbufToClient() by X_SEND_REPLY_WITH_RPCBUF() macro 2025-08-24 12:11:24 +02:00
getselev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
getvers.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
getvers.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
grabdev.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
grabdev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
grabdevb.c Xi: use static reply struct init on declaration 2025-06-12 17:21:44 +02:00
grabdevb.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
grabdevk.c Xi: use static reply struct init on declaration 2025-06-12 17:21:44 +02:00
grabdevk.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
gtmotion.c Xi: ProcXGetDeviceMotionEvents(): use x_rpcbuf_t 2025-08-29 13:11:32 +02:00
gtmotion.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
listdev.c Xi: ProcXListInputDevices(): use x_rpcbuf_t 2025-08-31 16:04:18 +02:00
listdev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
meson.build treewide: remove "lib" prefix in static_library names (meson) 2025-07-03 12:01:52 +02:00
opendev.c Xi: ProcXOpenDevice(): use x_rpcbuf_t 2025-08-29 11:42:31 +02:00
opendev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
queryst.c Xi: ProcXQueryDeviceState(): use x_rpcbuf_t 2025-08-29 11:42:22 +02:00
queryst.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
selectev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
selectev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
sendexev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
sendexev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
setbmap.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
setbmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
setdval.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
setdval.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
setfocus.c include: drop obsolete dixevents.h 2025-06-12 16:17:35 +02:00
setfocus.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
setmmap.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
setmmap.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
setmode.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
setmode.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
stubs.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ungrdev.c dix: make SameClient() macro private 2025-06-12 16:53:43 +02:00
ungrdev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
ungrdevb.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
ungrdevb.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
ungrdevk.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
ungrdevk.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xiallowev.c Xi: ProcXIAllowEvents(): untwist request header handling 2025-08-31 16:09:10 +02:00
xiallowev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xibarriers.c Xi: canonical walkScreen variable on screen list iterations 2025-08-18 10:52:49 +02:00
xibarriers.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xichangecursor.c dix: rename IsMaster to InputDevIsMaster() 2025-06-12 16:19:33 +02:00
xichangecursor.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xichangehierarchy.c Xi: use fixed define for extenion base opcode 2025-06-12 17:21:43 +02:00
xichangehierarchy.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xigetclientpointer.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
xigetclientpointer.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xigrabdev.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
xigrabdev.h Xi: drop using HAVE_DIX_CONFIG_H 2025-07-23 12:23:06 +02:00
xipassivegrab.c Xi: ProcXIPassiveGrabDevice(): move rpcbuf declaration upwards 2025-08-29 14:32:39 +02:00
xipassivegrab.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xiproperty.c Xi: replace WriteRpcbufToClient() by X_SEND_REPLY_WITH_RPCBUF() macro 2025-08-24 12:11:24 +02:00
xiproperty.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xiquerydevice.c Xi: make ListDeviceClasses() static 2025-08-29 13:10:48 +02:00
xiquerydevice.h Xi: make ListDeviceClasses() static 2025-08-29 13:10:48 +02:00
xiquerypointer.c Xi: ProcXIQueryPointer(): use x_rpcbuf_t 2025-08-29 11:39:51 +02:00
xiquerypointer.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xiqueryversion.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
xiqueryversion.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xiselectev.c Xi: ProcXISelectEvents() declare variables where needed 2025-08-31 10:04:27 +02:00
xiselectev.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xisetclientpointer.c dix: rename dixLookupClient() to dixLookupResourceOwner() 2025-06-12 16:52:07 +02:00
xisetclientpointer.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
xisetdevfocus.c Xi: xtest: use X_SEND_REPLY_SIMPLE() 2025-08-22 14:27:29 +02:00
xisetdevfocus.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00
XIstubs.h include: unexport XIstubs.h 2024-09-01 22:21:12 +00:00
xiwarppointer.c dix: protect from pScreen->SetCursorPosition == NULL 2025-06-12 16:34:14 +02:00
xiwarppointer.h Xi: drop including <dix-config.h> from internal headers 2025-08-05 12:58:07 +02:00