diff options
Diffstat (limited to 'xorg-server/hw/dmx/doc/html/dmxstat_8c.html')
-rw-r--r-- | xorg-server/hw/dmx/doc/html/dmxstat_8c.html | 524 |
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 Page</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data 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 </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 </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> </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 Page</span></a></li> + <li><a href="annotated.html"><span>Data 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 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 "<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 <X11/Xos.h></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 </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 </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> </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 </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 </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 </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> * </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 </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 </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 </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 </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 </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 </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 </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 </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 </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> * </td> + <td class="paramname"> <em>data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned long * </td> + <td class="paramname"> <em>max</em></td><td> </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> * </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 </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 </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 * </td> + <td class="paramname"> <em>interval</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>displays</em></td><td> </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 </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 </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 </td> + <td class="paramname"></td> + <td> ) </td> + <td></td> + </tr> </table> - </td> - </tr> -</table> -<table cellspacing=5 cellpadding=0 border=0> - <tr> - <td> - - </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">( </td> - <td class="md" nowrap valign="top">const char * </td> - <td class="mdname" nowrap> <em>interval</em>, </td> + <td class="memname">static CARD32 dmxStatCallback </td> + <td>(</td> + <td class="paramtype">OsTimerPtr </td> + <td class="paramname"> <em>timer</em>, </td> </tr> <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">CARD32 </td> + <td class="paramname"> <em>t</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> - <td class="md" nowrap>const char * </td> - <td class="mdname" nowrap> <em>displays</em></td> + <td class="paramtype">pointer </td> + <td class="paramname"> <em>arg</em></td><td> </td> </tr> <tr> <td></td> - <td class="md">) </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> - - </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">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </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> - - </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">( </td> - <td class="md" nowrap valign="top"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>pt</em> </td> - <td class="md" valign="top"> ) </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> * </td> + <td class="paramname"> <em>pt</em></td> + <td> ) </td> + <td></td> </tr> - </table> - </td> - </tr> -</table> -<table cellspacing=5 cellpadding=0 border=0> - <tr> - <td> - - </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">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> + <td class="memname">void dmxStatInit </td> + <td>(</td> + <td class="paramtype">void </td> + <td class="paramname"></td> + <td> ) </td> + <td></td> </tr> - </table> - </td> - </tr> -</table> -<table cellspacing=5 cellpadding=0 border=0> - <tr> - <td> - - </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">( </td> - <td class="md" nowrap valign="top"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </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> * </td> + <td class="paramname"> <em>dmxScreen</em>, </td> </tr> <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">struct timeval * </td> + <td class="paramname"> <em>stop</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct timeval * </td> + <td class="paramname"> <em>start</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> - <td class="md" nowrap>struct timeval * </td> - <td class="mdname" nowrap> <em>stop</em>, </td> + <td class="paramtype">unsigned long </td> + <td class="paramname"> <em>pending</em></td><td> </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> * </td> + <td class="paramname"> <em>data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> - <td class="md" nowrap>struct timeval * </td> - <td class="mdname" nowrap> <em>start</em>, </td> + <td class="paramtype">unsigned long </td> + <td class="paramname"> <em>value</em></td><td> </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 * </td> + <td class="paramname"> <em>stop</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> - <td class="md" nowrap>unsigned long </td> - <td class="mdname" nowrap> <em>pending</em></td> + <td class="paramtype">struct timeval * </td> + <td class="paramname"> <em>start</em></td><td> </td> </tr> <tr> <td></td> - <td class="md">) </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 < 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> - - </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> - - </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> |