summaryrefslogtreecommitdiff
path: root/hw/dmx/doc/html/dmxsync_8c.html
diff options
context:
space:
mode:
authorroot <root@zombrain.(none)>2011-07-25 08:54:41 (GMT)
committerroot <root@zombrain.(none)>2011-07-25 08:54:41 (GMT)
commitab4fcaad149d4bdccefa8f693c2a8e044b40dd4c (patch)
treec95c280caabc70e7aedbde723e38820047357be7 /hw/dmx/doc/html/dmxsync_8c.html
initial state (xorg-server 1.10.2)
Diffstat (limited to 'hw/dmx/doc/html/dmxsync_8c.html')
-rw-r--r--hw/dmx/doc/html/dmxsync_8c.html341
1 files changed, 341 insertions, 0 deletions
diff --git a/hw/dmx/doc/html/dmxsync_8c.html b/hw/dmx/doc/html/dmxsync_8c.html
new file mode 100644
index 0000000..c033f89
--- /dev/null
+++ b/hw/dmx/doc/html/dmxsync_8c.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>File Index</title>
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+ </head>
+ <body>
+<!-- Generated by Doxygen 1.7.3 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('dmxsync_8c.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<h1>dmxsync.c File Reference</h1> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="dmx_8h_source.html">dmx.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxsync_8h_source.html">dmxsync.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxstat_8h_source.html">dmxstat.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxlog_8h_source.html">dmxlog.h</a>&quot;</code><br/>
+<code>#include &lt;sys/time.h&gt;</code><br/>
+</div><table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static CARD32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a00478eb7de1c84d98b41ca4c6d4b50e4">dmxSyncCallback</a> (OsTimerPtr timer, CARD32 time, pointer arg)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#aa5bb6eee83aba5bedf3c93fbb85af049">dmxSyncBlockHandler</a> (pointer blockData, OSTimePtr pTimeout, pointer pReadMask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a9329ae45fff6668caaca1fb93792b0b9">dmxSyncWakeupHandler</a> (pointer blockData, int result, pointer pReadMask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#ae0a769161d6f8d88067a9cac16f9cf6f">dmxSyncActivate</a> (const char *interval)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a0b349896e58d4291d712e31121fdc0ac">dmxSyncInit</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, Bool now)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a01c45efcf0b2d9242b06e1e0fe42bd76">dmxSyncInterval</a> = 100</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static OsTimerPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a9466911712aef6631a5b88d1bcb1afad">dmxSyncTimer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsync_8c.html#a6fb7fbcbe509b8ffb8637691925d46f2">dmxSyncPending</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The DMX server code is written to call <a class="el" href="dmxsync_8c.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a> whenever an XSync() might be necessary. However, since XSync() requires a two way communication with the other X server, eliminating unnecessary XSync() calls is a key performance optimization. Support for this optimization is provided here. Statistics about XSync() calls and latency are gathered in <em><a class="el" href="dmxstat_8c.html">dmxstat.c</a></em>.</p>
+<p>During the initial conversion from calling XSync() immediately to the XSync() batching method implemented in this file, it was noted that, out of more than 300 <em>x11perf</em> tests, 8 tests became more than 100 times faster, with 68 more than 50X faster, 114 more than 10X faster, and 181 more than 2X faster. </p>
+</div><hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a3f47aabdd830525720f7a01acbac91ef"></a><!-- doxytag: member="dmxsync.c::dmxDoSync" ref="a3f47aabdd830525720f7a01acbac91ef" args="(DMXScreenInfo *dmxScreen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxDoSync </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>dmxScreen</em></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="dmxstat_8c.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a>, <a class="el" href="dmxstat_8c.html#a1098a195e40df685aaf2fbc238884027">dmxStatSync()</a>, <a class="el" href="dmxsync_8c.html#a6fb7fbcbe509b8ffb8637691925d46f2">dmxSyncPending</a>, and <a class="el" href="struct__DMXScreenInfo.html#a2c3aa46a8fafabc0a9af28948055fcb0">_DMXScreenInfo::needsSync</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>, and <a class="el" href="dmxsync_8c.html#a00478eb7de1c84d98b41ca4c6d4b50e4">dmxSyncCallback()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab848762f4d2e30d31b87d3e8e10c5967"></a><!-- doxytag: member="dmxsync.c::dmxSync" ref="ab848762f4d2e30d31b87d3e8e10c5967" args="(DMXScreenInfo *dmxScreen, Bool now)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxSync </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>dmxScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Bool&#160;</td>
+ <td class="paramname"><em>now</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Request an XSync() to the display used by <em>dmxScreen</em>. If <em>now</em> is TRUE, call XSync() immediately instead of waiting for the next XSync() batching point. Note that if XSync() batching was deselected with <a class="el" href="dmxsync_8c.html#ae0a769161d6f8d88067a9cac16f9cf6f">dmxSyncActivate()</a> before <a class="el" href="dmxsync_8c.html#a0b349896e58d4291d712e31121fdc0ac">dmxSyncInit()</a> was called, then no XSync() batching is performed and this function always calles XSync() immediately.</p>
+<p>(Note that this function uses TimerSet but works correctly in the face of a server generation. See the source for details.)</p>
+<p>If <em>dmxScreen</em> is <em>NULL</em>, then all pending syncs will be flushed immediately. </p>
+
+<p>References <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync()</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxscrinit_8c.html#a4f7aaf448bb3a6c12bccf07600bb1d52">dmxGeneration</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxsync_8c.html#a00478eb7de1c84d98b41ca4c6d4b50e4">dmxSyncCallback()</a>, <a class="el" href="dmxsync_8c.html#a01c45efcf0b2d9242b06e1e0fe42bd76">dmxSyncInterval</a>, <a class="el" href="dmxsync_8c.html#a6fb7fbcbe509b8ffb8637691925d46f2">dmxSyncPending</a>, <a class="el" href="dmxsync_8c.html#a9466911712aef6631a5b88d1bcb1afad">dmxSyncTimer</a>, <a class="el" href="struct__DMXScreenInfo.html#a5cfc14ffedaafcbe5b00302f972208cf">_DMXScreenInfo::name</a>, and <a class="el" href="struct__DMXScreenInfo.html#a2c3aa46a8fafabc0a9af28948055fcb0">_DMXScreenInfo::needsSync</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor()</a>, <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="dmxextension_8h.html#af5d146634762aff17b8c45c4794d33e3">dmxAddInput()</a>, <a class="el" href="dmxextension_8h.html#a3962840388f9bcf96fb17294a413d8cb">dmxAttachScreen()</a>, <a class="el" href="dmxbackend_8h.html#a6e9b6f0743636b93aeb6ae71a3517abf">dmxBackendCollectEvents()</a>, <a class="el" href="dmxbackend_8h.html#a4ee65e2f1b86616b7898c273d78a5853">dmxBackendProcessInput()</a>, <a class="el" href="dmxbackend_8h.html#a486d684411f79c459a1195e5c02f404c">dmxBackendUpdatePosition()</a>, <a class="el" href="dmxcursor_8h.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor()</a>, <a class="el" href="dmxpixmap_8h.html#ab785500b50aa10eb1d76274688413770">dmxBECreatePixmap()</a>, <a class="el" href="dmxfont_8h.html#ad24fe115ec27d050da7a4cb47d7ce52f">dmxBELoadFont()</a>, <a class="el" href="dmxpixmap_8h.html#af943d5ec32fe35ccc74ae190b8d8bb3e">dmxBitmapToRegion()</a>, <a class="el" href="dmxwindow_8h.html#a5d63a05eab33981615afdf523a44c697">dmxChangeBorderWidth()</a>, <a class="el" href="dmxgc_8h.html#af07df8b118bf78f1ce4b96fa1d0a2401">dmxChangeGC()</a>, <a class="el" href="dmxpict_8h.html#a80e126a5d7911fec43bad8a9428980d6">dmxChangePictureClip()</a>, <a class="el" href="dmxwindow_8h.html#ae6f0ba304627ea760df9e9c53f7bbae6">dmxChangeWindowAttributes()</a>, <a class="el" href="dmxfont_8c.html#a3d2eb9a1b065a02dbe58ee4e85ff6247">dmxCheckFontPath()</a>, <a class="el" href="dmxfont_8c.html#a177c3268bf91715dc536db6b6f8eed72">dmxCheckFontPathElement()</a>, <a class="el" href="dmxcommon_8h.html#a8ba0ee4f9f09bc9089d480d1f5467cd8">dmxCommonMouOn()</a>, <a class="el" href="dmxcommon_8h.html#a14295660e17d34955693cef6654d7bb6">dmxCommonSaveState()</a>, <a class="el" href="dmxpict_8h.html#a65851c1a4e9cd6946d67ff5aaf7bce88">dmxComposite()</a>, <a class="el" href="dmxpict_8h.html#ae828cd3db7af3c9e3a615267cd780ac4">dmxCompositeRects()</a>, <a class="el" href="dmxconsole_8h.html#ae70541f26e4a4ff6360090393d622b41">dmxConsoleCapture()</a>, <a class="el" href="dmxconsole_8h.html#aadf02f44bcb19eb2d0f8507a397a73fb">dmxConsoleUncapture()</a>, <a class="el" href="dmxgcops_8h.html#a9165fc8e2f98c6d4d82154a1b52b7c0f">dmxCopyArea()</a>, <a class="el" href="dmxgcops_8h.html#aa6b3b34e3b0e151d5b2d5f081f6d6e0f">dmxCopyPlane()</a>, <a class="el" href="dmxwindow_8h.html#ad78bdba42db62285cf174f072a63a81a">dmxCopyWindow()</a>, <a class="el" href="dmxwindow_8h.html#afefa2121a2898700d285e77730a52c4d">dmxCreateAndRealizeWindow()</a>, <a class="el" href="dmxwindow_8h.html#aebb0ce7ac51645832a20c7d6a7d21d9c">dmxCreateWindow()</a>, <a class="el" href="dmxpict_8h.html#aee92c240df08f4c8a62c291b3efa4d7e">dmxDestroyPicture()</a>, <a class="el" href="dmxpict_8h.html#aa977edb667e68606b2e08b25d99427de">dmxDestroyPictureClip()</a>, <a class="el" href="dmxpixmap_8h.html#a7c602d928744ec2e7be73ef197fc9b12">dmxDestroyPixmap()</a>, <a class="el" href="dmxwindow_8h.html#a25a0aafd36f68137e67a3e6d95b78f53">dmxDestroyWindow()</a>, <a class="el" href="dmxdpms_8h.html#a6c93ecabb9ee83027c79f878e143a472">dmxDPMSInit()</a>, <a class="el" href="dmxdpms_8h.html#a54288399c9ed5293b83d7d508ff2465c">dmxDPMSTerm()</a>, <a class="el" href="dmxgcops_8h.html#a4c24d2a2ddb121d2281084dd4f1361a6">dmxFillPolygon()</a>, <a class="el" href="dmxextension_8h.html#af7927d9de14425779c5de40312407203">dmxFlushPendingSyncs()</a>, <a class="el" href="dmxgcops_8h.html#ace88d57bbb8edfcdc3e7206e59c1e30f">dmxGetImage()</a>, <a class="el" href="dmxgcops_8h.html#acb19f9ef082c76f281679994057fafe1">dmxImageText16()</a>, <a class="el" href="dmxgcops_8h.html#a1fc863ca944469fc34d78db948f14053">dmxImageText8()</a>, <a class="el" href="dmxcmap_8h.html#a13a0bbf846ac7b3dcb41ae9bc4e64a3e">dmxInstallColormap()</a>, <a class="el" href="dmxgcops_8h.html#a7c4ff7ddf5b1a31d11e9124dc18f69f0">dmxPolyArc()</a>, <a class="el" href="dmxgcops_8h.html#a5488891f016532e40ba5e31466fb67fd">dmxPolyFillArc()</a>, <a class="el" href="dmxgcops_8h.html#a7d7eee30be7b445772f875b8cc1c8e0a">dmxPolyFillRect()</a>, <a class="el" href="dmxgcops_8h.html#abd3dea8c777a8e39ffbf2b9fa8e1405e">dmxPolylines()</a>, <a class="el" href="dmxgcops_8h.html#a03892f8e655a4bb743a264f121b096c6">dmxPolyPoint()</a>, <a class="el" href="dmxgcops_8h.html#a6bc862a4f475154ff9ff5f30a0ffcf89">dmxPolyRectangle()</a>, <a class="el" href="dmxgcops_8h.html#a9592aeb83549cbe036a47e9ac90dbf36">dmxPolySegment()</a>, <a class="el" href="dmxgcops_8h.html#a2fe37b5892867df4c29292c975c17e52">dmxPolyText16()</a>, <a class="el" href="dmxgcops_8h.html#a9b3a993a29bb01745ddbf7bd9ff97ef5">dmxPolyText8()</a>, <a class="el" href="dmxwindow_8h.html#adba873c51adf03b8af700c67fc6fba9b">dmxPositionWindow()</a>, <a class="el" href="dmxpict_8c.html#a3af8c0336c49625930470c6e2bce2a48">dmxProcRenderAddGlyphs()</a>, <a class="el" href="dmxpict_8c.html#a612db8702e6a380e12719576a57602e7">dmxProcRenderCompositeGlyphs()</a>, <a class="el" href="dmxpict_8c.html#a31fa7a567bceaf88984a3e862dc9a72e">dmxProcRenderFreeGlyphs()</a>, <a class="el" href="dmxpict_8c.html#a182c93f585ba30c52c680849edb51c7f">dmxProcRenderFreeGlyphSet()</a>, <a class="el" href="dmxpict_8c.html#a6cf50414d7688db973f42db898ba16a8">dmxProcRenderSetPictureFilter()</a>, <a class="el" href="dmxpict_8c.html#af7e087c44278e073b515a7adf3788a06">dmxProcRenderSetPictureTransform()</a>, <a class="el" href="dmxgcops_8h.html#ae1e930ec29cf8bd07acd6ccee4a548a3">dmxPutImage()</a>, <a class="el" href="dmxwindow_8h.html#ac75f5d6332a78eeac4e0e185cf326045">dmxRealizeWindow()</a>, <a class="el" href="dmxwindow_8h.html#ab07d7010858aa078f26396f420fdea8c">dmxReparentWindow()</a>, <a class="el" href="dmxwindow_8h.html#a817739d4921329f1cf71f2af6fcacfc2">dmxResizeRootWindow()</a>, <a class="el" href="dmxwindow_8h.html#af96b8583264e78a4c693c6f7ee887067">dmxResizeScreenWindow()</a>, <a class="el" href="dmxwindow_8h.html#ac3811e381fef200b5cd3207478df66e1">dmxResizeWindow()</a>, <a class="el" href="dmxwindow_8h.html#a21e147f295faee8e53eb162071dc66ad">dmxRestackWindow()</a>, <a class="el" href="dmxscrinit_8c.html#af59f4754af961e2be5f6ef2ce4f5bfcc">dmxSaveScreen()</a>, <a class="el" href="dmxfont_8c.html#ad20ddd111e4a45bf1bdfd45744946c72">dmxSetFontPath()</a>, <a class="el" href="dmxwindow_8h.html#aa14e289855150f41c4f574afea427bb0">dmxSetShape()</a>, <a class="el" href="dmxshadow_8h.html#af2e3c9fd493e63137db512ab54bf1327">dmxShadowUpdateProc()</a>, <a class="el" href="dmxcmap_8h.html#a38bddf73cfed2aec203c62fc5be4ae97">dmxStoreColors()</a>, <a class="el" href="dmxpict_8h.html#ae54f217c222944bb10731d73e05ed4b2">dmxTrapezoids()</a>, <a class="el" href="dmxpict_8h.html#a401f568feed789ffc0bb1cc52573f707">dmxTriangles()</a>, <a class="el" href="dmxpict_8h.html#a11d3beb5f92c982f9383bb7e606e3157">dmxTriFan()</a>, <a class="el" href="dmxpict_8h.html#a3e36166fd4db06d364e7cc1762ab5b8c">dmxTriStrip()</a>, <a class="el" href="dmxwindow_8h.html#aeab9f468cc2c9374658213ee90a234a0">dmxUnrealizeWindow()</a>, <a class="el" href="dmxpict_8h.html#a3a9285c518b050130e40b7e147309350">dmxValidatePicture()</a>, and <a class="el" href="dmxwindow_8h.html#a02a6991e5248012e287fe4be3a985926">dmxWindowExposures()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae0a769161d6f8d88067a9cac16f9cf6f"></a><!-- doxytag: member="dmxsync.c::dmxSyncActivate" ref="ae0a769161d6f8d88067a9cac16f9cf6f" args="(const char *interval)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxSyncActivate </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>interval</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Request the XSync() batching optimization with the specified <em>interval</em> (in mS). If the <em>interval</em> is 0, 100mS is used. If the <em>interval</em> is less than 0, then the XSync() batching optimization is not requested (e.g., so the -syncbatch -1 command line option can turn off the default 100mS XSync() batching).</p>
+<p>Note that the parameter to this routine is a string, since it will usually be called from <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument</a> in <em><a class="el" href="dmxinit_8c.html">dmxinit.c</a></em> </p>
+
+<p>References <a class="el" href="dmxsync_8c.html#a01c45efcf0b2d9242b06e1e0fe42bd76">dmxSyncInterval</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa5bb6eee83aba5bedf3c93fbb85af049"></a><!-- doxytag: member="dmxsync.c::dmxSyncBlockHandler" ref="aa5bb6eee83aba5bedf3c93fbb85af049" args="(pointer blockData, OSTimePtr pTimeout, pointer pReadMask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxSyncBlockHandler </td>
+ <td>(</td>
+ <td class="paramtype">pointer&#160;</td>
+ <td class="paramname"><em>blockData</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OSTimePtr&#160;</td>
+ <td class="paramname"><em>pTimeout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">pointer&#160;</td>
+ <td class="paramname"><em>pReadMask</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxsync_8c.html#a9466911712aef6631a5b88d1bcb1afad">dmxSyncTimer</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#a0b349896e58d4291d712e31121fdc0ac">dmxSyncInit()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a00478eb7de1c84d98b41ca4c6d4b50e4"></a><!-- doxytag: member="dmxsync.c::dmxSyncCallback" ref="a00478eb7de1c84d98b41ca4c6d4b50e4" args="(OsTimerPtr timer, CARD32 time, pointer arg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static CARD32 dmxSyncCallback </td>
+ <td>(</td>
+ <td class="paramtype">OsTimerPtr&#160;</td>
+ <td class="paramname"><em>timer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CARD32&#160;</td>
+ <td class="paramname"><em>time</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">pointer&#160;</td>
+ <td class="paramname"><em>arg</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync()</a>, <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="dmxsync_8c.html#a6fb7fbcbe509b8ffb8637691925d46f2">dmxSyncPending</a>, and <a class="el" href="struct__DMXScreenInfo.html#a2c3aa46a8fafabc0a9af28948055fcb0">_DMXScreenInfo::needsSync</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b349896e58d4291d712e31121fdc0ac"></a><!-- doxytag: member="dmxsync.c::dmxSyncInit" ref="a0b349896e58d4291d712e31121fdc0ac" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxSyncInit </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Initialize the XSync() batching optimization, but only if <a class="el" href="dmxsync_8h.html#ae0a769161d6f8d88067a9cac16f9cf6f">dmxSyncActivate</a> was last called with a non-negative value. </p>
+
+<p>References <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917faf73564300bdffb23b369b84c842aceea">dmxInfo</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxsync_8c.html#aa5bb6eee83aba5bedf3c93fbb85af049">dmxSyncBlockHandler()</a>, <a class="el" href="dmxsync_8c.html#a01c45efcf0b2d9242b06e1e0fe42bd76">dmxSyncInterval</a>, and <a class="el" href="dmxsync_8c.html#a9329ae45fff6668caaca1fb93792b0b9">dmxSyncWakeupHandler()</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9329ae45fff6668caaca1fb93792b0b9"></a><!-- doxytag: member="dmxsync.c::dmxSyncWakeupHandler" ref="a9329ae45fff6668caaca1fb93792b0b9" args="(pointer blockData, int result, pointer pReadMask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxSyncWakeupHandler </td>
+ <td>(</td>
+ <td class="paramtype">pointer&#160;</td>
+ <td class="paramname"><em>blockData</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">pointer&#160;</td>
+ <td class="paramname"><em>pReadMask</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#a0b349896e58d4291d712e31121fdc0ac">dmxSyncInit()</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a01c45efcf0b2d9242b06e1e0fe42bd76"></a><!-- doxytag: member="dmxsync.c::dmxSyncInterval" ref="a01c45efcf0b2d9242b06e1e0fe42bd76" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="dmxsync_8c.html#a01c45efcf0b2d9242b06e1e0fe42bd76">dmxSyncInterval</a> = 100<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>, <a class="el" href="dmxsync_8h.html#ae0a769161d6f8d88067a9cac16f9cf6f">dmxSyncActivate()</a>, and <a class="el" href="dmxsync_8h.html#a0b349896e58d4291d712e31121fdc0ac">dmxSyncInit()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6fb7fbcbe509b8ffb8637691925d46f2"></a><!-- doxytag: member="dmxsync.c::dmxSyncPending" ref="a6fb7fbcbe509b8ffb8637691925d46f2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="dmxsync_8c.html#a6fb7fbcbe509b8ffb8637691925d46f2">dmxSyncPending</a><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync()</a>, <a class="el" href="dmxsync_8h.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>, and <a class="el" href="dmxsync_8c.html#a00478eb7de1c84d98b41ca4c6d4b50e4">dmxSyncCallback()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9466911712aef6631a5b88d1bcb1afad"></a><!-- doxytag: member="dmxsync.c::dmxSyncTimer" ref="a9466911712aef6631a5b88d1bcb1afad" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">OsTimerPtr <a class="el" href="dmxsync_8c.html#a9466911712aef6631a5b88d1bcb1afad">dmxSyncTimer</a><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxsync_8h.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>, and <a class="el" href="dmxsync_8c.html#aa5bb6eee83aba5bedf3c93fbb85af049">dmxSyncBlockHandler()</a>.</p>
+
+</div>
+</div>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+ <li class="navelem"><a class="el" href="dmxsync_8c.html">dmxsync.c</a> </li>
+ <hr>
+ <address>
+ <small>
+ Generated June 29, 2004 for <a
+ href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
+ <a href="http://www.doxygen.org/index.html">doxygen</a>
+ 1.3.4.
+ </small>
+ </addres>
+ </hr>
+ </body>
+</html>
contact: Jan Huwald // Impressum