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