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
|
<!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: ksrc/drivers/analogy/driver_facilities.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.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>ksrc/drivers/analogy/driver_facilities.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Analogy for Linux, driver facilities.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Copyright (C) 1997-2000 David A. Schleef <<a href="mailto:ds@schleef.org">ds@schleef.org</a>> <p>
Copyright (C) 2008 Alexis Berlemont <<a href="mailto:alexis.berlemont@free.fr">alexis.berlemont@free.fr</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 driver_facilities.c:</div>
<div class="dynsection">
<p><center><img src="driver__facilities_8c__incl.png" border="0" usemap="#ksrc/drivers/analogy/driver_facilities.c_map" alt=""></center>
<map name="ksrc/drivers/analogy/driver_facilities.c_map">
<area shape="rect" href="context_8h.html" title="Analogy for Linux, context structure / macros declarations." alt="" coords="145,161,281,188"><area shape="rect" href="device_8h.html" title="Analogy for Linux, device related features." alt="" coords="489,161,617,188"><area shape="rect" href="analogy__driver_8h.html" title="Analogy for Linux, driver facilities." alt="" coords="296,84,475,111"><area shape="rect" href="os__facilities_8h.html" title="Analogy for Linux, Operation system facilities." alt="" coords="305,161,465,188"></map>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__driver.html#g82c744a0f4f897d1dbe9401d6f0d86ec">a4l_register_drv</a> (<a class="el" href="structa4l__driver.html">a4l_drv_t</a> *drv)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Register an Analogy driver. <a href="group__driver.html#g82c744a0f4f897d1dbe9401d6f0d86ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__driver.html#g47c4f76abb8d70ecb9629cff72c45266">a4l_unregister_drv</a> (<a class="el" href="structa4l__driver.html">a4l_drv_t</a> *drv)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unregister an Analogy driver. <a href="group__driver.html#g47c4f76abb8d70ecb9629cff72c45266"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#g32595b3806dd3e73038a2022c0b1e204">a4l_alloc_subd</a> (int sizeof_priv, void(*setup)(<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a subdevice descriptor. <a href="group__subdevice.html#g32595b3806dd3e73038a2022c0b1e204"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#g229e7725db234534da6e6973c63f1cef">a4l_add_subd</a> (a4l_dev_t *dev, <a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a subdevice to the driver descriptor. <a href="group__subdevice.html#g229e7725db234534da6e6973c63f1cef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#ga8b2dfadeac340e288725e1f2ce9b63b">a4l_get_subd</a> (a4l_dev_t *dev, int idx)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the subdevice descriptor referenced by its registration index. <a href="group__subdevice.html#ga8b2dfadeac340e288725e1f2ce9b63b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g8ffbc9832255a701624fe874d319e5f4">a4l_buf_prepare_absput</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Update the absolute count of data sent from the device to the buffer since the start of the acquisition and after the next DMA shot. <a href="group__analogy__buffer.html#g8ffbc9832255a701624fe874d319e5f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g8d053d9fc6e19eb47f9c08abf485cea9">a4l_buf_commit_absput</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the absolute count of data which was sent from the device to the buffer since the start of the acquisition and until the last DMA shot. <a href="group__analogy__buffer.html#g8d053d9fc6e19eb47f9c08abf485cea9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g582e96ac8358717a19995e0c8c41dffc">a4l_buf_prepare_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the count of data which is to be sent to the buffer at the next DMA shot. <a href="group__analogy__buffer.html#g582e96ac8358717a19995e0c8c41dffc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gb03dcc685bcb3ad9111c9aa3dbe3baf5">a4l_buf_commit_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the count of data sent to the buffer during the last completed DMA shots. <a href="group__analogy__buffer.html#gb03dcc685bcb3ad9111c9aa3dbe3baf5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gec920d203e34f2020eb51ddad3461d1c">a4l_buf_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, void *bufdata, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy some data from the device driver to the buffer. <a href="group__analogy__buffer.html#gec920d203e34f2020eb51ddad3461d1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g7fecd99d23d53c69381aacee4d9222d8">a4l_buf_prepare_absget</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Update the absolute count of data sent from the buffer to the device since the start of the acquisition and after the next DMA shot. <a href="group__analogy__buffer.html#g7fecd99d23d53c69381aacee4d9222d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gdadad4789e1da9236fed49a33b1b2284">a4l_buf_commit_absget</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the absolute count of data which was sent from the buffer to the device since the start of the acquisition and until the last DMA shot. <a href="group__analogy__buffer.html#gdadad4789e1da9236fed49a33b1b2284"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gf9fe0b2fe2279e4f753ddec776d10c5f">a4l_buf_prepare_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the count of data which is to be sent from the buffer to the device at the next DMA shot. <a href="group__analogy__buffer.html#gf9fe0b2fe2279e4f753ddec776d10c5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gbd70bc9f8bb4615f60c0107d51ca1f29">a4l_buf_commit_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the count of data sent from the buffer to the device during the last completed DMA shots. <a href="group__analogy__buffer.html#gbd70bc9f8bb4615f60c0107d51ca1f29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g6af2dcaaecfd2cd9f0deb6e9167d3cff">a4l_buf_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, void *bufdata, unsigned long count)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy some data from the buffer to the device driver. <a href="group__analogy__buffer.html#g6af2dcaaecfd2cd9f0deb6e9167d3cff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gc275c834264a50b9443304d33908f657">a4l_buf_evt</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long evts)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Signal some event(s) to a user-space program involved in some read / write operation. <a href="group__analogy__buffer.html#gc275c834264a50b9443304d33908f657"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gd9e80150586b4a869562d3d098f49d36">a4l_buf_count</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the data amount available in the Analogy buffer. <a href="group__analogy__buffer.html#gd9e80150586b4a869562d3d098f49d36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__cmd__desc.html">a4l_cmd_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g2386d5a9d84393b5db9beb22ae7674e9">a4l_get_cmd</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current Analogy command descriptor. <a href="group__analogy__buffer.html#g2386d5a9d84393b5db9beb22ae7674e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g6e33ba6f8a06e3dbbfe3896b0258857f">a4l_get_chan</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the channel index according to its type. <a href="group__analogy__buffer.html#g6e33ba6f8a06e3dbbfe3896b0258857f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g482cc3464879c72b2359bd4b642f0a96">a4l_get_irq</a> (a4l_dev_t *dev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the interrupt number in use for a specific device. <a href="group__analogy__interrupt.html#g482cc3464879c72b2359bd4b642f0a96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g2a3eb695fa1f5f97c1d6829039979d54">a4l_request_irq</a> (a4l_dev_t *dev, unsigned int irq, a4l_irq_hdlr_t handler, unsigned long flags, void *cookie)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Register an interrupt handler for a specific device. <a href="group__analogy__interrupt.html#g2a3eb695fa1f5f97c1d6829039979d54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g6377e1975bd391b58fbe3ddb2d2c2b8e">a4l_free_irq</a> (a4l_dev_t *dev, unsigned int irq)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Release an interrupt handler for a specific device. <a href="group__analogy__interrupt.html#g6377e1975bd391b58fbe3ddb2d2c2b8e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g6281acb78815ca55eba88d556ffa6eea">a4l_task_init</a> (a4l_task_t *task, const char *name, a4l_task_proc_t proc, void *arg, int priority)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Intialise and start an Analogy task. <a href="group__misc.html#g6281acb78815ca55eba88d556ffa6eea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g5354f611877d7a790c1d05d8b356749e">a4l_task_destroy</a> (a4l_task_t *task)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an Analogy task. <a href="group__misc.html#g5354f611877d7a790c1d05d8b356749e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g334d65300e473c5bbea91157e74b6b5c">a4l_task_sleep</a> (unsigned long long nsdelay)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Make the current Analogy task passively wait a defined delay. <a href="group__misc.html#g334d65300e473c5bbea91157e74b6b5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g52b7d3c6fd2df045643d887c003753fb">a4l_get_time</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the absolute time in nanoseconds. <a href="group__misc.html#g52b7d3c6fd2df045643d887c003753fb"></a><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>
|