1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Xenomai API: include/rtdm/rtdm.h 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.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</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>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label> <u>S</u>earch for </label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/rtdm/rtdm.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Real-Time Driver Model for Xenomai, user API header.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Copyright (C) 2005, 2006 Jan Kiszka <<a href="mailto:jan.kiszka@web.de">jan.kiszka@web.de</a>> <p>
Copyright (C) 2005 Joerg Langenberg <<a href="mailto:joerg.langenberg@gmx.net">joerg.langenberg@gmx.net</a>></dd></dl>
Xenomai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<p>
Xenomai is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
You should have received a copy of the GNU General Public License along with Xenomai; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
<p>
<p>
<div class="dynheader">
Include dependency graph for rtdm.h:</div>
<div class="dynsection">
<p><center><img src="rtdm_8h__incl.png" border="0" usemap="#include/rtdm/rtdm.h_map" alt=""></center>
</div>
<p>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
<p><center><img src="rtdm_8h__dep__incl.png" border="0" usemap="#include/rtdm/rtdm.hdep_map" alt=""></center>
<map name="include/rtdm/rtdm.hdep_map">
<area shape="rect" href="rtcan_8h.html" title="Real-Time Driver Model for RT-Socket-CAN, CAN device profile header." alt="" coords="144,84,293,111"><area shape="rect" href="rtdm__driver_8h.html" title="Real-Time Driver Model for Xenomai, driver API header." alt="" coords="317,84,507,111"><area shape="rect" href="rtipc_8h.html" title="This file is part of the Xenomai project." alt="" coords="531,84,675,111"><area shape="rect" href="rtserial_8h.html" title="Real-Time Driver Model for Xenomai, serial device profile header." alt="" coords="699,84,859,111"><area shape="rect" href="rttesting_8h.html" title="Real-Time Driver Model for Xenomai, testing device profile header." alt="" coords="883,84,1053,111"><area shape="rect" href="src_2drvlib_2analogy_2syscall_8h.html" title="Analogy for Linux, internal declarations." alt="" coords="1077,84,1267,111"><area shape="rect" href="rtdm_2internal_8h-source.html" title="ksrc/skins/rtdm/internal.h" alt="" coords="185,161,367,188"><area shape="rect" href="drvlib_8c.html" title="Real-Time Driver Model for Xenomai, driver library." alt="" coords="391,161,559,188"><area shape="rect" href="ksrc_2skins_2rtdm_2core_8c.html" title="Real-Time Driver Model for Xenomai, device operation multiplexing." alt="" coords="5,239,165,265"><area shape="rect" href="skins_2rtdm_2device_8c.html" title="Real-Time Driver Model for Xenomai, device management." alt="" coords="189,239,363,265"><area shape="rect" href="skins_2rtdm_2module_8c.html" title="Real-Time Driver Model for Xenomai." alt="" coords="387,239,568,265"><area shape="rect" href="async_8c.html" title="Analogy for Linux, command, transfer, etc." alt="" coords="644,161,828,188"><area shape="rect" href="descriptor_8c.html" title="Analogy for Linux, descriptor related features." alt="" coords="852,161,1063,188"><area shape="rect" href="info_8c.html" title="Analogy for Linux, device, subdevice, etc." alt="" coords="1087,161,1257,188"><area shape="rect" href="sync_8c.html" title="Analogy for Linux, instruction related features." alt="" coords="1281,161,1457,188"><area shape="rect" href="sys_8c.html" title="Analogy for Linux, descriptor related features." alt="" coords="1481,161,1649,188"></map>
</div>
<p>
<a href="rtdm_8h-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="structrtdm__device__info.html">rtdm_device_info</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Device information. <a href="structrtdm__device__info.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">API Versioning</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="api_versioning"></a> <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdd2020d36782ebb916b065d6554f2631"></a><!-- doxytag: member="rtdm.h::RTDM_API_VER" ref="gdd2020d36782ebb916b065d6554f2631" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#gdd2020d36782ebb916b065d6554f2631">RTDM_API_VER</a> 8</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Common user and driver API version. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g29d0fb2c233815a4a1d99f6a19f50b97"></a><!-- doxytag: member="rtdm.h::RTDM_API_MIN_COMPAT_VER" ref="g29d0fb2c233815a4a1d99f6a19f50b97" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#g29d0fb2c233815a4a1d99f6a19f50b97">RTDM_API_MIN_COMPAT_VER</a> 6</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Minimum API revision compatible with the current release. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">RTDM_TIMEOUT_xxx</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="RTDM_TIMEOUT_xxx"></a> Special timeout values <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#gbdd7dfed8d8c38213f7edff5dc8b85a9">RTDM_TIMEOUT_INFINITE</a> 0</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Block forever. <a href="group__rtdm.html#gbdd7dfed8d8c38213f7edff5dc8b85a9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#g9d1d1557083c4b10226f360bea137fde">RTDM_TIMEOUT_NONE</a> (-1)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Any negative timeout means non-blocking. <a href="group__rtdm.html#g9d1d1557083c4b10226f360bea137fde"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">RTDM_CLASS_xxx</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="RTDM_CLASS_xxx"></a> Device classes <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geec8d82754c2ff58064295a59d0d01a8"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_PARPORT" ref="geec8d82754c2ff58064295a59d0d01a8" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_PARPORT</b> 1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb554e723ced49f44b2530d0de3820e2b"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_SERIAL" ref="gb554e723ced49f44b2530d0de3820e2b" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_SERIAL</b> 2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0b88db31fe95694604ca01bdf6d68ec0"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_CAN" ref="g0b88db31fe95694604ca01bdf6d68ec0" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_CAN</b> 3</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g792150b72c14b429b235c2b263fb660f"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_NETWORK" ref="g792150b72c14b429b235c2b263fb660f" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_NETWORK</b> 4</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf1ef8ac3b87ccd86eac2cc627d7747c3"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_RTMAC" ref="gf1ef8ac3b87ccd86eac2cc627d7747c3" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_RTMAC</b> 5</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc5e308a79b52d504b2b7948ee3d41ad3"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_TESTING" ref="gc5e308a79b52d504b2b7948ee3d41ad3" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_TESTING</b> 6</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfadc86f9148d50b6d507a7a0441557e3"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_RTIPC" ref="gfadc86f9148d50b6d507a7a0441557e3" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_RTIPC</b> 7</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge942ccb05bfeb056e46d189f2166557f"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_EXPERIMENTAL" ref="ge942ccb05bfeb056e46d189f2166557f" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_EXPERIMENTAL</b> 224</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb9419c43b25d984b8e4b13ca9b3c6d90"></a><!-- doxytag: member="rtdm.h::RTDM_CLASS_MAX" ref="gb9419c43b25d984b8e4b13ca9b3c6d90" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_CLASS_MAX</b> 255</td></tr>
<tr><td colspan="2"><div class="groupHeader">Device Naming</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="device_naming"></a> Maximum length of device names (excluding the final null character) <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g14617df86a7a8504994556d119c56b03"></a><!-- doxytag: member="rtdm.h::RTDM_MAX_DEVNAME_LEN" ref="g14617df86a7a8504994556d119c56b03" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_MAX_DEVNAME_LEN</b> 31</td></tr>
<tr><td colspan="2"><div class="groupHeader">RTDM_PURGE_xxx_BUFFER</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="RTDM_PURGE_xxx_BUFFER"></a> Flags selecting buffers to be purged <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g857b759c5aecf5b5c0091426f7ed286d"></a><!-- doxytag: member="rtdm.h::RTDM_PURGE_RX_BUFFER" ref="g857b759c5aecf5b5c0091426f7ed286d" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_PURGE_RX_BUFFER</b> 0x0001</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g39ac1c022a6c451a74139979354bc413"></a><!-- doxytag: member="rtdm.h::RTDM_PURGE_TX_BUFFER" ref="g39ac1c022a6c451a74139979354bc413" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>RTDM_PURGE_TX_BUFFER</b> 0x0002</td></tr>
<tr><td colspan="2"><div class="groupHeader">Common IOCTLs</div></td></tr>
<tr><td colspan="2"><div class="groupText"><a class="anchor" name="common_IOCTLs"></a> The following IOCTLs are common to all device profiles. <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profiles.html#gae7eb728c73b844eed0ee612940c19ae">RTIOC_DEVICE_INFO</a> _IOR(RTIOC_TYPE_COMMON, 0x00, struct rtdm_device_info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve information about a device or socket. <a href="group__profiles.html#gae7eb728c73b844eed0ee612940c19ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profiles.html#gc6abf51719ec6aa6e31f98a237721e01">RTIOC_PURGE</a> _IOW(RTIOC_TYPE_COMMON, 0x10, int)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Purge internal device or socket buffers. <a href="group__profiles.html#gc6abf51719ec6aa6e31f98a237721e01"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#gd3b24c25feabadba465f8797d8c7fe27">nanosecs_abs_t</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">RTDM type for representing absolute dates. <a href="group__rtdm.html#gd3b24c25feabadba465f8797d8c7fe27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtdm.html#gededf91e760e3268235351dcc9d9dcda">nanosecs_rel_t</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">RTDM type for representing relative intervals. <a href="group__rtdm.html#gededf91e760e3268235351dcc9d9dcda"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0598828a5144ac01c24eb24262234ed1"></a><!-- doxytag: member="rtdm.h::rtdm_device_info_t" ref="g0598828a5144ac01c24eb24262234ed1" args="" -->
typedef struct <a class="el" href="structrtdm__device__info.html">rtdm_device_info</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profiles.html#g0598828a5144ac01c24eb24262234ed1">rtdm_device_info_t</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Device information. <br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 2 12:48:37 2010 for Xenomai API by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
|