[Xcb] [PUSHED] [PATCH proto 1/1] xinput: typedef for event_type_base
Christian Linhart
chris at DemoRecorder.com
Sat Mar 11 10:30:17 UTC 2017
I have just pushed this patch.
This patch has had enough time for review, therefore applying review-by-crickets.
Chris
On 2017-01-20 19:07, Christian Linhart wrote:
> member event_type_base in struct InputClassInfo is a CARD8.
> This patch replaces the type with the new typedef EventTypeBase
> which is defined as a CARD8.
>
> This does not alter the ABI or API for that struct because
> typedefs do not appear in the ABI.
> And C handles typedefs as aliases.
> So there'll be no API issues as well.
>
> The libxcb generator adds additional functions that implement
> an iterator over this type.
> This is harmless because adding code is ABI/API compatible.
>
> The purpose of this change is to add more semantic info to this
> member variable of this struct.
>
> This helps with xcb-based generators or automatic code-checkers
> and things like that.
>
> Signed-off-by: Christian Linhart <chris at demorecorder.com>
> ---
> src/xinput.xml | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/xinput.xml b/src/xinput.xml
> index 94855ba..c0b497e 100644
> --- a/src/xinput.xml
> +++ b/src/xinput.xml
> @@ -222,18 +222,19 @@ <request name="ListInputDevices" opcode="2">
> <fieldref>devices_len</fieldref>
> </list>
> <pad align="4" />
> </reply>
> </request>
>
> <!-- OpenDevice -->
> + <typedef oldname="CARD8" newname="EventTypeBase" />
>
> <struct name="InputClassInfo">
> <field type="CARD8" name="class_id" enum="InputClass" />
> - <field type="CARD8" name="event_type_base" />
> + <field type="EventTypeBase" name="event_type_base" />
> </struct>
>
> <request name="OpenDevice" opcode="3">
> <field type="CARD8" name="device_id" />
> <pad bytes="3" />
> <reply>
> <field type="CARD8" name="xi_reply_type" />
More information about the Xcb
mailing list