summaryrefslogtreecommitdiff
path: root/proto/xcb-proto/doc
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2022-07-17 08:19:04 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2022-07-17 08:19:04 +0000
commit6b0010bc7622d889f9f972dfd97582c267b5b1aa (patch)
tree053201f40fc29a8a3ec5167f968691cdb8082154 /proto/xcb-proto/doc
parent71c2e9f9153cbc5d3a7d8ce5737fdd69d95ee55a (diff)
Update xcb-protos to 1.15.2
Diffstat (limited to 'proto/xcb-proto/doc')
-rw-r--r--proto/xcb-proto/doc/xml-xcb.txt21
1 files changed, 19 insertions, 2 deletions
diff --git a/proto/xcb-proto/doc/xml-xcb.txt b/proto/xcb-proto/doc/xml-xcb.txt
index f5b9aed13..baef73416 100644
--- a/proto/xcb-proto/doc/xml-xcb.txt
+++ b/proto/xcb-proto/doc/xml-xcb.txt
@@ -65,8 +65,8 @@ Top-Level Elements
This element represents a data structure. The name attribute gives the name
of the structure. The content represents the fields of the structure, and
- consists of one or more of the field, pad, and list elements described in
- the section "Structure Contents" below.
+ consists of one or more of the length, field, pad, and list elements described
+ in the section "Structure Contents" below.
<union name="identifier">structure contents</union>
@@ -215,6 +215,23 @@ enum; the value is restricted to one of the constants named in the enum.
declares the data type of the field, and the name attribute gives the name
of the field.
+<length>expression</length>
+ This element overrides the length of the data structure by specifying it
+ explicitly instead of it being defined by the layout of the structure.
+ This makes it possible to handle structures with conditional fields
+ (see the <switch> element) where the future revisions of protocols may
+ introduce new variants and old code must still properly ignore them.
+
+ The content is an expression giving the length of the data structure in terms
+ of other fields in the structure. See the section "Expressions" for details
+ on the expression representation.
+
+ The expression must not depend on conditional fields.
+
+ Additionally, the length of the data structure must be at least such that it
+ includes the fields that the expression depends on. Smaller length is
+ considered a violation of the protocol.
+
<fd name="identifier" />
This element represents a file descriptor field passed with the request. The