reasons:
* all X11-replies must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
which is not a multiple of 4 bytes
but they start on a 4-byte aligned position.
Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.
notes:
* The align pad had to be added in each relevant bitcase
because adding it after the switch would cause the generator
to abort. (which is OK because a <switch> has to be the last item
of a struct, request or reply, according to the xcb-xml-spec)
reasons:
* all X11-requests must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
which is not a multiple of 4-bytes
but they start on a 4-byte aligned position.
Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.
notes:
* The align pad had to be added in each relevant bitcase
because adding it after the switch would cause the generator
to abort. (which is OK because a <switch> has to be the last item
of a struct, request or reply, according to the xcb-xml-spec)
reasons:
* all X11-replies must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
which is not a multiple of 4-bytes
but they start on a 4-byte aligned position.
Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.
notes:
* The align pad had to be added in each relevant bitcase
because adding it after the switch would cause the generator
to abort. (which is OK because a <switch> has to be the last item
of a struct, request or reply, according to the xcb-xml-spec)
fix length of pad from 1 to 2 bytes after request-field keycodes_per_modifier
see XIproto.h:1057 in inputproto-2.3.1
see spec in libXi-1.7.4 ( in docbook format in the directory "specs" )
Reviewed-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
add missing pad after field "feedback_id"
see XIproto.h:875 in inputproto-2.3.1
see spec in libXi-1.7.4 ( in docbook format in the directory "specs" )
Reviewed-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
The field modLatches was missing in the request LatchLockState:
http://cgit.freedesktop.org/xorg/proto/kbproto/tree/XKBproto.h#n141
v2: Use a pad instead of a field, as the field would cause an API break.
Though, keep the field commented out to document it.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
Restrict decimal values by using an xsd:unsignedInt instead of an
xsd:integer. xsd:unsignedInt is an unsigned 32-bit integer.
And restrict bit values by adding a type, which allows values within the
range of [0, 32) only.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reflect in the schema that hexadecimal values aren't supported in enum
items (and expressions) by removing the 'dec-or-hex-integer' and
'hex-integer' type.
Hexadecimal values are not supported "as some languages have a different
notation for hex-values" and therefor such hexadecimal values have been
explicitly replaced with decimal values in other commits, see:
183ecff Replaced hex-values with decimal ones
8b3c120 did remaining replacements of hex constants with decimal
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Do not allow any other attribute and make sure the attribute 'name' is
set in an fd element by adding and declaring it as required in the
schema.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Set the default values for the attributes combine-adjacent,
no-sequence-number and xge to false.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Fix a copy'n'paste mistake (from UnmapNotify) in the documentation of
EnterNotify by changing the description for 'event', renaming
'window' to 'child' and change its description too.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
nLevelsPerType is nLevels long. This continues the work started in
76ca2c0b15.
nKTLevels could be used instead of <sumof nLevelsPerType>, but that
change causes a change to libxcb's API.
Reviewed-by: Ran Benita <ran234@gmail.com>
Tested-by: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
The reply for PrintGetAttributes contains a field of type STRING8, which
makes no sense as the STRING8 type is only used to denote a string. This
has been changed to <list type="STRING8"> with field "stringLen" as its
length.
Reviewed-by: Peter Harris <pharris@opentext.com>
These are the only places where spaces are allowed between <value> tags.
This is not only inconsistent but also complicates the parsing of values
as integers.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This allows the generated header files to only include the
directly referenced header files, with the indirectly referenced header
files included by the directly referenced ones.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
There is a bug where lists of size other than one are automatically
aligned by c_client.py. So alignment_pad3 and 4 were aligning twice
and consuming too many bytes.
Rather than change the type to CARD8 and wrap the <op> in yet another
<op> to multiply by two, use the new <pad align> operation.
Reviewed-By: Ran Benita <ran234@gmail.com>
Tested-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
If the pad count is reset for each bitcase, the names will collide
in the encompasing switch struct.
Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
There is a NotifyMode and a NotifyDetail in both xproto and xinput. Add
a namespece to the enum references to be clear about which one is to be
used.
Signed-off-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
The new xcb_ge_event_t that libxcb generates from this definition has different
fields than the old, hand-written xcb_ge_event_t. To undo an API break, libxcb
will reintroduce the old hand-written version and mark it as deprecated, so that
everyone can switch to this new version.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71502
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Cristau <jcristau@debian.org>
The specification says that Property is a struct of two CountedString16
(name and value). This form can't be handled atm. correctly too. But,
add it as a comment so we've it at hand when we know what to do with it.
All credits go to Ran Benita, as he found this.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
c_client.py doesn't handle such intermixed fixed size fields and lists
correctly. Therefor comment them out.
With that change the size of the generated request structure for
ListComponents has 8 Bytes which is the same as xkbListComponentsReq
has and the server checks REQUEST_AT_LEAST_SIZE(xkbListComponentsReq).
The same goes for GetKbdByName, which results in a structure of 12
Bytes.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
This struct has intermixed fixed size fields and lists, which
c_client.py doesn't handle properly. Therefor comment out the struct and
the fields type-referencing it.
As doodads are commented out already and with Property gone the requests
GetGeomtry and SetGeometry become pretty much useless. Therefor comment
them out completly.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
Doodads are known to be broken (*). Comment them out until they can be
handled properly.
(*) One problem is that TextDoodad and LogoDoodad have variadic lists at
the end. But, they're within a union with other fixed size Doodads. A
union doesn't have a hint which field is in use and therefor the code
generator (at least c_client.py) just creates a generic iterator for the
Doodad union, which fails for TextDoodad and LogoDoodad.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
Add a file HACKING describing howto to prettify patches (their hunk
headers) and add src/.gitattributes, which is necessary for that.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
This adds an enumeration 'XIEventMask', which is necessary to select for
XI2 events via the SelectEvent request.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>