<!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: drivers/can_virtual/can_virtual.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_d58fb241e647de6212c31ecccf9cbace.html">drivers</a> » <a class="el" href="dir_2f1d38949ead60c979d76e04f3273800.html">can_virtual</a></div>
<h1>can_virtual.c File Reference</h1><code>#include <stdio.h></code><br>
<code>#include <unistd.h></code><br>
<code>#include "<a class="el" href="can__driver_8h-source.html">can_driver.h</a>"</code><br>
<code>#include "<a class="el" href="def_8h-source.html">def.h</a>"</code><br>
<p>
Include dependency graph for can_virtual.c:<p><center><img src="can__virtual_8c__incl.png" border="0" usemap="#drivers/can_virtual/can_virtual.c_map" alt=""></center>
<map name="drivers/can_virtual/can_virtual.c_map">
<area href="can__driver_8h.html" shape="rect" coords="291,104,395,128" alt="">
<area href="def_8h.html" shape="rect" coords="315,153,371,177" alt="">
<area href="win32_2applicfg_8h.html" shape="rect" coords="569,57,657,81" alt="">
<area href="can_8h.html" shape="rect" coords="452,107,511,131" alt="">
<area href="config_8h.html" shape="rect" coords="444,155,519,179" alt="">
</map>
<p>
<a href="can__virtual_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>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="structCANPipe.html">CANPipe</a></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="can__virtual_8c.html#b2f51095e950bbeab1ea15fac21e6146">MAX_NB_CAN_PIPES</a> 16</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#124cab530f97a752eb2e110c1b398c11">MyCase</a>(fc) case fc: printf(#fc);break;</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">UNS8 </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#6b3248e95acf2b08d1fd8b42610cc5a6">canReceive_driver</a> (<a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> fd0, <a class="el" href="structMessage.html">Message</a> *m)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#6baa544d467cbabaf4bacadc74cc6523">print_message</a> (<a class="el" href="structMessage.html">Message</a> *m)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">UNS8 </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#def95aee49efa13dd047d0b3b5507ad3">canSend_driver</a> (<a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> fd0, <a class="el" href="structMessage.html">Message</a> *m)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#945403aba7f36acbd2e7160ade361bab">canOpen_driver</a> (<a class="el" href="structstruct__s__BOARD.html">s_BOARD</a> *board)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#76e6a915d0e40a23b863198b2aaa5545">canClose_driver</a> (<a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> fd0)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structCANPipe.html">CANPipe</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="can__virtual_8c.html#53fd0e34e8d4d31bf381700a9d8ae72b">canpipes</a> [MAX_NB_CAN_PIPES] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},}</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="b2f51095e950bbeab1ea15fac21e6146"></a><!-- doxytag: member="can_virtual.c::MAX_NB_CAN_PIPES" ref="b2f51095e950bbeab1ea15fac21e6146" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_NB_CAN_PIPES 16 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00033">33</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
Referenced by <a class="el" href="can__virtual_8c-source.html#l00121">canOpen_driver()</a>, and <a class="el" href="can__virtual_8c-source.html#l00081">canSend_driver()</a>.
</div>
</div><p>
<a class="anchor" name="124cab530f97a752eb2e110c1b398c11"></a><!-- doxytag: member="can_virtual.c::MyCase" ref="124cab530f97a752eb2e110c1b398c11" args="(fc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MyCase </td>
<td>(</td>
<td class="paramtype">fc </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> case fc: printf(#fc);break;</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00052">52</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
Referenced by <a class="el" href="can__virtual_8c-source.html#l00053">print_message()</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="76e6a915d0e40a23b863198b2aaa5545"></a><!-- doxytag: member="can_virtual.c::canClose_driver" ref="76e6a915d0e40a23b863198b2aaa5545" args="(CAN_HANDLE fd0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int canClose_driver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> </td>
<td class="paramname"> <em>fd0</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00142">142</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
</div>
</div><p>
<a class="anchor" name="945403aba7f36acbd2e7160ade361bab"></a><!-- doxytag: member="can_virtual.c::canOpen_driver" ref="945403aba7f36acbd2e7160ade361bab" args="(s_BOARD *board)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> canOpen_driver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structstruct__s__BOARD.html">s_BOARD</a> * </td>
<td class="paramname"> <em>board</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00121">121</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
References <a class="el" href="can__virtual_8c-source.html#l00040">canpipes</a>, <a class="el" href="can__virtual_8c-source.html#l00033">MAX_NB_CAN_PIPES</a>, and <a class="el" href="can__virtual_8c-source.html#l00036">CANPipe::used</a>.
</div>
</div><p>
<a class="anchor" name="6b3248e95acf2b08d1fd8b42610cc5a6"></a><!-- doxytag: member="can_virtual.c::canReceive_driver" ref="6b3248e95acf2b08d1fd8b42610cc5a6" args="(CAN_HANDLE fd0, Message *m)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">UNS8 canReceive_driver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> </td>
<td class="paramname"> <em>fd0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structMessage.html">Message</a> * </td>
<td class="paramname"> <em>m</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="can__virtual_8c-source.html#l00043">43</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
</div>
</div><p>
<a class="anchor" name="def95aee49efa13dd047d0b3b5507ad3"></a><!-- doxytag: member="can_virtual.c::canSend_driver" ref="def95aee49efa13dd047d0b3b5507ad3" args="(CAN_HANDLE fd0, Message *m)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">UNS8 canSend_driver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">CAN_HANDLE</a> </td>
<td class="paramname"> <em>fd0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structMessage.html">Message</a> * </td>
<td class="paramname"> <em>m</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="can__virtual_8c-source.html#l00081">81</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
References <a class="el" href="can__virtual_8c-source.html#l00040">canpipes</a>, <a class="el" href="can__virtual_8c-source.html#l00033">MAX_NB_CAN_PIPES</a>, and <a class="el" href="can__virtual_8c-source.html#l00053">print_message()</a>.
<p>
Here is the call graph for this function:<p><center><img src="can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.png" border="0" usemap="#can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph_map" alt=""></center>
<map name="can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph_map">
<area href="can__virtual_8c.html#6baa544d467cbabaf4bacadc74cc6523" shape="rect" coords="183,6,303,30" alt="">
</map>
</div>
</div><p>
<a class="anchor" name="6baa544d467cbabaf4bacadc74cc6523"></a><!-- doxytag: member="can_virtual.c::print_message" ref="6baa544d467cbabaf4bacadc74cc6523" args="(Message *m)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void print_message </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structMessage.html">Message</a> * </td>
<td class="paramname"> <em>m</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00053">53</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
References <a class="el" href="can_8h-source.html#l00042">Message::cob_id</a>, <a class="el" href="can_8h-source.html#l00046">Message::data</a>, <a class="el" href="can_8h-source.html#l00045">Message::len</a>, <a class="el" href="can__virtual_8c-source.html#l00052">MyCase</a>, <a class="el" href="def_8h-source.html#l00086">NMT</a>, <a class="el" href="def_8h-source.html#l00099">NODE_GUARD</a>, <a class="el" href="def_8h-source.html#l00090">PDO1rx</a>, <a class="el" href="def_8h-source.html#l00089">PDO1tx</a>, <a class="el" href="def_8h-source.html#l00092">PDO2rx</a>, <a class="el" href="def_8h-source.html#l00091">PDO2tx</a>, <a class="el" href="def_8h-source.html#l00094">PDO3rx</a>, <a class="el" href="def_8h-source.html#l00093">PDO3tx</a>, <a class="el" href="def_8h-source.html#l00096">PDO4rx</a>, <a class="el" href="def_8h-source.html#l00095">PDO4tx</a>, <a class="el" href="can_8h-source.html#l00043">Message::rtr</a>, <a class="el" href="def_8h-source.html#l00098">SDOrx</a>, <a class="el" href="def_8h-source.html#l00097">SDOtx</a>, <a class="el" href="def_8h-source.html#l00087">SYNC</a>, <a class="el" href="def_8h-source.html#l00088">TIME_STAMP</a>, and <a class="el" href="can_8h-source.html#l00036">SHORT_CAN::w</a>.
<p>
Referenced by <a class="el" href="can__virtual_8c-source.html#l00081">canSend_driver()</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="53fd0e34e8d4d31bf381700a9d8ae72b"></a><!-- doxytag: member="can_virtual.c::canpipes" ref="53fd0e34e8d4d31bf381700a9d8ae72b" args="[MAX_NB_CAN_PIPES]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structCANPipe.html">CANPipe</a> <a class="el" href="can__virtual_8c.html#53fd0e34e8d4d31bf381700a9d8ae72b">canpipes</a>[MAX_NB_CAN_PIPES] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},} </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="can__virtual_8c-source.html#l00040">40</a> of file <a class="el" href="can__virtual_8c-source.html">can_virtual.c</a>.
<p>
Referenced by <a class="el" href="can__virtual_8c-source.html#l00121">canOpen_driver()</a>, and <a class="el" href="can__virtual_8c-source.html#l00081">canSend_driver()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 8 08:51:41 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>