aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/dmx/doc/html/dmxstat_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/dmx/doc/html/dmxstat_8c.html')
-rw-r--r--xorg-server/hw/dmx/doc/html/dmxstat_8c.html524
1 files changed, 324 insertions, 200 deletions
diff --git a/xorg-server/hw/dmx/doc/html/dmxstat_8c.html b/xorg-server/hw/dmx/doc/html/dmxstat_8c.html
index 9a9ecfc65..5add0d023 100644
--- a/xorg-server/hw/dmx/doc/html/dmxstat_8c.html
+++ b/xorg-server/hw/dmx/doc/html/dmxstat_8c.html
@@ -6,260 +6,384 @@
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
-<!-- Generated by Doxygen 1.3.4 -->
-<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
-<h1>dmxstat.c File Reference</h1><code>#include "<a class="el" href="dmx_8h-source.html">dmx.h</a>"</code><br>
-<code>#include "<a class="el" href="dmxstat_8h-source.html">dmxstat.h</a>"</code><br>
-<code>#include "<a class="el" href="dmxlog_8h-source.html">dmxlog.h</a>"</code><br>
-<code>#include "Xos.h"</code><br>
-<table border=0 cellpadding=0 cellspacing=0>
-<tr><td></td></tr>
-<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__DMXStatInfo.html">_DMXStatInfo</a></td></tr>
-
-<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a0">DMXStatAvg</a></td></tr>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>dmxstat.c File Reference</h1><code>#include &quot;<a class="el" href="dmx_8h_source.html">dmx.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;X11/Xos.h&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DMXStatInfo.html">_DMXStatInfo</a></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a75a8942c042ee0a2c387e61a28a59b94">DMXStatAvg</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a1a534cc2274afee02c883ac10ea9435f">usec</a> (struct timeval *stop, struct timeval *start)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#aeccae65bbc33f6b7717b2dc1a536d3cd">avg</a> (<a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a> *data, unsigned long *max)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a3d01ce5487317c131c32e31f05489c58">dmxStatActivate</a> (const char *interval, const char *displays)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a5637440dfb18ba8ccf47bde3037d93aa">dmxStatAlloc</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a23687b91d203902bb293ba64c391cee4">dmxStatFree</a> (<a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *pt)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#ab17f1e926473a1df95e781c6c7a8e940">dmxStatValue</a> (<a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a> *data, unsigned long value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a1098a195e40df685aaf2fbc238884027">dmxStatSync</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static CARD32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a218b57229dca87bd0564671d8f68f15f">dmxStatCallback</a> (OsTimerPtr timer, CARD32 t, pointer arg)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a48ed41878576dd3ff9212deaecb2cc1f">dmxStatInit</a> (void)</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a9994506527c1e7aac2f30d4ed67ea4a5">dmxStatDisplays</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static OsTimerPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8c.html#a4b07a4c989d24e5cad8f85a24d24406c">dmxStatTimer</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<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 in <em><a class="el" href="dmxsync_8c.html">dmxsync.c</a></em>. This file provides routines that evaluate this optimization by counting the number of XSync() calls and monitoring their latency. This functionality can be turned on using the -stat command-line parameter. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a75a8942c042ee0a2c387e61a28a59b94"></a><!-- doxytag: member="dmxstat.c::DMXStatAvg" ref="a75a8942c042ee0a2c387e61a28a59b94" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a> <a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Used to compute a running average of value. </p>
-<tr><td colspan=2><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a6">dmxStatActivate</a> (const char *interval, const char *displays)</td></tr>
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="aeccae65bbc33f6b7717b2dc1a536d3cd"></a><!-- doxytag: member="dmxstat.c::avg" ref="aeccae65bbc33f6b7717b2dc1a536d3cd" args="(DMXStatAvg *data, unsigned long *max)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static unsigned long avg </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a> *&nbsp;</td>
+ <td class="paramname"> <em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned long *&nbsp;</td>
+ <td class="paramname"> <em>max</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a7">dmxStatAlloc</a> (void)</td></tr>
+<p>References <a class="el" href="dmxstat_8c_source.html#l00057">_DMXStatAvg::count</a>, and <a class="el" href="dmxstat_8c_source.html#l00058">_DMXStatAvg::value</a>.</p>
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a8">dmxStatFree</a> (<a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *pt)</td></tr>
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00163">dmxStatCallback()</a>.</p>
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a10">dmxStatSync</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a3d01ce5487317c131c32e31f05489c58"></a><!-- doxytag: member="dmxstat.c::dmxStatActivate" ref="a3d01ce5487317c131c32e31f05489c58" args="(const char *interval, const char *displays)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxStatActivate </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>interval</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>displays</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Turn on XSync statistic gathering and printing. Print every <em>interval</em> seconds, with lines for the first <em>displays</em>. If <em>interval</em> is NULL, 1 will be used. If <em>displays</em> is NULL, 0 will be used (meaning a line for every display will be printed). Note that this function takes string arguments because 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>
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a12">dmxStatInit</a> (void)</td></tr>
+<p>References <a class="el" href="dmxstat_8c_source.html#l00074">dmxStatDisplays</a>, and <a class="el" href="dmxstat_8c_source.html#l00073">dmxStatInterval</a>.</p>
-<tr><td colspan=2><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxstat_8c.html#a1">dmxStatInterval</a></td></tr>
+<p>Referenced by <a class="el" href="dmxinit_8c_source.html#l00878">ddxProcessArgument()</a>.</p>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The DMX server code is written to call <a class="el" href="dmxsync_8c.html#a9">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 in #dmxsync.c. This file provides routines that evaluate this optimization by counting the number of XSync() calls and monitoring their latency. This functionality can be turned on using the -stat command-line parameter.<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="a0" doxytag="dmxstat.c::DMXStatAvg" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+</div>
+<a class="anchor" id="a5637440dfb18ba8ccf47bde3037d93aa"></a><!-- doxytag: member="dmxstat.c::dmxStatAlloc" ref="a5637440dfb18ba8ccf47bde3037d93aa" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__DMXStatAvg.html">_DMXStatAvg</a> <a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a>
+ <td class="memname"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a>* dmxStatAlloc </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
+<p>Allocate a <em>DMXStatInfo</em> structure. </p>
-<p>
-Used to compute a running average of value. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="a6" doxytag="dmxstat.c::dmxStatActivate" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<p>Referenced by <a class="el" href="dmxconfig_8c_source.html#l00176">dmxConfigAddDisplay()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a218b57229dca87bd0564671d8f68f15f"></a><!-- doxytag: member="dmxstat.c::dmxStatCallback" ref="a218b57229dca87bd0564671d8f68f15f" args="(OsTimerPtr timer, CARD32 t, pointer arg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void dmxStatActivate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>interval</em>, </td>
+ <td class="memname">static CARD32 dmxStatCallback </td>
+ <td>(</td>
+ <td class="paramtype">OsTimerPtr&nbsp;</td>
+ <td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">CARD32&nbsp;</td>
+ <td class="paramname"> <em>t</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>displays</em></td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
-<p>
-Turn on XSync statistic gathering and printing. Print every <em>interval</em> seconds, with lines for the first <em>displays</em>. If <em>interval</em> is NULL, 1 will be used. If <em>displays</em> is NULL, 0 will be used (meaning a line for every display will be printed). Note that this function takes string arguments because it will usually be called from <a class="el" href="dmxinit_8c.html#a40">ddxProcessArgument</a> in #dmxinit.c. </td>
- </tr>
-</table>
-<a class="anchor" name="a7" doxytag="dmxstat.c::dmxStatAlloc" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> <a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a>* dmxStatAlloc </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
+<p>References <a class="el" href="dmxstat_8c_source.html#l00085">avg()</a>, <a class="el" href="dmxstat_8c_source.html#l00069">_DMXStatInfo::bins</a>, <a class="el" href="dmxstat_8h_source.html#l00042">DMX_STAT_BINS</a>, <a class="el" href="dmxstat_8h_source.html#l00041">DMX_STAT_INTERVAL</a>, <a class="el" href="dmxlog_8h_source.html#l00043">dmxDebug</a>, <a class="el" href="dmxlog_8c_source.html#l00159">dmxLog()</a>, <a class="el" href="dmxlog_8c_source.html#l00170">dmxLogCont()</a>, <a class="el" href="dmxinit_8c_source.html#l00083">dmxNumScreens</a>, <a class="el" href="dmxinit_8c_source.html#l00084">dmxScreens</a>, <a class="el" href="dmxstat_8c_source.html#l00074">dmxStatDisplays</a>, <a class="el" href="dmxstat_8c_source.html#l00073">dmxStatInterval</a>, <a class="el" href="dmxstat_8c_source.html#l00064">_DMXStatInfo::oldSyncCount</a>, <a class="el" href="dmxstat_8c_source.html#l00067">_DMXStatInfo::pending</a>, <a class="el" href="dmx_8h_source.html#l00182">_DMXScreenInfo::stat</a>, <a class="el" href="dmxstat_8c_source.html#l00063">_DMXStatInfo::syncCount</a>, and <a class="el" href="dmxstat_8c_source.html#l00066">_DMXStatInfo::usec</a>.</p>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00216">dmxStatInit()</a>.</p>
-<p>
-Allocate a <em>DMXStatInfo</em> structure. </td>
- </tr>
-</table>
-<a class="anchor" name="a8" doxytag="dmxstat.c::dmxStatFree" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+</div>
+<a class="anchor" id="a23687b91d203902bb293ba64c391cee4"></a><!-- doxytag: member="dmxstat.c::dmxStatFree" ref="a23687b91d203902bb293ba64c391cee4" args="(DMXStatInfo *pt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void dmxStatFree </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void dmxStatFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>pt</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
+<p>Free the memory used by a <em>DMXStatInfo</em> structure. </p>
-<p>
-Free the memory used by a <em>DMXStatInfo</em> structure. </td>
- </tr>
-</table>
-<a class="anchor" name="a12" doxytag="dmxstat.c::dmxStatInit" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<p>Referenced by <a class="el" href="dmxinit_8c_source.html#l00561">InitOutput()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48ed41878576dd3ff9212deaecb2cc1f"></a><!-- doxytag: member="dmxstat.c::dmxStatInit" ref="a48ed41878576dd3ff9212deaecb2cc1f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void dmxStatInit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void dmxStatInit </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
+<p>Try to initialize the statistic gathering and printing routines. Initialization only takes place if <a class="el" href="dmxstat_8h.html#a3d01ce5487317c131c32e31f05489c58">dmxStatActivate</a> has already been called. We don't need the same generation protection that we used in dmxSyncInit because our timer is always on a queue -- hence, server generation will always free it. </p>
-<p>
-Try to initialize the statistic gathering and printing routines. Initialization only takes place if <a class="el" href="dmxstat_8h.html#a6">dmxStatActivate</a> has already been called. We don't need the same generation protection that we used in dmxSyncInit because our timer is always on a queue -- hence, server generation will always free it. </td>
- </tr>
-</table>
-<a class="anchor" name="a10" doxytag="dmxstat.c::dmxStatSync" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<p>References <a class="el" href="dmxstat_8c_source.html#l00163">dmxStatCallback()</a>, <a class="el" href="dmxstat_8c_source.html#l00073">dmxStatInterval</a>, and <a class="el" href="dmxstat_8c_source.html#l00075">dmxStatTimer</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxinit_8c_source.html#l00561">InitOutput()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1098a195e40df685aaf2fbc238884027"></a><!-- doxytag: member="dmxstat.c::dmxStatSync" ref="a1098a195e40df685aaf2fbc238884027" args="(DMXScreenInfo *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void dmxStatSync </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dmxScreen</em>, </td>
+ <td class="memname">void dmxStatSync </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&nbsp;</td>
+ <td class="paramname"> <em>dmxScreen</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">struct timeval *&nbsp;</td>
+ <td class="paramname"> <em>stop</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct timeval *&nbsp;</td>
+ <td class="paramname"> <em>start</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>struct timeval *&nbsp;</td>
- <td class="mdname" nowrap> <em>stop</em>, </td>
+ <td class="paramtype">unsigned long&nbsp;</td>
+ <td class="paramname"> <em>pending</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Note that a XSync() was just done on <em>dmxScreen</em> with the <em>start</em> and <em>stop</em> times (from gettimeofday()) and the number of pending-but-not-yet-processed XSync requests. This routine is called from <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync</a> in <em><a class="el" href="dmxsync_8c.html">dmxsync.c</a></em> </p>
+
+<p>References <a class="el" href="dmxstat_8c_source.html#l00069">_DMXStatInfo::bins</a>, <a class="el" href="dmxstat_8h_source.html#l00043">DMX_STAT_BIN0</a>, <a class="el" href="dmxstat_8h_source.html#l00044">DMX_STAT_BINMULT</a>, <a class="el" href="dmxstat_8h_source.html#l00042">DMX_STAT_BINS</a>, <a class="el" href="dmxstat_8c_source.html#l00128">dmxStatValue()</a>, <a class="el" href="dmxstat_8c_source.html#l00067">_DMXStatInfo::pending</a>, <a class="el" href="dmx_8h_source.html#l00182">_DMXScreenInfo::stat</a>, <a class="el" href="dmxstat_8c_source.html#l00063">_DMXStatInfo::syncCount</a>, <a class="el" href="dmxstat_8c_source.html#l00066">_DMXStatInfo::usec</a>, and <a class="el" href="dmxstat_8c_source.html#l00079">usec()</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxsync_8c_source.html#l00063">dmxDoSync()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab17f1e926473a1df95e781c6c7a8e940"></a><!-- doxytag: member="dmxstat.c::dmxStatValue" ref="ab17f1e926473a1df95e781c6c7a8e940" args="(DMXStatAvg *data, unsigned long value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxStatValue </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXStatAvg.html">DMXStatAvg</a> *&nbsp;</td>
+ <td class="paramname"> <em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>struct timeval *&nbsp;</td>
- <td class="mdname" nowrap> <em>start</em>, </td>
+ <td class="paramtype">unsigned long&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxstat_8c_source.html#l00057">_DMXStatAvg::count</a>, <a class="el" href="dmxstat_8h_source.html#l00040">DMX_STAT_LENGTH</a>, <a class="el" href="dmxstat_8c_source.html#l00056">_DMXStatAvg::pos</a>, and <a class="el" href="dmxstat_8c_source.html#l00058">_DMXStatAvg::value</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00139">dmxStatSync()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1a534cc2274afee02c883ac10ea9435f"></a><!-- doxytag: member="dmxstat.c::usec" ref="a1a534cc2274afee02c883ac10ea9435f" args="(struct timeval *stop, struct timeval *start)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static unsigned long usec </td>
+ <td>(</td>
+ <td class="paramtype">struct timeval *&nbsp;</td>
+ <td class="paramname"> <em>stop</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>unsigned long&nbsp;</td>
- <td class="mdname" nowrap> <em>pending</em></td>
+ <td class="paramtype">struct timeval *&nbsp;</td>
+ <td class="paramname"> <em>start</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Return the number of microseconds as an unsigned long. Unfortunately, this is only useful for intervals &lt; about 4 sec. </p>
+
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00139">dmxStatSync()</a>.</p>
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a9994506527c1e7aac2f30d4ed67ea4a5"></a><!-- doxytag: member="dmxstat.c::dmxStatDisplays" ref="a9994506527c1e7aac2f30d4ed67ea4a5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="dmxstat_8c.html#a9994506527c1e7aac2f30d4ed67ea4a5">dmxStatDisplays</a><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
-<p>
-Note that a XSync() was just done on <em>dmxScreen</em> with the <em>start</em> and <em>stop</em> times (from gettimeofday()) and the number of pending-but-not-yet-processed XSync requests. This routine is called from #dmxDoSync in #dmxsync.c </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="a1" doxytag="dmxstat.c::dmxStatInterval" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00106">dmxStatActivate()</a>, and <a class="el" href="dmxstat_8c_source.html#l00163">dmxStatCallback()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe67369da5135f53f058261d3c173927"></a><!-- doxytag: member="dmxstat.c::dmxStatInterval" ref="abe67369da5135f53f058261d3c173927" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> int <a class="el" href="dmxstat_8h.html#a5">dmxStatInterval</a>
+ <td class="memname">int <a class="el" href="dmxstat_8h.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
+<p>Only for <a class="el" href="dmxstat_8c.html">dmxstat.c</a> and <a class="el" href="dmxsync_8c.html">dmxsync.c</a> </p>
-<p>
-Only for <a class="el" href="dmxstat_8c.html">dmxstat.c</a> and <a class="el" href="dmxsync_8c.html">dmxsync.c</a> </td>
- </tr>
-</table>
+<p>Referenced by <a class="el" href="dmxsync_8c_source.html#l00063">dmxDoSync()</a>, <a class="el" href="dmxstat_8c_source.html#l00106">dmxStatActivate()</a>, <a class="el" href="dmxstat_8c_source.html#l00163">dmxStatCallback()</a>, and <a class="el" href="dmxstat_8c_source.html#l00216">dmxStatInit()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4b07a4c989d24e5cad8f85a24d24406c"></a><!-- doxytag: member="dmxstat.c::dmxStatTimer" ref="a4b07a4c989d24e5cad8f85a24d24406c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">OsTimerPtr <a class="el" href="dmxstat_8c.html#a4b07a4c989d24e5cad8f85a24d24406c">dmxStatTimer</a><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxstat_8c_source.html#l00216">dmxStatInit()</a>.</p>
+
+</div>
+</div>
+</div>
<hr>
<address>
<small>