1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 5 <title>File Index</title> 6 <link href="doxygen.css" rel="stylesheet" type="text/css"> 7 </head> 8 <body> 9 <!-- Generated by Doxygen 1.7.4 --> 10 <div id="navrow1" class="tabs"> 11 <ul class="tablist"> 12 <li><a href="index.html"><span>Main Page</span></a></li> 13 <li><a href="annotated.html"><span>Data Structures</span></a></li> 14 <li class="current"><a href="files.html"><span>Files</span></a></li> 15 </ul> 16 </div> 17 <div id="navrow2" class="tabs2"> 18 <ul class="tablist"> 19 <li><a href="files.html"><span>File List</span></a></li> 20 <li><a href="globals.html"><span>Globals</span></a></li> 21 </ul> 22 </div> 23 </div> 24 <div id="side-nav" class="ui-resizable side-nav-resizable"> 25 <div id="nav-tree"> 26 <div id="nav-tree-contents"> 27 </div> 28 </div> 29 <div id="splitbar" style="-moz-user-select:none;" 30 class="ui-resizable-handle"> 31 </div> 32 </div> 33 <script type="text/javascript"> 34 initNavTree('dmxstat_8h.html',''); 35 </script> 36 <div id="doc-content"> 37 <div class="header"> 38 <div class="summary"> 39 <a href="#define-members">Defines</a> | 40 <a href="#func-members">Functions</a> | 41 <a href="#var-members">Variables</a> </div> 42 <div class="headertitle"> 43 <div class="title">dmxstat.h File Reference</div> </div> 44 </div> 45 <div class="contents"> 46 47 <p><a href="dmxstat_8h_source.html">Go to the source code of this file.</a></p> 48 <table class="memberdecls"> 49 <tr><td colspan="2"><h2><a name="define-members"></a> 50 Defines</h2></td></tr> 51 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#ad38ec0be743fab83c032d231034d4d49">DMX_STAT_LENGTH</a>   10</td></tr> 52 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a4cb43c9c7db58a10d8834a6b95a5c180">DMX_STAT_INTERVAL</a>   1000</td></tr> 53 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#aac0caef45e7427ea05d5425da659ac56">DMX_STAT_BINS</a>   3</td></tr> 54 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a8757af3ae82fef58d05e31523454065f">DMX_STAT_BIN0</a>   10000</td></tr> 55 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a9c3e64f7fc0b5305bb6798b298ae6283">DMX_STAT_BINMULT</a>   100</td></tr> 56 <tr><td colspan="2"><h2><a name="func-members"></a> 57 Functions</h2></td></tr> 58 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a3d01ce5487317c131c32e31f05489c58">dmxStatActivate</a> (const char *interval, const char *displays)</td></tr> 59 <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_8h.html#a5637440dfb18ba8ccf47bde3037d93aa">dmxStatAlloc</a> (void)</td></tr> 60 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a33d0c28b9f5f129f4328a714f1da1db7">dmxStatFree</a> (<a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> *)</td></tr> 61 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#a48ed41878576dd3ff9212deaecb2cc1f">dmxStatInit</a> (void)</td></tr> 62 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.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> 63 <tr><td colspan="2"><h2><a name="var-members"></a> 64 Variables</h2></td></tr> 65 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxstat_8h.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a></td></tr> 66 </table> 67 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 68 <div class="textblock"><p>Interface for statistic gathering interface. </p> 69 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxstat_8c.html">dmxstat.c</a> </dd></dl> 70 </div><hr/><h2>Define Documentation</h2> 71 <a class="anchor" id="a8757af3ae82fef58d05e31523454065f"></a><!-- doxytag: member="dmxstat.h::DMX_STAT_BIN0" ref="a8757af3ae82fef58d05e31523454065f" args="" --> 72 <div class="memitem"> 73 <div class="memproto"> 74 <table class="memname"> 75 <tr> 76 <td class="memname">#define DMX_STAT_BIN0   10000</td> 77 </tr> 78 </table> 79 </div> 80 <div class="memdoc"> 81 <p>us for bin[0] </p> 82 83 <p>Referenced by <a class="el" href="dmxstat_8h.html#a1098a195e40df685aaf2fbc238884027">dmxStatSync()</a>.</p> 84 85 </div> 86 </div> 87 <a class="anchor" id="a9c3e64f7fc0b5305bb6798b298ae6283"></a><!-- doxytag: member="dmxstat.h::DMX_STAT_BINMULT" ref="a9c3e64f7fc0b5305bb6798b298ae6283" args="" --> 88 <div class="memitem"> 89 <div class="memproto"> 90 <table class="memname"> 91 <tr> 92 <td class="memname">#define DMX_STAT_BINMULT   100</td> 93 </tr> 94 </table> 95 </div> 96 <div class="memdoc"> 97 <p>multiplier for next bin[] </p> 98 99 <p>Referenced by <a class="el" href="dmxstat_8h.html#a1098a195e40df685aaf2fbc238884027">dmxStatSync()</a>.</p> 100 101 </div> 102 </div> 103 <a class="anchor" id="aac0caef45e7427ea05d5425da659ac56"></a><!-- doxytag: member="dmxstat.h::DMX_STAT_BINS" ref="aac0caef45e7427ea05d5425da659ac56" args="" --> 104 <div class="memitem"> 105 <div class="memproto"> 106 <table class="memname"> 107 <tr> 108 <td class="memname">#define DMX_STAT_BINS   3</td> 109 </tr> 110 </table> 111 </div> 112 <div class="memdoc"> 113 <p>number of bins </p> 114 115 <p>Referenced by <a class="el" href="dmxstat_8c.html#a218b57229dca87bd0564671d8f68f15f">dmxStatCallback()</a>, and <a class="el" href="dmxstat_8h.html#a1098a195e40df685aaf2fbc238884027">dmxStatSync()</a>.</p> 116 117 </div> 118 </div> 119 <a class="anchor" id="a4cb43c9c7db58a10d8834a6b95a5c180"></a><!-- doxytag: member="dmxstat.h::DMX_STAT_INTERVAL" ref="a4cb43c9c7db58a10d8834a6b95a5c180" args="" --> 120 <div class="memitem"> 121 <div class="memproto"> 122 <table class="memname"> 123 <tr> 124 <td class="memname">#define DMX_STAT_INTERVAL   1000</td> 125 </tr> 126 </table> 127 </div> 128 <div class="memdoc"> 129 <p>msec between printouts </p> 130 131 <p>Referenced by <a class="el" href="dmxstat_8c.html#a218b57229dca87bd0564671d8f68f15f">dmxStatCallback()</a>.</p> 132 133 </div> 134 </div> 135 <a class="anchor" id="ad38ec0be743fab83c032d231034d4d49"></a><!-- doxytag: member="dmxstat.h::DMX_STAT_LENGTH" ref="ad38ec0be743fab83c032d231034d4d49" args="" --> 136 <div class="memitem"> 137 <div class="memproto"> 138 <table class="memname"> 139 <tr> 140 <td class="memname">#define DMX_STAT_LENGTH   10</td> 141 </tr> 142 </table> 143 </div> 144 <div class="memdoc"> 145 <p>number of events for moving average </p> 146 147 <p>Referenced by <a class="el" href="dmxstat_8c.html#ab17f1e926473a1df95e781c6c7a8e940">dmxStatValue()</a>.</p> 148 149 </div> 150 </div> 151 <hr/><h2>Function Documentation</h2> 152 <a class="anchor" id="a3d01ce5487317c131c32e31f05489c58"></a><!-- doxytag: member="dmxstat.h::dmxStatActivate" ref="a3d01ce5487317c131c32e31f05489c58" args="(const char *interval, const char *displays)" --> 153 <div class="memitem"> 154 <div class="memproto"> 155 <table class="memname"> 156 <tr> 157 <td class="memname">void dmxStatActivate </td> 158 <td>(</td> 159 <td class="paramtype">const char * </td> 160 <td class="paramname"><em>interval</em>, </td> 161 </tr> 162 <tr> 163 <td class="paramkey"></td> 164 <td></td> 165 <td class="paramtype">const char * </td> 166 <td class="paramname"><em>displays</em> </td> 167 </tr> 168 <tr> 169 <td></td> 170 <td>)</td> 171 <td></td><td></td> 172 </tr> 173 </table> 174 </div> 175 <div class="memdoc"> 176 <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> 177 178 <p>References <a class="el" href="dmxstat_8c.html#a9994506527c1e7aac2f30d4ed67ea4a5">dmxStatDisplays</a>, and <a class="el" href="dmxstat_8c.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a>.</p> 179 180 <p>Referenced by <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument()</a>.</p> 181 182 </div> 183 </div> 184 <a class="anchor" id="a5637440dfb18ba8ccf47bde3037d93aa"></a><!-- doxytag: member="dmxstat.h::dmxStatAlloc" ref="a5637440dfb18ba8ccf47bde3037d93aa" args="(void)" --> 185 <div class="memitem"> 186 <div class="memproto"> 187 <table class="memname"> 188 <tr> 189 <td class="memname"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a>* dmxStatAlloc </td> 190 <td>(</td> 191 <td class="paramtype">void </td> 192 <td class="paramname"></td><td>)</td> 193 <td></td> 194 </tr> 195 </table> 196 </div> 197 <div class="memdoc"> 198 <p>Allocate a <em>DMXStatInfo</em> structure. </p> 199 200 <p>Referenced by <a class="el" href="dmxconfig_8c.html#a5fa6729153f7f7e5d3037d451291fa64">dmxConfigAddDisplay()</a>.</p> 201 202 </div> 203 </div> 204 <a class="anchor" id="a33d0c28b9f5f129f4328a714f1da1db7"></a><!-- doxytag: member="dmxstat.h::dmxStatFree" ref="a33d0c28b9f5f129f4328a714f1da1db7" args="(DMXStatInfo *)" --> 205 <div class="memitem"> 206 <div class="memproto"> 207 <table class="memname"> 208 <tr> 209 <td class="memname">void dmxStatFree </td> 210 <td>(</td> 211 <td class="paramtype"><a class="el" href="struct__DMXStatInfo.html">DMXStatInfo</a> * </td> 212 <td class="paramname"><em>pt</em></td><td>)</td> 213 <td></td> 214 </tr> 215 </table> 216 </div> 217 <div class="memdoc"> 218 <p>Free the memory used by a <em>DMXStatInfo</em> structure. </p> 219 220 <p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p> 221 222 </div> 223 </div> 224 <a class="anchor" id="a48ed41878576dd3ff9212deaecb2cc1f"></a><!-- doxytag: member="dmxstat.h::dmxStatInit" ref="a48ed41878576dd3ff9212deaecb2cc1f" args="(void)" --> 225 <div class="memitem"> 226 <div class="memproto"> 227 <table class="memname"> 228 <tr> 229 <td class="memname">void dmxStatInit </td> 230 <td>(</td> 231 <td class="paramtype">void </td> 232 <td class="paramname"></td><td>)</td> 233 <td></td> 234 </tr> 235 </table> 236 </div> 237 <div class="memdoc"> 238 <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> 239 240 <p>References <a class="el" href="dmxstat_8c.html#a218b57229dca87bd0564671d8f68f15f">dmxStatCallback()</a>, <a class="el" href="dmxstat_8c.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a>, and <a class="el" href="dmxstat_8c.html#a4b07a4c989d24e5cad8f85a24d24406c">dmxStatTimer</a>.</p> 241 242 <p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p> 243 244 </div> 245 </div> 246 <a class="anchor" id="a1098a195e40df685aaf2fbc238884027"></a><!-- doxytag: member="dmxstat.h::dmxStatSync" ref="a1098a195e40df685aaf2fbc238884027" args="(DMXScreenInfo *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)" --> 247 <div class="memitem"> 248 <div class="memproto"> 249 <table class="memname"> 250 <tr> 251 <td class="memname">void dmxStatSync </td> 252 <td>(</td> 253 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 254 <td class="paramname"><em>dmxScreen</em>, </td> 255 </tr> 256 <tr> 257 <td class="paramkey"></td> 258 <td></td> 259 <td class="paramtype">struct timeval * </td> 260 <td class="paramname"><em>stop</em>, </td> 261 </tr> 262 <tr> 263 <td class="paramkey"></td> 264 <td></td> 265 <td class="paramtype">struct timeval * </td> 266 <td class="paramname"><em>start</em>, </td> 267 </tr> 268 <tr> 269 <td class="paramkey"></td> 270 <td></td> 271 <td class="paramtype">unsigned long </td> 272 <td class="paramname"><em>pending</em> </td> 273 </tr> 274 <tr> 275 <td></td> 276 <td>)</td> 277 <td></td><td></td> 278 </tr> 279 </table> 280 </div> 281 <div class="memdoc"> 282 <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> 283 284 <p>References <a class="el" href="struct__DMXStatInfo.html#a948f8674bc28129ad022a7678d81b38a">_DMXStatInfo::bins</a>, <a class="el" href="dmxstat_8h.html#a8757af3ae82fef58d05e31523454065f">DMX_STAT_BIN0</a>, <a class="el" href="dmxstat_8h.html#a9c3e64f7fc0b5305bb6798b298ae6283">DMX_STAT_BINMULT</a>, <a class="el" href="dmxstat_8h.html#aac0caef45e7427ea05d5425da659ac56">DMX_STAT_BINS</a>, <a class="el" href="dmxstat_8c.html#ab17f1e926473a1df95e781c6c7a8e940">dmxStatValue()</a>, <a class="el" href="struct__DMXStatInfo.html#a316b8214c93a5762b6dbd06a7617ef3c">_DMXStatInfo::pending</a>, <a class="el" href="struct__DMXScreenInfo.html#a31fd04698ffcb2b53ffee82468cc2862">_DMXScreenInfo::stat</a>, <a class="el" href="struct__DMXStatInfo.html#aa08d83f9455dcc98919fbc0085483aea">_DMXStatInfo::syncCount</a>, <a class="el" href="struct__DMXStatInfo.html#a4ed02fb0dd6e7e5ac3af88019331a895">_DMXStatInfo::usec</a>, and <a class="el" href="dmxstat_8c.html#a1a534cc2274afee02c883ac10ea9435f">usec()</a>.</p> 285 286 <p>Referenced by <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync()</a>.</p> 287 288 </div> 289 </div> 290 <hr/><h2>Variable Documentation</h2> 291 <a class="anchor" id="abe67369da5135f53f058261d3c173927"></a><!-- doxytag: member="dmxstat.h::dmxStatInterval" ref="abe67369da5135f53f058261d3c173927" args="" --> 292 <div class="memitem"> 293 <div class="memproto"> 294 <table class="memname"> 295 <tr> 296 <td class="memname">int <a class="el" href="dmxstat_8h.html#abe67369da5135f53f058261d3c173927">dmxStatInterval</a></td> 297 </tr> 298 </table> 299 </div> 300 <div class="memdoc"> 301 <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> 302 303 <p>Referenced by <a class="el" href="dmxsync_8c.html#a3f47aabdd830525720f7a01acbac91ef">dmxDoSync()</a>, <a class="el" href="dmxstat_8h.html#a3d01ce5487317c131c32e31f05489c58">dmxStatActivate()</a>, <a class="el" href="dmxstat_8c.html#a218b57229dca87bd0564671d8f68f15f">dmxStatCallback()</a>, and <a class="el" href="dmxstat_8h.html#a48ed41878576dd3ff9212deaecb2cc1f">dmxStatInit()</a>.</p> 304 305 </div> 306 </div> 307 </div> 308 </div> 309 <div id="nav-path" class="navpath"> 310 <ul> 311 <li class="navelem"><a class="el" href="dmxstat_8h.html">dmxstat.h</a> </li> 312 <hr> 313 <address> 314 <small> 315 Generated June 29, 2004 for <a 316 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 317 <a href="http://www.doxygen.org/index.html">doxygen</a> 318 1.3.4. 319 </small> 320 </addres> 321 </hr> 322 </body> 323 </html> 324