X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fxml-xcb.txt;h=d47b12c9f7ac6dd4078d7da0bf7879cbfda55432;hb=1dabbc999755762dbb910132cbea1bef2ea34bc8;hp=6aa789bb1c42c63b3b1b5400b54c1877fde732f4;hpb=80a79d466d1b3cb7c81c30f54035862b2d0f5f6f;p=free-sw%2Fxcb%2Fproto
diff --git a/doc/xml-xcb.txt b/doc/xml-xcb.txt
index 6aa789b..d47b12c 100644
--- a/doc/xml-xcb.txt
+++ b/doc/xml-xcb.txt
@@ -244,18 +244,40 @@ enum; the value is restricted to one of the constants named in the enum.
instead for new protocol definitions.
switch expression
- bitcase expression(s), fields
+ bitcase expression(s), fields
+ case expression(s), fields
+
This element represents conditional inclusion of fields. It can be viewed
- as sequence of multiple ifs: if ( switch expression & bitcase expression )
- is non-zero, bitcase fields are included in structure. It can be used only
- as the last field of a structure.
+ as sequence of multiple ifs:
- When a bitcase includes multiple clauses, the contents of the
- bitcase are only present once regardless of the number of bitcase expressions
- that match.
+ :
+ if ( switch expression & bitcase expression ) is non-zero,
+ bitcase fields are included in structure.
+
+ :
+ if ( switch expression == case expression ) is true,
+ then case fields are included in structure.
+
+ It can be used only as the last field of a structure.
+
+ When a bitcase or case includes multiple clauses, the contents
+ of the bitcase or case are only present once regardless of the number of
+ bitcase or case expressions that match.
+
+ inside can only refer to an enum's members.
+ inside can only refer to an enum's members.
+
+ A switch may contain multiple or elements.
+ Usually it will only contain elements
+ or only contain elements.
+ That is, mixing of and usually doesn't make any sense.
+
+ The same value may appear in multiple or elements.
+
+ New protocol definitions should prefer to use this instead of
+ and instead of .
- New protocol definitions should prefer to use this instead of .
Expressions
-----------
@@ -300,6 +322,17 @@ Expressions
This element represents a sumation of the elements of the referenced list.
+expression
+
+ The expression is evaluated for each element of the referenced list,
+ in the context of this element.
+ This sumof element then represents a sumation of the results of these
+ evaluations.
+
+ expression will usually be a fieldref which references a field of
+ a list-element or an expression containing a fieldref,
+ such as popcount of a fieldref.
+
expression
This element represents the number of bits set in the expression.