Commit graph

550 commits

Author SHA1 Message Date
Daniel Martin
a66356e0d9 schema: Restricted enum item values
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>
2014-07-20 21:23:29 +02:00
Daniel Martin
3a0a402d98 schema: Remove dec-or-hex-integer and hex-integer type
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>
2014-07-20 21:21:32 +02:00
Daniel Martin
cdc21ac0e6 schema: Add attribute 'name' to <fd>
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>
2014-07-20 21:21:27 +02:00
Daniel Martin
e28896530d schema: Set default attribute values
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>
2014-07-20 21:21:22 +02:00
Daniel Martin
ee68a1c771 xproto: Fix EnterNotify documentation
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>
2014-07-20 21:21:08 +02:00
Daniel Martin
84bfd909bc xv: Add align. pad in struct AdaptorInfo
The (list) 'name' in the struct AdaptorInfo is not padded. Therefore
we've to add an alignment pad after it.

Reference: http://cgit.freedesktop.org/xorg/lib/libXv/tree/src/Xv.c#n250
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79808

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-06-10 14:01:51 -04:00
Robert Ancell
0797e4d510 dri2: Add notes on lists that should be linked to their length fields but are not.
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2014-06-10 13:53:16 -04:00
Peter Harris
389889e2f9 xkb: Fix use of nKTLevels
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>
2014-04-29 11:52:36 -04:00
Vincent W. Chen
70fea02b7d xprint: Fix <field type="STRING8"> in PrintGetAttributes reply
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>
2014-04-11 17:50:10 -04:00
Vincent W. Chen
a37c762e33 Remove extraneous spaces between <value> tags
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>
2014-04-10 16:26:43 +02:00
Keith Packard
4270141a7c Also track directly imported modules in a separate list
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>
2014-02-19 21:35:16 +01:00
Peter Harris
d898fd39ad xkb: Use <pad align="4" /> in GetMap
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>
2014-01-21 15:24:19 -05:00
Peter Harris
ee02385ce1 Support <pad align="n" />
Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-01-21 15:23:36 -05:00
Peter Harris
a05a510635 Track pad count at the module level
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>
2014-01-21 15:22:43 -05:00
Uli Schlachter
0d8f09b646 Release xcb-proto 1.10
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-12-22 15:59:30 +01:00
Julien Cristau
4087fc682c Add news for 1.10
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 06:25:21 +01:00
Peter Harris
b96ddddecd xinput: Explicitly specify NotifyMode and NotifyDetail
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>
2013-12-14 06:06:55 +01:00
Uli Schlachter
c95ff74bf4 Add NEWS entries for release 1.9
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 05:55:25 +01:00
Uli Schlachter
a79cc9c49d Rename ge events to GeGeneric events
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>
2013-12-14 05:49:18 +01:00
Peter Harris
281790373e sync: VALUETYPE and TESTTYPE are enum
Typoed as mask in e6a246e50e

Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Daniel Martin <consume.noise@gmail.com>
2013-11-18 11:03:20 -05:00
Peter Harris
9c343995ea sync: Add missing namespace for the INT64 struct
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Daniel Martin <consume.noise@gmail.com>
2013-11-18 18:33:47 +09:00
Peter Harris
969583f4dc Present: Remove reference to nonexistent enum
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
2013-11-18 18:29:03 +09:00
Ran Benita
7c85d67b1b xkb: Add struct Property as per spec (commented out)
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>
2013-11-14 20:25:39 +09:00
Daniel Martin
e76dc36de8 xkb: Comment out intermixed fixed size fields and lists
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>
2013-11-14 20:24:03 +09:00
Daniel Martin
0c408c53ff xkb: Comment out the struct Property and {Get, Set}Geometry
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>
2013-11-14 20:23:50 +09:00
Daniel Martin
7482d02e62 xkb: Comment out Doodads
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>
2013-11-14 20:23:30 +09:00
Daniel Martin
2c024996d2 Add note on pretty patches and src/.gitattributes
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>
2013-11-14 20:23:24 +09:00
Daniel Martin
508a220f48 xv: Remove obsolete comments in EncodingInfo and QueryEncodings
The padding in EncodingInfo (struct) and QueryEncodings (reply) has been
fixed upstream:
    Xvproto: fix xvEncodingInfo to match actual wire protocol
    http://cgit.freedesktop.org/xorg/proto/videoproto/commit/?id=d970512
and
    Xvproto.h: fix xvQueryEncodingsReply to match actual wire protocol
    http://cgit.freedesktop.org/xorg/proto/videoproto/commit/?id=1a96222

So, we can remove the comments.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Arnaud Fontaine <arnau@debian.org>
2013-11-14 20:23:11 +09:00
Daniel Martin
6e841e1562 xinput: Add XI2 event enum. for event selection
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>
2013-11-14 20:20:05 +09:00
Matt Turner
cfc7f57cd4 xcbgen: Remove tab from xtypes.py.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71418
2013-11-14 20:06:46 +09:00
Keith Packard
29beba6bf0 Update to version 1.9
Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-07 13:51:09 -08:00
Keith Packard
5eedcab927 Add 'fd' element to fields group, fix present Generic event to validate
This fixes 'make check'

Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-07 13:29:14 -08:00
Keith Packard
24df547b72 Add Present protocol specification
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
2013-11-07 05:14:12 -08:00
Keith Packard
ae9c4710e7 Add DRI3
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
2013-11-07 05:14:12 -08:00
Keith Packard
2b6b7bb7ba Add MIT-SHM AttachFd and CreateSegment requests
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
2013-11-07 05:14:12 -08:00
Keith Packard
c57d265a90 Add support for file descriptor request fields
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>
2013-11-07 05:14:12 -08:00
Keith Packard
82263254e1 Define X generic event structure
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>
2013-11-06 16:51:00 -08:00
Keith Packard
4d8241c67c Add CARD64/INT64 protocol types
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>
2013-11-06 16:50:55 -08:00
Keith Packard
84c032775f Move the INT64 types in sync.xml to the sync: namespace
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>
2013-11-06 16:50:31 -08:00
Peter Harris
3e9aa009a2 XKB: Rewrite AXOption
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>
2013-11-05 17:03:59 +09:00
Peter Harris
888d0f914e XKB: Fix values of AXFBOpt enum
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
2013-11-05 17:03:55 +09:00
Daniel Martin
55c75accec xkb: Fix struct ExtensionDeviceNotify
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>
2013-10-11 16:18:32 +09:00
Daniel Martin
d0d5c8adb1 xkb: Pad structs CommonDoodad and SALockDeviceBtn
* 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>
2013-10-11 16:18:27 +09:00
Daniel Martin
48767a85a5 randr: Fix GetProviderProperty reply
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>
2013-10-11 16:14:45 +09:00
Daniel Martin
cb2fa837ff Enforce a bit or value in enum items
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>
2013-08-25 11:22:20 +02:00
Daniel Martin
a702f7e1ca xv: Use explicit enum value
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>
2013-08-25 11:22:18 +02:00
Daniel Martin
c1887e0594 xproto: Use explicit enum value
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>
2013-08-25 11:22:16 +02:00
Daniel Martin
abc83cbaea xinput: Use explicit enum value
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>
2013-08-25 11:22:14 +02:00
Daniel Martin
2185e7710a xfixes: Use explicit enum value
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>
2013-08-25 11:22:12 +02:00
Daniel Martin
46dc9fb11e xevie: Use explicit enum value
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>
2013-08-25 11:22:10 +02:00