As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
Concerned callbacks :
initialisation
preOperational
operational
stopped
heartbeatError
post_sync
post_TPDO
post_SlaveBootup
storeODSubIndex
post_emcy
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>CanFestival: examples/TestMasterMicroMod/getopt.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.1 -->
<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 id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</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 class="nav">
<a class="el" href="dir_aa575cee5acc3b84cc5b4489187a1fd3.html">examples</a> » <a class="el" href="dir_c6ec2311b9c3220564f22df7a614280d.html">TestMasterMicroMod</a></div>
<h1>getopt.c File Reference</h1><code>#include <stdio.h></code><br>
<code>#include "<a class="el" href="TestMasterMicroMod_2getopt_8h-source.html">getopt.h</a>"</code><br>
<code>#include <strings.h></code><br>
<p>
Include dependency graph for getopt.c:<p><center><img src="TestMasterMicroMod_2getopt_8c__incl.png" border="0" usemap="#examples/TestMasterMicroMod/getopt.c_map" alt=""></center>
<map name="examples/TestMasterMicroMod/getopt.c_map">
<area href="TestMasterMicroMod_2getopt_8h.html" shape="rect" coords="295,56,359,83" alt="">
</map>
<p>
<a href="TestMasterMicroMod_2getopt_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#6ba4529b087522128cc7bcce0849d32b">GETOPT_INTERFACE_VERSION</a> 2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#5f89d3f05faaa6e056f725126282a799">_</a>(msgid) (msgid)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#73b41d63a0123651c8a92f0474c5e70b">SWAP_FLAGS</a>(ch1, ch2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#60fb2ef5fa72a6e2f2f62c0d6158f94c">NONOPTION_P</a> (argv[<a class="el" href="TestMasterMicroMod_2getopt_8h.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a>][0] != '-' || argv[<a class="el" href="TestMasterMicroMod_2getopt_8h.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a>][1] == '\0')</td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="TestMasterMicroMod_2getopt_8c.html#39b3af0f22dc1b8cb10e193d9fc491b4e9f3d62b95878d3ab723990312fda0bb">REQUIRE_ORDER</a>,
<a class="el" href="TestMasterMicroMod_2getopt_8c.html#39b3af0f22dc1b8cb10e193d9fc491b4d3b1ba5acb926eca92e0a5784f911df0">PERMUTE</a>,
<a class="el" href="TestMasterMicroMod_2getopt_8c.html#39b3af0f22dc1b8cb10e193d9fc491b4ec304c31a5e271b98a946742b81ee5cb">RETURN_IN_ORDER</a>
}</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#d371de5388fe5b7a20882a85a670c3fc">getenv</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#ca624a08c8860a96fd9afd064ff1e598">_getopt_internal</a> (int argc, char *const *argv, const char *optstring, const struct <a class="el" href="structoption.html">option</a> *longopts, int *longind, int long_only)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#afdf882e55974b727c64559defdc4326">getopt</a> (int argc, char *const *argv, const char *optstring)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#a2d33a77952a7e6973146c1284042818">optarg</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a> = 1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#43b2a4340a24537cc6364835f9d73fb5">__getopt_initialized</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#2d5d57aa71d16b312a92ac70f91c44f1">opterr</a> = 1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TestMasterMicroMod_2getopt_8c.html#b3d1db20633bdbad253accdec2f9477f">optopt</a> = '?'</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="5f89d3f05faaa6e056f725126282a799"></a><!-- doxytag: member="getopt.c::_" ref="5f89d3f05faaa6e056f725126282a799" args="(msgid)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _ </td>
<td>(</td>
<td class="paramtype">msgid </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> (msgid)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00089">89</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="6ba4529b087522128cc7bcce0849d32b"></a><!-- doxytag: member="getopt.c::GETOPT_INTERFACE_VERSION" ref="6ba4529b087522128cc7bcce0849d32b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GETOPT_INTERFACE_VERSION 2 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00054">54</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="60fb2ef5fa72a6e2f2f62c0d6158f94c"></a><!-- doxytag: member="getopt.c::NONOPTION_P" ref="60fb2ef5fa72a6e2f2f62c0d6158f94c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NONOPTION_P (argv[<a class="el" href="TestMasterMicroMod_2getopt_8h.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a>][0] != '-' || argv[<a class="el" href="TestMasterMicroMod_2getopt_8h.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a>][1] == '\0') </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="73b41d63a0123651c8a92f0474c5e70b"></a><!-- doxytag: member="getopt.c::SWAP_FLAGS" ref="73b41d63a0123651c8a92f0474c5e70b" args="(ch1, ch2)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SWAP_FLAGS </td>
<td>(</td>
<td class="paramtype">ch1, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch2 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00287">287</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="39b3af0f22dc1b8cb10e193d9fc491b4"></a><!-- doxytag: member="getopt.c::@1" ref="39b3af0f22dc1b8cb10e193d9fc491b4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="39b3af0f22dc1b8cb10e193d9fc491b4e9f3d62b95878d3ab723990312fda0bb"></a><!-- doxytag: member="REQUIRE_ORDER" ref="39b3af0f22dc1b8cb10e193d9fc491b4e9f3d62b95878d3ab723990312fda0bb" args="" -->REQUIRE_ORDER</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="39b3af0f22dc1b8cb10e193d9fc491b4d3b1ba5acb926eca92e0a5784f911df0"></a><!-- doxytag: member="PERMUTE" ref="39b3af0f22dc1b8cb10e193d9fc491b4d3b1ba5acb926eca92e0a5784f911df0" args="" -->PERMUTE</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="39b3af0f22dc1b8cb10e193d9fc491b4ec304c31a5e271b98a946742b81ee5cb"></a><!-- doxytag: member="RETURN_IN_ORDER" ref="39b3af0f22dc1b8cb10e193d9fc491b4ec304c31a5e271b98a946742b81ee5cb" args="" -->RETURN_IN_ORDER</em> </td><td>
</td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00190">190</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ca624a08c8860a96fd9afd064ff1e598"></a><!-- doxytag: member="getopt.c::_getopt_internal" ref="ca624a08c8860a96fd9afd064ff1e598" args="(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longind, int long_only)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int _getopt_internal </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *const * </td>
<td class="paramname"> <em>argv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>optstring</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const struct <a class="el" href="structoption.html">option</a> * </td>
<td class="paramname"> <em>longopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int * </td>
<td class="paramname"> <em>longind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>long_only</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00511">511</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
<p>
References <a class="el" href="TestMasterSlave_2getopt_8c-source.html#l00139">__getopt_initialized</a>, <a class="el" href="TestMasterSlave_2getopt_8h-source.html#l00108">option::name</a>, <a class="el" href="TestMasterSlave_2getopt_8c.html#60fb2ef5fa72a6e2f2f62c0d6158f94c">NONOPTION_P</a>, <a class="el" href="TestMasterSlave_2getopt_8c-source.html#l00118">optarg</a>, <a class="el" href="TestMasterSlave_2getopt_8c-source.html#l00153">opterr</a>, <a class="el" href="TestMasterSlave_2getopt_8c-source.html#l00133">optind</a>, <a class="el" href="TestMasterSlave_2getopt_8c.html#2e520baeab5e72a8cd84e00dce61684fd3b1ba5acb926eca92e0a5784f911df0">PERMUTE</a>, and <a class="el" href="TestMasterSlave_2getopt_8c.html#2e520baeab5e72a8cd84e00dce61684fe9f3d62b95878d3ab723990312fda0bb">REQUIRE_ORDER</a>.
</div>
</div><p>
<a class="anchor" name="d371de5388fe5b7a20882a85a670c3fc"></a><!-- doxytag: member="getopt.c::getenv" ref="d371de5388fe5b7a20882a85a670c3fc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* getenv </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="afdf882e55974b727c64559defdc4326"></a><!-- doxytag: member="getopt.c::getopt" ref="afdf882e55974b727c64559defdc4326" args="(int argc, char *const *argv, const char *optstring)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getopt </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *const * </td>
<td class="paramname"> <em>argv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>optstring</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l01171">1171</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
<p>
References <a class="el" href="TestMasterSlave_2getopt_8c-source.html#l00511">_getopt_internal()</a>.
<p>
Here is the call graph for this function:<p><center><img src="TestMasterMicroMod_2getopt_8c_afdf882e55974b727c64559defdc4326_cgraph.png" border="0" usemap="#TestMasterMicroMod_2getopt_8c_afdf882e55974b727c64559defdc4326_cgraph_map" alt=""></center>
<map name="TestMasterMicroMod_2getopt_8c_afdf882e55974b727c64559defdc4326_cgraph_map">
<area href="TestMasterSlave_2getopt_8c.html#ca624a08c8860a96fd9afd064ff1e598" shape="rect" coords="109,5,219,32" alt="">
</map>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="43b2a4340a24537cc6364835f9d73fb5"></a><!-- doxytag: member="getopt.c::__getopt_initialized" ref="43b2a4340a24537cc6364835f9d73fb5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="TestMasterMicroMod_2getopt_8c.html#43b2a4340a24537cc6364835f9d73fb5">__getopt_initialized</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00139">139</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="a2d33a77952a7e6973146c1284042818"></a><!-- doxytag: member="getopt.c::optarg" ref="a2d33a77952a7e6973146c1284042818" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="TestMasterMicroMod_2getopt_8h.html#a2d33a77952a7e6973146c1284042818">optarg</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00118">118</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="2d5d57aa71d16b312a92ac70f91c44f1"></a><!-- doxytag: member="getopt.c::opterr" ref="2d5d57aa71d16b312a92ac70f91c44f1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="TestMasterMicroMod_2getopt_8h.html#2d5d57aa71d16b312a92ac70f91c44f1">opterr</a> = 1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00153">153</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="87eb6bb97b34e1d4c6b85f8a23db5858"></a><!-- doxytag: member="getopt.c::optind" ref="87eb6bb97b34e1d4c6b85f8a23db5858" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="TestMasterMicroMod_2getopt_8h.html#87eb6bb97b34e1d4c6b85f8a23db5858">optind</a> = 1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00133">133</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<a class="anchor" name="b3d1db20633bdbad253accdec2f9477f"></a><!-- doxytag: member="getopt.c::optopt" ref="b3d1db20633bdbad253accdec2f9477f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="TestMasterMicroMod_2getopt_8h.html#b3d1db20633bdbad253accdec2f9477f">optopt</a> = '?' </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html#l00159">159</a> of file <a class="el" href="TestMasterMicroMod_2getopt_8c-source.html">getopt.c</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Jul 2 19:10:23 2007 for CanFestival by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
</body>
</html>