xtestlib.xml revision 25b89263
125b89263Smrg<?xml version="1.0" encoding="UTF-8" ?>
225b89263Smrg<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
325b89263Smrg                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
425b89263Smrg
525b89263Smrg
625b89263Smrg<!-- lifted from troff+ms+XMan by doclifter -->
725b89263Smrg<book id="xtestlib">
825b89263Smrg
925b89263Smrg<bookinfo>
1025b89263Smrg   <title>XTEST Extension Library</title>
1125b89263Smrg   <subtitle>X Consortium Standard</subtitle>
1225b89263Smrg   <releaseinfo>X Version 11, Release 6.4</releaseinfo>
1325b89263Smrg   <authorgroup>
1425b89263Smrg      <author>
1525b89263Smrg         <firstname>Kieron</firstname><surname>Drake</surname>
1625b89263Smrg      </author>
1725b89263Smrg   </authorgroup>
1825b89263Smrg   <corpname>UniSoft Ltd.</corpname>
1925b89263Smrg   <copyright><year>1992</year><holder>UniSoft Group Ltd.</holder></copyright>
2025b89263Smrg   <copyright><year>1992</year><holder>X Consortium</holder></copyright>
2125b89263Smrg   <copyright><year>1994</year><holder>X Consortium</holder></copyright>
2225b89263Smrg   <releaseinfo>Version 2.2</releaseinfo>
2325b89263Smrg   <affiliation><orgname>X Consortium</orgname></affiliation>
2425b89263Smrg   <productnumber>X Version 11, Release 7</productnumber>
2525b89263Smrg
2625b89263Smrg<legalnotice>
2725b89263Smrg
2825b89263Smrg<para>
2925b89263SmrgPermission to use, copy, modify, and distribute this documentation for
3025b89263Smrgany purpose and without fee is hereby granted, provided that the above
3125b89263Smrgcopyright notice and this permission notice appear in all copies.  UniSoft
3225b89263Smrgmakes no representations about the suitability for any purpose of the
3325b89263Smrginformation in this document.  This documentation is provided
3425b89263Smrg&ldquo;as is&rdquo; without express or implied warranty.
3525b89263Smrg</para>
3625b89263Smrg
3725b89263Smrg<para>
3825b89263SmrgPermission is hereby granted, free of charge, to any person obtaining a copy
3925b89263Smrgof this software and associated documentation files
4025b89263Smrg(the &ldquo;Software&rdquo;), to deal in the Software without restriction,
4125b89263Smrgincluding without limitation the rights to use, copy, modify, merge, publish,
4225b89263Smrgdistribute, sublicense, and/or sell copies of the Software, and to permit
4325b89263Smrgpersons to whom the Software is furnished to do so, subject to the following
4425b89263Smrgconditions:
4525b89263Smrg</para>
4625b89263Smrg
4725b89263Smrg<para>
4825b89263SmrgThe above copyright notice and this permission notice shall be included in all
4925b89263Smrgcopies or substantial portions of the Software.
5025b89263Smrg</para>
5125b89263Smrg
5225b89263Smrg<para>
5325b89263SmrgTHE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND,
5425b89263SmrgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5525b89263SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN
5625b89263SmrgNO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5725b89263SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5825b89263SmrgOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
5925b89263SmrgTHE SOFTWARE.
6025b89263Smrg</para>
6125b89263Smrg
6225b89263Smrg<para>
6325b89263SmrgExcept as contained in this notice, the name of the X Consortium shall not
6425b89263Smrgbe used in advertising or otherwise to promote the sale, use or other dealings
6525b89263Smrgin this Software without prior written authorization from the X Consortium.
6625b89263Smrg</para>
6725b89263Smrg
6825b89263Smrg<para>X Window System is a trademark of The Open Group.</para>
6925b89263Smrg
7025b89263Smrg<para>
7125b89263SmrgExcept as contained in this notice, the name of the X Consortium shall not be
7225b89263Smrgused in advertising or otherwise to promote the sale, use or other dealings
7325b89263Smrgin this Software without prior written authorization from the X Consortium.
7425b89263Smrg</para>
7525b89263Smrg</legalnotice>
7625b89263Smrg</bookinfo>
7725b89263Smrg
7825b89263Smrg<chapter id='overview'>
7925b89263Smrg<title>Overview</title>
8025b89263Smrg
8125b89263Smrg<para>
8225b89263SmrgThis extension is a minimal set of client and server extensions
8325b89263Smrgrequired to completely test the X11 server with no user intervention.
8425b89263Smrg</para>
8525b89263Smrg
8625b89263Smrg<para>
8725b89263SmrgThis extension is not intended to support general journaling and
8825b89263Smrgplayback of user actions.  This is a difficult area [XTrap, 89] as it attempts
8925b89263Smrgto synchronize synthetic user interactions with their effects; it is at the
9025b89263Smrghigher level of dialogue recording/playback rather than at the strictly lexical
9125b89263Smrglevel.  We are interested only in the latter, simpler, case.  A more detailed
9225b89263Smrgdiscussion and justification of the extension functionality is given in
9325b89263Smrg[Drake, 91].
9425b89263Smrg</para>
9525b89263Smrg
9625b89263Smrg<para>
9725b89263SmrgWe are aiming only to provide a minimum set of facilities that
9825b89263Smrgsolve immediate testing and validation problems.  The testing extension
9925b89263Smrgitself needs testing, where possible, and so should be as simple as possible.
10025b89263Smrg</para>
10125b89263Smrg
10225b89263Smrg<para>We have also tried to:</para>
10325b89263Smrg<itemizedlist mark='bullet'>
10425b89263Smrg  <listitem>
10525b89263Smrg    <para>
10625b89263SmrgConfine the extension to an appropriate high level
10725b89263Smrgwithin the server to minimize portability problems.  In practice this
10825b89263Smrgmeans that the extension should be at the DIX level or use the
10925b89263SmrgDIX/DDX interface, or both.  This has effects, in particular, on the
11025b89263Smrglevel at which "input synthesis" can occur.
11125b89263Smrg    </para>
11225b89263Smrg  </listitem>
11325b89263Smrg  <listitem>
11425b89263Smrg    <para>
11525b89263SmrgMinimize the changes required in the rest of the server.
11625b89263Smrg    </para>
11725b89263Smrg  </listitem>
11825b89263Smrg  <listitem>
11925b89263Smrg    <para>
12025b89263SmrgMinimize performance penalties on normal server operation.
12125b89263Smrg    </para>
12225b89263Smrg  </listitem>
12325b89263Smrg</itemizedlist>
12425b89263Smrg</chapter>
12525b89263Smrg
12625b89263Smrg<chapter id='description'>
12725b89263Smrg<title>Description</title>
12825b89263Smrg
12925b89263Smrg<para>The functions provided by this extension fall into two groups:</para>
13025b89263Smrg
13125b89263Smrg<itemizedlist>
13225b89263Smrg    <listitem>
13325b89263Smrg      <para>Client Operations</para>
13425b89263Smrg      <para>
13525b89263SmrgThese routines manipulate otherwise hidden client-side behavior.
13625b89263SmrgThe actual implementation will depend on the details of the actual language
13725b89263Smrgbinding and what degree of request buffering, GContext caching, and so on, is
13825b89263Smrgprovided.  In the C binding, defined in section 7, routines are provided
13925b89263Smrgto access the internals of two opaque data structures -
14025b89263Smrg<symbol role='Pn'>GC</symbol>s
14125b89263Smrgand
14225b89263Smrg<function>Visual</function>s - and to discard any requests pending within the
14325b89263Smrgoutput buffer of a connection.  The exact details can be expected to differ for
14425b89263Smrgother language bindings.
14525b89263Smrg      </para>
14625b89263Smrg    </listitem>
14725b89263Smrg    <listitem>
14825b89263Smrg      <para>Server Requests</para>
14925b89263Smrg      <para>
15025b89263SmrgThe first of these requests is similar to that provided in most
15125b89263Smrgextensions: it allows a client to specify a major and minor version
15225b89263Smrgnumber to the server and for the server to respond with major and minor
15325b89263Smrgversions of its own.  The remaining two requests allow the following:
15425b89263Smrg      </para>
15525b89263Smrg    </listitem>
15625b89263Smrg    <listitem>
15725b89263Smrg      <itemizedlist>
15825b89263Smrg        <listitem>
15925b89263Smrg          <para>
16025b89263SmrgAccess to an otherwise "write-only" server resource: the
16125b89263Smrgcursor associated with a given window
16225b89263Smrg          </para>
16325b89263Smrg        </listitem>
16425b89263Smrg        <listitem>
16525b89263Smrg          <para>
16625b89263SmrgPerhaps most importantly, limited synthesis of input
16725b89263Smrgdevice events, almost as if a cooperative user had moved the pointing device
16825b89263Smrgor pressed a key or button.
16925b89263Smrg          </para>
17025b89263Smrg        </listitem>
17125b89263Smrg      </itemizedlist>
17225b89263Smrg    </listitem>
17325b89263Smrg</itemizedlist>
17425b89263Smrg</chapter>
17525b89263Smrg
17625b89263Smrg<chapter id='c_language_binding'>
17725b89263Smrg<title>C Language Binding</title>
17825b89263Smrg
17925b89263Smrg<para>
18025b89263SmrgThe C functions either provide direct access to the protocol and add no
18125b89263Smrgadditional semantics to those defined in section 5 or they correspond
18225b89263Smrgdirectly to the abstract descriptions of client operations in section 4.
18325b89263Smrg</para>
18425b89263Smrg
18525b89263Smrg<para>
18625b89263SmrgAll XTEST extension functions and procedures, and all manifest constants
18725b89263Smrgand macros, will start with the string "XTest".  All operations are
18825b89263Smrgclassified as server/client (Server) or client-only (Client).
18925b89263SmrgAll routines that have return type Status will return nonzero for
19025b89263Smrg"success" and zero for "failure."  Even if the XTEST extension is
19125b89263Smrgsupported, the server may withdraw such facilities arbitrarily; in which case
19225b89263Smrgthey will subsequently return zero.
19325b89263Smrg</para>
19425b89263Smrg
19525b89263Smrg<para>
19625b89263SmrgThe include file for this extension is
19725b89263Smrg&lt;<symbol role='Pn'>X11/extensions/XTest.h</symbol>&gt;.
19825b89263Smrg</para>
19925b89263Smrg
20025b89263Smrg<funcsynopsis>
20125b89263Smrg<funcprototype>
20225b89263Smrg<funcdef>Bool<function> XTestQueryExtension</function></funcdef>
20325b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
20425b89263Smrg<paramdef>int<parameter> *event_base</parameter></paramdef>
20525b89263Smrg<paramdef>int<parameter> *error_base</parameter></paramdef>
20625b89263Smrg<paramdef>int<parameter> *major_version</parameter></paramdef>
20725b89263Smrg<paramdef>int<parameter> *minor_version</parameter></paramdef>
20825b89263Smrg</funcprototype>
20925b89263Smrg</funcsynopsis>
21025b89263Smrg
21125b89263Smrg<para>
21225b89263Smrg<function>XTestQueryExtension</function>
21325b89263Smrgreturns
21425b89263Smrg<function>True</function>
21525b89263Smrgif the specified display supports the XTEST extension, else
21625b89263Smrg<function>False</function>
21725b89263SmrgIf the extension is supported, *event_base would be set to the event number
21825b89263Smrgfor the first event for this extension and *error_base would be set to the
21925b89263Smrgerror number for the first error for this extension.  As no errors or
22025b89263Smrgevents are defined for this version of the extension, the values returned
22125b89263Smrghere are not defined (nor useful).  If the extension is supported,
22225b89263Smrg*major_version and *minor_version are set to the major and minor version
22325b89263Smrgnumbers of the extension supported by the display.  Otherwise, none of
22425b89263Smrgthe arguments are set.
22525b89263Smrg</para>
22625b89263Smrg
22725b89263Smrg<funcsynopsis>
22825b89263Smrg<funcprototype>
22925b89263Smrg<funcdef>Bool<function> XTestCompareCursorWithWindow</function></funcdef>
23025b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
23125b89263Smrg<paramdef>Window<parameter> *window</parameter></paramdef>
23225b89263Smrg<paramdef>Cursor<parameter> cursor</parameter></paramdef>
23325b89263Smrg</funcprototype>
23425b89263Smrg</funcsynopsis>
23525b89263Smrg
23625b89263Smrg<para>If the extension is supported,
23725b89263Smrg<function>XTestCompareCursorWithWindow</function>
23825b89263Smrgperforms a comparison of the cursor whose ID is specified by cursor (which
23925b89263Smrgmay be
24025b89263Smrg<function>None</function>
24125b89263Smrgwith the cursor of the window specified by window returning
24225b89263Smrg<function>True</function>
24325b89263Smrgif they are the same and
24425b89263Smrg<function>False</function>
24525b89263Smrgotherwise.  If the extension is not supported, then the request is ignored and
24625b89263Smrgzero is returned.
24725b89263Smrg</para>
24825b89263Smrg
24925b89263Smrg<funcsynopsis>
25025b89263Smrg<funcprototype>
25125b89263Smrg<funcdef>Bool<function>XTestCompareCurrentCursorWithWindow</function></funcdef>
25225b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
25325b89263Smrg<paramdef>Window<parameter> window</parameter></paramdef>
25425b89263Smrg</funcprototype>
25525b89263Smrg</funcsynopsis>
25625b89263Smrg
25725b89263Smrg<para>If the extension is supported,
25825b89263Smrg<function>XTestCompareCurrentCursorWithWindow</function>
25925b89263Smrgperforms a comparison of the current cursor with the cursor of the specified
26025b89263Smrgwindow returning
26125b89263Smrg<function>True</function>
26225b89263Smrgif they are the same and
26325b89263Smrg<function>False</function>
26425b89263Smrgotherwise.  If the extension is not supported, then the request is ignored and
26525b89263Smrgzero is returned.
26625b89263Smrg</para>
26725b89263Smrg
26825b89263Smrg<funcsynopsis>
26925b89263Smrg<funcprototype>
27025b89263Smrg<funcdef><function>XTestFakeKeyEvent</function></funcdef>
27125b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
27225b89263Smrg<paramdef>unsigned int<parameter> keycode</parameter></paramdef>
27325b89263Smrg<paramdef>Bool<parameter> is_press</parameter></paramdef>
27425b89263Smrg<paramdef>unsigned long<parameter> delay</parameter></paramdef>
27525b89263Smrg</funcprototype>
27625b89263Smrg</funcsynopsis>
27725b89263Smrg
27825b89263Smrg<para>If the extension is supported,
27925b89263Smrg<function>XTestFakeKeyEvent</function>
28025b89263Smrgrequests the server to simulate either a
28125b89263Smrg<function>KeyPress</function>
28225b89263Smrg(if is_press is
28325b89263Smrg<function>True</function>
28425b89263Smrgor a
28525b89263Smrg<function>KeyRelease</function>
28625b89263Smrg(if is_press is
28725b89263Smrg<function>False</function>
28825b89263Smrgof the key with the specified keycode; otherwise, the request is ignored.
28925b89263Smrg</para>
29025b89263Smrg
29125b89263Smrg<para>
29225b89263SmrgIf the extension is supported, the simulated event will not be processed
29325b89263Smrguntil delay milliseconds after the request is received (if delay is
29425b89263Smrg<function>CurrentTime</function>
29525b89263Smrgthen this is interpreted as no delay at all).  No other requests from
29625b89263Smrgthis client will be processed until this delay, if any, has expired
29725b89263Smrgand subsequent processing of the simulated event has been completed.
29825b89263Smrg</para>
29925b89263Smrg
30025b89263Smrg<funcsynopsis>
30125b89263Smrg<funcprototype>
30225b89263Smrg<funcdef><function>XTestFakeButtonEvent</function></funcdef>
30325b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
30425b89263Smrg<paramdef>unsigned int<parameter> button</parameter></paramdef>
30525b89263Smrg<paramdef>Bool<parameter> is_press</parameter></paramdef>
30625b89263Smrg<paramdef>unsigned long<parameter> delay</parameter></paramdef>
30725b89263Smrg</funcprototype>
30825b89263Smrg</funcsynopsis>
30925b89263Smrg
31025b89263Smrg<para>If the extension is supported,
31125b89263Smrg<function>XTestFakeButtonEvent</function>
31225b89263Smrgrequests the server to simulate either a
31325b89263Smrg<function>ButtonPress</function>
31425b89263Smrg(if is_press is
31525b89263Smrg<function>True</function>
31625b89263Smrgor a
31725b89263Smrg<function>ButtonRelease</function>
31825b89263Smrg(if is_press is
31925b89263Smrg<function>False</function>
32025b89263Smrgof the logical button numbered by the specified button; otherwise, the
32125b89263Smrgrequest is ignored.
32225b89263Smrg</para>
32325b89263Smrg
32425b89263Smrg<para>If the extension is supported,
32525b89263Smrgthe simulated event will not be processed until delay milliseconds
32625b89263Smrgafter the request is received (if delay is
32725b89263Smrg<function>CurrentTime</function>
32825b89263Smrgthen this is interpreted as no delay at all).  No other requests from
32925b89263Smrgthis client will be processed until this delay, if any, has expired
33025b89263Smrgand subsequent processing of the simulated event has been completed.
33125b89263Smrg</para>
33225b89263Smrg
33325b89263Smrg<funcsynopsis>
33425b89263Smrg<funcprototype>
33525b89263Smrg<funcdef><function>XTestFakeMotionEvent</function></funcdef>
33625b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
33725b89263Smrg<paramdef>int<parameter> screen_number</parameter></paramdef>
33825b89263Smrg<paramdef>int<parameter> x</parameter></paramdef>
33925b89263Smrg<paramdef>int<parameter> y</parameter></paramdef>
34025b89263Smrg<paramdef>unsigned long<parameter> delay</parameter></paramdef>
34125b89263Smrg</funcprototype>
34225b89263Smrg</funcsynopsis>
34325b89263Smrg
34425b89263Smrg<para>If the extension is supported,
34525b89263Smrg<function>XTestFakeMotionEvent</function>
34625b89263Smrgrequests the server to simulate a movement of the pointer to the specified
34725b89263Smrgposition (x, y) on the root window of screen_number; otherwise, the request
34825b89263Smrgis ignored.  If screen_number is -1, the current screen (that the pointer
34925b89263Smrgis on) is used.
35025b89263Smrg</para>
35125b89263Smrg
35225b89263Smrg<para>
35325b89263SmrgIf the extension is supported, the simulated event will not be processed
35425b89263Smrguntil delay milliseconds after the request is received (if delay is
35525b89263Smrg<function>CurrentTime</function>
35625b89263Smrgthen this is interpreted as no delay at all).  No other requests from
35725b89263Smrgthis client will be processed until this delay, if any, has expired
35825b89263Smrgand subsequent processing of the simulated event has been completed.
35925b89263Smrg</para>
36025b89263Smrg
36125b89263Smrg<funcsynopsis>
36225b89263Smrg<funcprototype>
36325b89263Smrg<funcdef><function>XTestFakeRelativeMotionEvent</function></funcdef>
36425b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
36525b89263Smrg<paramdef>int<parameter> screen_number</parameter></paramdef>
36625b89263Smrg<paramdef>int<parameter> x</parameter></paramdef>
36725b89263Smrg<paramdef>int<parameter> y</parameter></paramdef>
36825b89263Smrg<paramdef>unsigned long<parameter> delay</parameter></paramdef>
36925b89263Smrg</funcprototype>
37025b89263Smrg</funcsynopsis>
37125b89263Smrg
37225b89263Smrg<para>
37325b89263SmrgIf the extension is supported,
37425b89263Smrg<function>XTestFakeRelativeMotionEvent</function>
37525b89263Smrgrequests the server to simulate a movement of the pointer by the specified
37625b89263Smrgoffsets (x, y) relative to the current pointer position on screen_number;
37725b89263Smrgotherwise, the request is ignored.  If screen_number is -1, the
37825b89263Smrgcurrent screen (that the pointer is on) is used.
37925b89263Smrg</para>
38025b89263Smrg
38125b89263Smrg<para>
38225b89263SmrgIf the extension is supported, the simulated event will not be processed
38325b89263Smrguntil delay milliseconds after the request is received (if delay is
38425b89263Smrg<function>CurrentTime</function>
38525b89263Smrgthen this is interpreted as no delay at all).  No other requests from
38625b89263Smrgthis client will be processed until this delay, if any, has expired
38725b89263Smrgand subsequent processing of the simulated event has been completed.
38825b89263Smrg</para>
38925b89263Smrg
39025b89263Smrg<funcsynopsis>
39125b89263Smrg<funcprototype>
39225b89263Smrg<funcdef><function>XTestGrabControl</function></funcdef>
39325b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
39425b89263Smrg<paramdef>Bool<parameter> impervious</parameter></paramdef>
39525b89263Smrg</funcprototype>
39625b89263Smrg</funcsynopsis>
39725b89263Smrg
39825b89263Smrg<para>If impervious is
39925b89263Smrg<function>True</function>
40025b89263Smrgthen the executing client becomes impervious to server grabs.  If impervious is
40125b89263Smrg<function>False</function>
40225b89263Smrgthen the executing client returns to the normal state of being susceptible
40325b89263Smrgto server grabs.
40425b89263Smrg</para>
40525b89263Smrg
40625b89263Smrg<funcsynopsis>
40725b89263Smrg<funcprototype>
40825b89263Smrg<funcdef>Bool<function> XTestSetGContextOfGC</function></funcdef>
40925b89263Smrg<paramdef>GC<parameter> gc</parameter></paramdef>
41025b89263Smrg<paramdef>GContext<parameter> gid</parameter></paramdef>
41125b89263Smrg</funcprototype>
41225b89263Smrg</funcsynopsis>
41325b89263Smrg
41425b89263Smrg<para>
41525b89263Smrg<function>XTestSetGContextOfGC</function>
41625b89263Smrgsets the GContext within the opaque datatype referenced by gc to
41725b89263Smrgbe that specified by gid.
41825b89263Smrg</para>
41925b89263Smrg
42025b89263Smrg<funcsynopsis>
42125b89263Smrg<funcprototype>
42225b89263Smrg<funcdef><function>XTestSetVisualIDOfVisual</function></funcdef>
42325b89263Smrg<paramdef>Visual<parameter> *visual</parameter></paramdef>
42425b89263Smrg<paramdef>VisualID<parameter> visualid</parameter></paramdef>
42525b89263Smrg</funcprototype>
42625b89263Smrg</funcsynopsis>
42725b89263Smrg
42825b89263Smrg<para>
42925b89263Smrg<function>XTestSetVisualIDOfVisual</function>
43025b89263Smrgsets the VisualID within the opaque datatype referenced by visual to
43125b89263Smrgbe that specified by visualid.
43225b89263Smrg</para>
43325b89263Smrg
43425b89263Smrg<funcsynopsis>
43525b89263Smrg<funcprototype>
43625b89263Smrg<funcdef>Bool<function> XTestDiscard</function></funcdef>
43725b89263Smrg<paramdef>Display<parameter> *display</parameter></paramdef>
43825b89263Smrg</funcprototype>
43925b89263Smrg</funcsynopsis>
44025b89263Smrg
44125b89263Smrg<para>
44225b89263Smrg<function>XTestDiscard</function>
44325b89263Smrgdiscards any requests within the output buffer for the specified display.
44425b89263SmrgIt returns
44525b89263Smrg<function>True</function>
44625b89263Smrgif any requests were discarded; otherwise, it returns
44725b89263Smrg<function>False</function>
44825b89263Smrg</para>
44925b89263Smrg</chapter>
45025b89263Smrg
45125b89263Smrg<chapter id='references'>
45225b89263Smrg<title>References</title>
45325b89263Smrg
45425b89263Smrg<para>
45525b89263SmrgAnnicchiarico, D., et al., <emphasis remap='I'>XTrap: The XTrap
45625b89263SmrgArchitecture</emphasis>.
45725b89263SmrgDigital Equipment Corporation, July 1991.
45825b89263Smrg</para>
45925b89263Smrg
46025b89263Smrg<para>
46125b89263SmrgDrake, K. J., <emphasis remap='I'>Some Proposals for a Minimum X11
46225b89263SmrgTesting Extension</emphasis>.
46325b89263SmrgUniSoft Ltd., June 1991.
46425b89263Smrg</para>
46525b89263Smrg
46625b89263Smrg</chapter>
46725b89263Smrg</book>
468