X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fxml-xcb.txt;h=d47b12c9f7ac6dd4078d7da0bf7879cbfda55432;hb=1dabbc999755762dbb910132cbea1bef2ea34bc8;hp=cf6d14e4647b814bbd7cfa70a982d7621efdab87;hpb=ee71d96c83ec86aeb0227f259c03ed3752cc04b3;p=free-sw%2Fxcb%2Fproto diff --git a/doc/xml-xcb.txt b/doc/xml-xcb.txt index cf6d14e..d47b12c 100644 --- a/doc/xml-xcb.txt +++ b/doc/xml-xcb.txt @@ -128,7 +128,8 @@ Top-Level Elements requests of the same type may be combined into a single request without affecting the semantics of the requests. - + structure contents @@ -142,6 +143,11 @@ Top-Level Elements include a sequence number. This is a special-case for the KeymapNotify event in the core protocol, and should not be used in any other event. + If the optional xge attribute is true, the event is an X Generic Event and + will be treated as such. + + The no-sequence-number and xge attribute can not be combined. + structure contents @@ -178,11 +184,12 @@ separated by a single colon. For example, to refer to the PIXMAP type defined in glx rather than the one defined in xproto, use type="glx:PIXMAP" rather than type="PIXMAP". -Note: Most of the below may optionally contain an enum, altenum, or mask +Note: Most of the below may optionally contain an enum, altenum, mask or altmask attribute, which follows the above rules for "type". "enum" is an exhaustive enum; the value is restricted to one of the constants named in the enum. "altenum" may be one of the values contained in the enum, but it need not be. -"mask" refers to an enum to be used as a bitmask. +"mask" refers to an exhaustive enum to be used as a bitmask. +"altmask" may be a mask from the referred enum, but it need not be. @@ -195,6 +202,14 @@ 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. + + + This element represents a file descriptor field passed with the request. The + name attribute gives the name of the field. + + While ordinary fields are encoded as part of the request, file descriptor + fields are generally passed via an out-of-band mechanism. + expression This element represents an array or list of fields in a data structure. The @@ -229,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: + + : + 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 includes multiple clauses, the contents of the - bitcase are only present once regardless of the number of bitcase expressions - that match. + 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 ----------- @@ -285,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.