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>
These are present in the API, but not present on the wire.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This is used by libxcb, and was defined explicitly there but it's
cleaner to use the XML specification.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
No reason to make people use two 32-bit values when every modern
compiler has native 64-bit objects.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This makes sure we use the crazy sync-specific 64-bit datatype instead
of the global INT64 type
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
AXOption can be an <enum> instead of a <union>, which is a much simpler
construct.
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
The field ledId is of type CARD16, not CARD8, see XKBproto.h.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
* CommonDoodad is xkbAnyDoodadWireDesc in XKBproto.h. There it has a
size of 20 like all Doodads:
#define sz_xkbAnyDoodadWireDesc 20
Add the necessary 8 bytes of padding.
* SALockDeviceBtn is an Action. All Actions are handled by the server
and libX11 with sizeof(xkbActionWireDesc) or
SIZEOF(xkbActionWireDesc). Which results in a size of 8:
#define sz_xkbActionWireDesc 8 /* in XKBproto.h */
Add the necessary 3 bytes of padding.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
The first field has to be 'format' not a pad and 'num_items' is of type
CARD32.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Arnaud Fontaine <arnau@debian.org>
Do not allow enum items without an explicit bit or value. The value of
an enum item is known when adding the enum to the xml specification.
There's no reason why this information shouldn't be where it belongs to.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com> (and tested)
Reviewed-by: Josh Triplett <josh@joshtriplett.org>